Roman Imankulov

Roman Imankulov

Full-stack Python web developer from Porto

search results (esc to close)
25 Oct 2020

Alignment Matters

Thought on hiring and career planning in application to software development.

Skills for sale

Imagine you can somehow measure your skills as you measure your weight.

A box with the text my skills and 86

In reality, of course, a single number doesn’t catch the multitude of nuances of your traits. An area can become a better representation of your skills. We usually call it “area of my expertise.” I call it amoeba to emphasize that it’s a living creature. It’s moving and growing.

An area with the text 86

Amoeba of your skills

When you apply for a job, though, the recruiter is not interested in the full set of your skills. What matters for them is the intersection between skills and the team stack.

An intersection of two areas: my skills and team stack

Intersection of your area with the team stack is what matters

The inconvenient truth is that when you apply for a job, you sell yourself for a discount. The more you know, and the less the overlap between what you know and what the team can utilize now or in the foreseeable future, the bigger the discount is.

On the hiring side, there is another common misconception. Imagine someone who worked with the team for a long time and grew with it. Such old-timers fit the team stack perfectly. As a result, they develop a false feeling of knowing everything that matters.These persons become obnoxious interviewers; they look for no less than a perfect match and can’t see beyond their own area of expertise. They are arrogant. They look for no less than 100% match, and they are disappointed in the entire world. “People are so stupid these days,” they think.

Alignments inside the team

To further expand the idea, I allow myself to simplify the model even more and represent your skills with a 2D-vector, an arrow on a plane.

An arrow with the text my skills and 86

The arrow of your skills has length and direction

A team stack can also be represented as a vector. We can visualize your effective skills as a projection of your vector to the vector of the team direction.

The arrow of your skills, projected to the arrow of the team stack.

Effective skills is the projection of your skills to the team stack

Suppose you are a Python developer proficient in Django and PostgreSQL. When you join the team that uses Flask with MongoDB, you can count on some of your skills to be applied in the new environment, but some others become obsolete.

The picture above is a graphical interpretation of the idea that alignment matters. The better your technical stack is aligned with your forthcoming team’s stack, the more valuable your knowledge becomes in the new context.

The same applies to non-technical skills and value alignment. For example, if you came to a remote-first company from an environment where you never worked remotely, a significant share of your communication skills becomes obsolete. What was natural there, is impossible here.

You can find out that someone can have negative effective skills. It’s a person who, willingly or not, undermines the team’s work by neglecting the workflows or destroying the team morale otherwise.

Dynamics of the alignment

When a newcomer with a misaligned skill arrow joins the team, inevitably, they start two processes.

First, they start growing their arrow in the direction of the team stack. While doing so, a newcomer can be way out of their comfort zone, especially when the misalignment is large and the area to grow is huge. It is beneficial for the person, as long as the advancement is sustainable and the amount of stress is not overwhelming.

Misaligned team member growing in the direction of the stack

Misaligned team member growing in the direction of the stack

Getting back to the question of selling for a discount. If your goal is personal or professional growth, then joining a misaligned team can be a great deal for you too. As you develop new skills, your compensation matches the new reality, and a newly acquired knowledge is yours forever.

Second, they start changing the environment by moving the team towards their skillset. For the team, it can be harmful or useful. I lean towards thinking that it is usually beneficial in the long-run but brings more pain in the short-term. Moving the team arrow can mean questioning best practices. The team may learn that they are at a local maximum. It can bring new technology to the table and help the team adopt it.

On the other hand, there is no good in questioning all the basic assumptions every time a new talent joins the organization. This practice creates friction, pushes people out of their comfort zone, and if applied too often or too aggressively, results in anxiety, and affects team morale.

Misaligned team member moving the team into a different direction

Misaligned team member moving the team into a different direction

A manager must recognize it and keep both processes under control, fostering the desired dynamics and suppressing harmful consequences.

Fragility of strong alignment

There is a flipside of strong alignment that I would like to specifically outline. Imagine you have an almost perfectly aligned team, as shown below. We can guess the team utilizes its potential very efficiently.

Three arrows that show the perfect alignment with the team stack

Team members are almost perfectly aligned with the team stack

As in the second picture below, the company has to pivot due to a change in the market. The team stack has shifted 45° Suddenly, the team became unprepared for the change, and its cumulative effective skills got reduced by half.

Three arrows that look in the same direction, but the team stack is misaligned with them

Team stack has changed to affect the effective stack of each member

If you read the book “Antifragile” by Nassim Taleb, this hyper-aligned team can serve as a perfect example of fragility. It works fine as long as the environment is stable but crumbles under the changes. An alternative configuration where members are not perfectly aligned and the team has a certain level of redundancy.

If you think of the environment in which teams and companies operate, creating multiple hyper-alignment fragile groups can benefit big corps. In contrast, small companies and startups would have higher chances to survive with teams that are not perfectly aligned.

As another example, the current pandemic and moving to work from home shows how the communication and the culture of some teams fall apart after such a dramatic shift, while some others managed to minimize the damage.

Meta-amoebae

Let’s finally admit that it is impossible to fit the entirety of a human being, joining a company into the Procrustean bed of a single number. Admitting this, let’s extend the model. Instead of measuring the overall score, let’s calculate the score by each of the core skills and values independently. The projection of each of the skills to the team’s vector is the effective score in each category.

We can visualize where we are, according to our team estimations, with a radar chart.

Radar chart with six axes, representing different treats and skills of a person, such as a python, javascript, emotional intelligence, etc.

Radar chart with six axes represents your value to the team in different areas

It looks like another amoeba. I call it a “meta-amoeba” because it’s built from multiple tiny creatures and their intersections with team stack. This meta-amoeba is not moving and only growing into the directions of its axes.

In the context of recruiting, we have a particular area of team expectations, sort of a necessary minimum that allows you to work effectively. The candidate is hireable if the area of team expectations lays inside the meta-amoeba of their skills.

Radar chart that shows candidate traits, intersected with the area of team expectations

The candidate’s meta-amoeba and the team expectations

The picture above represents a candidate that doesn’t seem to be hireable – software architecture skills are not enough.

Finally, a few words about the meta-amoeba evolution: if you work in a company long enough and the company is actively growing, there’s no doubt the required skill set will evolve and shapes the size of your meta-amoeba. In a small company, you start as a more “well-rounded” jack of all trades. With time, and depending on how you decide to turn your career, your meta-amoeba will probably become more stretched in one or another direction, grow new legs or lose some.

Three radar charts that show three types of team expectations: for developer, product manager and senior backend developer

You can become a product manager or a senior backend developer

As long as its growth is under your control, and you love what you are doing, you are fine. Worse if you find yourself with a meta-amoeba that is either frozen or stretched in a position that you don’t like.

Beyond amoebae and vectors

The models above were born from my attempt to explore the complexity of human relationships in the team. To fit this in my head, I mapped these relationships (abstract concepts) into geometrical figures (concrete representation). Now, I can think of human behavior in terms of lines and arrows.

It turns out to be a helpful exercise, but it goes with a caveat. The mapping is arbitrary; there is no inherent relationship between geometry and human behavior. As soon as I feel like I am stretching my amoebae and vectors too far, I throw them away and get back to square one.

This way or another, if you want to show me where I am wrong or want to discuss this topic otherwise, drop me a line by email or ping me in Twitter.

Roman Imankulov

Hey, I am Roman, and you can hire me.

I am a full-stack Python web developer who loves helping startups and small teams turn their ideas into products.

More about me and my skills