For some time now I have been thinking about participating in this “challenge”. I’ve been dealing with code for about 10 years and sometimes it might seem that this type of initiative is aimed exclusively at people who want to start programming but the reality is that I can think of a few reasons to be excited about this:
1- Get in your own code:
The first and most important is that I do not usually find time for my own code.
All the programmers are exposed to ideas and projects that end up stimulating that little entrepreneur that we all have inside. Either to finish launching our own startup or simply to practice with new technologies. The point is that I have never met a developer who did not have at least one project in mind that he would like to dedicate some time to. In my case the problem is to choose one of the many and very diverse (and crazy) ideas and find the necessary time to start it and I thought that committing to finish this challenge can help me create the habit of dedicating time to my own code.
2- Learn something new every day:
Another really important reason is to keep learning. Many times I find myself saving for later very interesting information that I could apply in my code but since I do not have time to investigate and experiment I end up saving the situation with the tools that I already have and that is without a doubt a big mistake in which the developers with some experience usually fall.
Having certain tools and resources that have allowed you to open up to where you are now is fine, but it should not be a reason to rest on your laurels and stop learning.
There are few labor sectors in which the need to stay updated is as pressing as in software development and if you are not willing to spend some time each day learning new things perhaps you should consider swinging to a more traditional profession.
3- Unify and consolidate knowledge:
But sometimes I have the feeling that all that knowledge is scattered through the limb and I do not find an opportunity to unify all those little tips, patterns and programming paradigms that appear in the different tabs of my browser as I search for a solution specific to my problem of the day.
The challenge proposed by # 100DaysOfCode gives me the opportunity to expand with these discoveries, connecting the points, forcing me to go beyond the quick solution looking for scenarios in which to apply this parked knowledge.
4- Contribute to OpenSource:
This is my great unresolved issue and I could write a considerably long post with all the reasons why I want to contribute in the opensource community so here I will limit myself to briefly explain how the challenge of # 100DaysOfCode can help me achieve it.
My biggest problem when participating in a public repository is time.
No matter what your level as a developer is, if you want to start contributing to a public project you will have to invest a lot of time in understanding how the community works, how they communicate and make decisions, how bugs are assigned and the priorities, how the pull request process works or simply how you can install the code locally and put it to work in your development environment.
All this requires a time that you have to invest voluntarily and what better exercise than committing yourself to devote at least one hour a day to coding to acquire this habit?