The Path Less Traveled By

The Path Less Traveled By

I was thinking the other evening about how I got here.  Not in the cosmic sense, but in the explain-it-to-a-stranger-in-the-bar sense.  I’m a programmer, a musician, a potter, and I live in a grand old house I’m dragging back from the cliffs of decrepitude.  I like to ride and work on old motorcycles, be in the woods, be in front of crowds, write long-form letters by hand, and invent new technological wonders on the web. I get paid to do this stuff.  Eighteen-year-old me is confused and totally geeking out.  This is way better than my initial life plan. Many people are familiar with Robert Frost’s “The Road Not Taken,” about having chosen the path “less traveled by” and it making all the difference.  I get the impression most people understand it wrong.  That’s a pretty awful and contentious thing to say- in truth you’re allowed to understand great poetry any way you feel like.  But focusing on the end, on the retrospective view of it, skips the part where he admits to not knowing which way to go. When you are staring at the future, yours generally, don’t pretend you know anything more than the next person.  The famous physicist Niels Bohr one said, “Prediction is very difficult, especially if it’s about the future.”  That’s a sentence that could just as easily have been attributed to Jack Handy or Yogi Berra.  It still rings true though.  So when Robert Frost says of the paths ahead, “both that morning equally lay,”  he’s saying you will often not know the “right” way.  But choose a path you must, and the very act of...
The Interesting Problems

The Interesting Problems

As a programmer I hate writing boilerplate code.  You know- the “stuff” you have to get setup before you actually start solving the problem you set out to solve.  There are a lot of code generators out that these days to address the boilerplate issue, but even then there are a lot of well-solved problems that we programmers have to solve over and over again. I wrote some time ago about the problem of inventing all of your own in-house technology, and the take-away is that there are a lot of well-solved problems.  Don’t write your own CMS system unless it offers something new and unique.  Don’t invent a new programming or data standard.  And please, for the love of all that is holy, don’t invent a new programming language. But let me flip that over and talk about what sorts of problems are worth solving.  If you work for a business, most of your problems are shared with other businesses, but a few are unique to just you.  A lot of the time, that uniqueness comes down to what you know, how you know it, and how you can show it to your customers. With that said, I think there are two really interesting and compelling problems in modern software development.  They are both related to what you know and how you communicate it. Problem #1: Big Data The problem is that no one can really define “big data.” Job descriptions for data positions are all over the board, there’s not a lot of guided coursework or certifications, and what is out there right now won’t make any sense in a...