Process

Too comfortable coding? Time to make way for others.

I recently joined a software company. Joined a project. It’s a brownfield project.

I have an experience of creating simple web application. I understand how to write html/css/javascript. I have an experience with jQuery and little bit of React. I can make components. I can make api calls using axios.

I also have experience of creating a spring boot application in java. I know how to create controllers to make APIs. I know how to use spring jpa to create entities. I know how to use repository pattern and get/put data from a relational database.

I know how to write DDLs and create database, tables. I know how to make use of spring jpa repositories and interact with the database.

I can write unit tests in React using the react testing library. I can write unit tests in java using Junit.

I qualify as a full stack web developer.

This is your work experience. Not your skill. You were supposed to create a web application and you were made to do this by your tech-lead/manager. A software isn’t just a web application.

You take pride in being able to create a react application which is easily created using create-react-app and a spring boot application which is easily created using spring.io. Anyone can do this. If anyone can do this, your job is at risk.

Think about this. Your job is always at the mercy of the company. You have a job because someone saw a problem and pulled you in to create a solution to that problem. You are a tiny part of that bunch of people who are churning out tiny deliverables.

There are 2 types of individuals now. One who see the bigger picture and have broken the shell. And the others who are happy within their shell, making this shell a better place every day. This shell produces what is asked for, perfectly.

The individuals who have broken the shell, see the entire world around them. They observe what’s happening around them. They observe where they are in the entire sequence. They see the flow of information from one place to another. They observe responsibilities of each tiny part in the system. They appreciate the information coming to them. They get appreciated for the information they produce. They have a sense of accomplishment. They feel they are important part of the system because, because of the information they produced, a chain of events triggered which eventually effected someone’s life. They were part of a system, which created value. This creates a sense in the individual that they were part of something meaningful.

The individuals who have broken the shell, know their value now. They can create this value in a repeatable fashion. They are also aware of other values which make sense. This is powerful and a safety net. These individuals know where to be and stay relevant. Why stay relevant? To continue getting paid.

Why just continue getting paid, don’t you want to grow now? Don’t you have more ambitions? Getting your name out, also getting paid more. Just producing tiny value, different values, but tiny, will only get you so far. What would you do to grow?

First, break your shell and become the individuals who have broken their shell. Read all the above again.

Make way for others who are born in this world, let them create the small values. What will you do now?

You have practiced creation of different values in a repeatable fashion. Make it your job to spread “how to create value X” to a bunch of people. You can also spread “how to create value Y” to other bunch of people. And so on. Of course you don’t get to “create value X” by yourself now. You have moved a level up by teaching others “how to create value X”. Call it being a coach/mentor/guide. Are you feeling that since your name isn’t there in the final deliverable since you did not “create value X” your new job of teaching “how to create value X” is at risk? May be it is, if you just stay doing “how to create value X” & “how to create value Y”. Once you teach all the skills to your mentees, you are no longer relevant in that area. No longer being relevant is a job risk. Isn’t it?

How would you continue to be relevant, but this time, at a higher level?

This is the point when you will get a shock exactly the way you got when you learnt to ride a bicycle. When you cleared a competitive exam. This is the kick when you acquired a skill for survival and started practicing it to get paid. You will leave your shell now and learn to fly. Why? because no one is getting you the food you got so easily when you were a baby. You have to do more. You have to become the one getting the food for other babies.

This is the juncture when you decide how do you want to live. You either decide to role on a flat plain. Or you decide to climb up a little and then role for a while on the flat plain there. Don’t be surprised and shocked when you see others climbing in front of you, across the years. If you are at peace on that flat plain. Be there.

Coming back, how would you continue to be relevant at the higher level. After you are done spending your time being coach/mentor/guide, spend your time to solve the problems which you faced when you were at the lower level. Make starter kits, documentations, defaults, onboarding, machine setup, Rules to avoid issues. This is valuable. This increases speed of the ground work. More speed, means more work done. More work done, means more value delivered.

Inside the shell, you knew how to write a low latency function and you perfected it. Outside the shell you decide what to write. Getting work done by delegation, splitting the work to get it done is work too. Someone has to do it. If this doesn’t happen, either it will take a long time for someone to do the entire thing. Or it’s not happening at all. Splitting the work and delivering in sequence is a skill. The business analysts do it all the time. Can they split it by themselves? Or would they need someone to tell them how to split. The business analysts are experts at explaining which particular problem when solved, will create the most value. They can prioritise problems, if solved one after the other, will create value in a descending order. They can split the problems. They expect solutions and soon.

The BAs will continue to throw problems at you mercilessly. They expect solutions and soon. They have their own pressure from the pioneers who identified the problem. Remember the one who identified a problem in the world and pulled you in to solve a tiny part of the problem, hence paying you. Also remember you could have stayed to solve the tiny problem. You are here now because of your own ambitions to grow. So, how will you solve this problem of “solving many problems and soon”.

You can work day and night, solve all by yourself. One day you will give up.

You can delegate, but the working bees need you to tell them what to work on? You are at a place where you are being bombarded with many problems, and you have to convert those many problems into many solutions that the working bees can work on. This is a full time job in itself. Converting many problems into many solutions. You will split the work for working bees. You will split parts of solutions. One solution delivered by a working bee can be either full or part solution for a problem thrown by the BAs. This small part solution is a promise to the BAs for a value. A small value that will keep the BAs engaged and happy that their work is getting done. But since this is a part solution of the problem, the Customers haven’t gotten their problem solved yet. This is tricky.

You will negotiate with the BAs to release a part solution soon which can possibly create some value for the customers. This will keep the customers engaged.

The BAs have the skill to create a fraction problem of a bigger problem that defines a value when solved. You will have the skill to create a fraction solution in your code so that you build your system iteratively. You have moved up to the level where you are building systems now. What you were doing with classes, you are doing with modules & systems now. You are also collaborating with the BAs to create fraction solutions that create fraction value for the customers. You are also being a coach/mentor/guide to the working bees. You are more than relevant now. You can create systems in a repeatable fashion now. You have skill to build it iteratively. And you are cultivating. You are at a place where you are given a high level problem and you create high level solutions.

Soon the working bees will realise that they have ambitions too. You need to make way for them now. You have to move higher now. The feeling kicks in, you know how to make systems, you were connected to seeing the deliverables produced by the working bees. You were still connected to the low latency code which will execute in a runtime. But not anymore.