I recently received a job offer for a full-stack position. I’d like to post some tips that I have for those who are looking for developer jobs.
Know JavaScript
I debated about saying “Know JavaScript like the back of your hand” or something along those lines, but I thought it misleading. You don’t have to have an amazing answer to Eric Elliott’s 10 JS questions` but you should know some of the essentials of the language. That Js dude has some good ones here and here.
I’d recommend you be able to give definitions/answers for:
- What type system JavaScript uses
- What is a closure?
- What is the difference between ‘==’ and ‘===’?
- What is the difference between null and undefined?
- What data types exist in JavaScript?
- IIFEs
- It couldn’t hurt to understand some of the more functional aspects
- The difference been classical and prototypal inheritance
Know algorithms to some level
If you can spare the time and are willing to learn/already know Java, I highly recommend Princeton’s Algorithms courses that are offered on Coursera. If you know these, you’ll pretty much be set for your basic Data Structures. This isn’t 100% necessary, you could probably get away with looking at this cheat sheet and watching the interview videos on MyCodeSchool on Youtube, but I guarantee this will make you a better programmer.
If you have a copy of Cracking the Coding Interview, I’d recommend going through the chapters on Arrays and Strings, Linked Lists, Stacks and Queues and Sorting and Searching for sure. You may also want to go through Trees and Graphs. Brain Teasers and Mathematics and Probability are worth a read too and don’t really require programming knowledge, but will teach you to approach problems better and are easier to approach if you can program. The beauty about these chapters is that since the data structures that they deal with are simpler, they tend to focus more on problem solving than knowledge.
There’s definitely value in the other chapters, but a lot of it in my opinion is beyond what you’ll need for an entry level job (from my experience). Bear in mind that this book is aimed at people applying to Google, Apple, Facebook, Microsoft, Amazon, etc. This leads to my next point.
Don’t get discouraged by others
I can’t emphasize this enough. The internet is a fantastic place, but it’s so easy to get discouraged when interacting with people online. Think about it, if someone takes the time to post something for a bunch of strangers in their field, they probably care a fair bit about that field and because of this are likely at least above average in that field.
This goes for people who are getting offers from big name companies and for those who have crazy cool projects online. If any of you have taken Harvard’s CS50x (awesome course btw, highly recommended), you may remember the instructor saying something like: “It doesn’t matter where you wind up in the end relative to your classmates. What matters is where you are in Week 12 relative to where you were in Week 0”. I’m paraphrasing, but you get the idea.
One last thing, build things that you think are cool. FCC has some really cool projects, but it looks great when you have your own personal projects.