I thought it would be a good idea to start off by introducing myself and the ideas I have for this blog before moving into the actual content of the site.
A little about myself
For starters I'm a software engineer working for a really great company in the heart of Silicon Valley. My background wasn't always in computers, however, I started off life as a business major earning undergraduate degrees in Finance and Economics. It wasn't until I finished those degrees and set off to our nation's capital to work in the insurance industry that I realized how much I hated business. Now don't get me wrong, the theories behind Economics and some of the higher level math found in the advanced Finance courses can be really interesting, and I still believe that working as a quant for a brokerage house would be a great job, but the traditional business job (and by that I mean sales) sucks, plain and simple.
With my first introduction to the real world only slightly behind me, and feeling somewhat broken, defeated, and generally sorry for myself, I swallowed my pride and set off back to school to find my true calling. Luckily I found it on the second go around and I got my Master's degree in Computer Science. Following that, I joined a Government communications company down in Florida. This was a great way to get my feet wet since I was doing some fairly complex and low-level embedded software for some really cool communications systems. The problem though is that Florida was awful (I guess it's alright if you like the heat, but my favorite season is Fall and I absolutely hate the Summer, so needless to say, it was hell) and no matter how cool and sexy the project, the Government can always find a way to suck all of the fun out of it. And so it was because of these reasons that I decided that it was time to move out to the Mecca for software engineers---i.e., Silicon Valley. So, I made the move and got a job working for Apple---one of the companies that I really admire in this industry---and that's where I currently remain today.
To sum it all up, collectively I have about eight years of experience in software development---four of those years have been spent in web development between my first and current jobs and the other four in embedded development while at my last job---a Master's degree in Computer Science and a handful of technical and academic publishing's under my belt as well. I'm not claiming to be an expert, but at least I'm not totally wet behind the ears either. I mention this not to brag, but basically because I always find myself wanting the know a little more about the writer's background before I place too much faith in their opinions and advice.
A little about the blog
So, that's enough about me, now what about this blog? What kind of things am I going to be covering here, and why would you, the reader, want to keep coming back regularly to see what I'm up to?
Well, I'm planning to post mainly only technical pieces. In other words, no fluffy articles on how I hate Windows (which I do by the way) or on how much I love the iPod, etc., etc. That's not to say that I'll never comment on fluffy stuff, I'm just saying that I very rarely want to read about it, so I'll very rarely (if ever) write about it. I turn to most websites for a source of information, not for the latest gossip and so that's how I plan to keep my site.
Secondly, I plan to write about topics in which I am by no means an expert. Why would I want to write on topics that I'm not necessarily an authority on? Well, there are many reasons, not the least of which is that I never feel I am an expert in anything no matter how well I know it, but mainly because I've found that the only way to really know a subject is to teach it. For that reason, I'll be learning as I go, so please don't think that what I say in my posts is infallible. If you notice a mistake, please, point it out to me and I'll fix it as soon as I possibly can. While I don't expect every post to be error free, I'd like to think that over time they evolve as I learn more and they approach perfection with the aid of the readers.
So, since I want to teach as well as learn with this site, the process that I'll be following is to first post the topics that I'm interested in to my blog and (hopefully, after they've evolved closer to perfection) refine them into a series of articles for anyone interested in learning a particular topic. The first series that I'm working on right now is on Cocoa programming. I've learned Cocoa myself in the past through classes and Aaron Hillegass' book, but I've never actually used it for anything outside of some minor hobbyist programs, so I'll be looking into finally developing my Cocoa skills beyond the novice level. In the process, I'll be writing a series of posts on Cocoa starting with a whole series on the Objective-C programming language. My goal is that, by the end of the series, anyone with a serious interest in learning how to program for the the Mac will be able to pick up this set of posts and go from a total beginner (with nothing more than some small experience in C programming) to intermediate developer by the end.
Well, that's it for my first post. I'd like to say that it's nice to meet all of you out there who have decided to give my site a chance and I hope to earn your continued patronage as this site matures and grows into, what I hope, is a very extensive resource on a wide variety of software related topics.
Thanks for reading, I hope you enjoy the site.
Christopher