At some point in your career, you realize that it’s time to try to advance through the hierarchy. You think you are doing a good job. You are constantly developing and learning something new. But at the same time, someone you know, with much less experience and knowledge than you, has long been higher up the hierarchy than you. Then you ask yourself: what is wrong with me? In my case, the answer turned out to be properly gathering the expectations concerning my skills and work.

Below, you can read my insight about it. You will find out how you can steer your development, so that you become much more valuable to your team, leader or company and how to combine all this with your talents and interests.

## How to start the development

As a member of a project team, you want to deliver a fully valuable solution. The key to success is to discover what’s behind the word valuable to your client. Is it enough to gather requirements? Unfortunately not. To find out exactly what stands behind the word valuable you need to use a prototyping method, such as an iterative MVP (Minimum Viable Product) approach. For example, suppose you have to paint your daughter’s room. You have several choices. You can choose the colour by yourself and paint the room without asking her for her opinion. The chance she will like the colour is small. So you will make a non-compliant product. You can bring her a sampler and ask her to choose a colour. The final colour when applied to the wall, may turn out to be different and then, the product will also not be as expected. You can also ask her about the colour and buy a few samplers, paint a piece of wall with them and ask if any meet the requirements, if yes then paint the whole room with the chosen colour, if not, buy another 5 colours and so on over and over until you get it right. This is the MVP process. First you gather requirements, then you prototype, which means you make a real product. You present it and receive feedback (you learn) and decide what to do next. You repeat this process until you meet the client’s expectations. This approach gives you the assurance that you have done exactly what was needed.

Let’s start with requirements gathering. Unfortunately it is impossible to gather universal requirements for a given position since these requirements are different at different companies and even teams. The same person who has certain skills and performs certain tasks may be a senior in one company, where in another, he or she may be a junior. In one of the companies I worked for, a good programmer was required to know the products and the business, then the tenure at the company mattered as well and being a support for the business. Performing a large number of tasks was not so important. In another company, there were people who knew their product very well and were an excellent support to the business. However, they did not perform their tasks on time and did not take on issues that required them to undertake a lot of responsibility. They still had junior or mid-level status.

This begs the question: how do I gather my skills requirements?

## Assess yourself with some evaluation sheets

At Allegro, in the case of programmers and testers, we have a list of expectations prepared within the leadership community. With such a list, it is much easier to collect requirements and talk about your own development towards promotion (in the team or in the company).

In my case, after working at Allegro for a while, I decided that it might be a good idea to finally get my development on track. My leader asked me to assess myself using a requirements sheet. This allowed me to identify the current stage I was at. The same sheet about me was completed by my leader. Then we calibrated ourselves. This sheet is divided into 3 main parts:

• Technical knowledge
• Attitude
• Product knowledge

Each part has a list of skills, each with an extensive description. For example, one of the descriptions of technical knowledge looked like this:

• You know your technological stack very well (systems, applications, languages, tools). Having a technical problem to solve, you know what your technological abilities are, and you know how to use them to achieve your goal.

I rated each skill on a scale of 1 to 5. Ideally, I would like each skill to be close to a 5. If I rated myself somewhere at a 4 and my leader rated me a 3, during calibration, I found out that the requirements for that skill were different from what I thought. He said, there were things I hadn’t used yet. To have a 4 at this point I need to know them e.g. Cassandra database. With that I learned the first relevant requirement that I didn’t know about. After the whole process of gathering requirements this way, I already knew what I needed to work on. Now all I had to do was select a few of them and start working. But how to choose these requirements, which I will implement with passion and actually do them well?

## How to choose skills to improve?

There are many strategies on how to choose skills to develop. All in all, you need to use the right method for the right type of skill to get a good result. The first step is to get a mentor. Usually it will be your leader, but it can also be an experienced team member, e.g. a senior.

Leaders at Allegro gain their development knowledge from many available training sessions. You should find a similar person in your environment. Such a person will help you on your way and will simulate the customer of the product that you will be making. Show him or her a list of things you should develop. Ask them which are the most important for your team. It is possible that the list of things will become very short. Now just pick two or three things and prepare prototypes. You can choose them intuitively or match them with your talents. Just take a Gallup test (CliftonStrengths) to discover them. This test will help you choose a strategy for developing a particular skill. This test will work well for soft skills. For hard skills a lean startup strategy may be better. Below are two examples of what this can look like in practice.

## How Gallup test can help you find activities that improve you

The Gallup test helps you find activities that you naturally enjoy doing. This natural response to certain types of information, situations and people in the context of the Gallup test is called a talent. The test result is divided into four main domains:

