So it begins....
So it seems that developer blogs are the latest rage and since rage is my favourite emotion I thought I'd get in on the gig.
I've worked in software development for a dozen years professionally, ending that stint in the year 2000, with at least another dozen years of fledgling and hobbyist hacking bracketing that. I took a year or so to get my head together and then packed it all in for China to teach English. Now it's time for me to make my return.
In my over twenty-year relationship with computers, I've developed a real love/hate relationship with the things. I love their potential; I hate their actuality. Most software, to put it bluntly, is shit. Total, complete and absolute shit. I'd like to blame the developers for it, but they're only part of the problem. The real problem is the users who allowed themselves to be trained into accepting shit as the norm to the point that working software is considered by most to be a vague, hopeless dream suited only for fools.
Call me a fool.
I do believe reliable, functional software is possible. I also believe, however, that making it requires discipline, teamwork and empathy -- traits and abilities that most programmers lack.
- You need discipline because software, like any engineering field, software is an open-ended activity with unclear objectives that you will never reach if you don't sit down and force yourself to reach them.
- You need teamwork because you can't create anything worth using in almost any discipline without working with others. If you don't play well with others you produce shit -- this is true whether you're building bridges, making furniture or writing software.
- You need empathy because, in the end, the software should not be about you. It should be about the end user and the end user experience.
In this blog I will document things I find interesting as I restart my journey into software. I'll obsess over the things I find along the way that give me hope for this avocation.
Several themes will dominate (although this may change!) over this blog. For instance you will see me writing about Haskell and Ruby a lot -- two programming languages I've recently encountered which gel with my way of thinking. You might see mention of Eiffel as well, although that pot is simmering on much lower heat at the moment. Interesting tools and technologies like LLVM may also make an appearance. And, of course, you'll occasionally see me launch painfully ridiculous diatribes against blights on the modern world of software like C, C++, Java and C#.

0 comments:
Post a Comment