During this historic period of time where future humans will either write about our incredible resilience to overcome a modern plague or scratch their heads at our inability to stay inside our homes for a while, you may find yourself with some additional time on your hands. Maybe more time than you want. If you’re a developer you’re likely working on a side project. And for many new developers, maybe you’re working on a Todo List… or a movie app using TMDB… or a giphy app. A word of kind advice: don’t.
I’m being a bit cheeky of course. I’ve done my fair share of cookie cutter apps and they can be a great introduction to a framework or a new concept. The problem is that there are some projects that are so ubiquitous that they cease to be a useful barometer of a developer’s skill. If I had a nickel for every Todo List, TMDB Movie Finder or random giphy generator that I’ve seen between working at a handful of bootcamps and speaking with a lot of bootcamp grads from all around this decent nation… well, I’d have a whole lot of goddamned nickels.
Whether you’re on the job hunt and looking to create a project that will impress or learning a new framework like Vue or React, taking some time to really plan a small side project can pay big dividends. Even more than all those nickels I was talking about. If I’m stuck on what to create, I find it’s often easier to start with the data. Interesting data can lead to an interesting project. Data.gov has some pretty decent APIs if you’re willing to do some searching and you can get information about drug use, taxes, deaths, and other uplifting stuff.
So now you’ve got a unique data set and have some way of displaying it from a user search… or telekinesis for bonus points. Before you go showing this bad boy off on LinkedIn, you want to make sure it’s responsive. Good CSS can be the difference between the Mona Lisa and the time your daughter drew a picture of your face with a broken crayon while at Ihop. There are so many times I’ve opened a link from my phone to check a developer’s portfolio site only to see their name cut-off and, footer only half visible and the formatting completely borked.
With a decent looking final project, it’s time to push the bounds of your small project and current skills. I like to experiment with something I’m not quite familiar with, like perhaps using a new library to handle HTTP requests, or saving the app’s current state to local storage or web sockets. Small projects provide the opportunity to try something new without making a large commitment. For your larger side project, the decision to go with MongoDB over SQL will follow you for sometime and it can be a tricky and time consuming process to change directions.
Don’t let the world burn around you while creating another Todo List… time may be more limited than we know! Make some cool shit!