The Best Project Idea for Your JavaScript Portfolio

Shaquil Hansford
8 min readJan 27, 2021

Stop making toys, and start making work that will show employers you’re ready for a full-time job.

picture by geralt from pixabay

Two years ago, a user on reddit.com posted, I feel like I’ve been lied to about this industry.”

The lie they had believed was that studying web technologies and building small widgets was all it would take to get a job as a web developer.

While the reddit comments are harsh on the user, with some pointing out that despite two years of study he had no major projects to show for his time coding, I think some empathy and sympathy are in order. There is a level of dishonesty in the conversations around the software engineering world. There are lots of dazzling anecdotes about nerdy guys with no degrees, no prior work experience and no references ending up with $40k, $60k or even upwards of $100k per year salaries out of nowhere.

And while $40k may seem low to many in the middle class, for a degree-less minimum wage worker, that’s a more than 100% pay raise for what is unarguably better and less strenuous labor.

So, sign me up, right? Hell, if it’s that easy, why wouldn’t you do it?

Well, sorry, but it isn’t that easy.

photo by lukasbieri at pixabay.com

What do you have to offer?

One of the problems many of the redditors mentioned about the above user’s resume was the lack of major projects, and I think this stems from a problem many new devs have. There seems to be a tendency to believe that any functioning, isolated piece of code is a project — that your single-page app for listing what time it is in every time zone on earth is something that might earn you a job.

It’s certainly possible that such basic code samples could land you a job, but most likely, if you have no degree, no prior experience and no references within the company, there won’t be enough there to justify hiring you over someone with even slightly stronger credentials.

Think of it from the employer’s perspective.

You, as the employer, want predictability. Every employee you hire requires an investment of money, time that your experienced employees will spend training them, and lost opportunities to hire other, potentially better employees. You are taking a risk bringing this new person on, and you want to feel as secure as possible in your choice. Unless you or someone of value in the company knows this person, you have literally no reason to pour assets into cultivating them without proof that they’ll stick around until you get a return on that initial investment.

In today’s world, employees do not sit at companies for decades like they did in the baby boomer years. People are anxious and easily bored, and want their lives to be interesting. They want diversity.

You know that people of today move quickly from one thing to another, so you’re worried you’ll spend three months training this new person, only for them to quit when they realize how boring real work is. You want some kind of evidence that they can carry through on something, even when it gets monotonous, tedious and unattractive.

A degree is a very standard way to prove that. This is a large reason why you, as an employer, prefer people with degrees most for entry-level positions. They finished school, even with all the pointless, unrelated classes they were forced to take; bonus points if they had a good GPA at a reputable institution.

What proof can a person without a degree offer to show that they’re dedicated, skilled and risk-free?

Projects. Real projects.

picture by Tumisu at pixabay

You need projects.

A project is any significant undertaking in a given creative discipline. A project will have an overarching goal and unifying theme, which typically demands as much of a creator’s attention as they can possibly offer. Projects are not typically completed in short periods of time, like a weekend or a week, though they can be. Most important of all, projects are not mere examples of work, but actual achievements. Things to be proud of.

Getting back to our hypothetical example of the employer trying to minimize risk with his new hire, let’s think about the downsides of choosing an applicant who has a degree. Though it can feel like a computer science degree is basically a cheat code, and our only hope of getting a job without one is that we happen to catch an employer in a good mood, the truth is a CS degree can be a hindrance.

After all, businesses are built around real-world solutions to real-world problems. These solutions typically require experience and knowledge just as much as reasoning skills and dedication. Though a CS degree demonstrates some level of aptitude for the theory of software engineering, and proves dedication to the field, it’s often a sign of a person who has very little real-world knowledge.

You’d be shocked how many CS grads don’t really know what an API is, or don’t know exactly what NodeJS does. Expecting them to jump into even the most junior of dev roles without extensive training is unrealistic.

