Measure twice, cut once – The law of professional development

April 23, 2012

Over the years, I’ve been fortunate to work with some seriously talented people – people who’s put my own meager skills to the test on a daily basis. It’s been a mix of people – some with strong academic backgrounds (BsC, Masters, Phd, et al) and some with a born knack for development. It has at times been a humbling experience, and in many ways it continues to be, that’s taught me that there’s always somebody out there much better, faster, smarter and stronger than me.

I’ve also been lucky to have people to lean on, for support (not just technical) and guidance, and some of the ways I try to work is reflected in that. I’ll be the first to admit that I don’t do everything absolutely right. I’m human and therefore expected to fail. We’re genetically wired to fail, it’s as simple as that.

One of my long-time mentors once gave me a task to complete (it’s irrelevant what the task in itself was), with no timeline, except I knew that this particular task would only benefit a minute fraction of people that I knew. I started working to complete the task, quickly made headway and was nearly finished when I was stopped to answer some questions. In this case the questions was “Why did you choose to do X, when Y was naturally a much better approach?”. Now method “X” was about 5 times faster to complete than method “Y” – it wasn’t a real kosher way of doing it, but usage was less than a handful of people, I “cut the corner” so to speak and took the risk of failure on my own shoulders. Simple math really.

Risk =  Probability * Damage Potential

So I took the chance based on that and figured that it’s only going to be used by a couple of people – no reason to go all out and design the Eiffel Tower all over again. Naturally as with many things that happens in life, I didn’t quite see the point of the exercise, except I knew that there certainly was one. After I answered the question of my choice of method (“X” over “Y”) I complete the rest of the task.

A couple of things occured to me as I was looking at the final output. Well, it did the trick….buuuuut….I wasn’t necessarily proud of the way it’d been done. First I figured the doubt came from not being 100% sure of what the point of the questions and exercise was, but then it dawned on me. I had used a shoddy approach – yes, it did indeed do the trick and got the job done, but there was very little satisfaction in completing the task. Personally I wasn’t entirely happy with it. It took me a few days to get it all sorted out..the “why” factor had hit me.

If it is worth doing, its worth doing right

It didn’t really matter how many people would be impacted by it – what mattered was the way I’d chosen to go about doing it. From a professional perspective, what did it say about me – I was willing to cut corners when nothing prevented me from doing it the right way. I had no time, budget or complexity constraints. It was a lazy attitude and this was exactly what the point of the exercise was.

Back to present day – I came across a question about why bother use proper techniques in a development shop, seeing as it was a small 1-2 man shop only. Was using MVC, UML, OOD etc overkill for an internal application? Now, very little risk would be associated with the “probability” of failure by the internal application. Impact was tiny and each of those impacted could easily fix any issues that would pop up. It was a supportive application and obviously not business critical (otherwise the question would most likely not have been asked). Many other answers were provided – such as what OOD was and why it was technically implemented. How it helped manage complexity etc etc.

I read through most of the answers, but noticed nobody was looking at the question from another point of view – from the perspective of “What does it say about me, professionally?”. It occured to me here that my lesson learned way back when, was applicable to many other areas and it founded on how I do things.

Do it right, not because its an option not to, but because what you do, and how you do it, is what shapes you as a professional

Does cutting corners, when there’s no reason not to do it right, not signal that something is wrong? Personally I believe so.

 

Post Footer automatically generated by Add Post Footer Plugin for wordpress.

  • 0

    An April Fool’s Day MVP – MVP 2012

    April 2, 2012

    The 1st of April has been hillarious for me, ever since I got my first Microsoft MVP Award in 2006. Not solely due to the fact that I’ve been honoured by Microsoft by being presented with the MVP Award, but also because quite a few of my friends finds it funny to send me all [...]

  • 0

    A choice – classroom vs. virtual technical training

    March 26, 2012

    Over the last couple of weeks i’ve been working on a business case for our centre to adopt a virtual technical subscription as opposed to our classical choice of “classroom” technical training. It seems more and more clear that the ROI of classroom training is of an exceedingly low value if you look at it [...]

  • 0

    Getting close and personal – pitfalls of long term consulting

    March 26, 2012

    I’ve been consulting for quite a number of years now – mostly in and around service delivery – so have been exposed to a number of different types of projects. Needless to say, both good and bad, however isn’t that why consultants are called in? If things were always easy and straight forward, would there [...]

  • 2

    Supercomputing – What would you do with the worlds most powerful computer?

    March 8, 2012

    Fujitsu Limited created the worlds most powerful computer – It reached a staggering 10.51 petaflops (that’s 10 quadrillion calculations per second btw) using 705,024 SPARC64 processing cores. That’s 4 times faster than the second most powerful supercomputer in existence today. Since i started working with computers (and watching SciFi movies) the processing power has increased [...]

Featuring Recent Posts WordPress Widget development by YD

Featuring WPMU Bloglist Widget by YD WordPress Developer

Network-wide options by YD - Freelance Wordpress Developer