paint-brush
The Junior Software Engineer’s Job Search Strategy Guideby@mitchkosowski
5,952 reads
5,952 reads

The Junior Software Engineer’s Job Search Strategy Guide

by Mitch KosowskiJune 26th, 2017
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

<a href="https://www.linkedin.com/in/ruthnaebeck/" target="_blank"><em>Ruth Naebeck</em></a><em> is a co-author for this post. This is her </em><a href="http://www.ruthnaebeck.com" target="_blank"><em>personal website</em></a><em>.</em>

People Mentioned

Mention Thumbnail

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - The Junior Software Engineer’s Job Search Strategy Guide
Mitch Kosowski HackerNoon profile picture

Ruth Naebeck is a co-author for this post. This is her personal website.

You are on the job hunt for a junior software engineering position. You could have just graduated from a CS undergraduate program, just finished a programming bootcamp, or just completed a great project that you would like to show off to prospective employers. As long as your portfolio of projects is polished, your background doesn’t really matter. Now how do you get a job as a junior software engineer? In general, what I found worked best was a “shotgun” approach: Send out as many connection requests, messages, and applications in the shortest period of time possible. When I changed to this strategy, I went from having 1 phone screen every 2–3 days to 2–4 phone screens per day, with technical challenges and onsites following shortly thereafter.

Because this is a shotgun approach, don’t be offended by getting rejected. Indeed, it’s all part of the process. But do use rejection to help guide you in the job hunt. If you are not getting any phone screens, have your resume reviewed and ask yourself if you’re applying to the right sort of jobs. If you’re failing out on phone screens, how could you better prepare for them? For onsites, do the same thing. Remember, it’s a learning process!

Since there is so much to be done during the job search, I wanted to be super efficient and land as many phone screens as possible in the least amount of time spent networking and completing job applications. This strategy does just that and even includes approximate time taken for each step to help provide a nice gauge for you on your search. Be consistent in your application process and good things will follow!

Job Search Strategy Summary

Networking (repeat every day):

  1. LinkedIn
  • Send 10 to 20 connection requests (5–15 minutes)
  • Send messages when people connect (5–10 minutes)

2. Alumni Resources (Google Group, Slack, Facebook, etc) (5–10 minutes)

Job Applications (repeat every day):

  1. Browse LinkedIn Home Tab for Jobs (5–10 minutes)
  2. Gary’s Guide Jobs (Programming Category) (5–10 minutes)
  3. LinkedIn Easy Apply (5–10 minutes)

Interviewing (prepare every day):

  1. Phone Screens (45–60 minutes)
  2. Technical / Onsite Interviews (45–60 minutes)

Networking

Far and above the highest percentage of all the strategies, networking eventually led to my accepted offer and there’s a very high chance it will be the same for you. What’s the best way to go about it?

LinkedIn — Request 10 to 20 Connections Daily:

When you start this process, you may have very few connections who are software engineers. If this is the case, search LinkedIn for “People with the title” Software Engineer, filter by your location, and connect with people.

If you don’t want to pay for LinkedIn Premium after a certain number of connection requests, you will be locked out for the day. That’s fine, just return the next day and do the same search or switch to searching for Front End Developer, Back End Developer, or Software Developer.

When you’ve gained a significant amount of software engineer connections, people listed on the “My Network” tab under “People you may know” will mostly be software engineers. Using this tab will speed up connection requests significantly. Personally, I spent no more than 15 minutes per day sending connection requests.

LinkedIn — Send Messages When People Connect:

Great, now you’re attempting to connect with 10 to 20 people everyday and a fair amount of those people will accept your connection requests. What do you do with all those connections? Once they connect back, you can send a message to them (no LinkedIn premium required!). I found keeping it short and sweet worked best:

Hello ${NAME},

I am a recent { SAME_SCHOOL ? ${SHARED_SCHOOL} : software engineering } grad looking for a (software engineering) position in ${CITY}. How are you enjoying working for ${COMPANY}? Do you have any recommendations for someone looking to get into software engineering?


Thanks,${CANDIDATE_NAME}

Use a common connection in the first sentence to establish why they should care, the more specific the better. Schools, cities, and hobbies can all serve as shared connections. If you have no connection other than they work as a software engineer, use that.

Why do I wait to get a connection back before I send a message? If someone connects with me it means they are active on LinkedIn and probably willing to network. There is a good chance that they will respond to my first message. Personally, I received a response rate around 15% of messages sent. This might seem like a low percentage but remember all you need is one connection that leads to a job offer and this isn’t a huge timesink for you.

Once you get the conversation started, see where it leads. I had good success asking for general advice as a software engineer to start the conversation. Always keep the ball in their court and respond to messages as soon as you are able! If possible, schedule 1 or 2 in-person meetings (coffee chats) per week. If the person is too busy, schedule a phone, Google Hangout, or Skype call.

If you connect to a recruiter, the conversation will be different. Here is a sample message to a recruiter:





${RECRUITER_NAME},  I’m a software engineer looking for permanent roles in ${CITY}. I am proficient in ${LANGUAGES_FRAMEWORKS_ETC}. Here is a link to a project I am proud of:

${GITHUB_OR_DEPLOYED_LINK}






${PROJECT_NAME} is a ${PROJECT_DESCRIPTION}. I had a great time building it with 3 of my colleagues and learned a lot in the process. Etc. Attached please find my resume. Thanks,${CANDIDATE_NAME}

