Select a guide below:
How to get a job as a Software Engineer
We have worked with hundreds of software engineers on optimizing their job search to find the best possible job. With each success, we’ve realized that the job search is a winnable game and we wanted to share our data-backed steps with you.
If you are interested in the added benefit of mentoring and coaching from industry experts, join Pathrise.
Step 1: Learn the right skills
If you are looking to break into software engineering, you need to make sure you have the right skills so that your resume checks the boxes and impresses the recruiter. If you are not studying computer science in a school or bootcamp setting (or even if you are and you want extra learning opportunities), there are a lot of tools that you can use online.
Career Tracks at Springboard include technical 1-on-1 sessions, career coaching, and a job guarantee. They also offer prep courses for software engineering.
General Assembly is a bootcamp with on-campus and online options. They offer full-time, part-time, and 1-day courses.
Udacity is most well known for their nanodegree programs, which they offer in a variety of programming topics. They also have introductory and advanced courses.
Codecademy is an online educational tool with both free and paid resources. They offer different paths, which vary in topic and length.
freeCodeCamp offers certifications in a variety of topics like web design and data structures & algorithms, all for free.
Kenzie Academy has online and on-campus options for their software engineering program, which takes 12 months to complete.
For more options, we’ve compiled a list with an overview of each of these platforms, or you can click through for more in-depth information.
Step 2: Look good on paper
Once you have the skills down, you need to create a resume that is strong enough to impress the recruiters, who are often only looking for 6 seconds to start. When you are writing the content of your resume, it is important to keep in mind:
The impact of the work you did should be highlighted.
Quantifying your results is one of the best ways to showcase this.
Providing context to your statements increases recruiter interest .
To put this into perspective, here are some examples of revisions of resume experience bullet points or project descriptions in order to improve their strength:
Led development of a map app for the Google Mountain View campus, highlighting all entrances to each building, resulting in a 60% decrease in late attendees to meetings
Developed a map app for the Google campus
Developed a web app using Ruby on Rails and React that helped with operations management
Developed a web app using React to manage operations for an NGO that pairs refugees with host families and provides them with stability in their new homes
We’ve written a software engineering resume guide that you can review to ensure you are hitting the right points as well as a guide to optimizing your LinkedIn for success in your job search.
Step 3: Find the right opportunities
You can save time by narrowing down your search and only applying for positions that are right for you. We recommend that you ask yourself a few questions so you can get a sense of what you like before you dive into the job boards.
Am I happier in a big, well-established company or a small startup?
Do I like having a wide range of responsibilities or do I prefer to work on 1-2 main tasks?
Am I better working with others or alone?
We ranked and rated even more software engineering job boards that you can use based on your preferences.
Step 4: Follow up applications with cold emails
Just sending applications into online portals is not going to get results. But, adding a compelling cold email to each application can triple your response rate. So, how do you make that happen?
Find a recruiter, hiring manager, or senior team member from the company on LinkedIn
Use a free service like Clearbit or LeadFinder to get their email address
Write a compelling, concise, and personalized cold email
Sample Cold Email
I hope you’re doing well! My name is [your name] and I’m reaching out because I recently applied for the [position] position I saw on [platform] and noticed you are a [role] at [company].
While I am not sure if you are the right person to contact, I wanted to reach out to you specifically because I was interested in the work you are doing, specifically [something from their LinkedIn or something the company is working on]. I am a skilled developer who writes clean, people-friendly code and I believe I would hit the ground running and be a great fit for your team.
I would appreciate the opportunity to learn more about you and the company. Would you be free for a 15-minute call, either at [timeframe 1] or [timeframe 2]? In advance, I have attached my resume for your review. I really appreciate your consideration and look forward to hearing from you.
All the best,
Check out our guide to cold emailing, which includes even more tips on how to find recruiters' and hiring managers' emails.
Step 5: Practice for technical interviews
Practicing the right way for technical interviews can double your interview performance score. But how do you know what to practice and how do you know you are doing it correctly? You can find a lot of resources online to help you practice for your software engineering technical interviews.
Leetcode has over 1050 software engineer interview-type questions, among their 3 skill levels – easy, medium, and hard.
HackerRank questions are classified by skill level and language. HackerRank also has a variety of contests and a job board.
Interview Cake includes solution breakdowns and gotcha lists for each question. The questions are grouped by language, topic, and company.
Users can practice technical interviews with real engineers from tech companies like Google and Facebook. If they do well, they can move on in the hiring process.
AlgoExpert has 100 common data structures, algorithms, and problem-solving questions that span 14 categories and 5 difficulty levels.
Coderbyte hosts an online editor for software engineers to use as they solve coding challenges. They offer official solutions and user solutions.
If you are looking to practice specific topics, these are the ones to focus on for your software engineering interviews:
Binary search trees
We’ve compiled a list with an overview of each of these resources, or you can click through for more in-depth information.
Step 6: Research each company
Behavioral interviews not only require a good understanding of yourself but also the company. Beyond the classic strategy of taking a look at Glassdoor, there are a few key pages that you're going to want to read on the company website.
The About Page
This is where you can learn about the company mission, history, the solutions that they are using to accomplish their mission, and their goals for the future. When you are preparing your elevator pitch, include how you fit into their mission as your conclusion.
The Jobs/Career Page
This is a great place to find information about what kinds of candidates they want and the qualities that go into successful candidates at this company. Now that you know what they want, you can add that to your answers and show them that you are a strong candidate.
The Culture Page
Sometimes these pages are called Culture or Life at Company Name, like Life at Stripe, but you can usually find them easily. This is a great place to learn the company values, which you can insert into your responses so they know you fit in with the culture. Some companies, like Amazon and Netflix, will even ask you about the values, so it is extremely important that you are informed.
We compiled data on 200+ tech companies that you can review as you prepare for your interviews, including not only the information above, but also interview questions and insider knowledge on interview processes:
Step 7: Prepare for behavioral interviews
After you have researched the company, you can add that information into your behavioral interview responses to make them personalized and ensure the culture fit.
To start, prepare your elevator pitch. Start with this structure and modify as you see fit:
1: Education or Expertise
This gets the ball rolling and lets the recruiter know what type of positions are a good fit.
Introduce yourself, your major, and your graduation year. For more experienced folks, start with a general description of your area of expertise.
Talk about the past work that you have done in previous positions, internships or even volunteer or extracurricular organizations and activities.
This is the critical part of your pitch. It shows the breadth of work that you've been able to accomplish.
If you don’t have much experience, or if you have especially impressive personal work, projects can impress the recruiter.
Optionally, supplement your elevator pitch be mentioning 1 or 2 personal or professional projects. Any side hustles will show initiative and capability.
End with a preview of your response to “why this company” by adding how you fit with their mission.
This lets you end in a strong way and connects you to the company. It makes them understand that you're interested in this job for more than just the paycheck.
You should also prepare for your behavioral interviews the same way you would your technical interviews. Practice the types of questions you will see by writing down responses and saying them out loud to yourself in a mirror or to a friend. You want to sound polished, but not rehearsed or memorized. Here are some examples of popular questions from tech companies:
Talk about a time where you had to make a decision in a lot of ambiguity.
Describe a situation where you had to lead a group that had difficulties. How did you handle it?
What would you do if you don’t know the solution for a certain problem and nobody can help at the moment?
For more questions from real tech companies, check out our list of 45+ behavioral interview questions.
Step 8: Know your worth and negotiate
With negotiation, the most reliable way to get results is if you stay quiet throughout the whole process. Never mention a number or even a range because if you do, you might end up pigeon-holed. If you are faced with these gotcha questions, try deflecting with these responses:
Q: What are your salary expectations?
“You know, I haven’t fully considered that yet, I’m just really excited about this company right now and am really focused on these and other interviews.”
Q: Do you have a minimum salary requirement?
“At the very lowest, my livable minimum to just be financially sustainable is $80,000 and outside of that I'm willing to be flexible. However that is just a logistical minimum, I would hope the salary would be justified based on my performance and value.”
The average compensation for new grad software engineers
When you do finally receive an offer, make sure you take a deep breath and get off the phone. We suggest negotiating over email because it lets you take your time so you don’t get flustered. You can see examples of collaborative statements and an annotated negotiation email template in our guide to negotiation.
Looking for more? Pathrise can help
With the above steps and resources, alongside 1-on-1 support from their mentor and coach, job-seekers in Pathrise see great results. There's a ton more information and tactics that you can utilize to succeed as a job-seeker today, and our fellows benefit a lot from them.