What do we want from an analyst

Interviews (on Habr) are often written from the point of view of applicants, but I suggest looking at the interview from the employer, which is much less common on habr. Namely, how to interview analysts.

I note - there are a lot of analysts in our industry, their number is quite comparable with the number of developers. But the community is silent about the intricacies of interviewing analysts (either business or system), preferring to discuss developer interviews. At worst, they talk about common interview problems. At the same time, the topic of how to interview (and in many ways select) analysts is amusing.

I will say right away: interviewing an analyst is very different from interviewing a developer. That is, of course, there are general things that do not depend on the specialization of a potential employee:

  • What kind of person?
  • What is looking for?
  • How many wants?
  • When can it come out?

But, as soon as we get to find out what kind of specialist is in front of us, everything changes. Here's an example for you - a task on the topic “Why are the sewer manholes round?” Roams among employers. The candidate’s correct answer to the position of developer: “Round, because, because the diameter of the circle is the same, the round hatch will never fall into the well ...”. The analyst’s correct answer is: "Because the tree trunks are cut round." The reason for the discrepancy, in contrast to the tasks facing these two specializations. Different tasks, for their solution, require different styles of thinking. The analyst analyzes the real world and goes from it to IT issues, the developer thinks with mathematical logic (in this case, geometry, which is the branch of mathematics).

So, let's decide what we want from an analyst, not counting special knowledge (all kinds of notations; yes, knowledge of the intricacies of the industry for which we develop software)?

The basic requirements for an ideal analyst are as follows:

  • Structured thinking;
  • The ability to see the main thing and not to lose the forest behind the trees;
  • The flexibility of the mind.

Here is a person who is able to blind, from a heap of incoherent exclamations, working implementation requirements (and further down the list).

Due to my job responsibilities, I managed to hire a fairly large number of analysts of various profiles, and I developed several techniques that I successfully used to conduct effective interviews.

Here is one of these tricks - the task of observing the basic conditions of the process, the passage of such tasks checks the first two points of the requirements for the ideal analyst.

Task number 1


Percentage of successful completion of this task, at interviews - 50% A

image

diagram is given, drawn carelessly (this is what was intended, many people stop thinking about it, leaving details and stop seeing the whole process). In the diagram, the client (person) searches in a certain distribution system, and then buys a concert ticket. The scheme is frankly fraudulent, it can’t work like this, except for the criminal business.

The question is why?
- hint: basic principle violated
- hint: remember Occam's razor

Task number 2


- the prompts are the same.
And again the idle circuit.

There is CRM and a supercomputer (strictly speaking, the supercomputer’s resource administration system, but these are just the details), you need to create scientific projects from CRM (in the supercomputer) and allocate supercomputer resources to the created projects, and then give access to the participants in the created project.

CRM API -

/ projects
GET
Get a list of all projects. Key fields: id - id of the project in the system, name - name
/ projects /
GET
Get information on a specific project. Key fields: all project fields
/ users
GET
Get a list of all users in the system. Key fields: id - user id in the system, name - full name, email - E-mail, projects - id of the projects in which he participates, active = [true | false] - access status
/ users /
POST
Update information on the access status of a specific user of

the supercomputer API -

/ users
POST
List of users to be granted access: [users: [{id:, email:, access: [true | false], is_new: [true | false], access_end:}, ...]].
Answer: {success: [true | false], error:} - the request is correct, execution in the queue / error in the request + information in the error field.

Your answers :)

All Articles