Is building 100 beginner projects a good approach?
Tags: javascript, beginners, codenewbie, webdev
Published: 2020-02-24 01:21:04

One thing I didn't expect when I started coding is how long any and every project would take. counter to what developer-related movies would have you believe, everything you hope to do will take at least 2-5x longer than planned, especially when you're just starting out.

'101 Project Ideas' blogs might have you thinking that as you dream it, you will build it all. But then again do you even want to cram project after  project into your undoubtedly jam-packed date?

Doing a challenge like 100 Days of Code is one thing, but as someone in the job market, will employers be impressed with 100 beginner projects in my portfolio? From my conversations with working developers, the answer is a resounding NO. *Bummer.*

Building a ton of projects is great for making and showing progress. Following a structured path, like100 Days of Code, can make it easy to continue building from what you've learned. So by no means, am I bashing this approach to individual learning. But the employer's perspective, I was advised to focus on the quality of my projects over the quantity.

If limited to coding only 1 hour each day, I should be spending at least a few days working on a longer term project that will allow me to showcase my understanding of intermediate to advanced JavaScript concepts. In attempting these more challenging tasks, at least two days will be spent on debugging and researching what wrong. Maybe one day goes towards practice solving JavaScript challenges and another towards reviewing the prior weeks' achievements. So then, what's left?

There are so many things I want to learn. And in barely less than 10% of the time left to learn it. I want to build apps that help people, connect them to friends they would not have otherwise found, and create communities that make each day a bit better– in the way of the sites that shaped me as a millennial growing up on the internet. 

I also want to create free tools that make it easier for people manage the small annoyances that can add up, like the many apps I rely to make my life function– a notes app with my favorite quotes, timers for every possible thing, a counter to track my water intake.

My list of "Projects" gets longer and longer each day, so that I can focus on building one thing and building it well. But that new goal of building one thing well, has changed me as a developer. I used to wonder why developers haven't built everything that can be built or why it is that some apps don't have x and y features. But I'm starting to get it. Building one thing is insanely difficult. 

Programming isn't like the movies, where you smash the keyboard, and magic happens. It's slow and laborious. There's too much trial and error, with moments you find yourself wanting to throw the whole computer away. But there are also days where it hits me how much more I know now. Then I find myself giddy at the thought of eventually making it through my list. 

####Things I would like to build (eventually):
1. Pomodoro Chrome extension that lets me snooze breaks when I'm in the zone
2. VS code extension that guides you along like a tutorial
3. A To-Do app that tells me the best time to do each item
4. A mobile app that always tells me where I can get the cheapest food within a 5 block radius
5. An app to send someone money via texting (even if they don't have a bank account)
6. A Chrome extension to remove me from the million Meetup groups I've joined
7. A way to soft-block people on Twitter, because blocking them just lets them know to create a new account
8. An amalgamation of everything I am online, with a button to opt out of all unnecessary permissions
9. A way to ask dev questions across websites (Quora, StackOverflow, Reddit)
10. A quiz app that can test one question according to a method or with specific constraints
11. A recipe app, with grocery shopping for one