I come across people in the spectrum of extremely laid back to extremely driven. Laid back ones or happy me go lucky ones have a strong belief in destiny and are often victim of systems. The driving factor for them is that there is very little one can influence on what is about to happen to them. On the other hand, people with an extreme drive try to keep altering every aspect of what they do to control their destiny leading to a high anxiety state. You can read more in detail about it here on what is locus of control.
What is the healthy state to be in? It is not the middle path, it is towards the internal sense of control that is desired but not on the extreme end. Kids in the initial days have an external sense of control, the sense of control gets more and more internalised as their learning horizon expands and they begin to understand cause and effect very well. This is not a inborn trait, our environment around us and self reflections will shape our sense of control.
Environment shapes how an individual’s locus of control is established. A workplace that is toxic, promotes favouritism, has tight command and control will eventually prime the individuals to adopt an external locus of control. They become less engaged, more laid back and often make poor choices which slowly bleeds into their personal life as well.
It is crucial that a workplace promotes psychological safety if they need individuals to develop a healthy locus of control. Individuals should also understand that complete control is impossible and should develop the mindset to accept things that cannot be controlled, which will result is less anxiety and move on to next set of challenges.
I recently installed an app to get groceries and milk delivery at home every morning. When I browsed through the catalog, a lot of items were cheap but when added to cart they asked for a subscription fee to checkout at the listed price or pay markup on the items which were much more than what it was listed on the catalog. So I went ahead and paid the subscription fee and when checking out I see that only some of the items are discounted but not all the others. When I looked into the details, the subscription had a fine print that the price was applicable for only 15 items and it auto applied to all the cheapest items, leaving out the bigger items at the markup price.
I anyways continued to order to check the quality of deliverables and over the course of few days I felt that provisions ran out a bit faster than the previous vendor. On checking the details, all the products sold are in the range of 400-450 grams or 400-450 ml instead of the standard measures of multiples of 500. I checked around who these people were and found a patch which proudly claimed that it was a product of IIM alumni. Why on earth someone spends entire early adulthood preparing to earn a good degree just to mislead and profit.
These kind of rots and rusts are evident in the society, at workplace it is hard to spot. While it may not be deliberate act of mislead and profit, it is more of rent seeking that is rusting the workplaces. Job characteristic theory mentions that a good favourable job will promote
Skill variety – To learn continuously and implement
Task identity – Where people understand the larger picture about whatever small they are doing
Task significance – The general good feeling of doing something positive for others
Autonomy – Accountability on actions, elbow room and breathing space. No one constantly telling people what to do
Feedback – To know whether what someone did is good for not in an actionable way so that they can build on the failures
Conventional industrial processes did not worry about any of the above as it was primarily a dead end job. When software was first developed it was very similar. Breakdown the entire work into small chunks, sequence it and give it to people to finish the product. The industrial type work relied on individual contributors working in isolation with a specific skill, as long as they follow the job description the end output however complex it looks can be achieved. The knowledge type work relies on individual contributors working along with others in the group to be successful. It is a key difference, the industrial type of job is a dead end job with no autonomy, skill variety or task significance.
The rots and rusts start from there, young individuals join the knowledge workforce expecting to do big on their career but are stifled by the system that was designed for industrial type of work. Eventually people become victim of systems, they become tired of always being told how to do and what to do. The faster they escape from the situation, the better so they try to get into management as soon as possible. This steps furthers the rot, an individual contributor who did not understand well how to do their work within a team is now equipped to tell others how, when and what to do.
Where do people look up for guidance in a new job role?, it is their peers who are doing similar things. Anything which has a short term gain and less learning horizon gains traction compared to long horizon ones. Example – Click bait to increase engagement but lose the brand value over long run. As long as the increase in engagement is rewarded handsomely this behaviour will continue and the person will move on to another place leaving the after effects to be handled by a successor.
Shanty towns – Locally optimised but a collective failure. Picture from pexels.com
Slowly many anti patterns become an accepted practice and become templates for career growth. A rotted and rusted system will cause more victims of the system. Every one will be governed to optimise for themselves but collectively fail. Agility in software development was a key issue when people were following the industrial type of work breakdown and development, a bunch of people got together and came up with the manifesto to bring agility into software development. What followed after 2 decades is that there are plenty of frameworks and processes but no agility. Ask this question, if a business needs to wait for a release train next quarter to test out their hypothesis and implement that in the following quarter, how is it agile?
People can attend a training for 3 days and become masters in driving agility in their teams, it is like saying you can become a football coach by attending a 3 day training, that is how broken the industry is. Unless an individual realises and resists to contribute to the rot, the rotting and rusting will continue.
Cost of living changes and salary changes will never match. It is a never ending debate because of the disconnected way in which the cost of a basket of goods and services change. In India, in the last 20 years, petrol price has risen only 3x but gold has risen 12x which people compare it to a standard way of thinking about inflation but it is not, as it is also a commodity backed by demand and supply.
By comparing the absolute number cost in the last 20 years, vehicles cost about 2x, petrol 3x, clothing 3x-5x, food 5x min in staple raw material cost, almost 10x in green groceries, rental and property 5-10x, phone bills 0.7x, feature phones 0.3x, in general electronics & communication – more features and lesser cost. For a basic living it is generally considered that we have good food, clothing and shelter. In that sense the cost of living has gone up around 5x-7x for most of us. There are some services like hospital and education which have increased the spectrum on both ends thereby making it difficult to assess but in general we can say that also falls in the 5x-7x bucket. We spend a significant amount of money on the basic expenses so 5x-7x change looks a good ballpark.
The inflation data from across the world suggests that India went through an inflation of around 4x in the last 20 years. This data takes a wide basket of goods and services not just the basic few we have looked at. With that in mind if I compare to the wages offered 20 years ago. The big IT companies in India provided an average entry level salary of 2.1 lakhs per annum in the year 2004. This is for a person just out of college without any experience. The range was something between 1.5 to 5 lakhs per annum. If this was the case in 2004, as per the economists figures in 2024 should be around 6 to 20 lakhs per annum for fresher programmers. If we use our 5x-7x yardstick then the number jumps up a great deal. In reality salary numbers do not keep up.
Why do not salaries keep up with the cost of living? The answer is demand and supply. In the early 2000s an entire state of Tamilnadu produced programmers who have good comprehension and coding skills to just fill up a small office building year on year (In 1000s to 10,000s). Initially companies were so choosy that it was difficult to appear even for an interview if you are not from a top tier college, slowly they moved to lower tier colleges and by the end of 2000s massive walkins were encouraged to hire talent. This trend disappeared when the supply caught up for freshers leaving the salaries stagnated as there were more freshers than available jobs.
It applies in other fields as well, my neighbour who was owning and driving a taxi which was semi luxury 20 years ago earned around 20,000 rupees a month in profit. The cabs and drivers supply hit more than the demand that now the same person will barely make 1.5x to 2x of that money. The only way for us to keep be on the happier side of the cost of living is to create a demand for our skills. A lot of freshers do the mistake of early specialisation, choosing a well paying tech job in a narrow field which works in the immediate future but locks them up forever in a stagnant skill set.
I keep repeating this statement – software development is about communication of different systems built by different teams. The more things the software does, the more overhead it has, to deal with people and process. For us to get a hang of what is going on in the overall landscape, it is possible only if we have explored the lengths and breadths of technology and tools. It is not necessary to be an expert in each and every aspect, but should understand them in first principles. A developer who spent their early years working in UI, backend, infrastructure, mobile development, data engineering and using different programming languages like Javascript, java, python will have a thorough understanding of the tech landscape. The same developer when working on legacy projects, green field development, brown field development and maintenance will gain enough experience on people, process and engineering in the long run to become a VP of engineering compared to someone who specialised very early in a tech because that was hot.
With AI coding assistants growing in capabilities, there is now even more demand for generalists who can grok and handle a lot of things in the length and breadth. Avoid the temptation of now and plan for the long run, a career is not over in 10 years. Flexibility in the early years and learning compounds to a great growth in the long run.