One of my problems with blogging (and honestly, just about everything I do) is that I have a big, grandiose vision of what I want as an end result. Then, when I start to work on it, I directly extrapolate the time my first few steps take over the whole project, and end up thinking that the big vision will just take too long. For instance, I have several draft posts with nothing but a title and a link I want to discuss, but since writing is harder than reading, I leave them as drafts. Because of this, I end up sticking with things I know how to do well because I can start quickly, make predictable progress, and work towards a finished product. Two things where this works well: reading books (I read tons, 1-2 a week of all sorts) and programming in C#. I found .Net when it came out in 2001. I was in college programming in C++ and biting back swear words after every SEGFAULT, and I was completely tickled at the thought of a language where you didn’t have to manage memory. I started programming C# in my spare time and every job I’ve had since I graduated has been .Net related.
Fast forward to 2006 when I interviewed for a job, completely bombed and realized that I just wasn’t that good of a programmer. There was no question that I was smart and could figure anything out, but I had only worked on little problems. Some of my jobs dealt with big systems but I worked on a small, self contained part of them. My side projects hadn’t been anything significant so they didn’t stretch my capabilities much either. So I realized that not only had I not learned any Computer Science theory since I left college, but I was actually regressing as a coder (no more writing web crawlers, chess programs, programming languages, or operating systems)! I realized that this was a first class ticket to unhappiness and out of the computer profession and I decided to change.