If you have worked at a large software organization, I am sure you may have faced following questions at some point in time.
- What is the difference between a software engineer and a senior software engineer? Or a between a team lead and delivery manager?
- How to move up in the hierarchy?
- What does it mean to really grow in career?
Many times the sense of progress is associated with a job title and the scope of responsibility. Job titles can be misleading, and organizations tend to create them just to give a sense of movement, without much change in scope or nature of responsibilities.
From my experience, there are four levels of responsibilities.
1. Responsibility of presence
Being there, both physically and mentally. This looks pretty oblivious, but whether you have just started a job or doing it for 10 years, once in a while you will find it difficult to fulfill this responsibility. Some organizations have ways to enforce the physical presence, but mental presence is still an individual territory. For a person who is new at a job or at the first level of the hierarchy, this is their primary responsibility. Be there, listen, learn, ask questions, and understand the context. Do note that you can’t keep lingering at this level forever.
2. Responsibility of efforts
Putting efforts towards the assigned task. Acquiring, and improving on competencies required to perform these tasks. One can also help their co-workers to move from responsibility of presence to responsibility of efforts. This will be the key responsibility for someone who can work with a little bit or no guidance.
3. Responsibility of output
From here you take ownership and start being accountable. You work with those who are responsible for efforts and ensure that those efforts have desired output, on time, on schedule, and with required quality attributes. It is also important to note that those who are responsible for efforts may or may not report to you directly or indirectly. You will also invest time in mentoring and building teams which can consistently produce the output.
At an advanced level of this stage, you also work as a translator who can translate the direction and vision from senior leadership into actionable tasks which can be performed who are responsible for efforts.
4. Responsibility of outcome
This is the last stage, where you are accountable for the desired outcome from the business perspective. If you are an experienced person, then you might have worked on a project which passed the output test but failed to produce the desired business outcome. At this stage, your primary job is achieving the output getting realized as outcome.
This responsibility demands that you provide vision, direction, advise and required resources to folks who are responsible for output. You need to be comfortable with the fact that your reward will be based on the outcome and not on efforts. Almost 99% of time outcome is measured objectively in terms of numbers like revenue, and profit.
Now moving up in the hierarchy can be simplified as taking the next level of responsibility as mentioned above, or increasing the scope of the current responsibility. Most organizations like to see the demonstration of your ability to perform the next level of responsibility before your official movement.
Don’t target role, target activities
One key advise I got from a mentor is instead of targeting for a next level role target for activities that you want to perform at that role. Come up with proposals to improve things or start/own initiatives which normally owned by the person at the next level. This will help to build your case, demonstrate your appetite as well as the capabilities for next level of responsibility.
So what you are responsible for?