How did we get to an IT crisis in 2024?

We live in interesting times. We are doomed to live in this era where computers have replaced people, money has become a virtue, and the connection between ourselves is destroyed by the strong feeling of individualism. But no, I won’t be talking about these obvious things, I will talk about another thing happening in the IT sector. I mean the constant layoffs that have started since the COVID crisis and are continuing even today when thousands of people are losing their jobs and are left to help themselves … individually.

What makes me constantly think about these layoffs? Let’s say I am very close to such examples where highly skilled people are lost, CEOs we are wondering how to get out of the product rabbit hole and companies have made some awful staffing decisions that are still hidden from everyone’s sight. Recently, I figured out that the layoffs.fyi website stands next to my Github pull requests tabs and I just started searching for the reason: “Why?”.

How did we get to an IT crisis?

IT is tied to the product market. If you have good products, they will need some form of a IT support as their user base grows. This is inevitable and leads to the simple realization that IT just complements the product sector, it is not the sector itself. We can even argue that software products such as Word or Excel or even your banking apps just complement your desire to write, calculate, and work with your money easily and conveniently. They are not exactly software products, they are a representation of your desire to do things simpler and easier. If you didn’t have a laptop and there was another magical way to achieve these things like thinking about them and they magically happen, I am sure you would forget about your keyboard, mouse, and display straight away. But this is the most convenient thing we have gotten to in the last 70 years or so.

Company = Profit

That is the obvious reason, right? Capitalism is about money, not about people as a factor. You make money and you are profitable – everything is fine. You don’t make money – you are doomed to die in the worst manner possible because money equals value in the current world.

Not only that but the fast access to huge piles of money in the last 10 years with 0% interest created this huge balloon in the sector that allowed people to change jobs every year if they wanted. “You have basic skills in Android? Good, we can give you more money than your current company.”, “You are not a good team player? No problem, as long as you deliver, we can give you more money and you can leave your current job”. This is what the sector has become and it is normal that it clears itself now. And I am not saying that this is good for us, the people who expected to have some kind of a secure job and clear vision for the next couple of years, but it is a necessity so the sector continues to provide real value on the market.

This necessity leads and will lead to more human tragedies in a way. People will have to figure out how to pay their rent or credit for their home, many people will be “fighting” for the same job and lots will be accepting conditions that would simply be ignored in LinkedIn messages 2 years ago. Many are highly skilled and super-motivated people who just got kicked out because they were unlucky. I just wanted to say here, in this paragraph, that I feel you, these are some hard times for both skilled people in the industry and junior ones who just graduated and thought the future is bright and clear for them. But we all share this small spark called “hope” that things will get better in a year and FED gives such an indication that a year from today, when interest rates go lower, we may get back to the levels where we were 3-4 years ago.

But in a way, what is happening now is sobering. It also leads to people switching to the physical world rather than the virtual one. As mentioned, IT complements products, IT is not a product itself so building products is the action that makes the world go round. And obviously, the world needs people in many other markets too – builders, drivers, doctors, and normal factory workers. And no, I don’t want to kill your dream of becoming a programmer if you have graduated recently, I want to comfort you that the world needs you, the world needs me and whatever we choose, we can totally find our realization in another work sphere.

But now, back to the programming sector. I want to discuss the human factor, the people, the products, the entrepreneurs, and the decisions that led us to here. In my 13 years of experience, I noticed several stuff that constantly repeat themselves in companies that have nothing in common with each other – really, nothing.

Lack of product vision

Building products requires vision. We need visionaries who can convince people of what they need <insert Steve Jobs example here>. But instead of them, we got entrepreneurs. Many of them. Entrepreneur is the most used word even here, in my poor country called Bulgaria, where in a TV show called “The Bachelor”, many of the ladies fighting for this single guy call themselves “entrepreneurs” because … we all know why.

