Skip to main content

Posts

Showing posts from 2012

Uncertainty

I recently listened to an interview with Dan North in which he discussed his efforts to encourage organizations embrace uncertainty.  What I took away was the idea is that there are some things that are just unknowable and that building processes that give the appearance of certainty is wasteful and dangerous. For example, elaborate planning processes whether they be in the Agile or Waterfall camp often yield the appearance of predictability, but in reality, major risk factors are often left undiscovered.  Putting more and more effort into refining these processes gives the appearance of improved accuracy, but what we really want is effectiveness. For example, we may spend hours haggling over story card points, when the biggest risk to a project - a key contributor is looking for another job - is left undiscovered and unaccounted for. As human beings we generally dislike uncertainty.  We rely on our understanding of cause and effect to survive. When primitive cultures d...

Collaboration vs Concentration

Books like Peopleware reported studies emphasizing the importance of providing a distraction-free environment for developers to achieve high productivity; however the pair programming movement seems to discount the idea that developers need a quiet place to concentrate to do their best work. Certainly there are trade-offs. As I've heard it said, more often than not whatever issue your having, someone around you probably already has the answer.  I am currently working in a noisy open environment and have become more and more aware of the difficulty of getting into "the zone". Although programming gets done, it seems that my thinking is at a very shallow level.  I find it hard to hold several concepts in my head at the same time or switch between tactical and strategic thinking.  I easily "lose my place" and have to constantly restart the sequential process of analysis. I find myself craving that quiet moment to truly concentrate - to slip into a state of flow, so...

C still on top

I am starting an online course to learn MongoDB. I was a little turned off when I realized all the course code was written in Python.  Not that I'm against learning a new language; I was just not expecting to have to learn a new  language on top of learning the new syntax around MongoDB.  Nevertheless, I'm sure it will be interesting.  However it prompted me to check on the popularity of Python.  It seemed like sort of an obscure language to choose. It turns out Python is more popular than I imagined. According to the TIOBE survey, it was somewhere near the bottom of the top ten, but what was more surprising was that C is still the most  popular language (closely followed by Java - no surprise).  I suppose it is all the embedded devices that use C for its efficiency.

Future for .NET Developers

I'm beginning to feel like .NET development may not be a solid long-term career path. When I look at Microsoft becoming less and less relevant in the consumer space with several failed initiatives such as Silverlight, Zune, Bing, and WinPhone7, I wonder how long before they are marginalized in the business space as well.

Initial Post: Why Blog?

I wanted to live deliberately, I wanted to live deep and suck out all the marrow of life, to put to rout all that was not life, and not when I had come to die discover that I had not lived.  Henry David Thoreau Why write a web log?  I am beginning a deliberate process to take my skills as a software developer to a higher level.  I am not sure exactly what that higher level will be, perhaps I will explore that idea as part of this blog, but I have become discontented with the way in which my career has seemed to meander and stagnate. I intend this to be a journal in the classic sense, a convenient place to capture and reflect on my thoughts and experiences.  I am making it a public blog in case others happen to find my thoughts helpful or interesting, however I have no expectations or goals to establish an audience or following.  My primary aim is to chronicle my journey as a software developer for myself.