2 minute read

A started a new job in late 2010. At first, it seemed like something that was too good to be true at the time. It had a lot of awesome perks (to me, in no particular order):

  • Wasn’t consulting
  • Was a product/service owned by the company and slowly built upon
  • Had a software team and manager that believed in a lot of those software principles you read about, but never truly see at your job (confession: we’re not perfect, but we strive to always improve)
  • Was a telecommute job with very little travel
  • Used the technology and practices I wanted to use

I’m not here to recruit (although at the moment we are hiring) you, but to share a set of experiences that had me baffled until recently.

Whenever I start a new job (or project, as it often is in consulting), there is a period of time where I know absolutely nothing about the software you are writing and the business behind it. After a few weeks or months (depending on the size of the project and code base), I’ve always felt very comfortable. If I ever made it to the year mark on a project, I could recite policies and procedures (even to this day for previous projects, in some limited capacity).

But my new job was different. I hit the six month mark, and still knew less than 50%. Now, at a more than a year with the company, I realize that I may lucky to reach the half way point in knowledge, if I am lucky. This bothered me a lot.

Why wasn’t I learning this new code? Was it harder? Was I losing my touch?

Why wasn’t I learning the business? Was I not paying attention? Was it because I was working from home?

I was lost.

Only recently, I realized the answer to why I wasn’t understanding the business behind the job. Put simply, I didn’t fully understand the business. I was no longer on the “front lines”, sitting, talking, planning, prototyping, demoing, testing, and involving the end user in day-to-day project activities.

Instead, I was on a product development team, sheltered from the “why’s”. Instead, I had plenty “what’s” and “how’s”, but never a good explanation why. Sure, there were some user stories, but never did I get the depth of knowledge gained from being there with the end user, watching them work, and truly understanding what the needed.

How have I solved this problem and why am I happier? I’m not sure it is truly solved. I volunteered to work with a client more directly. In two months, I feel I know their business and needs better (but not anywhere close to completely) than what I learned in the first twelve months. I’ll be master of a few things, instead of a jack of all trades.

Sure, there is a larger slope to learning “everything” this time. I’ll eventually get to “the guy who knows a lot”. In the meanwhile, I’ll be happy to know what I know and to know how to find answers to what I don’t.