2 years ago I was medically discharged from the army during training. I thought it was my dream job combining survival skills with the outdoors. I was stepping into the boots of my hero Bear Grylls; up at 05:30am, eating my boil in the bag rations in the middle of the woods cheerfully exchanging banter with my oppo’s.
Like Bear, I suffered a back injury which forced me out of the forces. Bear broke his in a parachuting accident, I suffered a stress fracture on an obstacle course. Sorry old chap, you’re out.
I spent the next few months drifting through a fog of depression. Nobody could reach me, not my wife, friends or family. My only comfort was the bottle which helped numb the sense of loss. But as I emerged from the fog a giant blank canvas stood before me with which I had to paint a new life.
Here is how I became a software developer at the age of 30:
1. Understand yourself
The first step on the journey to becoming a software developer is to truly understand yourself. Your personality, your strengths and your weaknesses. The more you get to know yourself the more you’ll know if you really want to be a software developer or if your just thought Mr. Robot was cool.
There is a famous anecdote of a Buddha sending a disciple down to the river to get water. But the water was cloudy and undrinkable and so the disciple returned empty handed. Later that day the Buddha asked him to return to the river. This time the water was clear and so he bought back a jug full. Taking a sip, the Buddha remarked that all it took was time for the sediment to settle leaving clear water. The disciple didn’t have to do anything.
The mind is the same, stop muddying it with thoughts and give it time. It too will settle revealing your own clear truth.
I had no choice, I was incapacitated for 3 months, but looking back it was a blessing to have that space to find out what I wanted from life. Take some time and figure out what you want from life, don’t worry about work for now.
Take a personality test. I had never done one before but I was surprised how illuminating the MBTI test was. It was like holding a mirror to the internal workings of my brain. 16Personalities offer a free test here and will suggest careers suited to your type. For me (an INTJ) software development was right up there and that was a key factor in me pursuing it.
2. Try before you buy
Don’t sign up to an expensive course before you’ve tried programming. Software development is huge and there are many areas you can go into, start by playing around at home for free. There are a multitude of free courses online:
Free Code Camp
If you’re unsure what area you’d like to go into then Udacity is your site. They offer many small free courses on all kinds of areas such as iOS development and virtual reality.
Get a GitHub account and push all your little projects to your profile. This will help build a portfolio and show your dedication over a period of time. If you never used Git checkout this free course. There are thousands of tutorials online, try Googling some that interest you and build up your skills.
Playing around in your spare time is a great way to get a sense of whether you enjoy it enough to pursue as a career. Or whether you’d prefer to keep it as a hobby or whether you decide it was a all a huge mistake.
3. Get qualifications
It is unfashionable to say this but the vast majority of companies I saw during my job search asked for degrees. In spite of many articles to the contrary, that is what I found.
I was lucky enough to get accepted on a one year masters program but these aren’t available everywhere. You may find that a 3 year degree is your only local option.
The benefit of a degree is that it’s a ticket to an interview. It proves you wanted to become a developer enough that you invested 1000’s of dollars and hours to become one.
A traditional brick and mortar degree is not your only option.
There are a multitude of online degrees available now which can save you money and allow you to work in the meantime. These courses are more flexible, allowing you to pick and choose modules that interest you while working from anywhere in the world.
edX offer lots of free courses from the worlds top institutions (such as MIT, Harvard & Berkley) in software development. All courses come with projects and instructors just like a regular degree and if you want a certificate to show you’ve completed the course, you can do for a fee. They also offer what they call MicroMasters for around $800–900.
Udacity, in addition to the free courses mentioned earlier offer nanodegrees for $199 (£150) per month and typically last for 6–12 months. These courses are less academic than edX but are created in partnership with companies such as Google, Amazon & FaceBook so they’re perfect for gaining the real world skills you need to do your job day to day. If I had my time again I’d do a one of these.
There has also been an explosion of code camps in recent. Northcoders in the UK offer a 12 week course for a whopping £6000 ($8000). If you want to dive right in at 100mph then you should consider a code camp. Personally I don’t believe you will learn all the skills you need within 12 weeks, but they will give you a giant boost towards your goal.
4. Get an entry level job
As an ageing coder I resisted entry level (graduate) jobs at first. The thought of starting at the bottom again with people 7–8 years younger than me was scary. But the more I looked at job specifications, the more it made sense.
An entry level role gives you the freedom to fail. It will give you the space to learn and develop without the crushing deadlines.
I have a friend who I met on my masters course and who like me, didn’t have a development background. He went straight into a junior level programming job and lasted 3 months. He was stressed out and they canned him after his probation period. He’s now working at my company on the graduate scheme and loving life. Enough said.
You’re old, get over it
Yes, most of the senior developers will be younger than you. On my team I was the second oldest, after the scrum master. At the start I was embarrassed about my age, like I’d somehow failed at life to be starting over again. I’d find an excuse to leave every time something to do with age came up for fear of being outed.
When it did finally come out that I was 31 nobody was bothered, I’ve not faced any discrimination. Development has a stereotype for being an agist industry. Yet I’ve found that the respect you get correlates more closely with your experience. And I had very little.
I still find it hard sometimes to come to terms with the fact that I am so far behind my peers. But at the same time thats my own hang up. In reality as a developer I am flooded everyday with job opportunities from recruiters. I’ve never experienced this before.
Being a software developer makes you hot property. Embrace it.
5. Keep playing
Software development is an extremely fast paced industry and the only way you’re going to keep up is if you keep playing. Keep doing courses that are fun, keep doing projects that keep you up until the small hours. Keep going down rabbit holes and let your interests evolve naturally because I guarantee that where you start off as a graduate isn’t where you’ll end up.
If you’re world has turned to shit then you’ve been given a golden opportunity. Don’t waste it. You’ve been given chance to reevaluate your life. At the time I thought I was at rock bottom, yet looking back I realise how lucky I was to get that enforced time out to really question who I was and what I wanted from life. And that for me, was to become a software developer.
Learning to program will open doors into all sorts of exciting industries. No longer will you be sending out 100’s of CV’s begging for interviews. Instead recruiters will come flocking to your inbox courting your skillset.
It’s nice to feel wanted and it’s certainly very nice to earn more money, but its even nicer to do something you love everyday.
Be free and code forth.