I’m writing this post for myself and for people who read it in 20 years and wonder about my thoughts (feelings?) in 2024.
After COVID, the IT job market crashed. Investors were not investing in tech startups anymore, which meant companies didn’t have cash. The first thing companies do when they don’t have cash is to let people go. So, they did massive layoffs. The tech market was so trendy before and during COVID that big companies competed with each other to develop new ideas and enter new parts of the tech market. Big companies competed with each other to hire developers in case they had an idea to develop something and didn’t have to wait until hiring. Everything was really good for developers until everything crashed after COVID. The economy went down, and it was somehow like the dot-com bubble. With the massive layoffs, all companies got scared and froze their hiring for a couple of years. In the pool, there were senior engineers who were laid off and new CS grads who couldn’t find jobs. Finding a job became really hard for everyone, but for new grads, it became exponentially harder because they couldn’t compete with people with more years of experience.
The CS market being oversaturated is one side of the story. The other side is the rise of AI. With smarter AI tools and machine-generated code, the CS job market (and other jobs, but first of all CS because there are lots of code bases and it is easy to train good AI models) is also under attack. AI might not completely replace a human software engineer soon, but being able to do a job that a person spent 8 hours on in 4 hours using AI tools means the need for software engineers becomes half. But there is one more thing: when something becomes cheap and accessible, the need for it also changes. It is not easy to predict the future. When Uber and online taxis were introduced, people expected that drivers would lose their jobs because Uber was doing the best matchings and efficient taxi service, so with the efficient ride-sharing service, if the number of riders remained the same, there should be fewer jobs for drivers. But what actually happened was that with more efficient taxi service, the taxi prices came down, became cheaper, and more people used the taxi (Uber). So Uber and map applications actually changed the ride-sharing (or taxi) market. They made it cheaper and efficient but expanded it as well. So if with the rise of AI developers become cheap, maybe the market will change. Currently, big banks and tech companies who have lots of money are hiring developers. Small and mid-size businesses do not have enough money to hire developers, but if the price of hiring developers becomes cheap, then maybe we will have a developer in each cafe! So maybe the need for developers will become much higher. However, one other thing that we might see is that with good AI coding tools, the need for entry-level coders might decrease because a tech lead who knows what they want can ask a tool to do a well-defined problem’s coding. This means in the future we might see coders as people who work with AI models, train them, and use them efficiently instead of doing the actual coding themselves.
Let me tell a story about mathematicians. For my whole life, I believed every job is not interesting except mathematics, which is pure thinking. Doing mathematics is the definition of thinking for me. Coming up with axioms and proving interesting theorems is what I think is the best thing that the human species can do, which other species cannot do. However, the definition of mathematician in history also changes. In Iran’s scientific golden age, mathematicians were people who could compute the sine of a degree or pi by hand. However, with the rise of computers and algorithms, this changed, and nowadays everyone has a calculator in their hand and they can do complex computations very easily. Now mathematicians are the people who come up with new algorithms to compute something. So the definition of mathematician changed. Maybe the definition of developer in the future will also change. Who knows.
Now back to the CS job market. In the golden tech era (before 2020), companies used to hire as much as possible, and they hired people with non-CS degrees who just took a 3-month boot camp. Now those people are working in the companies which interview recent CS grads who know algorithms and do coding better than them, but their only sin is that they were born late and missed the train. I have seen this issue: people who joined Google back in those days are way lower than people who are currently in the market pool and unable to find a job. This seems unfair, but it is what it is. This world is never meant to be fair and is never going to be fair.
I myself studied computer science in my bachelor’s and focused on algorithms in my master’s program. However, it seems that with the rise of AI, the software job market is declining, and interest in theoretical computer science and algorithms has decreased. With this unknown future and the current changes, what is the best move for me? This has become really hard. Read this Tim Urban post about technology and AI progress which was published in 2015. Everything is changing too fast. We humans might not be ready for this fast change. Once there were people whose job was to encode and decode telegraphs. They did it for decades and their career was safe for their whole lifetime, but this is not the case now. The amount of progress in science and tech in the past 100 years is more than the whole of human history. The amount of change in the past 10 years might be equal to the 90 years before it! Now we see self-driving cars, drones, AI, quantum computing, and spaceships, which are pretty interesting and might be bigger than all the technologies before.
What should I do? I don’t know. I’m writing this for the future to read this and see what happened. Did I make the right choice? Should I go back to academia and find something that AI can’t replace? Or should I hop on the AI train? I don’t know. I wish there was a strange man in Red Dead 2 who knew things. I wish I could ask him what to do.
P.S. Just as a reference for the future, ChatGPT answers this question well, which surprises me—it discusses relaxing the model of the impossibility result and some engineering aspects.
If FLP says consensus is impossible with one faulty process, and faults happen all the time in practice, how are real systems built with consensus?
Furthermore ChatGPT suggested these titles for this post.
0. “Reflections on the Uncertain Future of Tech Careers in 2024”
1. “Navigating the Shifting Landscape of Tech: My Thoughts in 2024”
2. “From Golden Era to Uncertainty: The Evolution of Tech Jobs Post-COVID”
3. “The Rise of AI and the Changing Definition of a Developer”
4. “Tech Layoffs, AI, and the Future of Computer Science Careers”
5. “Reflections on Tech Turmoil: A Personal Take on 2024”
6. “When the Bubble Bursts: Thoughts on the Post-COVID Tech Industry”
7. “AI, Layoffs, and Fairness: Musings on the Future of Work in 2024”
8. “The End of the Golden Era: What Lies Ahead for Developers?”
9. “Developers, AI, and a Changing World: A 2024 Perspective”
10. “Looking Back at 2024: A Year of Tech Turmoil and Transformation”