# 100DaysOfCode — What I learned in 20 days?
Versão em português aqui.
At the end of January of this year I decided to quit a course I was doing and move on to something more objective and quick. I ended up finding an article in medium that talked about the #100DaysOfCode challenge.
The challenge proposal is simple: Code for at least 1 hour for 100 days.
After understanding the rules of the challenge, I thought about projects I could start with and decided on a project I had done to test libraries like retrofit and glide. My tactic was to rewrite this project using other architectural patterns and techniques that I did not master.
As the rule says, every day has a new item in my log and there we can see that I had very productive days, days that I counted the minutes to give 1 hour of code and to drop everything, days that I struggled with bugs and days that I was defeated by them.
Today was a good dev night!
The night was not productive.
Just one hour coding, cause my mother is here.
JobScheduler is a gift from heaven!
Stupid receiver !!! I wanna kill you !!!
But, what is behind all this? Everything I mentioned above is part of anyone’s life … ups and downs, good times and others not so much. But what was I able to learn from all this?
- It’s easier than it sounds: Although it seems like a long time, 1 hour goes by really fast.
- It’s harder than you think: Sloth and procrastination are going to be cruel enemies. The hard part is being able to overcome those barriers.
- Life will try to delay you: Extra time, party, movies, travel, visit of relatives. Try to deal with this and do not fall into the next item.
- Do not do this sleepy: Productivity drops a lot, errors increase and you will pay for it the next day.
- Many people will interact with you: Your git will get upbeat and your tweets will get noticed.
- Many people will laugh at you: After all, who in their right mind would lose 1 hour a day writing code and posting on it?
- Some people will support you … and say yes, it’s cool to lose (only!) 1 hour a day writing code.
- Tests: Don’t do like I did and start the project without testing. Just don’t do it!
- Create smaller projects to better understand some concepts: I was having difficulty understanding the use of JobScheduler and the Dagger2 library. The best way to understand them was to do separate projects just to validate concepts.
- Read: Documentation, posts, articles, forums. Knowledge is there for those who want and know how to search.
- Write: Did not find available information about something you were looking for, but figured out how to do it? Share! Write yourself and help others.
Well, those were some things I noticed during the first 20 days of the challenge. Let’s see if anything else changes.
Self promotion :): In my #100DaysOfCode Challenge I have been working on the “Photo of the Day” app that has the proposal to download a daily photo from NASA’s website. The version published in the Play Store is here and the version under development is in my Git.
Did you like the text? Click the Recommend button below. By doing this, you help this story to be found by more people. Your comment, review or suggestion is also welcome.