The profession of an analyst appeared on the market in 2010, and since that moment the business demand for it has been steadily growing. Analysts are in demand in IT companies, banks, retail, science, engineering, medicine and other industries. Over the past five years, their salaries have risen by an average of one and a half times. Today, analytics is one of the top-10 most in-demand professions in IT.
In this article, we will analyze who analysts are, what are the pros and cons of the profession, what set of hard and soft skills you need to have, and how to prepare for the first interview.
WHO IS AN ANALYST
An analyst is a specialist who conducts research on the information environment and decomposes it into its component parts. The analyst collects information, data, studies technologies, etc., and then, using various techniques, tools, methodologies, his own knowledge and analytical thinking, breaks this information down the nuances.
Today in IT there are more than 10 different specializations of an analyst – from systems to data scientist. All of them are united by work with data, systematization, search for dependencies, the ability to transform the flow of information into hypotheses and further into conclusions. Let’s briefly talk about the main ones.
- The system analyst works on tasks from the business analyst. Writes problem statements for developers in technical language.
- The business analyst identifies requirements from the client and prepares a description of the business logic of how the system should function for the system analyst.
- The business + systems analyst is in between the first two roles: communicates with the business, writes productions for the development team, knows both business and technology quite well, but not that thoroughly.
- A data analyst is in demand on projects with Big Data, knows mathematics and programming languages (in particular, Python), databases, query languages and can generate any report from the data in the system.
- A UX Analyst collects and analyzes data about how users interact with a website, application, or other product. The person is also involved in interface design, which is why the position is often called a designer on projects.
- The Integration Analyst is responsible for linking the systems together. The person can understand the junctions of information systems and work with the architect to work out the connection process.
Therefore, in the article, we will figure out what are system analysts, what is the peculiarity of their tasks, what knowledge to enter this area with, and list the traps and pitfalls of the profession.
WHO IS A SYSTEM ANALYST
A system analyst is a translator from the language of clients to the language of programmers and vice versa. He knows how to find a common language both with the customer and with the development team, and also constantly studies new technologies and trends in development, is on the same wavelength with technical specialists.
His role on the project is primarily to prepare the terms of reference to develop the software product on its basis. It can be either a full-fledged web, mobile or desktop application, as well as its backend, or a separate functionality or part, for example, the development of an API, a personal account, etc. The terms of reference is a large complex document that reflects all the requirements for the project: a description of the subject area, diagrams of processes and interactions, a description of API methods for integration, and more.
To create it, the analyst needs to analyze the customer’s requirements, agree on the technical implementation possibilities with the development team, and then describe the functional requirements in as much detail and correctly as possible using knowledge in the same area which the product is being developed in.
The main work of an analyst takes place at the first stages of the product life cycle – identifying and analyzing requirements designing and setting a task for development. The analyst then acts as a consultant to the development team. Also, at certain stages, he can take part in acceptance testing to verify that the product meets the technical specifications.
PROS AND CONS OF WORKING AS A SYSTEM ANALYST
|Search and work format||Analysts are now in great demand – as of September 2022, more than 26,000 vacancies have been opened on indeed.com.||At the start of a career, you should not count on a high salary.|
Also, depending on the specifics of the project and tasks, you will most probably need a powerful computer.
|Learning||A large number of articles, books, courses and other materials on analytics, development and testing which are supplemented and updated every year. We have listed some of them at the end of the article||At the same time, the profession has a very high entrance threshold of knowledge. Since the analyst interacts a lot with developers, knowledge of the basics of programming is a must. Without them, it is very difficult to start your journey in system analytics.|
Also, the analyst needs knowledge of the area in which the product is being developed. For example, FinTech, EdTech, Retail and even AI technologies.
|Task specifics||The job of an analyst is to turn chaos into beauty, and the customer’s ideas into a prototype of a future project. To do this, analysts structure a large amount of information and transfer it from the client to the developer, tester, designer and vice versa||Analysts have a great responsibility – the quality and speed of product development depend on how seriously they delve into the essence of customer requirements and correctly describe the terms of reference. Attention and concentration must be at the highest level, you can’t be scattered and jump from one task to another.|
|Communication||The job of an analyst involves constant communication with the client, development team, testers, or other analysts. All these people are experts in their field and somewhat of a bridge for you to gain new experience and knowledge.||It will be difficult to start a career without developed communication skills. You must be able to formulate and convey your thoughts to the customer and the development team, speak technical language and understand professional terms, understand your opponent and manage your emotions.|
SKILLS NECESSARY TO A SYSTEM ANALYST
The requirements for the analyst are quite extensive. Depending on the field of activity, they may differ. But despite this, there are certain hard and soft skills that every system analyst should have.
Basic skills. For each specialist who analyzes and collects requirements for the development of IT systems, there is a base necessary for work.
Programming basics and understanding what OOP is, function, input and output parameters. This knowledge will help you speak the same language with the development team.
Knowledge of database, ER-diagrams and SQL query language. The required level, of course, depends on the project but the ability to make queries to the database will never be superfluous.
Knowledge of ways to organize interaction between the client and the server – REST, SOAP, GraphQL; data transfer protocols HTTP, UDP, TCP; JSON and XML data formats.
Understanding the architecture of information systems and applications: what parts a project can consist of (clients and services) and how the API works.
Knowledge of the life cycle and software development methodologies – Agile, Scrum, Waterfall and others.
Knowledge of BPMN notations and UML diagrams. To create them, analysts use such programs as:
- Draw.io is an online designer for creating, sharing and collaborating on various diagrams. It has an intuitive interface and a set of ready-made templates;
- PlantUML — allows you to define diagrams (mostly in UML notation) in the form of text that describes the elements and the connections between them.
Ability to formalize requirements from the customer in a generally accepted template. Among these templates, the best known is the Software Requirements Specification. Also, companies can have their own template.
The following skills will be a big plus:
Experience in task managers are project management programs that help you centrally manage tasks and their timely completion. Most often it is JIRA or Confluence.
Experience in Swagger – a tool for creating API documentation.
Experience with Postman or its analogues (SoapUI, Katalon Studio, Tricentis Tosca and others) – API tools that allow you to send requests to services and work with their responses.
Business communication. An analyst communicates with clients, developers, testers, and other analysts on a daily basis. Therefore, he must have the skills of business correspondence and negotiation, be able to correctly convey information, ask the right questions and defend his point of view.
Willingness to work in a team. Product development is a collaborative process. It is important to listen to colleagues, adequately respond to criticism and negotiate with people. This will help to work harmoniously in a team and achieve common goals.
Desire to learn. To become an experienced specialist in the IT field, you need to constantly improve your knowledge and keep your brain in good shape. Therefore, you are expected to be smart, committed, willing to learn, willing to make mistakes and draw conclusions from mistakes.
Flexibility. An analyst often has to work in a rapidly changing environment, so it is always important to be in touch and be able to quickly get involved in work, and calmly respond to ongoing changes.
System approach to problem solving. From the very beginning of your career, learn to estimate the time to complete tasks by relating their complexity to your skills. Break tasks into sub-tasks and properly allocate time for each of them. Prioritize and take responsibility for your work. Be curious and try to figure out the problem yourself. At the same time, it’s not shameful to ask for help if you reach a dead end: explain the problem, talk about the options you are considering, and ask what a more experienced colleague would do.
HOW TO NAIL AN INTERVIEW
To successfully pass the interview, you will need:
- A good resume is an analyst’s calling card. Describe the projects you took part in, and what exactly you did. If you have projects under NDA, indicate their scope in your resume and describe the task in outline – for example, compiling the terms of reference for the development of a personal account for a product on the pharmaceutical market. Also, don’t forget to list the tools you know how to work with. If you do not have commercial experience, you can talk about the cases that you did as part of courses, tests, or internships.
- Successful completion of the test task. Based on its results, the employer will understand how close to you are the technologies and methods used in the company. For analysts, most often it consists in drawing a process using BPMN notation and a UML diagram describing an API method.
During the interview, you will be asked to recall your work experience, as well as answer theoretical questions (for example, what are “requirements”) and technical questions (how to write an SQL query and what REST queries consist of).
Remember that you cannot prepare for an interview in one day – you need to not only constantly expand your horizons, but also deepen your knowledge. Return to what has already been learned and regularly solve practical development problems. This is a great way to keep your brain sharp.
It may seem that the analyst is a superhero who knows absolutely everything and understands all areas from development to genetic engineering. But don’t be scared!
The most important thing at the start is to know the basics of programming, be able to communicate and ask the right questions. Start your journey by learning these aspects and gradually develop the rest of the skills.
ADDITIONAL RESOURCES TO DELVE INTO THE FIELD
- «Software Requirements» (Karl Wiegers, Joy Beatty)
- «Teach Yourself UML in 24 Hours, Complete Starter Kit» (J. Shmuller)
- «UML Distilled» (Martin Fowler, Kendall Scott)
- «Writing Effective Use Cases» (Alistair Cockburn)
- «Signature Series» (Mike Cohn)
- «An Introduction to APIs» (Brian Cooksey)