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.
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!
Latest comments (52)
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.
"Even the tiniest of projects deserve CI/CD."
Couldn't agree more. π
So true
I agree so much regarding style with CSS. I can't count how much I get trapped
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.
How can I setup CI/CD pipeline
I wrote this tutorial based on your comment.
Hope this helps!
dev.to/michaelcurrin/intro-tutoria...
THIS IS REALLY AWESOME!
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.
Thanks a bunch for extending a hand! I'll get in touch. :D
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.
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.
Great advice! I will definitely keep these steps in mind.
Can you Elaborate Set up CI/CD pipeline??
Yes of course. Expect it to be coming soon! :D
Thank you
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.
Yup, following too many tutorials may back fire. Keep learning and sharing!
Wow one of the things am Going through rn, am a beginner at python and it's been hectic learning on my own
I feel you. Try not to get distracted with the amount of resources online. Keep in mind your ultimate goal at all times.
Thanks for the advice βοΈ
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. ^^
Of course! The whole idea is to plan it out well and stick to it. Good luck! :D
Thanks for sharing!
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.
I'll keep that in mind. Expect something on CI/CD soon! :)
Feeling Excited :)
Just created a #discussion post on the same. dev.to/niharrs/which-ci-cd-tool-do...
Feel free to voice your thoughts there! :D