DEV Community ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป

7 Things to Consider When Working On a Personal Project

Max Dev on September 26, 2022

Starting a personal project is a cool thing to do, but there are a lot of factors that can distract you from finishing your project. I collected 7 ...
Collapse
 
poisonintheink profile image
poisonintheink

This might be for the people even less experienced..

Write trash code. Kludge together a monstrosity. Copy paste at whim and will.

Take the bush mechanic approach and try and put together anything and everything until it works. Or even better until it doesn't work. Then bash your head against a search engine working out why it didn't.

To put it less eloquently.. fuck around and find out

Collapse
 
allobrox profile image
Tamas Rigoczki

If something is stupid but works, it ain't stupid ๐Ÿ˜†

Collapse
 
jesusantguerrero profile image
Jesus Guerrero

I agree on that, sometime I call them "explorations" because we are like just playing around, figuring out the use cases. But once we solve it or next time we face something similar at works will write more eloquent.

Collapse
 
jackmcbride98 profile image
Jack McBride

This is what I do. Then when I come to the end of it I analyse why my code is so crap, so I know how to write clean code.

One of my projects had a 200 line useEffect in :O

Collapse
 
juanvegadev profile image
Juan Vega

Set small reachable goals

100% Agree, I changed my personal projects board last column to "iteration done" instead of done. New statuses are: idea, ready, in progress, iteration done. This helped me a lot to keep focus on one thing at a time and to scope out things for next iterations if they might happen.

Collapse
 
maxr96 profile image
Max Dev

@juanvegadev Yeah this is a very good advice. I use to keep my board in a similar fashion, but I additionally distinguish between Things To Do and Future Ideas. This way I don't forget about some crazy ideas, when they pop up in my head, but I also don't break my current workflow.

Collapse
 
juanvegadev profile image
Juan Vega

Same for me!

ready = thigs to do
idea = I just have this random thought, let's note it

Collapse
 
lico profile image
SeongKuk Han

I agree with your opinion Set small reachable goals. A few months ago, I got intrested in go. Before starting a create an app, I thought I needed to learn about go well like how to make test code, etc. Still now, I haven't started to create an app yet. By having busy time at work, I alomost forgot go I learned before. Thanks for your article. I'll start from a small project!

Collapse
 
danvin001 profile image
Dan Vin

Thank you for this gem, Really! It helped me calm down pressure I can put on my self to look ridiculous with code some would find so beginner ๐Ÿคฃ. But hey, everyone started somewhere and helping each other is the way to progress personally and collectively ๐Ÿ‘

Collapse
 
maxr96 profile image
Max Dev

Happy to hear that you find this article useful. ๐Ÿ˜Š

In software engineering no matter how much experience you have, you will always find topics where you are a complete beginner. From one side it is not easy to accept, but on the other side that is actually the best part of it. There is so much to learn and explore. Just enjoy the journey!

Collapse
 
kansoldev profile image
Yahaya Oyinkansola

Thank you for sharing your tips, the one that stood out for me was setting small Goals, that is very important because looking at a big project can be quite daunting, but having small goals each step of the way is so helpful on the long run

Collapse
 
vishwastyagi profile image
Vishwas Tyagi

Useful tips. I will follow them with the project I am working on.

Collapse
 
dhruvjoshi9 profile image
Dhruv Joshi

Very helpful!

Collapse
 
maxr96 profile image
Max Dev

Thank you @dhruvjoshi9!

Collapse
 
wadecodez profile image
Wade Zimmerman

Best practices are good, but you probably won't need them

Sometimes this works and sometimes it doesn't. Some devs write libraries/frameworks with a ton of reflection and abstraction which makes it nearly impossible to do anything the normal way.

NextJS is a perfect example.

Collapse
 
maxr96 profile image
Max Dev

@wadecodez I totally agree. There should always be a balance between the apporaches. I just wanted to point that, if you are working on a personal project most of the time you should just follow YAGNI and don't overcomplicate things unnecessarily.