Code of Contention: Where are you on this line?
Jan
8
Written by:
Thursday, January 08, 2009 9:53 PM
I was on an interview a few weeks back and someone asked me about a question which is obviously framed to gain insight into the person's thinking process. How would you answer the following question (read on).
I was at an interview a few weeks back and someone (SG) asked me a question that went something like this (taking some poetic license for this post, but the jist remains). Given a line where "Doing it right" is on one side and "Doing it fast" is on the opposite side, where would you put yourself?”
Interesting question! How would you answer that one? (hint, this is a call for comments :> I would like to know what your thoughts/experiences are).
For many years in my development career, I would have quickly replied with a passionate “if you’re not doing it right, you’ll only be doing it over again eventually, so I will only do it right the first time.” To be completely honest, that hasn’t served me to my original expectations. It can cause friction with other’s who are of the other extreme (doing it fast). I'll chalk it up to my development immaturity. It can also prove to be a bad scenario for perfectionists cause if it's not right, it's not done (at least in their minds that is).
I think I've recently had a break through with this thinking though! Two months ago, I was asked to write a prototype as part of an interview process, the task was to spec out a simply dues payment system. I thought I could do it one better, with my experience I thought I could write something and make it live via url on my website! I did but MAN did I have to cut corners (two nights, not much time).................or maybe I was making choices about where I was going to spend my very limited time and energy and talk about the other areas left undeveloped? Ya! That's the ticket!
I must have made some good choices cause there was more than enough to talk about in the follow-up meeting and I eventually was offered a sr position. That process helped me realize sometimes cutting corners to get an end goal accomplished is not life threatening! I can indeed do it! I don't have to make everything access the db via a separate layer via stored procs with complete integreted security/authentication, the UI layer didn't have to be split from the DB access, and there didn't have to be an automated build process. Yes, I KNOW these things should be done in a production system, but in two nights I developed an ERD, security framework,web framework, master pages, detail pages, workflow for the one process and even had a little bit of test data. This was a HUGE eye opener for me!
In the past few years, I’ve realized there has to be a compromise between doing it right and doing it fast. “The bills” have to be paid (both mine and the company’s), and there isn’t the luxury of “doing it right” all the time (although “doing it fast” often costs everyone money and energy in the long run). The trick here is to try to make educated guesses to the amount of work today and “tomorrow” then weigh their costs of involvement. In the end, hopefully you’ll reach a happy medium where you’ve done enough things right to help make the next time you revisit the issue easier. And with any luck, you won't have to! :>
Good luck in finding your happy medium! :>