DEV Community

Cover image for Side Projects - The Starting Line
Jacob Evans
Jacob Evans

Posted on

Side Projects - The Starting Line

TL;DR Don't overthink or sweat the small stuff, inspiration will come. Starting from scratch is hard, but has it's benefits and can be fun! Open source is great, communities can be ultra supportive.

Creative Block

Let's start with an essay, ever start one and get stuck with the first paragraph...even the first sentence; I've been stuck on the first word. It took me a long time to learn not to try and find the "right or best way of putting it." Even worse was coming up with a name for the title... It can seem so daunting and you come up with nothing, you think harder... Nothing.
My solution to these problems, use placeholders when you get blocked and don't stress over it at the time. The inspiration will come later, just start writing! No matter how seemingly aimless or incoherent, keep pressing forward.

Inspiration?

Another big question I hear a lot of is, "what should I make?" or "what should I study next?" More questions similar to it. The cop-out answer is, "anything you want" or my favorite, "find something you're passionate about," ok the last one isn't half bad, but that doesn't give someone that is lost in the foggy woods a map out.
So the quick answer I tell people is to make a calculator and a portfolio website. Now a calculator sounds deceptively simple the suggestion is not to use the native Math API and to also make it as complicated a scientific calculator you can, add more and more layers of tech and tools as you want to learn them. There is no limit to what you can do with it, I think the upper limit would be your calculator starts looking like the Wolfram Alpha calculator... I can almost guarantee that would be a long way off if that became your goal.
The portfolio is always a great suggestion, you can use it to assist in getting jobs yes, but also can be your longest ongoing project, there are always improvements and additions to be made. If so inclined you can even change the tech stack and tools being used, go from a create-react-app to a Gatsby site, whatever you fancy to learn and try out.

  • I often derive inspiration from things like podcasts, reading articles on dev.to, Twitter threads in the tech community, looking through open source projects.

Greenfield Project

By definition in Wikipedia, "greenfield project is one that lacks constraints imposed by prior work." This can come with a whole lot of benefits, you can use the bleeding edge technologies, implement the newest and greatest methodology, infrastructure, etc...

So what is the downside then? Well much like the first section, creators block on a whole other scale. You lack reference so, therefore, may feel more directionless possibly start overthinking and overreaching searching for somewhere to begin.

Fortunately, we have things like create-react-app, Gatsby, Vue has something like it, a lot of technologies out there to help get you to start, just to get the ball rolling. Even better than that, very helpful and kind communities like dev.to that will support you and assist you as much as you need or want.

Open Source

If you want to start but want to work with something established, open source projects are awesome! They can seem intimidating I definitely still get intimidated. There are open source projects wonderful communities and people that will work with you as you learn and try to contribute to the project. It's not entirely selfless, it is also in their best interest that the people trying to contribute improve so that more contributions happen and improve.

Tools

I mentioned CRA a few times here is the link:
https://facebook.github.io/create-react-app/docs/getting-started
Gatsby too:
https://www.gatsbyjs.org/
Vue:
https://cli.vuejs.org/guide/creating-a-project.html#vue-create

Top comments (4)

Collapse
 
johnnymakestuff profile image
Jonathan P

Hi Jacob,
Do you have any suggestions for open source projects that have nice supporting communities that help you get started contributing?
Most if not all projects I've come across seem pretty snappish with newcomers.

Collapse
 
jacobmgevans profile image
Jacob Evans

Mmm... Be sure not to confuse critique, PR reviews, telling you the rules for their project as "snappish"; if they are being unprofessional, patronizing or downright rude/insulting I suggest approaching the core contributors of those projects and talking to them about it. If they are the ones doing it and they don't have a code of conduct I suggest not interacting with them.

Here are other OSS suggestions:
I know that Ryan Florence is supportive and has some great projects like reach router.

Kent C Dodds has some great testing libraries and is also super helpful.

Kyle Shevlin has his podcast and website, also super helpful and supportive person.

Syntax.fm Scott Stolinski and Wes Bos have the Syntax website super supportive community.

Collapse
 
johnnymakestuff profile image
Jonathan P

Thanks I'll check them out :)

Thread Thread
 
jacobmgevans profile image
Jacob Evans

Happy to help 🙂