In this article, I will share the steps you should take to increase your chances of getting an interview as a software developer.
Whether you are just starting out, or looking for something new, I am confident that you will find value in what I share below.
I'll be sharing other interview insights in future articles, as well. So look out for them over the coming weeks.
Alright, let’s get started!
This might sound strange, but I think it is a question that is often overlooked.
Due to the eclectic nature of our industry, it is common to just apply to any kind of job.
This is tricky because, on the one hand, you want interviews and experience with different technologies. But I have found that answering a few questions can put you ahead in your search. So what are those questions?
What kind of developer do you want to be?
If you are looking for your first job, this might be the hardest question you have to answer.
Although this might seem overly simplified, I do think it is most important to pick a niche of software that makes you happy. After all, you are the one that will be doing this work 40 hours a week, right?
If you are brand new to software development and are not sure what you like best, I suggest browsing Free Code Camp, Code Academy, Treehouse, or Udemy. Then take a course that sounds interesting to you.
It is easy to get caught in a state of limbo when you are not sure what to do next. My advice is when that happens is to just pick something and try it.
What kind of company do you want to work for?
This might be another tricky question to answer; however, it can really save you lots of headaches down the road.
In software development, there are typically three types of companies:
Startups typically have under 500 employees, are less than 5 years old, and embrace a fast-paced environment.
- You will play a large role in the problems that your company is trying to solve
- You'll work with cutting edge technology in the industry
- There will be lots of opportunities to learn from senior developers
- You'll be responsible for (you'll “own”) more pieces of the codebase
- Processes such as code review and a team code style might not be established
- You might have to quickly throw out code you contributed to because the team is trying out other ideas
A mid-sized company will typically have 500–5,000 employees and be at least 5 years old.
- There's a high chance that the company will be profitable (job security)
- There will be more onboarding resources and documentation
- You'll have solidified planning strategies and clear goals for each quarter
- More processes can mean more meetings and less time spent coding
- A larger team can mean less individual input/direction of a project
- It can be harder to adopt newer technologies due to legacy applications, and so on
Large corporations typically have 5,000+ employees and are over 10 years old.
- They usually have the resources to pay higher salaries
- Traditionally there's a more vetted process to get hired; therefore, lots of opportunity to learn from team members
- Stock options (you benefit when your company benefits)
- It tends to feel like you are a small fish in a large pond (contributions are not as tangible)
- Career advancement (i.e. promotions, switching teams) can be a long-winded process
- It's often harder to bond as a team if globally distributed
All of these factors are good things to keep in mind when you're looking to switch companies or if you are looking to join your first company.
A lot of resources have surfaced over the last 5–10 years that help folks get an “inside view” into a company’s interview process, culture, and salaries. A few that are particularly useful are:
- Glassdoor: Employee reviews, interview experiences, and common salaries
- Blind: Anonymous employee reviews, interview experiences, common salaries, and employee referrals
- Levels.fyi: Title hierarchy, title comparisons to other companies, and common salaries
I like to think that everyone on the job hunt has a personal billboard that they carry around with them. You can write on it, or decorate it however you like. That billboard is your résumé.
What you decide to put on your personal billboard will greatly affect your chances of getting an interview or not. So here are some things to keep in mind when writing a résumé:
- Keep it short (1 page, 2 pages if you have 10+ years of experience)
- Tailor your resume to the job you want
- If past technology is not applicable, try to make it applicable or leave it out
- Write 3-5 bullet points for each job
- Make your contributions impactful by using metrics (Wrote a function that processed 10,000k data points, Cut down on processing time by 60%)
Keep in mind, a recruiter or HR representative will only spend 10-15 seconds scanning your resume, you do not have much time. You want to make sure you include details that will help illustrate that you can help this company.
With that being said, a few things you might want to leave out are:
- A personal photo
- Instead: Make your name and the position you want catch the eye
- Graph representations of skill level
- Instead: Try replacing with a list of technologies sorted, starting with the highest comfort level
- Or: List your skills in alphabetical order and make skills you are best at bold
- Listing jobs that are not relevant to the career field
- Instead: Use that space to expand on the experience you have in the software industry, if you don't have much experience yet, this is a great place to expand on a project(s) you have worked on
Another great way to determine if your résumé conveys what you would like it to is to have a friend read it for 15 seconds.
After that time is up, take the résumé and have them tell you what they remembered from it. This can be a company name, skill, or contact information.
This is a great trial run to determine what grabs a person’s eye when they scan your résumé.
Here are some helpful tools to improve your résumé:
"By failing to prepare you are preparing to fail" - Benjamin Franklin
Let’s just face it: the job hunt is an exhausting and grueling affair for most. I have found that the best way to approach the job search is to have two important things before you start:
- Goals (daily and weekly)
- A plan of action (daily and weekly)
Let's talk about how you can establish both.
I know what you are thinking, ummm, my goal is to get a new job? Of course this is the end goal; however, in my experience, spending the time to determine what your goals are early is a great way to feel productive and confident.
The reason I broke down these goals into two categories is that it is important to feel like you are being productive every day, even if you are not getting emails or calls back.
Some examples I have used in the past for daily and weekly goals are:
- Submit 10 applications
- Spend 30 minutes on a side project
- Schedule a phone interview
- Spend 2 hours on technical interview prep
These might seem overly simplified and, you're right! That is the idea. You want to make sure you make your daily and weekly goals something that is easily measurable, and sustainable.
So far we have talked about the importance of determining your ideal role, refining your resume, and setting a schedule for yourself. To ensure that these tasks are not wasted effort, you want to make sure you are making the most of your time.
What do I mean by that? Think of the old sayings Set yourself up for success or Put the right foot forward. Basically, you want to make sure you are equally balanced in your journey to getting more interviews and being successful at them.
Besides doing the items mentioned above, a few others that can carry great importance are:
- Practice what you're learning (and what you already know)
- Work on side projects
- Develop an online presence
Out of all the things I mention in this post, this one should come as the least of a surprise.
To get better at coding, problem-solving, interviewing, or underwater basket weaving you have to practice, A LOT. There is no getting around this step. I, like many, have fell victim to a cycle of planning too much, taking too many tutorials, or telling myself I'll start tomorrow.
For me, this was, and still is the hardest part about preparing for interviews, or quite honestly just being in this industry in general. Things move really quickly, and no one wants to feel like they are falling behind.
But, tech is a mentally draining profession. It is more than understandable that the thought of practicing coding interview questions in any capacity is exhausting.
I have some good news though. When you think about practicing, try to think of your current skills as water in a bucket.
All experiences, good or bad, frustrating or rewarding, fill this bucket up and make you a stronger developer every day.
I think a great way to get into the habit of practicing writing code is to give yourself a goal per week. Remember, the ultimate goal is to practice and stay consistent, so avoid setting the bar at an unrealistic level for yourself. All this will do is make you feel bad on days you just don't feel like coding.
Remember, you are the only person like you. There will never be anyone else like you, and that is awesome. So be nice to yourself, this stuff is hard.
If you make a habit to practice just a little bit, each time that bucket will fill up and you will surprise yourself after just a few weeks of staying consistent. You got this!
Here are some helpful tools to get you in the habit of practicing consistently:
This is something else that I am sure you have heard a million times, but I do think these can really help you not only stand out as a candidate but help you stay engaged on days you don't feel like practicing your coding skills.
In my experience, it has been easier to get started when you can think of answers to both of these two questions:
- What tech do I want to learn or get better at?
- What is a product I really like, or I wish existed?
With the answer to these two questions, you have a framework for your project! Do you like the new look of Twitter? Pick a feature and try to recreate the look and feel of it! Can't find a habit tracker app you like? Try building one yourself!
If you would prefer to contribute to a project that is already established, that’s great as well. This can be a daunting task if it is your first time. But there is a great website that lists tons of projects on Github that are looking for first-time contributors. So check it out.
Here are some other helpful tools:
- "12 Great Ideas for Programming Projects That People Will Use" By Filipe Silva
- "app-ideas" By Florin Pop
I like to think of the web as another place that allows us to have our own "personal billboard". There are many advantages to having a solid presence online, some of them include:
- Networking/meeting other developers
- Showing off projects
- Potential interest from other companies
Putting in the extra effort to make your online presence solid can take you a long way, and the ways you can achieve this are relatively straightforward. Here are a few things I suggest you do:
This does not have to be an extravagant, complicated website if you do not want it to be. As long as it has contact information, links to your various profiles, and a blurb about yourself you should be good-to-go.
This can be a great place to showcase your technical skills or talk about your passions and work history too.
A lot of common websites developers use (Github, LinkedIn, Medium, Dev.to, Twitter, etc) allow you to change your URL, I suggest you make it your user name. I would also suggest to try and use the same name for each website.
If you are not interested in building projects and would prefer writing, this is a great way to show your skills and build an audience.
Ideally you want to use a photo that is professional, but lets your personality shine through as well. Once you find one, try to use that same photo across your websites as well.
This is certainly not a requirement; however, if you want to leverage social media as a platform for your development, I suggest you post about things you learn and try to engage your audience often.
Finding the balance of letting your personality show while also adding value via sharing your knowledge can be tricky, but your followers will appreciate it!
Whether you are new to the field and are looking for your first job, or you are an experienced developer looking for a new challenge, I hope these insights help.
The job hunt can be a daunting, exhausting process. But remember, it is a marathon, not a race. You got this. Consistency is key. Every rejection is an opportunity to improve your skills for the job you were meant for.
If you are struggling with any aspect of the job hunt, please feel free to send me an email.
If you enjoyed this blog, please keep a lookout for the next entry in the Interview Insights series. My next article will be focused on preparing for technical interviews, look for that in 2 weeks. Thank you for reading!