"At the outset.."

Like many, I too have been contemplating to start blogging. And here I am, after many false starts, finally starting to put words onto the internet.

My intentions here are very simple. I just want to log my learnings and observations, as I begin to transition from being a novice in software development, into not being one. Often these days, I end up discovering something that I have either never thought about or have taken granted for. I want to document these learnings, and the meta learning that happens implicitly.

Let me tell you about me and my daily struggles. Thanks to having a super comfortable life all along, the only problems I face on a regular basis are the ones dealing with my job. I have been programming in python for a while and have gotten to the stage where I am getting too comfortable with the things I know. But thanks to the internet (specially reddit, stackoverflow) I have developed the constant urge to explore new things. I am always looking to convert my unknown unknowns to known unknowns. But the problem is, the motivation sort of runs out after that. The most important part is the transition from known unknowns to known knowns.

Motivation is such a tricky thing to sustain. Everyone has their own system I guess, but this an example how mine works when it comes to motivation: - Saturday afternoon I think of an idea to implement or a topic to learn. - I spend the first few hours feeling super excited about it, almost congratulating myself on being such genius to be going to achieve something that nobody’s has achieved (Yes, I have essentially done nothing at this point). - I start googling about the thing I have been interested about. 9.9 out of 10 times, I find some video that is at least tangentially related to it. I watch it, and try to imagine as if I have already conquered everything. - Now comes an interlude, it’s either having lunch or a nap (usually both). That's when the motivation goes away. And I am at the same place as before, with zero progress.

I’m generally very ambitious when it comes to specific career goals. But since none of those ambitions have come close to fruition yet, I rarely talk about it to anyone. But since this is my blog, and I am expecting at most 2 people reading it (including me), I will be bold.

By the end of this year (2017), I would like myself to have been contributed to at least one well known (well known as in well known in the community it is catering to) open source project. By the way, I have zero OSS contributions now. Largely due to the inertia in getting into new things, but also just the general lack of effort. Anyways, I would like that to be changed soon.

Another goal is to read at least five technical books per year. I have downloaded many free books. Started reading few of them, but never got to completing any. This also will hopefully change. I have been reading and practicing the Algorithm Design Manual by Steven Skiena with some discipline for close to two weeks now, and also planning on reading Design Patterns by Gang of Four soon. Design Patterns along with Refactoring by Martin Fowler, are the two books I am really excited to read as they will have immediate impact on the daily work I do. There is a lot of information on the internet with lots of convenience. But the attention a book can invoke in me is unmatched.

And there are other things to do. Like this blog. I would like to write here consistently. I am hoping this blog will push me to learn interesting and fun things. Also, hoping to get good at communicating my thoughts effectively.

Sigh! That’s seems a lot to hope for. Nevertheless, let's move forward. :-)

P.S. Some resources to share:

1) Although it is well known, I would like to recommend Prof. Hamming's excellent lecture series on Learning to Learn, especially the one on creativity and the one titled You and Your Reasearch. They're filled with fascinating anecdotes from Hamming's time at Bell laboratories and have great insights about developing creativity as a habit.

2) I have chosen the books from these two lists: Steve Yegge's Ten Great Books. and Dan Luu's Programming books you might want to consider reading.

3) For people who are wanting to become better developers, here's Julia Evans excellent blog post So you want to be a wizard.