• Executing
• Influencing
• Relationship Building
• Strategic Thinking

Some of these will have a direct impact on your work, others will not. For example a description of your character in the context of building relationships with people will be interesting information and will certainly raise your awareness, but will not help us in our challenge. Other talents that come out of the challenge may fit into the skill you are developing or show how you should develop it.

Of course with these talents, the knowledge itself that you have a talent does not immediately translate into skills, for example finding out that you have a talent for standing on your head, it does not mean that you will immediately stand on your head. You have to develop this talent, and you probably are already doing similar things because you simply have a talent for it, and you enjoy it. So the Gallup test shows the things you should focus on. They are so generic that you can easily match them to your problems.

Here’s what it was like for me. I did the Gallup test, and it came out that I am a learner. I like to learn, and I should share knowledge - which should make me happy. Comparing this talent to the list of skills I should develop, I found out that I don’t share knowledge with others. I decided that a good form of knowledge transfer is to make presentations. I completed training in making presentations. I also estimated the time for preparation and set a deadline. While preparing, I realized that this knowledge sharing strategy was not for me. I finished this presentation and decided to change my knowledge sharing strategy. Such a change in strategy is called a pivot. I discussed the problem with my mentor and decided to make a pivot towards writing articles. Being in this situation you have two choices: either you do a pivot, which means you change your strategy, or you persevere, which means you continue to develop using your current strategy, after getting proper feedback from your mentor and team of course. Let us now look at the second type of skill.

Let us divide hard skills into two groups. In the first group there are skills you acquire while learning by yourself, e.g. a new programming language. For this you need internal motivation and discipline to achieve the expected high level. The second group is the one where you acquire skills automatically e.g. you use some framework in your project. For the first group you can use the startup method. An example scenario of what the process of developing hard skills might look like:

1. Choose one skill with your mentor (the order does not matter). Additionally, collect the requirements.
2. Estimate how long it will take you to develop that skill. Put it on your calendar.
3. Together with your mentor, set a first stage, i.e. the first prototype of your work and work on it for e.g. 2-3 weeks.
4. After this time, show what you have done to your mentor or the whole team.
5. Draw conclusions. Collect feedback. Do you like doing it? Did the result meet their expectations?
6. If not, make a pivot to another strategy or take another skill. If so, improve what you collected during the feedback and keep developing.

In the worst case scenario you will go through all the skills. You will then have a fairly broad knowledge base. I have never heard the opinion that someone learned something and now regrets it. In a positive scenario you will probably find something you do well and enjoy it.

We will now look at the second group of skills, which you develop automatically while working on a project. Here again, you should first consult with your mentor on the best strategy to follow. There are two strategies in such cases: to gain deep knowledge in one of these skills or to learn a little about all of them. The mentor should know what the team expects from a specialist in the given position. This automatically affects the implementation of the tasks in the project:

1. You perform tasks only in the domain you know and after some time you become a specialist in this area, but you do not take tasks from another domain that is new to you. Your value is the speed of task completion.
2. You always take tasks from a new domain, you are brave and not afraid of challenges. You will then have a broad general knowledge of all products but will complete tasks much more slowly.

This is just one example. It is important that the mentor is clear about his requirements and that he gives you feedback after you have done a few of these tasks to make sure that this is what you wanted.

## Pivot or persevere

Finally, let me explain the startup terms for pivot. The term pivot means to change from one strategy to another. For example, I did one pivot during my development process. I was developing the skill of knowledge sharing. I had several strategies to choose from:

• Making presentations
• Writing articles
• Training preparation

I made a presentation and after collecting feedback I had to make a pivot and changed my strategy to another one. I chose to share knowledge by writing articles. This article is the result of that. If this strategy works for me then I will do a persevere and continue using the chosen strategy.

## Summary

If you feel that you should already be in a higher position it is likely that the expectations for your job are quite different than you think. To change this you should first find a mentor and then, with their help, gather the requirements. A good place to start is with a list of requirements or a list of skills to begin discussing with your mentor. From this list you should select a few skills and then choose appropriate strategies for their development. To make it easier for you to choose a strategy, do a Gallup test. Additionally, you can use the startup MVP approach. Ultimately, the key to success is to gather requirements from your leader, team or entire company and then show the results as quickly as possible. If the chosen skill or strategy doesn’t suit you or the feedback collected is strongly negative, don’t worry, make a pivot and choose something else. After a few iterations you will definitely achieve your goal.