Career progression guideline – introduction

This is going to be a very long post series in #careers. It started from a discussion among my engineering manager team as well as my observation to individual engineers. There's a challenge for anyone who don't know exactly how to advance their career. Even a company provides a guideline, some of them still struggle to actually make progresses.

I'm going to be a stereotype here. I'm pretty sure it won't cover all the cases, it’s just for simplicity and I hope that it should cover at least 70% of the cases.

I divided the problem into 2 sub-problems: Lack of skills and Lack of scope.

Each of these problems could be fixed independently. I'll write more about what I believed a learning process should be. The important thing that you should know is fixing these problems is not a sequential, but it is a cycle to fix a little bit of each sub-problem many times.

Lack of skills

This problem is well-known among software engineers. Everyone wants to be smart, full of wisdoms, or even a 10x engineer. There's many way to increase your skill: read books, blogs, watch video, learn on the job, side projects, leetcode, mentored by expert, etc. These materials consumed are usually focusing on technical knowledge: programming language, scaling, performance, design, tools, etc.

The missing piece here is the other side of technical knowledge which I called soft skills (It isn't the same commonly known soft skills). The sample of soft skills are: project management, effective communication, effective writing, mentoring, inter-personal skill, problem solving, critical thinking, outcome-focusing, etc.

Without the soft part, all you have is an engineer who's waiting for someone telling you “Hey, this is your ticket with full of requirements and if you can check all the boxes in the ticket then everything will work as planned”. It's like a ticket bashing — who can clear tickets so fast, alone, and doesn't account for anything.

I tend to find engineers focusing more on the hard-skill and pay a little attention to soft-skill. I believed because hard-skill is in your power to control but soft-skill need someone else to practice with.

Even if you know that you need to improve soft-skill, it still lack the way to improve it, for example, project management — you cannot practice it alone but you have to actually do it. This issue creates inequality, if you are chosen to do it then you have more opportunity than the other. The same project won't come back again for the others to practice, only a newer project that is harder. This is a vicious cycle that make the gap wider.

Lack of scope

What I mean by scope is below:

All of scopes here is relatively compared among employees in the company, so it can't compare across company.

Let's be specific.

You are an engineer who responsible to complete a simple bug fix assigned by the other engineer and the ticket has full of detail, solution, everything is clear and concrete. In this case, your scope is less than the one who create a ticket for you.

You are an engineer to support ~10 of micro-services. These services are in maintenance mode. You have to keep watching its health, answer inquiries from other engineers. Compare with someone else who responsible to develop a new system which is very critical to the business. It's life or death. Your scope might be less than the other.

You are an engineer who responsible an end to end of a product life cycle. So you talked to all stakeholders, create a plan, review code, monitor its health, and be an on-call. Comparing with someone work in a team, there's product owner (PO) who try to give a concrete requirement and when that engineer have a question, the PO will find answer for him. You might have larger scope comparing to the other.

So, you can think of scope as a circle of responsibility, criticality, people connection, and influential. How large are your circle? How can I increase it? It has to be increased in all angle, otherwise it's not a circle anymore.

Fixing these problems is a cycle

You cannot learn all soft and hard skills before you increase your circle. And you can't increase your circle if you don't have enough skills, otherwise you will lose trust.

The thing is you should increase your circle bit by bit and learn it along the way. Have I done good enough? What else can I improve?

It takes time and you can't rush it.

The only problem left unsolved here is can we create equality to all employee in a company so that everyone will have the same opportunity to grow? I believed, maybe, it's the hardest or impossible to solve.