Software Development over 40
I have been writing code since I was 9 years old. If you follow my blog, you probably saw that fact several times in my posts. It is true, my commodore Vic-20 then my commodore 64 then my commodore 128 (which I pretty much only used in 64 mode)... and then many more. I went to college, got a degree in computer science (yes, I'm a developer with an actual degree in computer science, not literature, communications, or information systems, but actually computer science). I have written code in ADA, Pascal, BASIC, Go, JavaScript, Kotlin, Java, C#, Sql, etc... If you want a resume, you can look at my linkedIn. My point is this, I continue to learn. I love it. I also love to teach too.
Where are developers over 40?
However, all of these skills only prove that I can learn new skills and fast. It does not guarantee my employment. It does not prove that I am a good developer. It simply proves that I have done a lot of coding. Now that I'm in my 40's, I wonder where all the developers who are over 40. Most of the people that are over 40 enter management. There are some exceptions, of course, I try not to do vast generalizations. There was an article (over 3 years ago) about developers fearing the age of 30 (article here). No manager will tell you the truth about development career growth. Not because they are mean tyrants, but because they care about their careers first. You can see the details here of ages of developers. What is really interesting is that statistic of age was removed in the survey for 2017. Most of the developers over 40 take on management roles and some developers move to management because they have no other option to break the ceiling. They don't enjoy it, and are often not good at it.
How do I stay coding?
The easy answer is you don't. At least not professionally. You move through the management ladder and get your promotion, your raises, your bonuses, and get further away from day-to-day coding. Why? Because it is assumed that you have enough experience that you can teach other developers. However, there is another option that is almost never told, but only experienced... You leave. You switch jobs. The biggest raise/promotion I ever got was by leaving a company. It seems counter-intuitive, wouldn't they want to keep you with all of your internal knowledge of the code base and how the company works? No. They often believe that they can hire someone cheaper who can figure it out, or it wouldn't be fair to promote you two levels without doing a similar promotion for your peers. They need to defend their decision, and it is easier to promote externally. So to stay coding: Switch jobs and negotiate a title and salary before starting. Titles matter for your next job.
Ok, how do I move into management?
This is a longer discussion than a simple post, but I'll give you two paths to get started. They may seem simple, but the process of pulling it off is not so simple. The first option is to get promoted internally. Here is how that road often looks:
Software Developer -> Senior Software Developer -> Principal Engineer/Developer -> Lead Developer -> Development Manager -> Director of Engineering -> Group Director -> Vice President... etc...
OMG, so from the day you start, you are looking at 2 years in each role (minimum) so you won't get into management for a MINIMUM of 10 years.
In some industries, that sounds pretty good actually. I spent 7 years at Microsoft and after 3 re-orgs my title change several times and one time, it actually reset back to Software Engineer from Senior Web Engineer, so I had another 10 years before moving into management again. Reorgs are a very dangerous thing for career growth. It helps reset people back to a level that they won't get promoted for another couple years and hopefully will stay loyal for a few years.
Here is option 2: Gather enough experience (what is that number? I would say minimum of 4 years of professional development) and interview at another company and negotiate a minimum of lead engineer role with a stipulation of development manager within 6 months. It sounds crazy, but it actually works. You have to ask to get what you want.
Great, I'm in management, now what?
Now the real work begins for developers actually. Junior developers always look at manager roles and wonder "what do they actually do but sit in meetings?" Well, they do a lot, they plan technology approaches, design architectures (network, database, etc...), identify employees best for upcoming projects, and all the while mentoring the junior developers with best practices, devops process, and much more.
Trust me, I know. I wondered what they did too. I thought they just hang out and play with random tech and then push the "real" work to us minions.
Here is what I want to make perfectly clear -
Management roles are not for everyone!
I love teaching, mentoring, and presenting. I love coding too. It is not something that I was taught, it is just who I am. I love watching that light bulb moment in students/developers. My favorite is when they come back to me a few months later and say, "Look, I automated this task from what you taught me! I saved so much time!" That makes my year. Truly a year... it is amazing.
Congratulations, you are now in management. Now you need to learn a new set of skills, how do you motivate developers to create amazing code? How do you inspire developers to come to work each day? Do you believe in the project you are working on? If not, then those who report to you won't either. How do you handle two engineers who have ego problems? You will need to learn new communication styles and techniques.
There are many more questions, but this is a good beginning.
I hope this sheds some light onto what happens when you are over 40 in development (or even over 30 now). I will be more than happy to help answer any real questions you have.