Why We Program

I love Marco Arment’s comment answering the question “Why did you write this software?” after stating clearly it isn’t a unique solution.

marcoarment/secondcrack – GitHub:

Because I’m a programmer, and this is what I do.

Some people jog away from their house every day, only to jog back. Others walk on a treadmill, expending energy to get nowhere. In both cases, it may appear to others that they’ve accomplished nothing, but they’ve chosen to do these seemingly redundant activities on a regular basis to incrementally improve themselves. And it works.

 

Codemash 2.0.1.2

Spending the next couple of days as Codemash 2.0.1.2.  There’s a reason why the conference sold out in 20 minutes.  Good speakers, good community, and it takes place at a water park.  Hard to fail with that combination.

Codemash 2012 Around the Corner!

Wow, it’s almost here! Codemash (www.codemash.org) is one of the best programming conferences in the area.  It’s also one of the most popular, selling out in 20 minutes this year.  Not even WWDC did that!  It might have something to do with the fact that the conference is held at a huge water park.  I know my family is coming; they’ll spend the day at the park while I’m in session and we’ll do things together in the evening.

The conference is fairly unique in this area since it isn’t bound to a particular platform.  Ruby on Rails, .NET, iOS, they’re all well represented during the course of the week.  Since I enjoy all of those things I always have a great time.

I thought about doing a session this year, but the timing just wasn’t right.  I’ll make a submission next year for sure.  It’s one of those kinds of participatory conferences.  At 750 people it’s the biggest thing going in this area since Microsoft abandoned us a few years ago.

So January 11-13 I may be a bit slow to respond…

.NET Skillset Sunset?

There’s been a lot of troubling events in the world of .NET.  It seems Microsoft has changed course (again) and is promoting HTML 5 over it’s own proprietary technologies, such as Silverlight.  The uproar is that many developers have invested their careers into technologies that seem to be almost overnight no longer mainstream.

As Wikipedia says:

“The explicit disavowal of Flash seems also to signal that Microsoft does not intend .net framework websites to take over all interaction with the user. This aspect of .NET would seem at least to be obsolete.”

While I can’t argue that Microsoft is making a bad choice to support standards-based HTML 5 over its own Silverlight or Adobe’s Flash it does make a cautionary tale about investing too heavily into any one platform or technology.

I’ve always tried to “broaden my horizons” when it comes to programming.  Even when I was a heads-down Microsoft WPF developer I spent the time and effort to develop iOS apps and learn Ruby on Rails (both are SO much more enjoyable to work with by the way).  It’s this diversity that has always helped my career advance.

Don’t Be Afraid to Try New Things as a Developer

As a programmer I’ve tried very hard not to become stagnant in my skill set. It’s an easy thing to do when you do the same thing day in and day out. You get set in your ways and put blinders on to new ideas and new ways of thinking.

It’s why I try to do a project in a programming language or framework outside my comfort zone at least once a year. Ruby on Rails was departure from my .NET programming knowledge, as was iOS Development. Both of those platforms now form a core of what I do and how I make money. If I’d stayed with the status quo I’d have stuck with Microsoft’s technology stack and feel have a less flexible career.

More and more programmers are judged on the breadth of their knowledge instead of the depth. You need to know not only C#, but HTML, Javascript, SQL, etc. Programmers need to do more than just one thing when the size of the company is small.

My suggestion: Find a hobby project. Something that relates to your personal likes and passions and create an app or web site focusing on that platform. Do it in an environment you’ve never developed for in the past. Stretch your legs!

Car Collector is Live!

Finally I’ve finished (at least version 1.0) of my latest iPhone app.  Glad it’s finally done.  As usual I’ve learned a lot through the process (which is partly why I do these things).  And it was a lot of fun.  More fun than projects I have little control over.

This app taught me the value of simplification.  I originally started with a lot more options and features to the app.  After several versions of cleaning up and eliminating the things that didn’t feel “right”.  I ditched this complex photography process “I” wanted in the app because it added complexity without really adding to the functionality.  I might add it back again, but for now it’s out, and for the better.

The final product is lean but easy to understand what it’s primary purpose is.  I really ended up happy with the end product.