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.

Photo by Pixabay on Pexels.com

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.

Photo by Vanessa Garcia on Pexels.com

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.

In the early days of my career I have observed professional managers hired to lead the projects in software development, who go by numbers, processes, tasks and objectives, the more and more I observed them, I started to dislike their leadership style as it was very disjoint from what the team was doing. To add more to the dislike, low performers were termed ‘Manager material’ and an option was given them to train on professional management, giving a bad example for leadership aspirants. Not just me, a lot of individual contributors like App developers, QA, Infra developers started to lose the respect for managers as the only leverage these managers had was coercive powers like say on appraisals, leaves, working hours, weekend work etc.

Photo by RDNE Stock project on Pexels.com

For many years this thought made me stick to being an individual contributor until I was no longer able to push what I can achieve through my work. Work got super boring and monotonous, also started feeling helpless many a times. Long working works, weekend work as a result of poor planning became the norm. At the same time, I read two books – Fish! and Who moved my cheese. These two books just drilled the following points in my head.

  • Work does not have to be a boring, repetitive, stressful affair
  • Create a work environment that people along with you enjoy being there and doing it
  • Change is inevitable, which means I should not resist growing up to managing people, just see how to grow into that role
  • Comfort zone will make you rot eventually

This made me ready to ditch the individual contributor tag and take up the lead role. To my surprise, my tech skills did not vanish, instead I was able to get better at abstractions and multiple tech stacks. I was able to influence task breakdown, planning, onboarding and knowledge management which in turn created an easy environment for people to work. Better work environment led to less stress and I observed that the team was always in a mood to help each other out instead of hammering away at their task lists. As a result we were able to deliver what was thought to be an aggressive 4-5 month plan in just 2.5 months without breaking a sweat.

It was a great start for me to become a multiplier and shun the fears of becoming a manager. Techies fit the best to lead other techies. Management does not mean pure management, people can manage while still retaining their tech exposure on a day to day basis.

Do earthquakes happen on the moon, please explain? I vividly remember this question in an English course examination in my school days. Many of us felt angry because this is a physics question that has been asked during the English exam. Some just answered ‘yes or no’ thinking there will be some grace marks awarded. A few of the students even got their parents to the class next day to argue with the teacher that this is an out of syllabus question and the pupil should be awarded full marks to it.

In the next class, our teacher explained that this is a perfect English exam question and the answer to it is – “Earthquakes happen only on earth, if it happens on moon then it is called a moonquake”. Our teacher definitely disrupted the rote style of learning and forced us to comprehend more deeply what we read than just a shallow pass through of memorised phrases.

To get to the mastery, you start by the rote but you have to get into deeper comprehension soon or else we will be stuck forever in a knowledge loop without any applicable wisdom. Software development is no different, especially when agility is the key. What is the problem that is troubling the software industry now? It is the glut of rote learners who are misguided to stay as rote learners with an assurance by a small set of high profile consultants and trainers.

In this model, the luminaries will be happy to certify the rote learners as experts because it benefits them a lot in terms on money and fame. They ill equip a lot of people from developers to executives with runbooks and cheatsheets full of jargons and metrics which then becomes the industry standard. Recent article from a major consulting company on measuring developer productivity is one such example. It has angered all the real practitioners and experts forcing them to vent out their opinions including me. Some experts have taken such articles and have given a thorough explanation of why it is wrong.

What should be the model then? Rote learning is always a starting point. At the starting point people are dealing with the knowledge in an abstract way, which means they won’t understand the underlying value and intent of a practice or a process. When they do something by rote, they work along and observe the practitioners, understand the value and intent behind what they are doing and are able to internalise. Over time, because of deep understanding gained on the ground and interactions with other people, people develop expertise. The common theme here is collective growth as a community not as an individual who excels in arbitrary metrics.

If an organisation wants to improve their productivity, driving through metrics will always result in behaviours that encourages excellence in metrics. It will easily runaway into a toxic culture where no one wants to help another unless it helps their metrics. Organisations should bring in a culture of resilience where communities exists with an intention of upping the notches of everyone, Some people when they gain very good expertise they go even further and extend the community reach outside of their workplace. Information should flow more freely across layers and people should feel safe to try new things and fail safely to improve productivity and resiliency. These things are hard to keep in effect and hard to measure, so not many leaders try it.

Now coming back to the title of this blog. I am beginning to see that the so called experts or luminaries are not calling out that ‘it should be called moonquakes’ instead they are selling tools and frameworks to observe and detect earthquakes on moon and reinforcing wrong understandings to a great deal.