Hello
I’ve just recently accepted my first software developer role following teaching myself to code using freecodecamp and so I’ve detailed my experience and thoughts for others in case it might be helpful for anyone looking to change careers and get started. I’ve wrote a fair bit about my background and my experience but feel free to skip towards the end for some of my thoughts for the community.
Background
I have been working as a part-qualified actuary for over 10 years. Actuarial science basically involves analysing and managing risk for corporations, comparing assets and liabilities using large excel spreadsheets. I’d never decided on this as a career as such but rather fell into it. I progressed well and became a manager over that time however I didn’t have the pull for the job that others around me did. I earned well and had good benefits but I didn’t have job satisfaction in my role.
I randomly came across an advert one day for a 12-week coding bootcamp in London. I was interested in coding although I had little experience with it and when I inquisitively looked at the site I baulked at the price. I fancied giving coding a go though, it looked like something I’d want to do so I initially picked up a Ruby course on CodeAcademy (Ruby because I searched indeed for jobs in my area and Ruby came out pretty high). It was a good start and I progressed to some other modules but I felt that I wasn’t getting anywhere with it, I didn’t have anything to show form my learning. I’d finish a module but where then? Looking for something more I stumbled upon freecodecamp which was exactly what I needed – that sense of direction given with a curriculum. I felt that I’d learn much more from this guided path.
I’m sure you all know the benefits of freecodecamp but if you’re new to it I 100% know that this is the best resource out there for new developers. It’s got a good learning curve as you go through, the challenges set you free to find out how you’re going to go about it but also gives you some gentle nudges where the most likely problem areas are going to be. And if you end up really stuck the community is fantastic. They’ve all been there and I’ve found the community really positive to help you get over those stumbling blocks.
I was still doing exams in my own time as part of my profession and I was terribly busy all the time so any coding I did do was on weekends or in the 2-week downtime between finishing an exam and studying for the next. But those few days were my favourite days. I first started considering coding as a career after a weekend doing the Simon game for the front-end certificate. I realised then that I spent a full weekend trying to solve my problems and I gained great satisfaction when I completed it. Most importantly though was that I wanted to find the answers to those problems. I couldn’t say the same for my career. If something came up in work that I needed to do further research into I didn’t have the drive to find that answer out because of the subject matter, but I did in programming. While I’d always do the research and get the answer I found that lack of enthusiasm for the topic makes it so much harder to learn about it. That’s when I realised I wasn’t motivated in my current career.
Over the course of around 3 months I earned my front-end web development certificate and was looking to progress through Data visualisation and back-end technologies.
The Decision
I only worked on freecodecamp in patches when I could. My work was becoming much more demanding and I was regularly working 60+ hour weeks, leaving me very little free time. I wanted to do so much more but the work and exams prevented me from doing so. Then my D-day came. I was on my 12th hour of work on Sunday after a full day in the office on Saturday and I realised that after all my hard work I hadn’t progressed – either something was passed to me with a mistake that needed rework or I needed to ask for more data or some guidance from a senior member. By the end of the week the tasks I had planned to complete were still there, with more work added to my list. Staring at the summer sun outside I realised I didn’t want to do this anymore. I was spending my life in the office to progress my career but I didn’t actually enjoy that career. Maybe it was the company or the industry, I wasn’t sure, but I needed to improve my situation.
In the end I asked myself what I did in my job that I actually enjoyed at a fundamentally basic level. In the end it boiled down to solving logical problems. I worked with a software programme where you’d test the output it produced with hand calculations and if the answers were different then you’d have to investigate why. I loved this and that’s what I felt coding was. Either trying to figure out how to implement something or debugging your code, I enjoyed trying to solve these problems. I felt that coding was the logic challenge I was looking for. So, I decided then to switch careers.
At this point I had already completed my front-end web dev certificate after about 3 months on freecodecamp which gave me a great deal of experience. I loved how we did a portfolio site early on which would be extremely useful when looking for a job. I knew I needed to update it for the new skills I had learnt and I wanted to showcase what I’d done. I completed this and published my site.
The pay was the big sticking point for me. I’d built up this career over 10 years and done a lot of exams and was just at the finishing point toward getting qualified but now I decided to start anew. I’d grown accustomed to that pay and so it was a big decision to make. In the end I realised I was really unhappy in my role and it affected my personal life so much. That’s when I realised that it really wasn’t about money. I felt like I was on the verge of a breakdown through my work and I was so unhappy that I thought I’d much rather spend the time in the office on something I actually wanted to do. Work takes up so much of your day that you should find something you enjoy and do that. I’m not averse to long hours, far from it, but I’d much rather do those long hours and feel I got a personal benefit from the work too, which I wasn’t getting in actuarial. In the end I swallowed the pay issue up and decided to move on. Fortunately for me I have a really supportive partner who’s backed me throughout. She saw the passion I had for this, how much work I’d done in my spare time and how unhappy I was in my job so she’s championed me for the change.
Looking for a tech job
There are two main tech recruiters in my city and ideally, I wanted to work for one of them. They’re known for their exceptional office culture and that’s what I craved – being in a happy team where everyone works collaboratively. Again, this was opposite to my previous experience. I also loved the open source nature of tech. People are very open and willing to help each other out. I was surprised when I realised that’s what I personally craved so much. I applied for their graduate schemes, the reason being is that I knew the graduate positions offered great training which taught best practices from the start. Although I felt I had gained all the skills to gain a junior position without going through a grad scheme from freecodecamp I wanted this training to give me the best grounding as possible. I did also apply for a front-end web dev role which I thought I’d be able to get with my experience.
Unfortunately I didn’t hear back from 1 of the 2 main companies, nor the front-end job. What was disappointing was I didn’t get passed the first stage to tell my story and show my desire and what I’d done. But I know better than to expect a job offer at every try. Fortunately my other desired place offered me a phone interview.
My main hurdle was to assure my interviewer that I was committed to this change. This is fair, they saw my career progression and benefits and knew this was a big change for me and so their questions were tailored towards that. They don’t want to offer me a position only for me to turn around 6 months later and go back to actuarial because I hadn’t considered this decision fully. But this was nothing for them to worry about in the end as this is the one career decision that I’ve put the most time and thought into. This naturally came through in my answer to them and I progressed onto a video interview and then a full day assessment centre.
I felt more confident knowing I was at the last phase of the process. I’d interviewed people in actuarial so I knew what to expect and what to look out for. This experience was a big benefit to my own confidence and preparations. Our main group task was to analyse a data set given certain queries. I didn’t feel too comfortable working with a database like MongoDB at that point but fortunately for me my team didn’t either, so we decided to do everything in Excel. I was worried that I was not coding during a coding interview but in the end our assessors said they didn’t mind how we got to the answer, just that we got the right answer. It was more about seeing our thought process and how we worked together as a team. Again, this worked massively in my favour. At that point I hadn’t appreciated the skills I had gained through 10 years of working with Excel. I turned out to be the teams aid with excel formulae and syntax and I feel this helped my position enormously. I could plan how to tackle a problem, discuss it with the group and help the team implement it. I came out of the interview thinking that was perfect for my skillset. A week later I was offered the job.
During my assessment day I had a one-on-one interview which again I felt I handled well. Here my biggest asset was my passion for learning code and learning in general. I was prepared for the competency based questions from my time interviewing people and had formed some answers in my prep before the day. Then it was about getting across that passion for coding. Why I wanted to do this. Why am I shifting careers and starting again? Things that I’ve asked myself every day since making the decision anyway, so I was very well prepared for those questions. I feel that if you genuinely want to be a software developer, or anything for that matter, you don’t have to engineer your answers. Your passion will speak through truthfully and naturally.
Another benefit I had during the interview process was from the year prior when I was considering software development. At that time, I visited my future employer’s office on a beginners coding course. It covered the basics of ruby from a senior developer and although I’d learnt it before I felt that it would still be beneficial for me to go to. It turns out it was a great networking opportunity as the person giving the course was also my assessor. I made sure I spoke to him about this experience the prior year. In addition to this I try to attend coding meetups in my local area whenever I can. I couldn’t get to many of them because of my workloads but I’d recently been to one where my assessor was also attending. While I didn’t speak to him on that day he said that he thought I was a familiar face. Showing that I was taking time to go to these meetups also showed I was keen and I think that removes a lot of question marks that interviewers are looking to answer.
What I’ve learned in my process
-
Take the positives from your past experiences. My time interviewing people helped me prep and answer confidently in the interview. My time dissecting actuarial problems helped with analysing coding problems. It also helped me look at every possible hurdle that may appear which helped show I was thinking carefully about the problem. Also, 10+ years in an office environment has meant I’ve grown in maturity. Although I’m a late starter and changing my career there are so many positives that I’m bringing over from my previous career.
-
Try to code whenever you can. I kept reading “code every day” in tweets/blog posts and while I wanted to it became frustrating when I couldn’t. But I did it as much as I could. The more you do the more you’ll retain and the more you’ll progress. To try and fit it into my day sometimes I’d do a JavaScript algorithm during my lunch break, I loved it!
-
Not once did anyone question my age when starting to programme. The only thing half way similar was I was asked why a graduate scheme rather than straight into a job. I’d noted the training, the support system and, honestly, I generally lack a bit of confidence at times and so I wasn’t sure if I could go in and hit the ground running from where I was at. If I’d completed the other certificates then maybe I’d have felt better, but I liked the idea of the environment new grads have to progress so I thought I’d benefit from that.
-
Make sure it’s something you want to do and your natural passion for it will shine through.
-
Don’t be discouraged by rejections. Although I only applied for 3 roles, it hurt when I didn’t get past the first step on two of them. An opportunity will turn up eventually. I was fortunate I didn’t have to wait long.
-
Take any networking opportunity you can, you never know when it might come in handy!
-
Get a portfolio site up and add your code onto GitHub. I don’t know how important this was in my case but I know that it also wasn’t a negative. I transferred my codepen projects to GitHub gists and then I linked my portfolio site to that. To be honest I’m not a designer and I worried about how my portfolio site looked. I followed a quick bootstrap video tutorial to get a better idea of my design issues with my portfolio site. Just to note, I knew everything already through freecodecamp, but I just struggled with making mine look nice!
-
I’m sure if you’re reading this then you’re a fan of freecodecamp but I honestly think it’s the best learning resource around. It was perfect for my style of learning. A great mix of large projects and smaller challenges. I loved every minute of it. If I had my time over I wish I’d have found this first and I wouldn’t have wasted my time with other resources. There are so many useful resources out there you can get lost. Use the one that’s best for you (hopefully that’s freecodecamp too!)
-
It’s never too early to start applying. The front-end certificate was a fantastic platform for me to start applying and I’m glad I started from then rather than waiting to get the other certificates before applying.
-
Just keep going. Great things don’t happen in an instant. I read a great quote saying “Success is the sum of small efforts repeated day in, day out”. While I couldn’t code every day I know that to achieve anything worthwhile persistence is the biggest factor.
Going forwards
I’d like to get back to freecodecamp asap. Even when I got the offer at the new job I was still working incredible hours. I’d like to use freecodecamp to supplement my learning in my new role. I still have ambitions of gaining the three legacy certificates but now I might aim further still with the new curriculum. Fortunately for me my new role has a 10% policy where it can be spent learning new skills that I’m interested in and I think I’ll use that for the skills in the new freecodecamp curriculum.
I also want to help good causes too. I looked forward to completing the certificates and helping charities with their issues through freecodecamp and I’ll look forward to doing so once I’ve gained more experience.
I’m not sure exactly what technology I’ll be working on in my new role. One member of the team I met was mainly working with React which I have had some experience with completing the recipe box and leader board challenges. But honestly, I’m just looking forward to exploring as much as I can and seeing what I prefer from there.
All in all, I’d like to thank Quincy and his team for providing me with the fantastic guidance I needed to help fulfil my dream of becoming a software engineer. While I’m not finished in my learning I know that freecodecamp also has so much more to offer me to help me get a great grounding in my new career.