Alumni Resources (Google Group, Slack, Facebook, etc):

If your school has alumni resources, sign-up, stay active, and reach out to other alumni to network. If possible, try to connect with 1 to 3 different people per day while you are on the job hunt. Try to connect with others also on the job search and pair up to practice algorithm and technical interview questions as well as sharing job search strategies.

Job Applications

Get as many job applications out there as possible and as quickly as possible! On most days, I applied to 25 or more jobs and each application only took a few seconds. I didn’t send a single cover letter during my job search! Your time is precious on the job search and doing things like changing your resume for each job application or writing cover letters doesn’t really move the needle for a junior engineer and takes away from time that you could be finishing more applications. Use your time wisely!

LinkedIn — Browse the Home Tab for Job Postings Daily:

Remember doing all that networking and getting all those connections? One great side effect is now your LinkedIn Home page will have a great feed of all your connections. What does this mean? Every few days you will see job posts from connections:

Reaching out to people who are already connections has a super high percentage for landing a phone screen (especially if they are alumni from your school). I recommend taking 5 to 10 minutes each day to read your Home page.

By default LinkedIn lists popular posts first so if you see a lot of old posts at the top of your feed, change the post order by clicking the “Sort by” drop-down and choosing Recent:

Also, there is a lot of spam on the Home page. To unfollow people who write or like posts unrelated to your job search, click the three dots in the top right corner of a post and choose Unfollow:

Gary’s Guide — Apply to Jobs Daily:

Check Gary’s Guide every day to apply for “Programming” jobs in your region. If a company really interests you, it’s probably worth the time to go to the company’s web page and apply from there. I had a really good hit rate using Gary’s guide, so I definitely recommend adding it to your strategy!

LinkedIn Easy Apply — Apply to Jobs Daily:

Applying to jobs on LinkedIn had a much lower hit rate than the previous strategies, but I still landed the bulk of my interviews through it. How is this possible? Just by the sheer number of applications I sent through it! It’s helpful to note even though my current position came from networking, the interview practice I received from using this LinkedIn strategy was invaluable.

So how does the strategy work? Navigate to the LinkedIn Jobs tab, use the following search string(1), and your location:

(“software” OR “front End” OR “back End” OR “developer” OR Backend OR Frontend) NOT (Senior OR Sr. OR Intern)

After you search, use the “Date Posted” filter to show jobs posted in the “Past 24 hours”. This ensures the jobs you are applying for are fresh.

Now, for each page and for each job that has a LinkedIn Easy Apply indicator:

Open the job’s link in a separate tab using Cmd + Left Click (Mac) or Ctrl + Left Click (Windows). Once you’re done with a single page, your browser should look something like this:

You’ve got a ton of tabs open, now what? Go to last tab (far right) and apply! Click the Easy Apply button, enter your phone number, add your resume and submit the application. Applying to an Easy Apply job should take 5–10 seconds. After you submit, use Cmd + W (Mac) or Ctrl + W (Windows) to close the tab. When you have applied to all the jobs in the open tabs, navigate to the next page of job search results and repeat. You will be able to churn through applications like a real job hunting machine!

Want to increase your chances of being contacted?

  • Look for jobs with the Clock icon and the words “Be one of the first 10 applicants” (reference image above).
  • Have at least 1 recommendation on your LinkedIn profile. According to a former recruiter: “90% of the people who apply have ZERO RECOMMENDATIONS.”
  • If you have LinkedIn Premium Business, you will receive an extra feature for LinkedIn Easy Apply: “Move application to the top of the recruiters’ list”.

Interviewing

Now that you have a quick strategy for networking and job applications, you can use the bulk of your time on the job hunt for actual interview preparation.

Phone Screens

If you do these four things, you will have an extremely high chance of passing a phone screen for a position that you mostly qualify for:

  • Smile and try to relax, it makes a big difference!
  • Practice answering the “Tell me about yourself” question daily. Practice in front of the mirror, practice with your significant other, practice with your friends!
  • Practice answering “What do you know about this company/role?”
  • Ask relevant questions based on the role of the person interviewing you.

Technical / Onsite Interviews

If you are interviewing for a Junior Software Engineer position, I found the items below to be largely sufficient for preparing for most technical interviews.

  • Have a live working demo of the project you are most proud of on the Internet ready for when you interview! You should know everything about this project backwards and forwards so that you can confidently answer questions.
  • I think this article covers the level of technical depth that I saw for most of my technical/onsite interviews.
  • Leetcode is good practice but most of it was significantly harder than what I was actually asked in the vast majority of my interviews. If you are preparing for a Big 4 (Facebook, Google, Amazon, Microsoft) interview, understanding data structures/algorithms is extremely important but onsite interviews at most companies simply do not test for this level of knowledge!
  • This InterviewCake article also provides some great help on passing tech interviews.
  • Ask relevant questions based on the role of the person interviewing you.

Consistency is key on the job hunt. If you take this guide, change the steps based on what you find works for you, learn from rejections, and perform this process every weekday you will see results in your job search. The networking and job application steps described here really do only take 30–60 minutes out of your day and I found them to be the most efficient use of my time. Good luck in your job search!

References

This guide (and my job search!) has been largely influenced by posts made by Haseeb Qureshi and Caleb Jay: