Tl;dr: You won’t be slamming sugar-free Rockstars, but you also won’t have to job search.
There are 3 characteristics of software engineering that will never disappear:
1. the estimate/reality disconnect
In the words of a HackerNews user:
There’s a world of difference between knowing that I can solve a problem and being able to realistically estimate the time it will take me to do so. Especially at the beginning, I lost a lot of face by saying I could do things that I couldn’t.
The older the employee, the better their estimating abilities. You will see 100s of projects over a decade of work.
For new projects, you will know the answer to questions like:
- do tools exist to build it?
- are the tools “mature”?
- can our team adopt these tools without bankrupting the company with technical debt?
Your years of experience will make you more confident in your understanding of the “state of the universe.” This is valuable to employers…always.
2. the new abstraction onslaught
People will be shitting out new tools every day. You will constantly feel behind the curve in your first few years as an engineer.
But your job will force you to focus on finishing real projects. Finishing a project requires a toolset or two (and not 23).
You can use each tool you learn as a reference for each new tool that gets pushed across your desk.
Remember, you’re getting paid to learn.
3. software is project-based, not commission-based
You never know when you might be laid off, even if you’re good. This is an age-independent, universal reality.
The older you get the more financially independent you will become.
That means that you can be more picky about what projects you take on and who you agree to working with.
Point is, you can grow old and upwards in software engineering-something that can’t be said of traditional careers like law and medicine.