Hey, i completed freecodecamp beta in May of this year, last month i finally got a job as a fullstack developer.
I’m a fairly private person so i won’t have any deeply personal story to tell, but I’ll try to talk about the portion that might be relevant for someone else looking to start their career.
After finishing FCC beta i decided to make a portfolio website (which is currently broken, i decided to change some stuff right before i found this job, haven’t got around to fixing it yet but you can see the old version here) and continue my education with open source society, which i was already doing but paused in February when i found out about FCC beta.
When i was done with my portfolio website i started trying to find work, but i had a few requirements:
- It had to be remote
- It had to be either a full stack or back-end position
- I had to like or at least tolerate the people i was working with
- Not a hard requirement, but i would look more favorably towards a long term jobs instead of gigs/quick contracts.
- I wasn’t willing to create a linkedin, facebook, or any other type of public account. First because of privacy, second because i don’t think a company should have access to private life information and i wasn’t willing to work in a place that expected that of me.
This made things a lot more difficult, as fullstack developers are expected to have more experience than i had and any type of remote job usually requires you to have a few years of professional experience or open source contributions. Not having public profiles is also a red flag since people can’t infer a lot about your personality or google you. I knew these things but i wasn’t willing to accept any other type of job, so i had to work around them, find a way to prove i would be a good fit for the job.
I researched about people in similar position to get an idea of what to expect, came up with a good curriculum (which is extremely important) and started sending applications. From what i could tell, i was being called for more interviews than normal, i had roughly two interviews every week but the result was always the same: “Great portfolio, but we need someone with more experience”, which clearly was a nice way to say “you lack something we need”.
After a month or two of being consistently told the same thing by different companies, i tried to give less focus to my portfolio and more towards my discipline/personal characteristics. Instead of focusing on what i built (which can be seen on my github anyway) i talked about how i managed my tasks, how consistent i was with personal projects like freecodecamp, how much i was into studying even if that didn’t involve web development (i also study information security and Japanese for example) and how diligent i tried to be about my personal tasks (i give chunks of my time to each area I’m studying per day, i mentioned that in most interviews).
A while after changing this perspective on how to approach companies i got my current job, the company was looking for someone with a few years of experience in ruby/rails but they decided to hire me (with zero ruby/rails experience, and zero professional experience) because they believed i would be quick to pick up the pace. The person who hired me mentioned that the reason they wanted me over someone they knew and/or had more experience was (they sent me and e-mail mentioning this, specifically):
- I paid attention to what they wrote in their job board and e-mails
- I was quick to answer their e-mails
- I was honest/blunt when speaking my mind
- I had proof i was a self learner (consistent github contributions, completion of FCC)
These are the characteristics that they mentioned as what made me a good fit for the job, even though it’d take a while for me to learn the technologies they used, since (luckily) this was a long term job, it made more sense for them to hire someone they could rely on to keep themselves educated/would be honest in their lack of knowledge.
So this was my experience, hopefully this will help someone else in similar situation. I also want to talk about some other aspects of job hunting but i couldn’t fit into the narrative above, so I’ll list them below.
I see a lot of people (everywhere, not only here) talking about “fake it till you make it” and i really don’t think you can rely on that. People know how full of [REDACTED] the “I’m passionate about tech” talk can be and it’s extremely important for an employer to trust you. You don’t have to love tech more than your loved ones to be hired, and if a company expects you to be “passionate enough to work for free”, you’re probably better off not working there.
Honesty > claims of grandeur. It doesn’t matter how much you love programming, it’s still a job, and you should be respected for the job you do, if you’re hired on the grounds of “you love tech so much it’s like we’re doing you a favour by hiring you!!” your life will be hell, you will not be respected for your job, I’ve been there and it’s humiliating. Working for someone is not a blessing, if you were hired it’s great for THEM and kinda good for you, always keep that in mind. Quality of life is just as important as a salary.
“Fake it till you make it” mentality implies in saying you’re something that you’re not, and thus accepting a job as if you were lucky to get it, as if you didn’t deserve but you got it anyway. Be very careful when taking that approach, most of the time you’re the one who was hired by a company that doesn’t deserve you.
This is my perspective of course, as in every decision you must think for yourself and decide if it makes sense in your situation to fake it till you make it or not. If you have to choose between “fake it till you make it” and “ability to pay your rent”, go with fake it till you make it all the way.
Pay attention to what the job posting is saying, adapt your cover letter and curriculum to each job offer. The act of paying attention says a lot about how competent you are.
If the job requires 1~3 years of experience, they just need someone who knows what they’re doing. Just try to prove you know what you’re doing and you can apply safely. 5 years requirement usually means they really expect someone with experience and you’ll probably not be accepted. Always mention how much experience you have or don’t have, otherwise you will probably waste everyone’s time.
Applying for jobs is a marathon and you will get tired. Applying for every position available is extremely tiresome, keep in mind my interviews were all over the internet and even then i was exhausted of doing sample projects and being interviewed. Try to apply only to jobs you really want, define what you expect from a company and only apply to those who fit your criteria. It’s extremely demotivating to fail an interview twice a week.
Listing your projects without the freecodecamp tests makes a lot more sense for a portfolio. Interviewers often times won’t know what the test is, make sure to remove them from your projects before showing to someone.
Try to make projects by yourself, if your employer doesn’t know about freecodecamp, he’ll think you made these projects with assistance, which basically means you didn’t make them in their eyes. Making projects outside of what freecodecamp asks goes a long way towards showing you know your stuff.
Explain what freecodecamp is, don’t expect people to know beforehand.