DEV Community

Discussion on: Why do you need to do Side Projects as A Developer?

Collapse
 
programmerbyday profile image
Arman @programmerByDay

Great post. Thanks.
What would you suggest when we have an idea but it seems to be a big one and the way to reach it is vague?

Collapse
 
atapas profile image
Tapas Adhikary

Thank you. Glad you liked it.

While the 'big' is subjective, still I'll break it down. I have faced this situation a couple of times. I was working on an idea to create a DemoLab and wanted to incorporate the idea of JAMstack, loading modules dynamically, switching the themes, managing demo content from readme using GitHub workflow, etc.

If you get a chance to look into my GitHub projects, I have side-projects for each of those. This actually helped me to build the demo lab infrastructure and also re-used the pieces else-where. I have also encountered a situation where I did something but haven't used it for the demo lab and may end up using it later else-where.

Sorry for the long answer but that's how I would be looking into it. I am sure, there will be other ways as well.

Collapse
 
0916dhkim profile image
Danny Kim

The chances are, if you only have a vague idea about your plan, you will fail to make what you want. I have failed many times, and I learned I cannot build something I do not know how to make. If I don't know what I am doing, I learn as I build. And at one point, I eventually encounter one issue that blocks development for few weeks. That's the point where I give up. Countless projects were ended that way. So here is what I suggest: make a "stupid" version of your dream project first. For example,

  1. SNS -> Forget about authentication, real-time updates, search bar, or privacy. Save your posts locally as JSON files. No backend, just static html css and js. Just focus on get your posts rendered on your screen.
  2. MMORPG -> Forget about multiplayer, fancy shaders, particle effects, cinematics or enemy AI. Use free assets and simple animations. Make it single player with simple enemies. Develop for fixed screen resolution (say, 1080p). Just focus on making your game something playable.

You get the idea. The point is that you have to start with a simple project that you can finish within a couple of weeks (or days). Of course you will not be satisfied with the initial result, but it also means you can easily find room for improvement while having something to work on immediately. Adding social sign in feature to your SNS or adding support for various screen sizes can be fun tasks. You will get the sense of progress.

Do not start with a complete list of desired features for your dream project. Start stupid and build upon it.

Collapse
 
desirtechnologies profile image
Jeffrey Desir

🙏🏿 very relatable, I've dealt with the same brick-in-face lesson with passion projects...even without ~(much)~ !mposter syndr0me starting from improbable ideals is a tricky habit to stop. Thank you

Collapse
 
programmerbyday profile image
Arman @programmerByDay

Thanks.

Yeah, that's right.
However over my past experiences, I learnt that I get too excited about the technical side of that idea only to know later on that I don't have the capacity to run such idea by myself.
These days, What I do is to start with a business analysis and try to realise what is needed in order to run such an idea, and to see if I can pull that idea off.
Or maybe I should simply suggest the idea to one of the big IT companies.