100 days. It only takes 21 to make a habit (depending on who you ask). You can't do something for 100 days without learning something about yourself. Whether it's something as simple as "hey, I can stick with something" to "I can write an algorithm that calculates the square root of a chimp in motion" or some other big thing.
It really doesn't matter what you learn, as long as you do. So what did I learn in the last 100 days? Well first, some stats:
Hours programmed: I have no idea. (Great stat huh?)It was well over 100 hours. If I had to guess, it was over 200. Some days I managed to get in 3 or 4 hours, but I'm not sure of the exact total. At the very least, it was an hour a day average.
Days missed: 3. I'm counting 3 days missed, because there a couple days where programming was insanely difficult, and I barely got anything done. It's normal, by the way, to miss days sometimes. Just try not to make a habit of it.
Exercises written: 33
All written in Java for the course Tim Buchalka's Java Masterclass for Developers. Aimed at new people, it's the most comprehensive course out of the 28 I've purchased. While it isn't perfect, it has a ton of real coding exercises where he gives a problem and you have to solve it. Some of them took me as long as two weeks. The point behind them is to learn how to code on your own. By the way, I'm still not done with it. It's that big.
Stuff I Learned
Once I realized I need repetition, it really changed things for me.
Once I started the Java course, and started doing the exercises, it was like night and day. I was writing code on my own, with out watching someone else do it on video. I was solving problems.
I'm not going to say there werent any hiccups. But I'd made up my mind to write the challenges without googling solutions. That forced me to take each problem and break them into really small pieces and then write each tiny piece instead of looking at the whole.
I learned not to put pressure on myself to complete the goal of getting that developer job. My job is out there waiting; I know that already. I learned to focus just on the tiny step I make every day in the general direction.
I learned to let the IDE do its thing. After all the writing code out, using shortcuts like Sout (System.out.println() which is a damn mouthful to type) is a life saver. There's a ton of other things it does, such as letting you know if you've written something wrong before you ever compile.
With Java, an IDE is your best friend. It even taught me stuff while coding my exercises, such as offering ways of refactoring. Not that I always used the suggestions. But they were nice to have. Using an IDE almost feels like having someone more experienced offering help along the way.
I've always been interested in learning Android. Towards the end of my challenge, I went home for two weeks and decided to take a break from Java challenges and do something fun. I picked up some books from Packt, one of them was an android book. The last week or so I've been going through it.
The next 100 days I'm probably going to be working on learning android development. I've got some ideas for some games/apps, and after looking through all the options for a Java programmer, it's one of the few things that light my fire. I'll continue to learn Java, and probably mix in Kotlin since they are so closely entwined, especially in android development. Kotlin for the most part writes pretty close to Java, so it's not really a stretch to pick up.
I'm really excited about my next 100 days, and about what the future holds.