Job Search
It happens from time to time that someone asks me to help them in their job search, or ask me if I know anyone who has openings, or just gives me their resume. I tend to give the same advice so I thought I would write it down. As usual this is one person's idiosyncratic opinion, not scientifically proven nor guaranteed to be the best way to go.
Resumes
- I guess that on average, a resume that is looked at by a human is looked at for about 10 seconds. And most of them are not even looked at by a human. Your resume's job is to pique the interest of the person enough so that they read it and decide they might want to meet you.
- You should structure your resume to catch the person's eye. Starting at the top of the page, what do you think is the most important thing about you that they should know.
- For people beginning their career forcing yourself to one page is a good idea. It makes you focus. You're justifiably proud that you started the philanthropy club in high school or that your GPA was 3.782. But probably those are not the things that will get you the job.
- Include at the top: your full name, email address, mobile phone, github or other portfolio URL if you have one. No need for permanent mailing address. Here are some tips on how to organize your GitHub for best effect.
- What is your competitive advantage? In other words, compared to someone who is your age and background, similar major, graduation date, etc, what is special about you?
- Make sure that you can talk intelligently about every programing language, framework, product name, operating system, algorithm, concept that you mention. Expect the interviewer to zoom into that one thing that you are bluffing about: "You worked with a zero-knowledge reverse binary proof? How interesting, tell me more?"
- Remember that you want to communicate how you will contribute to the organization, benefit the team, make money for the company. It doesn't matter to the reader that this job will help you grow or learn or do what you always wanted to do. What's in it for them?
- You will most likely be submitting your resume electronically. Unless otherwise specified use a pdf format. You can't assume that the recipient has the same word processing tool that you do or is even on the same kind of computer. Everyone can read and print a pdf.
Leads
- Treat your job hunt as a research project. It will take work and organization. Simply googling or playing with LinkedIn or Indeed might work but it's a low percentage game.
- The worst place to send your resume is to jobs@bigco.com. In other words their default resume portal. You get sent to the very bottom of the heap.
- You need to use your network to find some relationship or connection to the target company. Wait, you say you don't have a network? Wrong! Your just thinking about it in the wrong way!
- There are lots of lists of jobs. Do you research. Here are some: Ycombinator list, …
Networking
Networking with people is the lifeblood of your professional life and your job hunt.
- Join LinkedIn immediately if you haven't yet. And request a link to everyone professional that you know who are even peripherally in your field. Professors, Managers, CEOs, bosses, speakers.
- In any professional situation (or often even in social situations) be bold when you encounter someone who is further along in their career than you, someone who you kind of admire or look up to. Go up to them and introduce yourself and trade emails or Linkedin.
Hierarchy of targets
You need to focus your search a little. If you are sending out 10 resumes an hour, your doing it wrong. Try to think about what kind of place or what specific place you would like to work. Large company or small? East or West Coast or don't you care? Consumer or Enterprise? Etc. Then use google and LinkedIn to create a prioritized list of companies that fit the bill. Work through the list and send in your applications. Here are the different ways to do this, from least effective to most effective.
- (lowest) jobs@bigco.com. This is where all the losers send their resumes. Imagine that scene at the end of the original raiders of the lost ark. That's where your resume will be stored.
- Use LinkedIn to discover people who are in your cohort (alumni of your college, people who you worked with in the past, family members) who work at your target company. You can expect that even someone you don't know at all will be willing to help out someone from their extended "tribe". You would to, wouldn't you?
- A so-called "warm intro" from someone who knows you and also knows the hiring manager. A warm intro is an email that introduces you to the other person and says how great you are, basically vouches for you.
- (highest) You have met or emailed with the actual hiring manager. That person knows you and feels you may be right for the job. This perfect alignment of the stars rarely happens.
Interview Tips (Thanks to Jason Fan and Google Brandeis Alums)
- Write test cases in coding interviews (from Grady) , this was a big one he emphasized. It's great if you can pump out a lot of your code, but being able to show you can test them and that it runs correctly will set you apart.
- Be yourself and do not conform to what you think the interviewer wants you to be (from Amber
- Companies are looking for you to grow, it's not about necessarily how much work you do, but your growth as a person. (from Grady)
- Find the niche you are good at (from Scott). His job is corporate development engineer, a role he didn't even knew existed, but that he realized it was something he loved
- Keep a paper trail! (from Wesley)
- {repare something for those soft questions like "What is your weakness/strength" or "Tell me about a time when something didn't go as planned". I hate those questions but something along those lines came up in every interview. (from Evalyn)
- Just sound like a person, talk to them respectfully but don't sound like a robot. (from Evalyn)
Finally: Just do not give up! If you really want to work at a certain place, keep reminding them that you are interested, and reapply for new opportunities there, if you see them. Even multiple times!
Insights from Industry Experts About Leetcode and inteviews:
To a new grad preparing for software development interviews, consider the following advice based on industry insights:
-
Balance Coding Practice with Real Projects: While practicing coding problems on platforms like LeetCode can help you prepare for technical screenings, it's vital to work on real projects. Side projects or contributions to open-source projects demonstrate practical skills and genuine interest (Jon Burdo, Pito Salas).
-
Emphasize Communication and Problem-Solving: Interviews should assess your ability to communicate and solve problems collaboratively. Practice explaining your thought process and decision-making during coding exercises (Peter Harris, Ryan Marcus).
-
Understand the Role of Coding Tests: Coding tests are often used as initial screens, especially at large companies. They serve as a basic check of technical skills but shouldn't be the sole focus of your preparation (Barry Briggs, John Langton).
-
Showcase Your Work: Be prepared to discuss projects you've worked on, focusing on the choices you made and the challenges you overcame. This can provide deeper insights into your capabilities than standard coding tests (Mike Skrzypczak).
-
Practice with a Purpose: Instead of solving numerous random problems, focus on understanding fundamental data structures and algorithms. Use curated lists like the "Blind 75" to guide your preparation (Arya Boudaie).
-
Consider the Company Culture: Be aware that some companies prioritize coding challenges, while others may focus on different skills. Tailor your preparation to align with the company's interview style (Kevin Breidenbach).
By following these practices, you'll be better equipped to navigate the interview process and showcase your strengths effectively.