I honestly feel that the tech industry has done a disservice to aspiring developers by painting a picture of a utopian world where companies are just handing out jobs to anyone with credentials. Unfortunately, the industry isn’t Oprah sitting on a stage shouting, “YOU GET A JOB, YOU GET A JOB, EVERYBODY GETS A JOB!” to anyone that walks through the door that has graduated from a bootcamp or taught themselves to code. I’m sure if you’re reading this article, you’ve already discovered that it is not that simple — it is often incredibly difficult to land your first job in tech. Some of you may even be months or years into your job search and thought about giving up. However, the fact that it may be difficult to land your first job should NOT discourage you from entering the industry if it is what you really want to do.
In this article, I’m going to discuss a few simple steps that, from my experiences in helping others land their first job, have helped break down the barriers to entry and get you through the door. There is no guarantee these tips will work for you — every developer’s journey is different, so consider how you can customize this to fit your own experiences. I’m primarily writing this from a frontend developer perspective, so not all of this may be applicable to other areas of technology, but hopefully could be adapted to be relevant.
Your first job will be the hardest, but all the hard work and effort you’ve put in will be worth it in the end.
The two keys to success
When I mention the two keys, many of you will likely dismiss them instantly as something you’ve already heard and tried and stop reading here. However, I think if you dig into the details, you will find some of the information new and valuable.
- The first key to success is networking — early. Many developers wait until they start their job search to start networking, but the sooner the better!
- The second key to success is to build a portfolio that cannot be ignored. A strong portfolio is capable of landing you a job for which you never even applied!
I break down both of these into more detail below with practical tips and actionable items you can start taking today!
Key #1: Network — early!
I’ve encountered many aspiring developers who reached out to me because they were applying to jobs with no luck and wanted to try a different approach with networking. Networking should not be an afterthought that comes when all else fails. Networking is one of the most powerful tools you can use to find your first job, so you should be networking early.
In other words, you shouldn’t wait until you’re already in your job hunt to start networking. Once you’re committed to becoming a developer, you should start building your network within the industry. Any connection you make could be the one that ultimately helps you get a job, so don’t overlook any person or company.
Here a few tips to grow your network:
- When you’re starting out, building your network doesn’t have to consist of reaching directly out to anyone in particular. It could be as simple as following other developers on social media or using hashtags such as
#100DaysOfCode
in your development-related posts to connect with others on a similar journey. - Join virtual webinars, hackathons, conferences, etc.
- As with many topics, the age-old adage of “quality of over quantity” applies to networking as well. You don’t need to go crazy following and subscribing to everything that comes your way. I’m not trying to promote any person, group, or webinar in this article, so I’m going to avoid mentioning any specific one, but do some research about what others have had success with in the past — the info is out there!
- Remember to be active within your network, too! Commenting on posts, answering questions, and other small tasks really do add up in the end.
If you interact with others throughout your journey you will be surprised at how large your network has become by the time you are ready to apply for your job. Lean into that network to support and guide you as you continue your search.
Key #2: Build a portfolio that cannot be ignored
The problem with many new developer’s portfolios is they are rarely unique. They are comprised of applications that are the resulting products of bootcamps, courses, tutorials, and other online resources. These include apps like to-do lists, YouTube searches, weather applications, etc. There is absolutely nothing wrong with any of these apps — in fact, those are where the vast majority of developers started! I’m sure many developers have landed jobs with their portfolio being comprised of these apps, but I firmly believe standing out is much more effective.
So, how can you make your portfolio stand out? Here are a few tips:
Take something existing and make it your own
Here are a few ways to take existing applications from those online resources and make them your own:
- Refactor — Consider refactoring the app. Maybe it was a React tutorial that used class-based components that you can refactor to use hooks instead.
- Improve — Ask yourself, is there anything you could improve about the app. Maybe the author even mentioned something they would have done differently!
- Style — Many of the apps focus more on functionality than styles, so you can test your styling skills by improving the design of the application.
Build something that solves a real problem
Think of something important to you — a hobby, a social issue, etc. — then, think of a way you could build an app centered around it to make the lives of those participating easier. These portfolio items are some of the most difficult to come up with an idea for, but typically are the ones that stand out the most because no one else applying will have anything that resembles it.
Remember, these don’t have to be revolutionary ideas, but who knows, your problem-solving application may even turn into a startup!
Revise your portfolio items as you learn
Your portfolio is a constant work in progress. Whether you’re still looking for a job or you’ve already landed one, your portfolio should be a living work that you use to continue learning and growing. Here are some ways to revise your portfolio items:
- If you’ve learned a new skill, put it to practice by implementing it where applicable. Maybe you just took a course on TypeScript or Unit Testing — go back and implement it in your apps!
- Version control apps like GitHub often have security updates for outdated dependencies, update the packages!
- Remember to update your repository’s readme where necessary any time you make an update to it.
Improve your portfolio descriptions
When a hiring manager or someone else reviews your portfolio, they shouldn’t have to hunt for the information that they need. I often see repository descriptions that have nothing more than start-up instructions — sometimes not even that!
Everyone has a different definition of what a good readme should contain, but since your portfolio is an extension of your resume, I recommend including the following:
- A brief summary — what is the application designed to do and any instructions the user may need to perform a task.
- What you focused on — a bulleted list for this can go a long way. Jot down why you made that application. What skills were you working on while you built it?
- Screenshots — this is especially important if the application is not live anywhere, but I’d recommend including them whether the application is hosted or not.
- What would you improve — including a list of enhancements you would make can serve two purposes. It gives you a list of actionable items to come back to, and it gives the reviewer some context into your thought process.
- Set up instructions — don’t assume that the user knows how to start your application. Always include this information!
- Links — if your app is hosted somewhere, make sure you link to it.
Not all of these will be applicable for every repository, but it provides a solid foundation to give the reviewer a lot of context in a very short amount of time.
It’s not all about applications
While applications are probably the most common portfolio items, there are several other great items to consider putting on your resume:
- Write an article — you may think because you’re still looking for your first job you have nothing to write about or offer, but you’re dead wrong. Everyone can teach others regardless of their level of experience. Write articles about your experiences, what you’ve learned, etc. Share these within your network, too.
- Contribute to open source — while this is one of the most daunting tasks for a new developer, open source contributions look great on a resume and give back to the tools we use every day. The contribution doesn’t need to be anything major like a new feature, either, it can be something as simple as a documentation update. Check popular repositories for the “Good first issue” label!
- Publish your own package — this is partially related to contributing to open source, but you can publish your own package to be used by others. As with many topics I’ve mentioned, this package doesn’t need to be anything complicated. One of the most downloaded packages of all time is
is-url
which is a single function that determines if a string is a URL! - Mentor — once again, just because you’re still looking for a job doesn’t mean you can’t mentor and teach others. Research some mentoring groups and try to help others level up their skills.
Quality over quantity
This may seem like an obvious tip, but I have seen portfolios consisting of dozens of items. Hiring managers often have to sift through hundreds of applications, so they don’t have the time to dig into that many of your items. Put your best foot forward and select a few of your best works to list on your resume. These are the items you should focus on improving to make them stand out.
Hopefully, if you’ve made it to the end here, you’ve found something of value within this article. If you’re still searching, hang in there, your time will come!
Comment below if you need help with anything I described above or with any tips you’ve found effective in your job search!