There is a lot of talk of software engineers going extinct. There is also a lot of talk about it just being the next generation of software engineers. Either way, thinking about the future is still prudent.

Control where your career goes

This is up to you, nobody else. This is true in good times or uncertainty. Last time it felt like this was in 2011/2012. The cloud was still new and getting experience was hard/expensive. I created a home lab to get experience with virtualization. ESXi on that small HP server started my experimenting with instances as cattle not pets.

It was so much cheaper than running EC2. In 2016, I was getting serious about computer vision and deep learning. The right answer was to build a Linux workstation with an Nvidia GPU.

That workstation did all the training for our time-of-service oil change models. Having a near free dev-train-test loop is what made the entire experiment possible. There is no way I could have expensed the GPU instances for the thousands of failed attempts.

Running local AI models is the next obvious step. If the future rhymes with my past experience, experimenting with cloud plans won't cut it.

Be honest with yourself about what you don't know

Being honest with yourself about what you don't know is how you learn. The time that you understood the importance of database indexes was probably when you were trying to figure out why queries became so slow.

I remember a phone interview where I talked about the database I was running with millions of rows. The interviewer laughed at that because they were getting millions of queries per day on billions of rows. He was a prick about it, but it showed me gaps in my knowledge.

To the previous point, having a home server made it free to fill up a db with data to experience what that scale feels like.

Right now everyone who can type their question into a chat box is an expert "prompt engineer". Using a chatbot is not the same as integrating one. Using only one doesn't teach you anything about choosing the model, managing context, optimizing, etc.

Experience is earned from solving implementation problems. You will never have to think about these problems if your thinking stops at a detailed spec fed to Claude. Claude will figure out the details and report back in a cheery voice that it is now production ready.

Creating an MCP server is easy with GPT-whatever and a 1M context window. Once you have to fit a budget, it is harder to scale from large to small. My solution was a small Named Entity Recognition (NER) model which classifies the intent of the query and only loads the applicable tool definitions. That reduced the required context window from 1M to 32k.

Make bets on yourself

What has served me well in the past is to own what I need to drive my career. Something about owning the means of production, seizing control, and viva la revolución.

There is a worrying trap I see coming. If you use the AI plan that your employer pays for, and you let it become key to your ability to work, when you are without that employer you are also without your ability to work.

The more that you push to other teams, AI agents, automated code reviews, the less you can actually do on your own.

Consider building up your own tooling, agents, and workflow. Experiment with smaller 30B models now to understand the tradeoffs if you had to rely on them. Transition your work away from depending on unlimited plans and develop the sense for what the costs are and how they are changing.

This might be the reason to spec up the memory on your MacBook Pro, run a little Linux box as your home lab, or find ways to maintain your own versions of the tools you use.

Driving your career requires active steps. This is applicable from the junior who has little experience to the senior who has years of experience but all of it from another era.

Place your bets on where the future is going. Invest in the tools you need. Own your means of production.