Something that has made me really happy about the tech industry is that it’s becoming more and more centered around actually building projects instead of writing raw code that’s very disconnected from the real world. Back when I was at UCLA 7+ years ago, we were mainly writing small programs and scripts that ran in isolation from the command line. Things are a lot different now, both at universities and bootcamps. Students will actually build projects that can be deployed and shared, things that people can see and feel.
But here’s the problem: Almost all personal software projects are terrible. If you’re a junior developer, you might be experiencing the pain of this first-hand as you’re wondering why no company will hire you despite the 2–3 entire functional projects on your resume. The job posting wants X and you have built a couple working apps or websites that use X, why aren’t you getting the job?
The reason this happens is because there’s a huge gap between an impressive, meaningful software project and a functional one. 8–10 years ago, just getting something up and running on a public deployment that anyone can try was quite impressive. Nowadays, it’s meaningless as anyone can do it. The goal of this article is to help you bridge that gap by teaching you how to build software projects that actually have a chance of getting an employer’s attention. Let’s get into it!
Step 0: Truly Understand The Objective
This is the first time I will have a Step 0 in a guide, because the goal of building personal software projects for traditional purposes (i.e. learning and job-seeking) is almost always misunderstood. Here are the main incorrect ways that people build software projects, which I see with 90%+ of projects:
- Build something massive and sprawling - The idea here is that bigger is better and more impressive to recruiters. The problem is that it’s still quite easy to just spit out a lot of code due to all the resources online nowadays, and you’re just going to end up with something of very low quality that you probably won’t ever launch.
- Build something with a “complex” or “modern” technology - There is a huge perception that the top companies use the latest technologies…