I love coding, and I am 40. Can I still become a developer – and is it worth it?

34 points by fthiella ↗ HN
I am very passionate about coding: I started to program when I was 11 (that was 1988) and I never stopped. Later on I got my Computer Science degree. And then started to work, but never as a "full time" coder.

I have been managing the networks, the firewalls and the proxies, the linux machines, the windows desktops, the active directory, the databases, etc. and I quite enjoyed it. I also did a plenty of other boring stuff, but luckily I have always been doing some coding in my "spare" work time - from automating things to writing complete web apps (Perl/Html/JQuery/MySQL) - and more recently I have been developing the company's DWH.

Anything related to coding is what I really enjoy! While I have a varied experience of programming languages and libraries, I didn't really have the opportunity to "master" any of them. Only SQL I mastered.

Now I am considering moving to another country (SG, for personal reasons).

How can I become a full time coder? Can I apply to a Senior coding position? Or should I apply to a Junior position hoping to become Senior soon? But being Junior at 40 doesn't sound right to me...

Maybe I'll just have to abandon the idea of being a full time coder, and just apply to some other positions using some other skills.... What do you think?

22 comments

[ 4.7 ms ] story [ 55.5 ms ] thread
If you were to become an electrician at 40, would you expect to start as a Master, and not a Journeyman?

Stuff your ego in a safe location and accept that, as a Junior Developer, you will be learning things from people half your age.

Yes, you too can become a fantastic developer if you have passion and time.

p.s. I'm 49 (soon to be 50), and I love developing systems, extending architectures, and thinking outside the dodecahedron I keep the box in.

A few observations:

1. Your age is NOT an issue

2. Many professional developers do not have Mastery in any specific language. That may be sad, but it is a fact.

3. The biggest difference between what you've done to date and being full time is finishing. By that I mean having the stamina, interest or sheer bloody-mindedness to finish medium to large software projects. Starting is fun, scripting is fun, algorithms are fun...slogging through hundreds of modules, building interface after interface, implementing api after api, creating tests for everything can become very much like ... hard work ...

Point 3 is really the reality for common programmers. Programming as a hobby is great. You get to work on what you like and you never have the time pressure to get code to function to specs. Hobby programming doesn't force you to work 24 hour days when the project falls behind and hobby programing doesn't force you to deal with someone else's spaghetti code. And the most painful, concentrating in a cubicle environment is hell- even if you can zone out with your favorite music. Modern large scale programming is looking more and more like assembly line work.

Programming as a profession can be great but don't get stuck in the bottom rung, don't let it take over your life and don't look at it with rose colored glasses.

I agree. I've read very similar complaints from engineers - but they have the luxury of taking jobs which are less than 100% desk-bound (or even almost 0%, if they're field engineers). They don't make as much as we do, though.
There is a huge number of web programming jobs out there, and so would be easy to get into.

Figure out a back-end language and web framework you like - I'd recommend Python+Django or Ruby+Rails - and build a web app in it - if you spend a few months and put in a few hundred commits and build a large enough application, you're good to participate in a team and start adding good value. That by very definition should land you a full-time programming position.

Like another commenter said, there are a huge number of of web programming jobs out there. That being said it sounds like your skills are somewhat out of date with current technologies. I doubt you will find many jobs openings for Perl developers, jQuery is also being rapidly replaced with MVVM type front end frameworks.

That being said, I see some similarity in your position to the one I was in a few years back. I had just finished a degree in computer engineering and I wanted to start a career as a software developer. I had some background developing basic sites with PHP/HTML/CSS/jQuery but I found that employers were looking for more. I ended up studying a few modern frameworks for a few months and found a job much more easily after that. I'm sure that will be the case for you. Just research the job market and find out what skills are demand and what skills you are lacking, it is probably a lot less work to catch up than you might think. Good luck!

Could you let us know which frameworks you studied and in which you finally got a job? Thanks.
(comment deleted)
A friend of mine was changing his profession to programming and he was around the same age as you (though he was in HR previously, so he was retraining from scratch with part time studies). It's perfectly OK to be junior at 40.

