Cheat Codes For Landing A Job
Congrats you've graduated! This is a huge achievement and you now have one of the most valuable skills ever in history. That's not an exaggeration, knowing how to code is one of the most scalable and leverageable tools ever. But, you're just at the beginning of your journey and there is so much (fun and rewarding but also difficult) work ahead. At this moment, places where you will be hired know you're an investment. Be confident that you can build but be humble that you're at the very beginning of your journey and you know almost nothing about being a professional engineer.
This article I'd say is a mandatory read, I alone have gotten $x0k+ bump from my initial offer to my final offer with this. A bunch of friends have all had similar results. Part two is linked at the bottom of the article:
A similar post here: https://bayareabelletrist.medium.com/how-i-negotiated-a-software-engineer-offer-in-silicon-valley-f11590f5c656
The author's story is here, super inspiring.
Also another great story about how someone grinded and got a great job: https://www.youtube.com/watch?v=kSj1VLle9m4
This is a great overview on what is needed, this is also similar to Cracking the Coding Interview, but more dense/short and free: https://www.reddit.com/r/cscareerquestions/comments/1jov24/heres_how_to_prepare_for_tech_interviews/
Key strategy --- Landing your first job is HARD and will take a lot of effort, but you are setting yourself up for a future with the potential for a lot of flexibility, money, and opportunities. This process is a sales job and you and your skills are the product. The formula is: number_of_apps * quality_of_apps = probability_of_interview. You can up your probability_of_interview var a lot easier with upping the quality of your apps over sending a lot more apps (though you'll need both).
For me, this looked like:
1. Go on LinkedIn/AngelList and see who's hiring. Also, check on Crunchbase or other sites and see who has just raised money!
2. Go to that companies LinkedIn page and find someone who went to the same bootcamp, college, high school or someone who looks friendly or is a similar demographic. Ideally an engineer or recruiter
3. Message them on LinkedIn or even find them on twitter and say what's up
4. Many won't reply but many will, often people want to help and they'll give you tips and often will refer you.
5. Your odds of getting an interview have went from <1% to >50%
6. KEY: Interviews are precious at this stage (though it's inevitable to fail some). Don't place too much pressure on them but make sure you're prepped before diving in.
Which brings me to...
The probability of landing an offer equation is an extension on above: probability_of_interview * probability_of_passing = probability_of_offer.
I highly recommend using http://www.neetcode.io as a great guide for what to study. There are solutions and videos for each question.
Mandatory for practice, you must be able to do easies <15-20 min, mediums <30-45 min, the more proficient the better. More problems are available on https://leetcode.com/. This pairs well with https://youtu.be/SVvr3ZjtjI8, it will up the efficiency of your studying by at least 2x.
Your studying should be 50% algorithms/data structures, 50% building.
Spend time building personal projects, build things that are cool, contribute to open source projects. Remember, you and your skills are the product so make your offer enticing.
Know bigO space and time complexity: https://www.bigocheatsheet.com/.
Once you feel like you've prepped interviews well, use Pramp https://www.pramp.com/#/. Get comfortable coding on the spot, don't practice this skill on a real interview.
Probably not needed for the first job but definitely read this over, knowing how to design systems will be huge for job 2+ https://github.com/donnemartin/system-design-primer/blob/master/README.md.