Hello my fellow campers! It’s a long one!
I’m 28. Yesterday I signed the papers. June 20th will be my last day as a paid intern. June 21st will be my first day as an actual Front End Developer -insert party music here-
When I first landed the internship, I did make a post about how I got to that point, however I took it down as I wanted to write something that had a little more depth after a few months of real world experience. Yes it is a long post, but I’m trying to include everything I wish I knew before I started this whole journey, even the tiny bits you pick up along the way.
How this post will read:
- FCC Road map
- Applying for Jobs
- Useful bits n’ pieces
TLDR: I taught myself to code and landed an internship when they weren’t looking for an intern - Links I found useful are grouped at the bottom.
So straight off the bat, doing ONLY freecodecamps map won’t land you a job (or it might who knows). I did other courses/challenges on the side, some paid some not (the only ones I paid for were Udemy) In my honest opinion, learning the command line and Git is suuuuuuper important, this should be mixed in when learning all the basics! I use it all day everyday and I’m so glad I had taught myself how to use it early on in my journey. Build your github, make daily commits, you wanna look busy!
Freecodecamp’s road map
I skipped half the Intermediate Algorithm Scripting challenges and all of the Advanced ones. Not doing them didn’t harm my chances of finding work, HOWEVER, after working for a few months, doing them could have helped me now. Probably not hugely, but I’d have a wider area of knowledge. Luckily for me I sit next to an amazing backend dev who has been steering me in the right direction when it comes to logical thinking. I’d write something and he’d show me a better way to write it, then would give me complicated data structures to work with for the front end (or well they were complicated for me). Within a month I found I was able to do things I wasn’t able to before. Teaching yourself is nothing compared to real world experience.
The most important thing to do is all the Project challenges. They are super useful and bulk out your portfolio All this ‘don’t look at other people’s code/solution’ is nonsense, if you’re really struggling then go read the crap out of it, understand it, google it, dissect it! Of course never copy someone else work, write it for yourself. When tackling a project write a detailed list of each thing you need to do. The calculator for example: “When I click a button I need to get the value of that button” - if you don’t know how to do that go give it a good Google! Google is your best friend.
I personally only got as far as the TicTacToe, the AI is super dumb, but otherwise it all works. I need to implement the whole Minmax algorithm, so yeah I’ll be doing a fair bit of googling myself, best practices etc.
Applying for Jobs
I casually started learning middle of 2016, It was a fun hobby that I never put any real time into it. Summer 2017, my work unfortunately closed down and I was left unemployed. Luckily for me I have a super supportive partner and instead of me looking around for any odd job, I decided to use the ‘fear’ of unemployment to teach myself to code full time.
October 2017 time I started applying to jobs (around 7-8 in total) I spruced up my CV made it pretty unique and visually pleasing, as for content I was honest and for my experience I wrote about being self taught and what I had been doing with links to my portfolio etc Talking about portfolios, if you don’t have one, go make one! Then make it again but better! DON’T include tutorial projects, it’s not impressive. Host it by using github pages for free and then buy a domain name, it’s super simple, cheap and looks way more professional.
Anyways, the requirements for these jobs were pretty long and I didn’t match any of them but I didn’t let that stop me from applying, I mean you never know if you don’t try. The worst that can happen is that they don’t respond or they’ll say they want someone with more experience, which is what they all did apart from one. This one company really liked my portfolio and attitude (in writing) and so they invited me for an interview.
They understood how much of a newbie I was so we just spoke about my ambitions and why I code. They pulled my portfolio and codepen projects up onto a projector and we talked about each one, why I did things a certain way etc. They explained to me that they wanted someone with far more knowledge but that is something that can be taught, however my fire and attitude was something that couldn’t. So they offered me a paid internship on the spot. I said yes!
Useful bits n’ pieces
I have learnt a lot. Once you get your first break you’ll be surprised how much and how fast you learn. Though you will always feel like an impostor, that’s normal but don’t let it get you down or hold you back, just keep on truckin’. So here’s a few useful tidbits:
- Clear your damn cache If you’ve made a lot of changes but nothing is changing, try clearing your browsers cache.
- Learn how to use the debugger tool.
- Don’t be afraid to ask questions, but don’t ask silly questions that you can google in 5secs. If you’re really stuck and your company use something like Slack, drop a fellow dev a message before poking them in real life, they may be in the ‘zone’ and you don’t want to interrupt that.
- I was having trouble concentrating on my IDE, they suggested a solarized light theme. I will never go back to a dark theme. This tiny change has made a HUGE difference in my workflow. So If you find that your mind strays a lot while coding or that you get headaches, try a solarized light theme!
- Don’t burn yourself out. Remember work life balance.
- Some useful addons for your IDE: Linters, built in command line, beautify, hint, autoclose.
- Learn your IDEs shortcuts.
- Write everything down. Post-it notes everywhere!
- Really take time to learn Git and the command line.
- Learn to document your work.
- Write code like the next person is a serial killer. Don’t take hacky shortcuts, discuss and find the right way around a problem.
- If its ugly and makes you cry, there’s probably a better way to write it, have someone review your code. In fact ALWAYS have someone review your code, it shows you want to learn and better yourself.
- If you get blocked move onto something else/take a break or a walk. At my office we have an arcade room which is great in helping you think straight. The amount of times I’ve got stuck on a problem only to have a game of pinball help me think of the solution.
- Be honest. If you don’t understand something a fellow dev has said then ask them to explain what they mean.
Anyways I hope this helps someone out Keep doing what you’re doing and you’ll get there!
If you have any questions feel free to ask!