We lost the real visionnaires and we replaced them with entrepreneurs. Most of these guys have the “idea” of what they want to build but they don’t have a vision of where they want to get it. This question is so deep that a lot of people underestimate its power. Answering the question “Where do I want to go with this?” is not a matter of: “In 5 years I want to make a million pounds of profit”. It is a matter of answering a deeper question connected to the meaning of your product to the world. And this worn-out question that you all hate to hear but I have to ask: “How does it make the world a better place?” shows exactly that. Why did I ask it? Because people use products that make their lives or experiences look better. And all of them, all our life is connected to the world we live in.

When there is no vision of the future in terms of meaning, the product is doomed to fail. Not today, maybe not in 5 years but in 10-15 years no one will remember what you have done. Products need strong leaders.

Weak leadership

And strong leaders are not afraid to fail because they can stand up after the failure. Strong leaders don’t do ten different ideas at a time, they do one idea, they fail and they get up, then they do another one. And this all happens in the constant search for the “meaning” and for the “better”. The search, the failure, the stand-up – it involves everyone. The whole company is looking after its leader and asks the same questions, and does the same stuff that the leaders ask and do.

The leaders are the head and the people in the company are the body. The head has to have the vision and the “dream”, the body has to have the coordination, physical strength, and the toughness to proceed even when the head makes stupid decisions sometimes. Looking at it the other way around, the head needs to be in love with the body. Because it is the one going through the struggles while running. Without loving your body, you would not go really far.

I don’t know how we ended up in these times with weak leaders. People are afraid to lead. There is this notion of the “communist” past where everyone takes responsibility for everything. Believe me, Bulgaria went through it, this is not how humans have been made, unfortunately. Nature has a hierarchy, no matter if you like it or not and you cannot escape from it. And in this hierarchy, everyone takes responsibility for their actions. This makes you worried in a way that if the action you take is wrong, it may have consequences but this also brings the best feeling in the world – making an action that actually makes a huge positive impact on the product. And I am not saying that we should cut the heads of people that make wrong decisions, I am saying that we should:

  1. Take a decision
  2. Execute it
  3. Learn from it

It just seems to me that CEOs have become weak decision-makers and focused on answering the money problem rather than having a vision of the future of the product. I know, these words are hard in practice, but aren’t they the ones that led small companies to become huge ones?

Incompetent engineers

I know the title sounds harsh (1). But you cannot get profitable without the right people on board. No matter if you want to admit it or not, people are your most valuable asset in both the startup world and the “profitable” one. Without the right people, you cannot deliver fast, build high-quality products, analyze, and model your core domain functionalities in a way that makes them appreciated by your users. And tons of other stuff actually. Recently, the market has just flooded with people from all kinds of spheres. There are job positions for which newly graduated software academy students – ex. lawyers, accountants, and electricians apply for a programming job. And there was this constant need for more and more programmers.

All of the above inevitably led to the factor of incompetent people joining companies and taking salaries for years by doing nothing. Really, I have seen some really bad people without an interest in software architecture, doing things the ugliest way possible, taking the salary for a year or two and then leaving the product in such a miserable state, that even if you had the product vision, technically you just need to rebuild everything from scratch. This probably killed lots of good ideas on the rise. The other ones – they were completely re-written after they got the traction.

I can clearly say that if you have been a junior for more than 3 years, maybe it is time to take a look at another sector. Software development requires skills that are developed on a daily basis. You cannot take a break or a pause. It is just that there is always something or someone pinging about something new that happened and your internal feeling says “Take a look”. This leads you from being a junior to mid and senior. The constant need to check how things work. And staying at the same low level for many year is just an indicator that it may be just too hard for you to develop in this work sphere.

Incompetent product owners

I know the title sounds harsh (2). But product owners are part of the neurons of your brain that communicate with each other to achieve a common goal. They experiment, analyze, learn from, and build stuff. They are one of your most important networks that tries to understand and achieve what the main brain section has told them to do. And you can imagine how hell breaks loose when you have incompetent neuron cells in your brain.

In my whole career, for 13 years, I know only a couple of good POs that knew:

  • The product domain well
  • What engineering has achieved until now
  • Most of the complexities that the domain has and how engineering has managed to solve them
  • What is the direction of the wind and what is the near future for the product

