Have you ever wondered if software development really a dead-end? Note the qualifier “after 35-40”.
There is no doubt that it is a great field for anyone younger than that, but is it all sunshine and roses for people older than that?
I am not yet 35, but will be there in a couple of years. So it is not surprising that I have thought about this question. Is software development really a dead-end job?
I would like to think that I have been pretty successful in my career thus far. I started as a developer and am now working as a Software Architect. I have experience working as a developer, architect, scrum master, team lead etc. On the non-technical side, I built teams from scratch, hiring the right candidates, training them on their weak points etc.
In short, I have skills in many areas of software development. I like to get involved in many aspects of SDLC and can honestly take a team forward; both technically and in terms of managing teams and creating the right development processes and intellectually simulating environment for developers.
Does that make me a good candidate for any job? You would think yes, why not, I got all the skills? I thought the same too.
When I was job hunting recently, I did not get an interview with most companies I applied for.
It was taxing to go through recruiters who were trying to match keywords in the job spec to my resume.
Recruiter: Worked on Java?
Recruiter: Worked on Spring, J2EE?
Me: Spring, Yes. J2EE in 2004 Yes. JavaEE since then.
Recruiter: [Confused, but carries on]: What areas of Spring?
Me: MVC, Data, Security, Spring boot and many others [I specify the list].
Recruiter: What about xml?
Me: [A bit annoyed by now because I realise where this is going]: Yes
Recruiter: What version of Wildfly application server?
Me: Have been working from the JBoss days, and now on Wildfly 8.
Recruiter: Oh, but you have not worked on Wildfly 9? Sorry, we are only looking for guys with Wildfly 9 experience. [hangs up].
For most jobs, my skills did not match the exact keywords, so you can imagine how much more worse those interactions were. They did not understand that I was more valuable than just the keywords listed on the job spec.
Among the handful of companies I got a call for, they were looking for someone to do “just the coding” for a measly salary.
There were also a couple of companies that assigned me coding tests where they asked to me to “print a ladder” and “find repeating numbers”. I rejected those tests, not because of arrogance but because my skills were beyond what they thought is needed from the role.
And yes, the roles were for a Software Architect. But instead of testing my skills in architecture and logic, I had to print a ladder on the screen.
The remainder of the companies were too far to commute, needing me to spend 5 hrs on the train everyday. I rejected the calls for interviews from these too, as moving my house was not an option with my family settled in my current town.
I got rejected without an interview from 99% of the companies. Among the remainder of 1%, I found reasons to reject more.
Now lets wind back 10–12 years, when I was in my early 20’s. I was a Junior developer then. Single and had the freedom to move to any part of the world. I could have chosen any job in the world. I was also happy to work in “just development” for a lower salary.
So, what does this story tell you? Was I a better Software engineer in my early 20’s? Hell, no!
Now that I am in my 30’s, I am choosy about my job. I care more about the impact I bring to the company. I also care about spending quality time with my family.
But unfortunately, the companies don’t understand that.
They also want people with specific skills, not one with a huge range of experience in many areas. I believe the reason for this is because more often than not, you are being hired to replace somebody who has left the company. You are only expected to do what the previous person did, nothing more. Most of your “extra” skills turn out to be useless for the role you are applying for.
So, yes, in a way, this profession is hard on people who are in their 30’s and beyond, not least because we lack in skills, but because we have more things to consider before we make each move. Whether it is dead-end job or not, depends on your personal situation and how flexible you are.
This nicely leads us to the next important question - Is programming becoming a commodity job? Thats for a future post!
Note: I wrote this answer for a question on Quora.