In the recent months I happened across an article that gave me the necessary push to start blogging again. It wasn't the article as a whole that got me—in fact I hardly recall what it was about—but one headline which stood out: "teach everything you know." Before I began piecing together the second reincarnation of pixeldonor.com, I decided to set some goals for myself specific to this mission. In this first post I'd like to outline what I intend to accomplish in the next twelve months.
At Least One Post Per Month
Naturally, with any blog, one should aspire to put out content as frequently as possible. No matter how trivial the topic, I'll strive to find something (if not multiple somethings) meaningful each month to share. After all, a technical blog serves many purposes, beyond brushing off those writing skills we left behind in college.
For example, blogs are a powerful portfolio substitute. As a working professional whose conducted his fair share of interviews, I've become accustom to scanning resumes with lengthy lists of "known" tools and technologies. What I'm actually reading are lists of everything a developer has encountered in the span of their career. What could possibly spell out a developer's proficiency more clearly than thoughtful, relevant, and in depth blog posts?
Step Outside the Comfort Zone
One such area of improvement that will crop up frequently is Java. Gross right? I might have been of that ilk in the past as well, but all things considered, its a very marketable skill. I love dynamic languages, but when it comes to learning a typed language, there's not a lot of smart choices. Objective-C? Not marketable enough. There's always Microsoft's Java spin-off, C#, but its corporate roots are a big turnoff. If you like shelling out large amounts of money for software and hosting, enjoy being 2+ years behind the "curve," and dealing with inferior frameworks that come with price tags, then its an option.
Java straddles the corporate and open source worlds. It features several mature (and free) frameworks for cross-platform web, native, and mobile development. It's also the engine behind numerous other languages, including Clojure, Scala, and Groovy. In my mind, its pretty much a no-brainer. However, to further justify my decision in learning Java (and satisfy other curiosities), I will frequently compare the "Java way" with the "Python way."
No Strings Attached
Finally, I aim to make all of the code and content on this site free and available. Anything non-trivial will make its way to my github page where you're free to do with it as you please.