Being Materialistic of new technology (Trap)

Nikhil Agarwal
4 min readDec 3, 2023

--

In the early days of my career, I had the mindset of looking at what other people have and what new things are coming into the market and thinking, “Hey I want to learn and explore that too”. I will be a loser if I don’t learn and explore that tool/technology. Now, after spending 5 years when I hold the responsibility of a lead, writing code with the responsibility of managing someone, when I look back at my career graph, I think that I never realized that it is a destructive mentality to be materialistic here. So I thought to share my mindset (including learning of many leaders and managers I worked/interacted with) to be a little bit more realistic and meaningful here to avoid the things that are not valuable even though they may look like.

Picked from https://jumpgrowth.com/

Reasons for addiction to changing technology:-

When we (let’s say Java people) join a project, the requirement involves expertise in many other different things like NodeJS, DevOps, AWS etc, we start feeling excited and newness comes when we start the project because we realize that “Wow, there is a lot of stuff I don’t know. There are lots of frameworks and things I never worked with”. This starts feeding our desire to learn and grow. But eventually, we get bored. One of the reasons is repetitiveness obviously, but we have more reasons for this, like:-

  1. Envious of other people
    Generally, there are multiple products in a company. But sometimes even after making a lot of money, a product does not have that much scope to grow. So the management decides to look and invest in a new product in a new tech stack. Now there will be few team members who get the opportunity to use that new technology. If we don’t get to be selected for that team, there are chances of envious. There are chances that we feel like I wish I was the one who got to work on the new product. That causes resentment and frustration.
    In my experience, I feel that after using specific technology for a while, we know most of the commonly used things or get comfortable doing almost everything. So just for newness, we start convincing and justifying ourselves that if “I could use this latest Django framework, most of the problems will be solved. I am not gonna be happy until I don’t get the chance to use it”. In reality, it hurts our careers. Because in reality the business is concerned about the results and getting things done. End of the day the business team doesn't care if I am using the latest Django or SpringBoot or my coworkers are excited. They just want things to be done.
    Secondly, when we get inside the trap, we fail to master the one that we are already using. For a tech lead or manager, it is frustrating when other members of the team are good at learning new things but they never really mastered the essentials of software development or other practices that the team/organization is following. The members can implement the latest Gin framework, but they don’t know how to design the data storage, how to create the relationship between different objects, how to design the business logic, and how they think. In the early stage of the career, people think that these are just for college and have nothing to do with the real world. So It is very easy for them to go to LeetCode or Hackerrank and try to beat the algorithm to get hired, but after getting inside the team they fail to match the technology to the basic business need.
    So after getting tired of the rat race, I am suggesting one of the things I did to get out of this. When you feel you got stuck using your technology, and you wanna grow, rather than directly jumping to something new, take a look if you could do something you can do with the current technology to reach the universal aspect of software development or understand the business better or the relationship between the objects or maybe the best way to model any specific problem which you anyways have to do with the new technology. It’s gonna give you much more ROI rather than investing time in the new framework.
  2. Understanding Technology vs Business Problem
    Let’s say for a business in the airline domain, the main problem can be capacity planning. They need to know all the time who is booking a seat, who blocked a seat, and who canceled one. These problems are specific to this business model. This can be implemented by any one technology like Java, NodeJS, Python, Ruby or Go. The same can be used for a different business (say e-commerce like Amazon), where they have to deal with inventory, purchase, delivery and seller.
    When we fail to deliver anything on time, our mind starts blaming the framework, but in reality, it is our failure to sit with the business and talk with non-technical people to understand the unique challenges specific to the business and map them to software in the best way. Learning and mastering a new technology will take time for every individual on the team, but ultimately the business has to suffer because of delays in deliverables.

I hope I helped you to learn something new today. 🙂
Keep shining, until we meet next time.

--

--