and they were not afraid to take decisions and responsibilities. Sometimes I just miss working with brave people.

So there is no excuse if you are a PO and you don’t know your domain well if you don’t know why certain engineering decisions were made, and if you don’t have the balls to take responsibility and make decisions. That is what is exciting about the PO role, right? The freedom to own a product. To care for it as a child and make it grow by putting a huge amount of effort. This is how I see it working, being simply a leader that puts the blame on engineering or listens to your boss is not what you have applied for. It is not the exciting part of life but the obedient one.

Failure to take responsibility

Life is all about responsibility. Someone fails to do something – there is an immediate result out of that. Someone takes the responsibility and achieves something – again, an immediate result of that. If you fail to protect yourself from a lion attack, you get eaten. If you have managed to change your lifestyle and have switched to eating healthy foods, your body loses weight and you become fit.

In our IT society, it is very easy to hide behind the abstract and virtual feeling of the products. You can put the blame on a thousand different stuff like the distributing system, the codebase architecture, the users phones if you want, but never blame yourself for not putting more effort and thought. By putting blame I don’t mean that you should walk around with the guilt written on your forehead. No, you just realize you fucked up, you do the right thing after that and you continue with life. It is all about failures and standing up after them.

In order to make failures, you first need to make decisions. And the startup world is all about that. Make the damn decisions and learn from them. Try hard, get something out, see if it works – if it fails, take responsibility and think about it deeper the next time. Fail again – learn more.

Don’t wipe your ass with the “Boss told me to do so”. Obviously, you are not part of a company to just do stuff that you were told to do. You need the “Why” with some sensible reasons behind it. You need to know who carries the responsibility if it fails and once it does – how do we learn from it. And if we don’t learn and make the same stupid mistake 4-5 times, obviously, people need to go.

Mix and mash of tools and frameworks

In these 13 years I have used so many tools and frameworks that it is hard to describe them but let me just write a list:
Branch.IO / Mixpanel / Flurry / Google Analytics / LaunchDarkly / Locket / HyperMX / AdMob / Crashlytics / Firebase / Rudderstack / Bitrise / Jenkins / Gitlab CI / Fastlane and probably some 10-20-30 more that are somewhere in the back of my mind that most of them focus on the exact same domain problem but with a small difference in the UI.

And in terms of frameworks: Waterfall / Scrum / Kanban / Scrumban / OKRs / The CEO told me to do it / How does Google do it / Not enough profit etc. etc.

All of these tools and frameworks are a representation of the company’s values. If you have 4 analytics tools it means you probably don’t know what you are doing and you don’t use analytics at all. If you are saying you want to use SCRUM but you use the “CEO told me approach”, why are you even wasting time convincing people that you are using SCRUM and wasting time in useless meetings like retros and refinements.

All of these tools and frameworks and ways of working are out there to help YOU and YOUR way of working, they don’t enforce anything upon you. You choose them not because everyone else does it but because it makes sense in the approach that you want to control your company. If you are willing to take responsibility for your product, you will also take the one related to the framework that you should use.

Summary

This whole blog post sounds like a whining but I tried to make it more than that. It is just a reminder that as in life, we need to be responsible and deliberate when doing our job. We have to put more effort and make a clear stance on what we want to achieve. And if the achievement, after some strong work and dedication, does not bring us any benefits, we know who should be the one that will admit the mistake and hopefully learn from it. This includes all the possible tools – analytics, crash tracking, etc. + the way of working tools. They can be anything from SCRUM and Kanban to just a single meeting throughout the day – as long as it works for your case, just follow it.

Don’t follow leaders blindly, question decisions, and most importantly – fail. Failure actually shows how capable you are of learning. Failure will bring us closer to success.

And finally, stop looking at the profit for a bit. I know we are all doomed without profit, but when you had the idea for your product, you didn’t start with the profit, right? You started with the problem that you want to solve. Go back to the problem. Try to solve it. Fail. Try another solution. Eventually, you will nail it. And the profit will come after the solution is in place.

Leave a comment