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!
Top comments (52)
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.
Any suggestions for moving from learning to doing? There's so much to learn that I'm constantly stuck in the learning space!
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
Yeah, been there done that! The only way out is to not get distracted by the amount of resources online.
So true! Yet sometimes so hard to stay focused!
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.
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.
True! Learning one thing at a time is the way to go.
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.
This is really good advice. I've been trying to learn one new thing per project, which has worked well for me!
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!
Glad you found it helpful! Yeah, I agree. Different people operate differently.
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
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
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.
Great list to follow! Personally I skip the first one, telling other people messes up my sense of reward and anxiety.
Good to know that you liked it. π Yes, everyone has their own way.
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 βοΈ
Can you Elaborate Set up CI/CD pipeline??
Yes of course. Expect it to be coming soon! :D
Thank you
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.