Tuesday, April 27, 2010

All the answers to all the questions you want to know are inside that light

With Silverlight being the preferred development platform for the Windows Series 7 Phone, Novell's release of MonoTouch on the IPhone, and a release forthcoming of MonoDroid for Google Android based phones it appears that .NET developers may have, in Silverlight, a realistic shot at building applications that can be ported and run on all three major device platforms.

Saturday, April 10, 2010

Inversion of Control

I was talking to a former boss the other day about career growth and titles, what they mean and how they’re interpreted in the marketplace.  That conversation got me thinking about the differences between the traditional career path and the path that I’m on. 

But we're getting the job done, so let's stay on course, a thousand points of light

I think its generally assumed that as you progress through your career you move from individual contributor and doer, to planner and delegator.  You do the work for a while, and then over time as you grow or the company grows you move ‘up’, farming out the work you used to do to newer employees.  Eventually, you get farther and farther from actual work and become more of a manager, overseer, delegator, delegating more and more of the ‘work’ so that you can oversee a larger number or workers.  You get involved in planning, strategy and meetings and the other trappings of rank and authority.  Along the way you have to make certain leaps of faith and trust.   You have trust that the work you’re responsible for, and used to do yourself is still going to get done, and that its going to get done roughly like you’d have done it if not better.   You trust that that work being done by others will let you can focus your energy on the “higher value” activities, strategy, budgets, planning, coordination, whatever they may be.

upside down, boy you turn me, inside out, round and round

That’s an admittedly extremely generalized view of the” climbing the corporate ladder” career path, the goal being the attainment of more titles, responsibility, increased sphere of influence, etc.  For me, however, that’s an inverted model.  I like the work, doing the work of software development is the end, not a means to another position.  To me the managing, overseeing, delegating, meetings, planning, budgeting are the necessary evils that distract from the work.  Those are the pieces that I’d want to farm out to someone I trust.  If I can trust that those management activities are being done the way I’d like them done or better, that frees me up to work on the “higher value” activities of building quality solutions.

Wedding crashers

In my, perhaps warped, worldview the manager works for the team more so than the team works for the manager.  Maybe we can call it the wedding planner model.  Like a couple who hires a planner to ‘manage’ their wedding, freeing them from the overseeing and delegating responsibilities, workers need managers.   But just because the wedding planner is managing the wedding, doesn’t mean they are the boss, or are the ones performing the “higher value” activities.  Ok, maybe that’s a bad analogy. How about the chef that hires someone else to manage the restaurant?  The point is that managing isn’t necessarily the top of the pyramid, sometimes its to the side or below other activities.

She’s crafty

For me, my career path hasn’t been about rising to the top, nor have I been content to be at the bottom doing grunt work.  I’m aiming for some middle ground where I continue to do the interesting technical work I enjoy, farming out both the technical work that I’ve outgrown and the overseeing and coordinating that’s distracting.  Is that what it is to be a Craftsman?  Is that what I am?