As the founder of Boot.dev, a game-like computer science learning curriculum, I've been able to get front-row seats to the job-searches of many entry-level developers. Let's chat about some of the most common mistakes new developers make when looking for their first job. I don't want you following in their footsteps when you can take a clever shortcut!
#1 - An incomplete Github profile
Without job experience, your Github profile, and more importantly the work you showcase there, are the most important things in your job-search toolbelt. I have an entire article devoted to building a great Github profile, but let me lay out just a few key points here.
Fill out your entire Github profile!
It's not a great look when your username is an old gamertag from 2011 and you have no profile picture. Add a bio, create a profile Readme.md, and just make it look nice and professional.
Good projects > more projects
You only need 2 or 3 really great repositories, don't build a bunch of crap projects that you won't have the time to maintain. An employer is only going to take the time to poke through a couple of projects anyways - make sure they're good, and pin them to the top of your profile.
Your heatmap should look full. Spend at least 30 minutes each day working on your projects
Make your embarrassing projects private
If you have stuff that's just for you, that's totally cool, but hide it! You don't want people you are trying to see your best work poking through old schoolwork.
#2 - A run-of-the-mill resume
Your resume should make you stand out. Employers are sifting through hundreds of resumes, make yours a little different. Please add some color, black on white is so boring and will make your resume identical at a glance to 90% of other resumes.
I have a whole post with some great example resumes, so be sure to check those out. That said, here are the key points:
- Spell and grammar check!
- Use color
- Avoid vague wording like "I'm a hard worker". Get specific and tell your story!
- Keep it short and sweet
- Tailor your resume to the job you're applying to
#3 - Going too broad
I've seen entry-level developers applying for React positions, full-stack Django positions, and backend DevOps positions all at once! Perhaps counterintuitively, being open to any kind of role will actually make it harder to find a job. Pick a more specific job description that fits your skills and what you're interested, then only apply to those roles.
For example, if you can decide you want to be a backend developer that writes Python and Go, all of a sudden it becomes really clear what skills you need to continue to develop. In that scenario, you would spend most of your time building Go and Python projects, and trying to become familiar with relevant technologies like PostgresQL, Mongo, RabbitMQ, and Kubernetes.
#4 - Ignoring computer science fundamentals
While I agree that you don't need a CS degree to become a successful developer, I think that a CS education will absolutely set you apart from 80% of entry-level candidates. You don't need to go to university to get a CS education. You can learn all you need online! My curriculum, Boot.dev is one such place you can learn online inexpensively.
#5 - Being "done" learning
You are never done learning as a developer.
When you finish school, a course, or a project, it doesn't mean you're "done". While on the job search you should still be building projects, taking courses, reading articles, or whatever else it is that you do to learn. In fact, being on the job search will create a feedback loop that informs you what you should be learning next. Use rejection to find your blindspots.
#6 - Creating low-effort content
I've heard people parroting the advice that you should be blogging as a developer to brand yourself as a "thought leader". I do think that blogging is a great hobby to have as a developer, but you should only be doing it if you have something you're passionate about saying. Don't create low-effort content because someone on the internet told you it would help.
Like with projects, having a couple really interesting technical articles is much better than ten boring ones. In fact, poor writing can hurt your image, so if you're going to write, spend some time making it great!
#7 - Not building a T-shaped skill set
By my observation, T-shaped developers tend to be the most successful. The vertical bar on the letter “T” represents depth of knowledge, while the horizontal bar represents breadth.
Once you decide the kind of developer you want to be (for example, a front-end Vue.js developer, a back-end Go developer, or a Unity game developer), you can start work on your "T shape". Spend 80% of your time building skills directly relevant to the work you want to do, and spend 20% of your time familiarizing yourself with a broad spectrum of interesting tools, technologies, and programming concepts.
#8 - Freelancing out of fear
I'm convinced freelancing is not easier than finding a full-time job for most people. If you're worried that you won't be able to land a full-time job because you don't think you do well in interviews, you'll almost certainly have a harder time marketing and selling your services to companies. Having a full-time job where you work with other experienced developers also offers valuable mentorship that you won't get on your own.