Here is one career path in software development:
Spend your first few years in the workforce at a small company that doesn’t understand technology. You are the only programmer or one of the few.
Accidentally build a really bad system that they don’t realize is bad. You don’t realize it yet, either.
Spent a lot of time keeping this system running, which is critical to the business, and which only you seem to understand. Begin to think that maybe the system isn’t great because it is always on fire.
Get good at putting out the fires and lifting the system back upright. Receive a series of raises, promotions, and title changes until you have “Senior” in your title, likely within the first three years of you putting out fires.
Stay at this company for several years - a large chunk of your career - trying to fix the mistakes you made in this initial system.
Every few years, receive another promotion and a fancier job title.
Do NOT do something stupid such as #7:
After a Long Time, get fed up with constantly being the hero and fixing everything, and decide to go to another company that treats their people better.
Why not?
Well, first, your title is now Executive Vice President of Supervisory Solution Architecture and Supreme Consulting Producer of Code Artifacts and Overlord of Software Development Processes. Trying to find a job now means that you need to find out what real title you map to, and during interviews and other contact with the outside world, you are going to realize that:
You are mid to senior, have only designed one system, and are only familiar with software maintenance.
Your knowledge of the custom-built CRM and all its special regulatory rules and processes, it turns out, is not that important to the world or even one other single company as much as it is critical for where you currently work.
You don’t have ten years of experience; you have ten years of the same year of experience.
You are beginning to have your first nervous breakdown.
Instead of looking around and experiencing these truths, you should stay with your current company for a long time, building walls around yourself, on purpose or by accident, to protect yourself from unemployment and the new ideas of younger hires.
Sure, you should occasionally read up on new technologies. These will help lend some authority to your constant pushes for a complete rewrite every 2 to 3 years. The younger hires will get on board with this, hoping to use a rewrite project to get a promotion. After all, they look up to you, and this feels great.
Whatever you do, do not confront the fact that you are a false senior or that your seniority is local; instead, hope the business continues to thrive.
If you are reading this and thinking, “well it depends,” or “this is a gross oversimplification,” or “what an idiot,” then you might be interested in Additional Commentary for this post for more thoughts about this topic.
This article spoke to my soul.
This is 100% my tech team lead from my previous employer