This is where your advantage comes in. While they’ve spent 4 years learning Big O Notation, data structures and polymorphism (all extremely important concepts), you’ll have spent that last few months or year working with the exact same tech stack employers expect you to be using. You require much less training to get started, and therefore pose a lot less risk as an investment.

The only problem is, you still might be a bit flaky… oh, and there’s no way to know that you’re actually ready to join a company and get working.

That’s where projects come in. You show up to the interview with a major project in hand, and you’ll have proof that not only can you stick with something for longer than a couple weeks, but you also are demonstrably skilled in the exact tech stack that their team works in.

But this will not be easy. This will not be something that you can just throw together by following a tutorial from beginning to end. Instead, you’ll be piecing together information on your own, jumping from various tutorials, blog posts and stackoverflow threads. This will tax you, and put a strain on your free time and personal relationships.

But it will get you a job.

So what’s the best project idea for your portfolio?

free photo from pixabay.com

What is your favorite small tool on the web?

By small, I don’t mean some widget or browser plugin; I mean small in company size — as in, it’s not a billion dollar enterprise.

If it’s hard to come up with something, there are three categories in which we usually find tools to get attached to: Our hobbies, our social interactions and our pastimes.

My hobby is writing, and the two most important tools for that are Evernote and Scrivener. Evernote has a major web component, but Scrivener is a desktop app. My social interactions with the web generally revolve around chatting and voice calling in Discord and Telegram, so my favorite tool is Watch2Gether, a website that lets you synchronize youtube videos to watch with friends. My pastime is listening to audiobooks, so I love Amazon’s Audible app.

Based on my own answers to these questions, I have a long list of potential project ideas:

  • A Watch2Gether clone
  • An Audible clone
  • A Discord or Telegram clone
  • A Scrivener or Evernote clone

Alternatively, I can put two of these ideas together: What if one app gave you the customizability and ease of use of Scrivener, with the automated cloud backup features of Evernote? What if you had a messaging and calling app like Telegram with synchronized video playback like Watch2Gether?

These of course sound like major time investments, and that’s because they are. They’re supposed to be. They’re real projects.

But before you discourage yourself, do remember that this is ultimately for the purpose of getting a job, so you wouldn’t actually have to build these apps out to be as performant as what they’re copying.

Your messaging app does not have to be competitive with Discord. You do not have to implement all its nuanced features and provide its steadfast reliability; you only need to implement the features most meaningful to you, and most necessary for demonstrating that the app actually does what it’s supposed to do.

Once you’ve built out the code to make this thing function, you can do the UI and even make it a near 100% copy of discord, with some minor personal touches. Employers don’t care about uniqueness so much as scope and breadth of work, and such a project would be a major example of just how wide and deep your knowledge is.

This is because you’ll almost certainly be learning along the way. You probably have no idea how to do voip calling… but you will when you’re done. Do you know how to build a backend that lets users change their usernames, profile pics and passwords whenever they want? Do you know how to set up confirmation emails, encrypt passwords, enable Oauth for google account integrations, and send and store instant messages in a database?

You will when you’re done.

And again, it probably sounds extremely daunting — but that is exactly why you must do a project like this. You must engage yourself with something that will take more than one month to complete (proving your dedication). Along the way you must back up your code, and have the ability to branch off in different directions to test new features out without losing working versions of the code to revert back to (so you’ll learn github). You must also keep track of a long list of tasks to do, every day picking one and following it through to completion (just like a ticket system at a regular job).

So what’s your favorite small tool? What will your big project be? As scary or discouraging as it may seem to imagine, please understand that every skill required to make your project are just the very beginnings of the skills you’ll need to advance through a career in web development. This is your chance to prove yourself not just to yourself but also to your employer.

Good luck.

Check me out on twitter https://twitter.com/shaquilhansford

--

--

Shaquil Hansford

I'm a full stack web developer currently available for contract, freelance or full-time job opportunities. Follow me at https://twitter.com/shaquilhansford