This is a continuation of my first article. I wrote this at the end of 2018 and I started freelancing as a Front-end Developer and studying part-time.
To summarise, I’m not from a Computer Science/STEM background. I didn’t go to a coding bootcamp, and I’m self-taught. I’m a stay-at-home mum who learned to code whenever I could. I used self-paced learning tools like FCC. As my children got older, I progressed to learning programming part-time.
The reason for this article is to inspire others from non-traditional backgrounds to learn how to code. That it is possible to transition into the tech industry. I want to share my experience and perspective. I also want to emphasise that it wasn’t all smooth sailing. There were ups and downs, doubts and dark times.
I will go through my coding journey first. Then I will talk about the resources I used to learn how to code. Finally, I'll share tips on how I landed my first web developer job.
January - March 2019: Doubt
As I had two young children, I thought freelancing was a great way to earn extra money while I was studying. I had already started my WordPress freelance portfolio, but I also joined freelancing platforms like Fiverr and Upwork.
I know that these platforms are great for some freelancers, but for me this was a mistake. I couldn’t find any work despite being labelled as “Uprising talent”. I didn’t have ratings/reviews, as I was new. A lot of clients wanted freelancers with experience on their respective platforms. But I couldn’t land the work to get experience/ratings. It was a vicious circle.
There were some clients where I “qualified” to put in a proposal. I would spend hours researching and writing them. I never heard back. In some cases, there were 50+ proposals submitted for a given project. There were also many freelancers who were willing to work for under minimum wage (by UK standards). I couldn’t compete on price.
I started to question my worth and lowered my hourly rate. I thought I just needed to get one rating from a client. The final straw for me was when a company invited me to assist them in some "market research" and to answer a questionnaire. It ended up being a scheme to get freelancers to write fake reviews on Amazon for a product. In exchange, I would get a five star rating.
I declined and shut down all my freelancing accounts. My confidence was knocked. I had serious doubts about my abilities. I started to become negative. I read in forums about how other aspiring web developers couldn’t get interviews/find jobs. Subconsciously, I sought out these stories to justify and feed my negativity.
Worse thing was, I stopped coding and lost sight of what I was trying to achieve.
April - July 2019: Stepping back and reassessing my life
My husband, who is also my mentor, asked me, “what would make you happy again?”
In May, an old colleague wanted to hire me to work remotely for a three month part-time contract. It wasn’t tech related but I needed the income so I agreed. It was a great distraction and helped my confidence.
The routine of studying and working lifted my spirits. It took months, but I started feeling positive and motivated again.
August 2019: #100DaysOfCode challenge
I was looking for something to keep me focussed and consistent during my coding journey. I went on Twitter for inspiration and found the #100DaysOfCode challenge. You commit to coding for at least one hour a day for 100 days.
I committed to the challenge and I was now accountable to the Twitter community. My goal was to complete all FCC certifications and become a Full Stack Developer. I've completed five out of six certifications so far! It was one of the best decisions I’ve made during my coding journey. I started following other aspiring developers. I watched other people succeed and share their experiences, and support others who were finding it difficult. It was inspiring and kept me motivated.
Instead of using online freelancing platforms, I approached local businesses instead. I got some WordPress side gigs and started getting more referrals. This was a great boost to my confidence.
September - October 2019: The job hunt
My husband said that I was ready to start applying for jobs. In fact, that I’d been ready for months. But I was dragging my feet.
I was in a safe and familiar environment of learning and working on WordPress sites. I knew the job hunt would be arduous and there could be repeated rejections. I was also worried about how the process could affect my mental health. I reached out to others in the community and they all reiterated what husband said to me. “You are ready to start applying for jobs”.
When my son started in Primary School in September, I knew it was the right time to start the job hunt. I took some time to mentally prepare myself and updated my CV. I applied for Frontend Developer roles. I kept a spreadsheet and tracked all my applications.
I applied for four jobs. One directly with a company, three others through an agency. I was prepared to apply for more, but two companies responded. I managed to get a couple of interviews.
I didn’t expect such an immediate response and I took it as a positive sign.
My interview experience
There was no white-boarding, no solving difficult algorithms on the spot and no trick questions.
The first interview was to get to know me. Employers were actually very intrigued by my non-traditional background. I always thought it would be a hindrance, but in fact it was a talking point.
I got through to the second stage on one job I applied for which was a take home coding exercise. The other interview I was offered the job on the spot.
I'm surprised by how short the application and interview process was for me. I think it was a combination of the following:
- My experience in my previous career: transferable soft skills I acquired, such as good communication, time management, project management, evidence of completing projects etc.
- Other activities I was pursuing outside of learning: freelancing as a WordPress Developer, going to conferences, having a portfolio, blogging and writing articles.
- Being interview ready.
The resources I used to learn how to code
I've been asked by many in the community what I used to learn to code. Due to my circumstances of being a stay-at-home-mum, I chose to learn from self-paced online platforms. I needed something remote where I could learn at odd hours of the day. Here are a list of some of the resources I’ve used to learn how to code.
- freeCodeCamp (FCC)
I've used FCC from the beginning to the end of my coding journey. It formed the basis of my learning and I always return to it after I branch off to learn a new skill in depth.
Personally, FCC taught me to be independent and learn how to find the answers. The answers aren’t spoon fed and you are required to do your own research to complete the projects. A crucial skill to master. Learning how to search gets easier with time. You'll become very familiar with Stack Overflow.
For WordPress I followed a course by Rob Percival and Gregg Davis and one by Brad Schiff. For React and Node JS I used courses by Maximillian Schwarzmuller, who’s also part of the Academind team on YouTube.
One thing to bear in mind about follow along project tutorials, is that you must implement what you’re learning throughout the course. Try and apply what you learn to your own projects. This will consolidate what you have learnt.
Here’s some of the channels I’ve tried and tested:
Academind and LevelUpTuts: Very in depth videos on a wide range of technologies, frameworks and libraries. From the basics progressing to advance tutorials.
Curran Kelleher: I used this channel for learning D3.js.
4. freeCodeCamp Developer News
I could be biased but these articles have good content and are checked by the FCC team before publication. Not just useful for programming related subjects, but also some great motivating and career related articles.
I went on a big tangent over the summer and completed a lot of the free courses with MongoDB University. They take place over three weeks and you must complete the assignments within a timeframe. You are graded and awarded a certification of completion if you pass.
6. Technical Documentation
This is a subscription based video tutorial service covering a breadth of frameworks, libraries, tools and languages.
7. Khan Academy
There are many resources (paid and free) online. Do some research and find the resources that suits your learning style.
Here are my top 15 tips for approaching the job hunt
- The minimum: I would strongly suggest having a portfolio, CV/Resume, LinkedIn account, covering letter, projects/repositories on GitHub, showcasing side projects on CodePen or Glitch.
- Feedback on your CV/Resume: get someone to review your CV. It always helps to have a fresh pair of eyes.
- One page CV/Resume: Some feedback I got about my CV was changing it from two pages to one page. Recruiters get hundreds of CVs, so you want to get their attention immediately. Long CVs are a definite no. List your technical skills, any relevant experience/side projects you worked on first. If recruiters are interested, they’ll go to your LinkedIn profile for more details.
- Let everyone know you’re looking for a job: Put yourself out there. Sign up and submit your CV to recruitment agencies and job platforms such as Reed and Glassdoor. Put in your LinkedIn profile that you’re looking for new opportunities.
- Go to recruitment fairs: There are specialist tech recruitment fairs. An opportunity to bypass the recruitment agencies and speak to the employers directly.
- Apply directly to companies: A tip I got from an insider. A lot of companies don’t advertise their junior developer roles. They are usually inundated with prospective candidates, so approach the companies yourself. This might not yield immediate results, but they’ll have your details on file. Touch base with them once in a while to see if they have any positions opening up.
- The commercial experience barrier: Having “commercial experience” in web development is usually a barrier. Especially for recruitment agencies. I see a requirement for commercial experience even for junior web development roles. But commercial experience doesn’t necessarily mean working for a company. The way I overcame this was to talk about my freelancing work with recruiters. Working with clients for my WordPress sideline business is valid “commercial experience”. I’m usually asked how I landed my first client. The first website I built was for a family member’s business. I did a pay-what-you-want model and they took a chance on me. So utilise your contacts.
- Network: Go to conferences and meetups. Networking is great. I haven’t managed to go to meetups as I have family responsibilities. There’s a great article by Jackson Bates about thriving at your first tech meetup. But I’ve been to a few conferences. At some conferences, there might be companies present. Often they’re hoping to recruit developers. Another opportunity to bypass the recruitment agencies and actually talk to the tech companies recruiting. I always go to conferences alone. I do get some anxiety about this, but it encourages me to network and meet new people.
- Have a positive online presence: The feedback I got from one employer was that they were impressed by my positive online presence. A lot of potential employers will try and find you online before they interview you. They want to have some idea of what you’re about. Have a blog and write about things you’re passionate about.
- Do the #100DaysOfCode challenge: Document your journey on Twitter. It’s a good way to see how much you’ve progressed. Also it’s a great way to expand your network. I have “met” so many motivated aspiring developers on Twitter. I get to see how others are doing in their coding journeys and share advice. Also, more experienced developers often comment and offer advice, which is fantastic from a learning perspective.
- Have a mentor: My husband is my main mentor. But I often seek the help of others in the community to get a different perspective. Don’t be afraid to ask. Often people will be happy to give you advice and feedback.
- Prepare for technical questions: There are a lot of articles online and videos on YouTube to help you with the technical questions.
- General interview preparation: Don’t forget to prepare for more general interview questions like “tell me about yourself?”.
- Mock interviews: I know from experience that mock interviews are crucial. Preparing on paper is completely different from actually answering questions in person. Practice and practice some more!
- Don’t underestimate/undervalue yourself. For me this is the most important advice I can give someone. I battle with this on a daily basis. My biggest barrier isn’t my skills, it’s my lack of confidence. Remember, you know more than you think. Don’t talk yourself down, be positive about what you can do and what you have achieved.
“Grit is passion and perseverance for very long-term goals. Grit is having stamina. Grit is sticking with your future, day in, day out, not just for the week, not just for the month, but for years, and working really hard to make that future a reality. Grit is living life like it's a marathon, not a sprint.”
Angela Lee Duckworth, "Grit: The power of passion and perseverance"
This quote by Angela Lee Duckworth, pretty much summarises the last two years of my life.
My coding journey wasn’t a quick sprint, it was a two year marathon. There were ups, downs, tears of sadness and joy. I came close to giving up so many times. But what kept me going was passion and perseverance. Aside from raising children, this is the hardest thing I’ve ever undertaken.
I don’t want to give the impression that the learning stops here, though! It’s essential to keep on learning new skills and evolving, especially in the fast paced world of web development. A new marathon begins as I start my new career. I’m sure the ups and downs will continue, but it’s a road worth taking as I will be doing something I love.
If you have any questions or just want to say hello, find me on Twitter @PhoebeVF
Illustrations courtesy of https://undraw.co