This is the last year of my Bachelor's degree. And soon after that, I'll be joining the industry to cater to customers' needs.
While in turn earning some money. But that's not the end, is it?
The last three years made me reevaluate things I do, things I wake up for, and my motivation. And this reevaluation schedule isn't something I want to end anytime soon.
People out there work for money. I want to work for myself. Sure money does play a role.
While I work for myself, I want to sustain myself that way. Motivation comes when you do action, and put effort into something. One part of that motivation came as I learned to build things in public. Building in Public.
And of course, we are talking about sidekick software projects, but this can apply to a variety of different things: Content creation, learning a new skill, anything.
So why should you build in public?
First off, you are putting yourself in front of everyone
What that means not only you are going to put the best of yourself, but also grow up upon that as you progress.
You'll learn the ability to showcase your identity.
Let me tell you by my example. One of the first websites I created was a portfolio website for myself, written in pure HTML/CSS. And that sucked. This was probably in my first year of my bachelor's. After that, I moved on to building a much more blog site (this site) and even my own personal wiki.
You learn from your mistakes
As I moved on to learning various other tech stacks, Python, Django, I learned I can make websites faster if I use template CSS libraries like Bootstrap or Tailwind.
The result was Shopiva. An eCommerce website with a Backend, RESTful API, and fluent design.
And subsequently created this blogging site and a wiki. Learning from my mistakes, I worked on focusing on more important parts like functionalities, adaptability, and usability, and less on design. Learning what is much more important to complete the project, and leaving others for future self.
My wiki is basically a plain site with HTML/CSS just like my first web project, but unlike that, I used a static site generator called Hugo to generate the webpages right from markdown files. Halving my work, while I focus on the theme.
You teach others
As you embark on learning new and exciting, you always want to keep a check on your progress. In Software development, ideally, you'd want to document, but for side projects, even good comments across source code work fine.
But like any task, you are very likely to forget what you learned. Building in public might help you here. As you build things up, you'd expect others to read your code and ideally for your future self. In that case, you tend to make sure the code is at best readable, maintainable, and has proper comments for others to know without diving into the nitty-gritty code.
On the other hand, if you'd been building in private, on yourself, it's very likely that you'll code do your heart desires, and not for anyone to appreciate your "hard work".
Or, you can even go on and write an article or a blog post or a YouTube video, documenting the things you tried, how to do it and what is required to fix. These are just a few of the methods of Active-recall, a technique to avoid falling down the Forgetting curve.
If you don't actively recall what you've learned, how you've learned. You'll forget.
Making sure others see your work, and learning from you as you preach to them, brings the benefit of gaining the skill for a far longer period.
Others teach you
The open source community is ever so welcoming.
You'll hardly meet a jerk who'd come and say your code is shi*t. If you do, just ignore them.
There will always be someone better than you, writing better code, better in skill set. Opening up to the public can get you the attention of like-minded people. People who share the same interest and like doing things as their profession as well as a hobby.
Public and Open Source projects help them and you to learn about their way of doing things. People who are better than you will find the issues with you (or your work) and give valuable feedback.
If you are one of the most amazing developers, for sure you'll get your work used by many, probably even gaining more users than those pesky little propriety apps.
And after all that, you'll get appreciation, and recognition from the community. You don't always need to keep your work behind a paywall. If you can build trust, the community will even support you financially as you keep giving them better.
I hope that inspires you to build something cool and usable for the public.
This is Anurag Dhadse, signing off.