As someone self-taught in programming, I have seen and personally experienced a lot of approaches to learning to code. Some of them are good, and most of them are not. I will not go through a lot of them in this journal, since it might require a whole different journal on its own.

In this one, I would like to focus on one specific thing while learning to code, and build something.

On Building Project

Building a project as part of your code-learning journey is great. I couldnā€™t even recommend it enough to everyone. Itā€™s a lot of fun, and it will teach us a ton of things.

No matter what stages of your learning journey youā€™re currently at, whether you know nothing or are an experienced developer learning new technologies, building ā€œsomethingā€ is the way to go.

But, unlike a lot of experienced programmers out there, a lot of people who are getting started on the journey of software development (in my view) are doing similar things, they build a clone.

On Cloning

I am not sure why a lot of people did that. But, I suspect thatā€™s because a lot of learning resources out there (especially YouTube tutorials) are building clones as the primary object.

I have a few opinions on that. Assuming youā€™re building a project to fill up your portfolio, building a clone is not that ā€œimpressiveā€. I know it sounds a bit harsh. But, there are dozens of people out there that did the same thing. Itā€™s so difficult to stand out.

Then, the clone is technically just a thing with a set of predefined features, rules, looks, etc, that rarely gives the developer the freedom to express their skills. And the developer itself rarely gives their personal touch on this case.

Of course, cloning is not necessarily a bad thing. Thereā€™s Build Your Own X thatā€™s popular. But, the major difference that I see in this case is that they want to know how the tools that they are recreating are working at the fundamental levels.

Build Better

So, how can I build better? My personal guidelines are simple:

I believe a good personal project should meet all of those criteria. But, at the end of the day, developing something shall be fun. Have fun coding!

Published on: