I’ve recently accepted an offer for a Junior Front End Developer position. A couple weeks on and I still can’t believe it and I can’t wait to start in a weeks time. I tweeted the news and received an amazing amount of support, the tech community is awesome
Anyway, here is an account of my background, journey in coding, and advice I’d give to myself if I were to do it all over again (sorry about the length).
Recruitment Career
I graduated university and went straight into a Tech Recruitment Consultant position which involved finding Developers for various tech companies in and around London. I learnt a few things in this field that would help me later on, the key ones being:
- Companies tended to want Front End Developers with fundamental JavaScript skills as opposed to being reliant on a library like JQuery
- Good developers are in high demand and companies are falling over each other trying to attract the best (in terms of compensation, work environment, benefits, flexibility etc).
- Hiring managers will look at your Github and Portfolios
After a couple of years, I realised that Recruitment wasn’t challenging me intellectually and, having hired for a lot of different positions, I knew that I wanted to become a Developer.
Around this time, I took an internal Talent Acquisition role within a cool London FinTech company. It was this internal Recruitment position that has been very helpful for me on my journey to learn enough about Front End Development to land a job.
FreeCodeCamp
The FCC curriculum formed the basis for my Front End Development learning and I recommend it to any of my friends that are starting to learn to code. The challenges were great for learning the fundamentals. Even now, I’m using the FCC challenges to learn the basics of Redux so I can implement it into my projects and prepare for my new job.
However, I think the real value of FCC for me came from building the projects. There’s a big difference between doing a tiny challenge on FCC and having to build an app from scratch. It very much felt like being chucked in the deep end, having to break down a big project into smaller tasks. This experience meant I could see the impact of every bit of code I wrote, and therefore understand what it was actually doing.
I built the original 10 FreeCodeCamp projects in vanilla JavaScript, HTML and CSS and then, when I wanted to learn React, I rebuilt them all in React. I also decided to build them locally and push to Github rather than just having them on CodePen, as I also wanted to understand that process well.
100DaysOfCode
I first heard of 100DoC on a podcast (I think CodeNewbie) and it has been an absolute game-changer for me. Instead of doing the 100 days consecutively, I did them as and when I could. I may have broken the rules, but I still gained a lot from the challenge, the main takeaway being that it’s better for me to learn little and often. Even late nights where I was tired, or didn’t have enough time, and so only sat down for 30 minutes - I still learnt something!
Another surprising benefit was the Twitter community. I’m not a social media guy but I decided to Tweet out for this challenge and I realised that there is a lot of value in simply seeing other people go through the same things you have. I now use Twitter very regularly and I’ve found cool articles, YT talks or even free Udemy courses on there.
Languages and Tools
I knew from my Recruitment career that fundamental programming skills were one of the most important aspects of being a good Developer. Therefore, when I came to learning to code, I avoided any frameworks or libraries for as long as I could.
Working in a tech company, Developers would tell me about cool new tools they were using and encourage me to look into them. I resisted the urge to learn about that tool right there and then and I had the attitude that I didn’t want to use a new tool until I felt the pain that that tool would alleviate.
This strategy only took me so far though as eventually I had to learn React and that really put me on my ass. I thought learning React would build upon my JavaScript knowledge but instead it felt like I was going back to square 1. After watching reading numerous articles, tutorials and watching videos, I began building a React application and that’s where the slow journey to understanding started.
Job Search Process
After about 8 months of pretty solid studying and coding I started to get signs that I may be ready to apply to Junior Front End Developer jobs. One big eye opener was when I saw the list of tech questions asked, and then what the expectations were for a Senior, Mid and Junior. A potential Junior developer just needed to know some basics around ES6 and React and demonstrate an ability and enthusiasm to learn!
I was fortunate that my current company had told me that in 6 months they would 100% transition me into a Junior Front End Developer. It would have been sooner, except they were going through massive growth and needed me to do my current role of Talent Acquisition. I was a bit frustrated with the time frame of it but in the grand scheme of a whole career, I guess 6 months isn’t too long…until one day I wanted to see if I could get a Dev job elsewhere off my own back (as opposed to moving horizontally internally).
I “applied” to 17 companies and I made sure to tailor each application to the company and role as much as possible. This involved writing unique cover letters and addressing my suitability of the requirements in the job spec.
- 7 of those never came back to me
- 7 of those rejected me at CV stage
- 1 had a very informal coffee with me, then said they needed 3 Senior Dev hires before taking on a Junior
- 1 recruiter friend gave me their company’s tech task for practice (but it would be marked by their devs)
- 1 company took me through their process and eventually offered me a job
Recruitment is a lot about right time, right place and quite a bit of luck as well. When it comes to hiring Junior Developers, the company has to have a good amount of experienced Developers to mentor the Juniors. As a Tech Recruiter, it’s quite difficult finding good Senior (perm) Developers and so I understood when companies rejected me because they couldn’t take on a Junior at that time.
The application process I went through was an informal phone conversation followed by a technical task and then a 2-3 hour face-to-face. The tech task I probably spent about 12 hours on, if not more, before submitting. Then the face-to-face mainly consisted of soft skills questions around my motivations, how I problem solve, how I learn, my expectations of being a Junior Dev etc.
About one third of the interview was asking around my tech test and why I made certain choices with my code. To which I often replied, “That’s the only way I knew how to do it!”. I made sure to be honest about my knowledge but I also knew my code inside and out which helped a lot. I was also not afraid to simply say “I don’t know” on the one or two occasions where they asked me a question on a topic I’d never come across.
Overall, I came out of the interview thinking that I had demonstrated my abilities accurately and if that wasn’t what they were looking for then I’d keep on studying, coding and applying for jobs. Fortunately, they called me the next working day and offered me a job.
Lessons Learnt
If I had to do it all over again then I would do a few things differently. First of all, I would go to meetups. I wanted to go to meetups but chickened out of doing them as I didn’t want to be the “worst” developer there. This isn’t something I’m proud of and I wish I had gone to at least one to see what they were like.
Fortunately, I had some very good mentors at my day job who were instrumental in shaping my learning-to-code journey. However you go about it, I would highly recommend having some form of community around you of more experienced Devs that you can learn from.
When learning a new technology, start building as soon as you can. I got into a tutorial rut with SCSS, React, and, more recently, Redux. The sooner you start building and playing around with the tech, the sooner you fail and therefore learn. I wasted a lot of time sticking to reading articles and watching videos before I got started.
Conclusion
This has been a super long post, believe it or not, I cut it down a lot. I hope it added some value to someone that is on their coding journey. I started my journey on FCC and I found peoples stories into professional Development really interesting and helpful.
My plan now is to keep studying and building things in my own time, work really hard in my new job and give back to the learn-to-code community where I can. If you have any questions then feel free to ask and I’ll get to them as soon as I can.
Good luck