This short post is written for recent graduates / current students looking for a job as a Software Engineer, containing a list of resources to help them in their preparation.
This list is by no means comprehensive and is only supposed to provide a starting point to freshers who are beginning their job search and preparation.
Note: I will keep adding resources to the list. Please contact me, if you have some.
Every major tech company these days, judges their candidate’s problem solving skills through competitive coding based assessments and interviews. All the websites mentioned below are popular among coders and you can find almost all the coding questions asked by major tech companies here:
- LeetCode : This website covers all the aspects of tech job preparation. It’s famous for its vast pile of questions but also has separate sections for discussing design questions, offer details etc.
- Hackerrank : Good for beginners, this portal has a clean interface and is not very daunting for freshers.
- TopCoder : This is the most popular online judge for competitive coding and regularly holds contests.
- CTCI : Cracking the Coding Interviews provides a very good base for freshers. This books contains questions from all the Top tech companies and is a must have.
- EPI : Elements of Programming Interviews is a good book for coders experienced with competitive coding. I’ll recommend using this after completing CTCI.
Some of the best online MOOCs available on Data Structures and Algorithms:
Though this topic is more expected to come up during experienced developer interviews, a basic knowledge of System Design not only helps in tech interviews but is a requirement for becoming a good Software Developer. These resources are some of the best available in the market as of now. These are helpful to beginners and experienced alike:
- System Design Primer : A comprehensive post focussing on all areas of System Design.
- Educative Grokking System Design : Different system design questions and posts with answers and explanations.
- High Scalability : System Architectures of large companies.
- LeetCode System Design : A place to discuss different System Design Interview questions.
Object Oriented Design
OOP concepts are asked from both freshers and experienced developers. Good knowledge of OOP helps in designing large systems and hence most of the Top tech companies include one round of interviews focussing on OOP. Below mentioned resources are tried by me and proved to be very helpful.
- Educative Grokking OOP Concepts : Different types of OOP questions and answers with complete architecture explained.
- Object Oriented Design (Book)
There are tons of websites online for finding jobs in Tech, so there’s no point in repeating them. Instead, I’m going to list the platforms which are a bit different but helps tremendously in landing you your dream job.
- Tech Twitter : Tech-Twitter is the best Twitter. Engineers, Designers, Entrepreneurs share knowledge as well as have meaningful conversations about tech, startups, frameworks etc. But it is also great for job search! Check out this and this example of someone asking for a job and being helped by the Twitter community.
- 3rd party sources : There has been a surge of startups who are helping Engineers to get hired at the Top tech firms. I’m not talking consultancies but companies which are known to do this job well. Most famous are Triplebyte and Pathrise.
- SDE Openings : This Github list and this website are some good resources to find tech jobs in 2020. Also Y Combinator’s own job portal.
- Women in Tech : Numerous platforms are helping women in technology to get great offers. Not only are there specific communities on Twitter, Reddit etc there are some amazing platforms out there too. Most notable are Hire Tech Ladies by Allison Esposito Medina and Women In Technology
Job Search can become very stressful especially in Tech where you face a lot of competition. These communities are meant to support each other in job search and preparation. These are discord groups where you can find sub-groups focussed on different aspects of job search such as coding, interview preparation, resume review, ML focussed jobs etc.
- Taleo : Focussed only on 2020 New grads.
- CS Career Hackers : For both freshers and experienced devs.
- DEV : Another great community of developers helping each other out and sharing knowledge.
- Blind and Rooftop Slushie: An anonymous network of professionals that helps in getting referrals, information of teams, career advice etc. Though the anonymity makes it a little bit toxic sometimes, overall it’s a great help for finding and preparing for jobs.
There are tons of resources available online for the fields mentioned below. The resources added below are focussed towards a fresher entering any of these fields:
Android Application Development
- Google Android Developers : Google’s original documentation is by far the best way to learn about Android application development.
- Mindorks : Android publication containing tutorials and blogs.
- Android Weekly
- Ray WenderLich Android : This tutorial website is very popular for it’s Android and IOS tutorials. They are very well explained but are paid. Highly recommend!
Full Stack Web Development
- Coursera : Many MOOCS available for learning web development.
- FreeCodeCamp : A free online library providing certificates on completion of courses. Very famous and very useful for people who want to start a career in Software Development.
- Khan Academy
Data Science / Machine Learning
- Fast AI : One of the best free resources available to learn about Deep Learning.
- Kaggle : Platform for showing your DS and ML skills a.k.a LeetCode for Machine Learning.
- Berkeley AI Course
- NPTL AI Course : Another great (and free!) resource for learning about AI and ML.
Big Data and Distributed Computing
Hope these resources help you in landing your dream job.
Thank you for reading this post!