How to Land your First Dev Job
According to the Bureau of Labor Statistics, the software developer field is projected to grow a whopping 24% over the next 10 years. With numbers like that, it would be easy to assume landing an entry-level job would be a cinch. That, unfortunately, is not always the case. Never fear, we've got you covered.
We're going to cover four critical concepts to make your software development future a reality: Git technology, open source contribution, certifications, and core concept reinforcement.
First though, let's quickly discuss why these skills are necessary. To do so, we'll need to put the shoe on the other foot and talk about what a hiring manager wants from a new employee — and that is ramp-up time reduction.
When trying to land your first developer job, your resume should show the hiring manager you can jump right in and require as little ramp-up time as possible. Whenever a new developer is brought to a team, a certain amount of time is dedicated to familiarizing them with the company and its systems.
For instance, the new dev will need to know where documents are stored, how the code base functions, and how meetings are conducted. The list goes on. This period for a team member to fully integrate is called ramp-up time. During ramp-up time, the developer will provide minimal business value, because they are just learning.
That said, a question a hiring manager may ask him or herself is, "What developer from this pile of resumes will take the least amount of time to ramp up?" The onus is on the developer to prove they will take a minimal amount of time to be trained. One great way to prove that is by having Git on your resume.
Understand Git Thoroughly
If you don't know how to use Git, start learning it now. A green developer who has Git on their resume is a huge win. Generally, it is a very difficult concept for new developers to grasp. Yet, it is an esoteric version control system used by nearly every major industry.
Teaching a new developer the ins and outs of its workings is guaranteed to suck up a significant amount of time. However, a new developer who already understands all of that is a boon to any company and development team. This can save a lot of time on training and merge conflict resolutions. Here are a couple of tips to make sure that your resume is on the right track with respect to Git.
The best way to gain experience in Git is to create a GitHub account. Then, link that account to all of your personal projects. In addition to just using Git, it is highly recommended to have a firm grasp of all its commands. Concepts such as git commands like add, commit, merge, pull, push, and master branch should be second nature.
Once that solid foundation is established, it is vital that basic questions can be answered about all the aforementioned commands. For example, if a prospective employer asked, "How would you resolve a merge conflict?" Or "What is the difference between a merge and a rebase?" then the answer should come instantly. Any hiring manager would be very, very impressed if a fledgling dev is able to answer these questions confidently.
Lastly, make sure that Git is mentioned explicitly on your resume. Add a concrete example of how you have used Git in the past. Don't simply put the word "Git" in your list of known technologies, it's too important for that. If you have used Git to collaborate on a project, even better.
Now that you're a Git ninja, let's show how that knowledge can be put to practical use by contributing to open source projects.
Contribute To Open Source
There is no better way to stand out from the crowd than to have open source contributions on your resume. According to stackoverflow.com, over 60% of developers contribute to open source less than once a year or not at all. With that in mind, contributing to open source could help separate the good developers from the great developers. Open source contribution efforts will show hiring managers that you are passionate, focused, and ambitious. Not only that, the collaboration will hone your Git skills and enforce great coding habits.
If you have never contributed to open source, that is perfectly okay — for now. Start by visiting firsttimersonly.com. Once you have gotten the hang of committing code and pushing it to GitHub, start pursuing projects that need a contribution. It may be nerve-wracking at first, but the experience is invaluable.
If a brand new dev demonstrated a great understanding of Git and contributed to open source, a hiring manager would already be picking up the phone. However there is still more that can be done to bolster your resume.
Earn the Right Certifications
Obtaining a certification is a fantastic way to get a leg up in a specific field of expertise, and subsequently landing a dev job. However, it is important to remember that the certification has to pertain to the specific job being applied for. Earning CompTIA Network+ is great, but it probably won't help you land a job as a software developer. (That is not to say a Network+ is not worth it in its own right.)
To figure out which certificate to earn, do some research into the direction the industry is going, and see if there is a certification to test your competency. One technology being thrown around a lot is "cloud." The cloud is the way of the future, and an entry-level developer who has either the Microsoft Azure, Google Cloud, or AWS Certification would wind up at the top of the list. Right now, AWS has nearly 50% of the market share. Purely as a numbers game, it may be best to get an AWS Cloud Practitioner certification. Any company looking to hire a new cloud developer would be impressed by that certification — it would greatly reduce your ramp-up time, which is the key here.
Practice, Practice, Practice
Every company in this day and age will test your coding skills with some exam, so it is critical to practice all the coding foundations: arrays, binary search trees, sorting, the works. These tests serve as a gatekeeper to weed out the competent from the incompetent.
Or so it would seem. In reality, a perfectly good software developer can have a disastrous test if they are not prepared for it. In other words, there is no reason to feel ashamed for failing a software entry test — it happens to people all the time.
Once released from worry, it can be an excellent time to flex your skills. As an entry-level developer, one great way to study for these is to get very familiar with the syntax of one language. Generally, the company will allow the developer to use any language they want, unless the application is very specific about needing to know one particular language.
By the time you are thoroughly familiar with its syntax, start solving problems on hackerrank.com. Hacker Rank even has a specific Interview Preparation Kit that goes through the most common questions asked by companies.
The second recommendation for coding tests is to read the book Cracking the Coding Interview by Gayle Laakmann McDowell. This book will teach everything from array manipulation, to creating a linked list from scratch, to binary tree traversal.
An entire article could be written on how to pass coding tests, but these two recommendations should be an excellent way to get started. Lastly, it is important not only to solve the test questions well, but to be able to do so in a clean and concise manner.
For instance, make sure the variable and function names are concise. Never call a variable "x" or a new function "func." Give it a name relevant to the problem at hand. Admittedly, these things are not as important for a new developer as they would be for a seasoned developer, but it would certainly give you bonus points in the hiring process.
Earning your first software developer job is no easy feat, so it may be worth reviewing the four concepts covered in this article: understanding Git shows ambition; contributing to open source is evidence of passion; earning relevant certification conveys a desire to stay up-to-date; and practicing coding problems is proof of a solid foundation.
A developer who showcases these qualities on their resume should be in demand anywhere. By following these four guidelines, you will be on track to earning a dream job at a company of your choice.