I’m a 33 yo guy from southern Europe and I recently got hired as a full-stack developer for my first gig in the industry. I feel like I need to share my story here on freeCodeCamp: this platform played a huge role in getting me where I am now, and reading success stories on this forum truly helped me stay motivated all the way through my journey.
My situation, and how I fixed it
After a high school diploma in IT and a university degree in humanities I had a few unfulfilling gigs in my field of specialisation where I was working “for exposure”, which is a funny way to say I wasn’t paid at all. I soon got fed up with that life, so I quit and stayed unemployed for several months, during which I applied to all sorts of jobs. Unfortunately it was still full-blown financial crisis at the time so no one was ever replying, the best I was able to find was a part-time job where I had to place leaflets under car windshields. Some people say having some education in IT or a uni degree is enough to have an advantage over the other candidates, but after hundreds and hundreds of applications lost in the void I can attest that’s definitely not the case. Eventually, after many months of despair, I ended up doing generic office work for a company of cheap asses paying a miserable wage, I sucked it up because I didn’t want to force my parents to financially support me anymore and I needed the money to get by living by myself.
As time went on, this place turned out to be worse than expected. Despite the hard work I was putting in, my wage wasn’t moving up, there was no room for professional growth, and my requests for less precarious working conditions were falling on deaf ears. I was clinging onto a dead-end job giving me no marketable skills, living paycheck to paycheck, struggling to keep depression at bay and not really looking forward to the future. I was 30+ already and it felt like it was over: the chances to get a decent career had been crushed by the bad economic juncture I had to face, my country’s harsh job market, and a couple of suboptimal life choices. Here, Reddit came to the rescue, with its infinite amount of life tips from great redditors and its resourceful CS-related subreddits. Their advice got me up and running again, and set an ambitious goal for me: becoming a software developer.
I started slow, learning C++ and doing Hackerrank exercises just for fun, that made me rediscover the passion for coding I thought I had long lost. It went on like this for several months, after which I started coding some Github-worthy projects in that language. But last year the situation at work worsened: I was doing less and less hours because my tasks were slowly being automated. I had to hurry up, so I used the extra hours at home to get ready for when I was going to be laid off. It was a period of intense work during which I:
- saved up as much as I could, only spending money for the essentials: rent, bills, food, and fuel; all the rest was off-limits
- got comfortable with the Linux shell, learned Git, and posted my best C++ projects on Github (June)
- learned Python and regex (July)
- intensively learned Spanish (reached B2) and touch typing (July/August, I needed a break from programming and I wanted to add some extra skills to my resume in case things with programming went south)
- started learning webdev on freeCodeCamp (September), realised I liked it more than pure OOP
- deployed my first front-end React app (October)
- deployed my first full-stack MERN app (end of December).
At the end of last year not only was I ready to endure a prolonged period of unemployment thanks to the money I saved, but I was also feeling confident enough to quit the job I had and start sending out applications. I only had two moderately complex web apps under my belt, but still decided to go for it and shotgun my resume everywhere in Europe through Linkedin, and I ended up being called for some interviews in my own country. To my surprise, I only needed to attend three of them. The first one was about C++ and led nowhere, while the second and third one were about webdev (front-end and full-stack respectively) and I got an offer from both, I eventually chose the latter. The salary is in the mid-high range for an entry-level here, the location is pretty far from where I live now but in a very picturesque setting, and I get to play foosball during coffee breaks instead of staring at the emptiness of a freezing cold warehouse, so I can’t really complain. I’ve been jobless for only 10 days.
A few takeaways from my job search experience
Now, I understand not many of you can relate to my situation: I live in Europe, I have some IT knowledge from high school, and a family that could support me financially for a while, but I still want to try and give some advice back, for those who want to listen.
- If you are trying to enter this field, you are in luck: at the moment there’s a shortage of people who can do the job (bonus points if you live in Europe, here companies are desperate for devs), so unlike other industries people care very little about your age or education/working background, but you must prove them you can be productive.
- Go where the jobs are. Software developers have the luxury to be highly sought professionals: don’t be afraid to move somewhere else to get your first experience, a job is not forever and you can easily move back in 1-2 years if you so choose. Can’t move? Then networking is the way to go (meetups etc.).
- Soft skills are vital, neglect them and you’re gonna have a bad time in life. More often than not, having a positive and proactive attitude is what gets you hired. Show the employers you like what you do, be genuinely interested in what they do, and be honest about your strong and weak points. In CTCI’s words, don’t fail the “would I have a beer with this guy/gal?” test.
- Polish up your Linkedin profile: it has to be complete, with a captivating bio and a professional photo. If you are currently unemployed, write that you are a software/web developer “seeking work opportunities”. Talk to recruiters, but don’t count on them.
- When writing your resume, keep it simple: use a clean design and an “easy on the eye” font. Refrain from giving your skills votes, it’s unnecessary detail at best and overstating / downplaying at worst. Don’t write in-depth descriptions of your previous working experience, there’s your Linkedin profile for that. Don’t add your location and birth date / age.
- Create a generic cover letter, but take your time to adapt it to the company you’re applying to. Avoid too much formality. Add your location here if relevant.
- Learn Git, use it, and upload your projects on Github. Have at least 2-3 good projects to show off, complete with a shiny, well-illustrated readme file – Spoiler: when hiring, many HRs and devs won’t bother going through your code at all if not for a quick glance. Try to code and push commits everyday to show your employers a nice green heatmap, don’t simply make a single commit once the project is done.
- If you are not hitting roadblocks anymore when coding, that is awesome, but on the flip side it means that either you’re not learning something new by pushing out of your comfort zone, or you’re at a point where you should be applying for jobs instead.
- Take job requirements for what they are: your employer’s wishlist. In particular:
– “Requires 2 or more years of experience” means “no experience required”. Apply.
– “Requires degree in CS or related field” means “no CS degree required”. Apply.
– “We’re looking for mid-senior devs” means “eh, maybe a junior would do too”. Read the 3rd point again, then apply. That’s how I got my job.
- Apparently, someone meeting 50% of job requirements has the same chance to be called for an interview as someone matching 90% of them. Apply.
Resources I’ve personally used and would recommend
- Check out the latest roadmaps about the state of the art in webdev, a good video for 2019 can be found here.
- freeCodeCamp is the most efficient way to learn web development from scratch, period. Take notes of what you’ve learned. Make the exercises for the certifications.
- Some subreddits to follow: r/learnprogramming, r/programming, r/webdev, r/web_design, r/reactjs, r/freecodecamp, r/cscareerquestions, and many more I can’t recall now. I created a dedicated Reddit account specifically for CS subreddits, do the same and ditch the old one(s) you may have, so your feed is always clear from distractions.
- Udemy: the only course I used was MERN Stack Front To Back by Brad Traversy. Excellent hands-on tutorial guiding you through the development of a fully-fledged social network. This is the only paid resource in this list but highly worth the 10 bucks it costs when on sale, btw this is also the course that made Redux click for me.
- The Net Ninja tutorial about Node/Express.
- Stack Overflow, this is a no-brainer. Use it to improve your google-fu as well.
- Learn CSS by playing: Flexbox Froggy and Grid Garden, good for interview prep too.
- Hackerrank or Leetcode to practice your problem solving skills. If you’re good at these you can even aim at Big-N companies.
- Procrastination can be a pain. If you’re having issues in this sense, understand that you’re in good company (I did it too) and that you can fix this disfunctional behavior. Start by checking this course out. Another thing you could try to be more productive is joining cohorts on Chingu.
And that’s pretty much it! I hope this will help and/or motivate other people: keep grinding code and you’ll get there. And naturally, thank you freeCodeCamp for getting me out of the hole I fell into, I just made a donation as a token of my gratitude.