A few days back I saw a job post for a software engineer. The job spec explicitly stated that candidates “Must not be near retirement age.” Our industry has a long running stigma against older veterans. Maybe the industry feels older people are less capable? The exact reverse is true for some fields, like medicine. Older medical practitioners that have amassed years of experience are treated with respect and often in higher demand. It’s not like you will spend your days running marathons so the stigma is senseless.
Blame it on the successes of early platforms
Let us look at the success of the people whose stories inspired many to jump into computer science. There was a time when all you read about was how Mark Zuckerberg camped in his dorm room to create Facebook. And we started going back even further to how Bill Gates coded the heck out of his early projects. If you managed to block that out, you would be met by stories of how in demand software developers are. You heard about how they earn 500K plus in annual salaries. Your next step was probably to research which tech stack Facebook uses and immediately sign up for a boot camp to create the next big thing.
I am the code ninja
After completing your courses, you became a code ninja who can spit lines with dexterity similar to Eminem. However, this will get you through the first few years of your career. Going back to our inspirational figures and if you look closely, you really cannot say it was their coding skills alone that brought them their success. You’d find that 30% or so of their journey was creating the platform. The rest of the time was going through the motions of gaining user bases for their platforms, getting investment and running their newfound businesses.
So I should bundle up a management skill with that?
Well not exactly. Not everyone is cut out to be a manager. I did it in another lifetime (I used to manage gold mines before a career change) and absolutely hated it. I did not enjoy dealing with people much and still do not. However, there are still other ways you can grow in your career. The most important advice I would give is do not become too engrossed in whatever it is you specialize in. You obviously need a deep understanding of the iOS tech-stack if you are an iOS developer. But that does not mean you do not have time to look into Android, or desktop. That deeper level of understanding the technology behind two platforms will carry you a long way towards becoming a software engineer.
Evolving your career
Most of us start off as code monkeys. These are junior developers who understand application life-cycles and can write functional code. Later, we evolve with several years of experience and are able to write more complex code. We foresee potential architectural problems and provide managers with insight on how to solve these challenges. However, you need to be careful not to get stuck here because in a few years, you will find it hard to continue working as just an advanced code monkey.
If you keep pushing for growth, you can transition to a lead developer or technical architect. You can now conceptualize, plan and document complex software problems. Depending on the size of the company you are with, you could likely be also involved with the management of teams of developers including hiring and firing developers. Please take care to keep our advice here and here in mind. Also depending on where you work, this step in your career is where you want to focus a lot more on saving up so you can transition to another field using your savings as capital. This is particularity true if you do not enjoy managing people. The next step on your career ladder is senior management.
As a senior manager, you are either a director, V.P. or C.T.O. There could be other roles depending on the type of company you are with. Here you no longer deal directly with people or projects but are more focused on long term strategies and over-seeing entire departments. Back when you were a code ninja, your mistakes could lead to a few customers losing their money, or deleting a database. At this level, your mistakes could mean the entire company going bankrupt, becoming a Yahoo! or becoming Google.
I don’t want my own business, or to be a manager
Well that leaves you then. If you do not wish to manage people or run a business, then you need to think long and hard about where you want to go. Remember, you are a problem solver. Your analytical skills are what make you a good programmer. You can leverage that to jump into another field that does not shun older people with years of experience. What that will be, is up to you. But think long and hard about your career if this is the path you wish to take.