Then, you say you are/were an administrator. I say that this is a very, very convenient position to do programming. (1) You have tasks that warrant writing a program; (2) you will be part of your own audience, so you know when your program is good enough and what the heck should it actually do; (3) you're nominally not a programmer, so nobody will expect you to adjust your toolbox to the company's vision. Language choice will be your decision, so if you deem Erlang to be much better for something, you write Erlang, not C# or Java just because the rest of the company uses that.

I am such a sysadmin myself (was? my title now is "programmer/Linux system engineer"), so I speak from experience. Most of my day is spent on writing code for managing systems, not on administration itself, though I do some of that, too. And there's a lot of tools that would be helluva useful for sysadmins (or for me, at least), but they are not written yet and I don't expect regular programmers to write them.

you might aim for a DevOps role. It's a hot skillset that combines sysadmin with programming, it would jive well with your background. learn everything you can about modern databases, scaling/containers and security
Being a software developer is a unique profession, since many software developers never received much formal training. For instance, many mathematicians, physicists, (non computer science) engineers write software for a living. Compare that with structural engineers, lawyers or medical doctors: it is very different.

Because of that, I firmly believe many people can work as a software developer and contribute meaningfully to a company's bottom line.

State your ambition and let the results of your work do the rest.

I don't think your age is an issue, but moving to SG could be as it will be harder to get a job in a position you don't have a lot of experience in. :/

I think it'd be better to gain some experience in your home country first, but I understand it might not be possible.

I think your best bet would be to look for a DevOps position which would provide you with more opportunities for coding while valuing your sysadmin skillset.

Your age is an advantage, assuming you've been a working professional of some sort.

The mechanics of learning to code simply takes determination and hard work. In my experience, the vocabulary is the first major hurdle.

By the time you're 50 you'll have a decade of experience

I began programming when I was about 12... lost interest at 20, and eventually got back into it at 26. I missed it and that world had changed so much since I was 12. However, I was able to pick it up quickly and I am a web developer for a living. Definitely never thought I was going to be a web developer as I sat in college, studying psychology. In my 30s now and working for a public relations news corporation.

You really never know where you are going to end up and anything is possible, no matter what age you are. It is always worth it and will always be worth it. Since I started, I have built two semi-popular websites at http://www.confessionsoftheprofessions.com and https://mypost.io/ and after those, began developing real web apps that I charge for. I just started my own business that specializes in apps for memory and communication. We have a few apps in beta testing, about 4 of them ready to go out with 4 more side projects in design and development stages.

Most companies want to see your experience. Just make sure you have a portfolio and a little documentation regarding work you have done. Have references available upon request and get a LinkedIn and have them write recommendations for you and return the favor. I remember I used to be willing to give all these PEOPLE references, but after they see your work and know it is yours, they usually need not see any more than that.

It can be scary, moving to another country. But believe in yourself, know that this is another path in life and an adventure you are going to take, and make the best of your situation. You have a lot of knowledge and based on that knowledge, it seems like you are always willing to learn more and go beyond. There are tons of position to be filled that go unfulfilled, even if it may seem the market is saturated with developers. You are in demand as long as you make yourself in demand. If you get tired working for the boss, work for yourself. In this day and age, more than ever, WE have the power to do that.

Regret doing it. That is a much better regret than the regret for not doing it.

I can't speak on behalf of the culture in Singapore, but a lot of more corporate countries (e.g. Australia) will want specific experience relating to the role and will bias their decision on X years in the industry - some of your knowledge and personal projects will translate but i doubt you'll have the foundations a lot of juniors will have received during their time. I don't know your specific circumstances but from personal opinion i wouldn't hire you as a senior without having experience tutoring junior developers, debugging others' code, understanding drawbacks of certain architecture decisions and (possibly) being a slow starter.

