DEV Community

Cover image for Get These In Place Before Starting Your Next Side Project πŸ‘€
Niharika Singh β›“
Niharika Singh β›“

Posted on

Get These In Place Before Starting Your Next Side Project πŸ‘€

Let me introduce you to something that you might already be familiar withβ€” Side Project Hell 😈

Basically, you end up with like 747324856 side projects and not a single one is really complete.

Alt Text

I believe, this hell would be most common in the JavaScript world. Every other day you get a kickass library and everyone wants to try it out by building their own something.

To save yourself from this horror, set the following items in place:

⚠️ This is just a list, no magic. If you still F it up, can't help you there. πŸ€·β€β™€οΈ


1. Announce your idea

This is a bold step, but super effective. Tell the world you have started working on a side project. Describe it. Tell them by when will they be able to see/use it.

Most likely, you will get a supporting response. This will motivate you to continue building whenever you feel like abandoning it.

2. Get a partner

Find yourself a code buddy who complements your skills. If you're a good webdev, find yourself a good devops person.

This will accelerate the building process and learning will be symbiotic.

3. Don't start coding right away! Align your vision.

Many people mess it up by starting to code too early.

First of all, put in place all the requirements. This could be in terms of features, or learning goals. Divide these features/modules in phases. In the first phase, keep it minimalistic.

4. No CSS in initial phases

Do not think about beautifying the project in this phase. It will distract you from your actual goal.

You will end up spending crazy amounts of time on HTMLing and CSSing.

Set the building foundation first, then the building, then the paint.

5. Find a mentor

If possible, get yourself a mentor who can guide you throughout your learning journey.

This could be your college senior, or a friend who has been working since a while.

6. Set up Git

It is SUPER FKN essential to commit at every milestone. No matter how small.

Make sure you write good commit messages. Simply committing with fix or update or finally is bad practice.

We all do it, but should not.

7. Set up CI/CD pipeline

This will make you shine among others. You will learn a hell lot.

Even the tiniest of projects deserve CI/CD. You will fall in love with it eventually. It's more of an acquired taste. ;)

8. Stay hungry, stay foolish!

Make sure you're always on a lookout for feedback. Take it seriously.

You should also give feedback to people in your network.


At the end of the day, don't forget what you really want. If you want to complete that side project, do it. There's no better time than now.

Cheers!

Discussion (53)

Collapse
jessicaward profile image
Jessica Ward

One more suggestion: don't try out too many new technologies, frameworks, tools at once.

You will likely spend too much time learning, not enough time doing, and you'll lose motivation.

Learning is great, but in reasonable amounts.

Collapse
sonofab1rd profile image
Jacob Dierkens

Any suggestions for moving from learning to doing? There's so much to learn that I'm constantly stuck in the learning space!

Collapse
azlindley profile image
Adreanna

Me too!! I call it going down the rabbit hole! I’ll be trying to research a solution and run across a fascinating article that leads me to another and then another another I learn something new but my project goesnpeh

Thread Thread
niharrs profile image
Niharika Singh β›“ Author

Yeah, been there done that! The only way out is to not get distracted by the amount of resources online.

Thread Thread
sonofab1rd profile image
Jacob Dierkens

So true! Yet sometimes so hard to stay focused!

Collapse
emmanuelkaranja profile image
emmanuel-karanja

Hi.

I had the exact same problem. I'd be working on the project and then go online to do some research and end up reading stuff for hours.

To solve this problem, I set a goal of one or two or three tasks to do on my side-project per-day e.g. implement 'Trading' Controller and Repository', or 'Implement the registration form' etc and make sure I do that one thing before I do anything else. If I can do it in a half an hour, I do it an half an hour and spend the rest of the time reading, if it takes longer, so be it. If there is some research needed, I do it focused on that one task alone. But I make sure I do it, if I can't do it, It's not because I digressed and couldn't work on it. I have found that with this method you maintain focus and consistent forward momentum in your project and you are able to finish most of the ones you start. I usually set that goal the night before, and then write it down on a post-it and tape right there on the screen. And with it, you can even manage to do more than one side-project at a time. Try it out.

Collapse
niharrs profile image
Niharika Singh β›“ Author

Start with basics. Pick up stuff thats the most in demand. See what others are doing in the space. If you’re new, I’d recommend you to do a boot camp.

Collapse
niharrs profile image
Niharika Singh β›“ Author

True! Learning one thing at a time is the way to go.

Collapse
andrewbaisden profile image
Andrew Baisden

Good advice I prefer to learn a few things and then create a project with that technical stack so that I am getting real experience before I move onto new technologies.

Collapse
jacklowrie profile image
Jack Lowrie

This is really good advice. I've been trying to learn one new thing per project, which has worked well for me!

Collapse
phillipstemann profile image
Phillip Stemann

Very good points, however I disagree with step 2 to find a partner who is the opposite of you. If your vision is to make a living of it. Get a partner who has skills you don't have. If you're the technical part, find a communication partner or a sales partner. Otherwise, you'll never get the product out there. My opinion. But the other parts are great!

Collapse
niharrs profile image
Niharika Singh β›“ Author

Glad you found it helpful! Yeah, I agree. Different people operate differently.

Collapse
abdurrkhalid333 profile image
Abdur Rehman Khalid

I have not started a major side project yet, but I will be keeping in mind all of these tips, and can you guide how a person who has not any experience with DevOps can get started with it.

I know the basic functionality and workflow, as there is pipelining, and we have to write tests for everything we are doing if those tests are passed then pipelining will build the code, and then the process of deployment will occur.