In terms of age, most newer companies (mine included - London) don't associate title to time served or your actual age, but your abilities. We've hired a junior who was then 29 and made a switch from being an accountant. He had the gist of how things worked and his personal projects looked promising. He completed the coding exercise in a language he was not familiar which demonstrated well his ability to problem solve; guidance was needed but he was were we'd expect a junior with no comp sci background to be. I myself am the youngest in our team by quite a margin (mid-20s) and am the Technical Lead - age isn't a worry. Just be prepared to be outdone/tutored by people young enough to be your children; at previous companies I've met people that have fought me on every aspect bc of that fact even though i was brought in to advise and fix their architecture issues.

This whole thread is full of YES sayers, however this field is also full of people talking about age discrimination where 30+ is being pushed out. I'd think this would be moreso apparent in a junior role.

I'm all for age being of no importance as I'm about to hit 30 in a few years. But it's worth mentioning (maybe).

I'm 38 and work in SV.

Really the only 30+ I see being pushed out are the ones who don't keep their skill sets up to par or ask for a ton of money.

If you are ok with a plateau in your salary and keep a updated skill set, I can see people having a long career even in startups.

Don't abandon the idea. Keep earning your primary income as you currently are as a Sys Admin and coding where you can in your day job.

If you enjoy developing pick a framework (Rails or Laravel) and start building apps. Learn all you can. Work toward obtaining a remote developer position or working on contract projects to learn more/get a better taste of what the work is like. If you enjoy it and are successful work toward transitioning to it full time.

Another option is to create your own app/business and be your own boss if you're interested in that. Then you don't have to worry about being hired or ageism.

Inspiration: @DHH Startup School Talk https://www.youtube.com/watch?v=0CDXJ6bMkMY

StartUpsForTheRestOfUs Podcast http://www.startupsfortherestofus.com/archives

Good luck, don't give up on your dream.

think it's interesting you mentioned laravel off the bat, lots of PHP hate in HN (I'm a laravel dev too--and love working with it), Phoenix Framework with maybe VUE.Js on the frontend is on my radar for frameworks to learn going forward--mainly if I ever do anything with communication like a chat app, or something that might need lots of concurrency or to scale huge but use less servers.
This is a question that goes back to you: What do you want?

You might have also missed an important part: Do you need to put food over the table?

There is always a market for 40+y.o junior software developers. It probably is not as rewarding as you might need it to be.

Relevant: If you are a thick skinned guy with lots of deduction and perseverance; there is a market for SaaS/Products which require little marketing and sales. Can earn you a decent income. No location dependance and no boss (though customers can be as much annoying)

Yes, you can. I expect it will be a little bit hard to get that first job, but once you have experience it will get easier and easier to get better jobs. You need to practice practice practice coding. The best way is just to code some things that are interesting, then work your way up to doing some practice problems.

Interviewing varies widely among companies. Some places only want to hire people that are experts in some tech they are using (say a js package), others want to hire people that are generalists, or have worked on mostly frontend - ui, or backend (not ui). Some places want people who can learn anything. There's no uniform thing.

Most companies in the US would not consider you for a senior coder, unless you were very very advanced in some aspect of cs. Since you don't have much experience, you could look for an introdutory role. I don't know about signapore, but in the us because of the huge demand its generally easy to find a starting programming job. You could also look for a job that takes advantage of your dev ops/admin background while have some easy programming required, but you'd want to make sure it was really a job that had programming.

Good luck! I'm 50+ and have many years of experience and have no shortage of jobs. Just program, try for an hour a day if you are still working in your admin job, and in a few months you'll be much more fluent.

You're biggest issue will be getting selected for an interview.

If I'm recruiting it's generally for a specific full stack developer. i.e. Ruby on Rails. Personally I would see your background as an advantage but I'll still need to be able to see that you can hit the ground running.

So ideally you'll need a project on your CV targeted at the recruiters development stack. Perhaps an open source project or a side project, or freelance on upwork.

You're age is an advantage, don't forget that. We grow wiser every year.