Collapse
niharrs profile image
Niharika Singh β›“ Author

I'll keep that in mind. Expect something on CI/CD soon! :)

Collapse
abdurrkhalid333 profile image
Abdur Rehman Khalid

Feeling Excited :)

Thread Thread
niharrs profile image
Niharika Singh β›“ Author

Just created a #discussion post on the same. dev.to/niharrs/which-ci-cd-tool-do...

Feel free to voice your thoughts there! :D

Collapse
shadowphoenix profile image
Rose

I will definitely keep these steps in mind! There is still one master side project I want to undertake. However, it is so big that I'd really have to make a plan before even getting to the first step. ^^

Collapse
niharrs profile image
Niharika Singh β›“ Author

Of course! The whole idea is to plan it out well and stick to it. Good luck! :D

Collapse
barretoana profile image
Ana Carolina Barreto

Great list to follow! Personally I skip the first one, telling other people messes up my sense of reward and anxiety.

Collapse
niharrs profile image
Niharika Singh β›“ Author

Good to know that you liked it. 😊 Yes, everyone has their own way.

Collapse
nicolasomar profile image
NicolΓ‘s Omar GonzΓ‘lez Passerino

Thank you for the advice! I am trying to cut with the tutorials i've been following because of the pandemic and use all the knowledge in a good and solid project.
I think i have to set my objectives and foundations better before keep coding.

Collapse
niharrs profile image
Niharika Singh β›“ Author

Yup, following too many tutorials may back fire. Keep learning and sharing!

Collapse
rickluevanos profile image
Ricardo Luevanos

Great post Niharika! And I think the need for mentors can never be expressed enough. Mentorship happens at all levels and having someone to poke holes in your ideas and/or validate your approach can be priceless.

Collapse
heisdev profile image
dev

Can you Elaborate Set up CI/CD pipeline??

Collapse
niharrs profile image
Niharika Singh β›“ Author

Yes of course. Expect it to be coming soon! :D

Collapse
heisdev profile image
dev

Thank you

Collapse
efleurine profile image
Emmanuel

I agree so much regarding style with CSS. I can't count how much I get trapped

Collapse
gabrielkunkel profile image
Gabriel Kunkel

You're missing: Consider why you want to start a side project.

I'm working on a project to explore dependency injection and re-visit Angular, but I can just keep challenging myself with it; I can add further tech and more patterns just for the sake of learning and becoming more proficient, ultimately to win higher salaries and a better position. When you keep the end in mind, it's easier to do it right and stick to it.

Collapse
jayjosh20 profile image
SirJosh

Wow one of the things am Going through rn, am a beginner at python and it's been hectic learning on my own

Collapse
niharrs profile image
Niharika Singh β›“ Author

I feel you. Try not to get distracted with the amount of resources online. Keep in mind your ultimate goal at all times.

Collapse
jayjosh20 profile image
SirJosh

Thanks for the advice ✌️

Collapse
florincornea profile image
Cornea Florin

best read of the day!

Collapse
niharrs profile image
Niharika Singh β›“ Author

Glad you enjoyed it!

Collapse
syedkamal3262 profile image
Syed Kamal

How can I setup CI/CD pipeline

Collapse
michaelcurrin profile image
Michael • Edited on

I wrote this tutorial based on your comment.

Hope this helps!

dev.to/michaelcurrin/intro-tutoria...

Collapse
niharrs profile image
Niharika Singh β›“ Author

THIS IS REALLY AWESOME!

Thread Thread
michaelcurrin profile image
Michael

Thanks! I know you were planning on writing something like this - let me know if need my expertise on writing your guide or want to link to some of my relevant projects (using Jekyll, React, etc.) which use GH Actions.

Thread Thread
niharrs profile image
Niharika Singh β›“ Author

Thanks a bunch for extending a hand! I'll get in touch. :D

Collapse
antdimot profile image
Antonio Di Motta

So true

Collapse
kuldeepsidhu88 profile image
Kuldeep Singh

Very good points. Another one would be to start with an MVP. Instead of releasing all features at once. Try to release little by little, it would keep the motivation going as you would have some features already live and used by users.

Collapse
vbarzana profile image
Victor A. Barzana • Edited on

"9. Show/publish your results! If you announced your followers may have been waiting for it πŸ˜ƒ"

Collapse
niharrs profile image
Niharika Singh β›“ Author

Oh yes yes! Good point, forgot to write it haha

Collapse
givsta profile image
Given M

Lovely article πŸ¦„

Collapse
niharrs profile image
Niharika Singh β›“ Author

Thank you! πŸ”₯

Collapse
gitjuned profile image
Juned Khatri

Very well said!

Collapse
niharrs profile image
Niharika Singh β›“ Author

Thanks!

Collapse
niharrs profile image
Niharika Singh β›“ Author

Thanks for sharing!

Collapse
prahladmishra profile image
Prahlad Mishra

Very good suggestions, may be it will help me complete my 3 side projects.

Collapse
niharrs profile image
Niharika Singh β›“ Author

Woohoo!

Collapse
weston1 profile image
Weston Brown

Great advice! I will definitely keep these steps in mind.

Collapse
isajal07 profile image
Sajal Shrestha

"Even the tiniest of projects deserve CI/CD."
Couldn't agree more. πŸ˜„

Collapse
sarehprice profile image
Sarah Price

I think these are great points and it's important to remember that in order to be successful, there is some planning we have to do beforehand.