|Perl: the Markov chain saw|
Especially true in the web environment, there are those rare times when your boss/manager comes to you and asks to implement a piece of important something in a short space of time, approximately as much time as that normally allotted to a secret FBI agent to annihilate a criminal cell – normally a venture that takes from somewhere around 12 to 24 hours.
However, programming is certainly no secret FBI bust. It’s a unique endeavor of it’s own kind, and I believe that at one point in your career as a professional (or not so :) Perl hacker, you’ve come to appreciate the glory and perils that come with it. As the author of this post Rapid Rate of Development points out, we are lucky to have Perl at our disposal as it truly is a language well suited for ‘rapid development’.
And as the saying goes: “When times are tough, Perl gets going!” (for the record, I made this quote up ;-]). Just the other day I had a business development/project manager guy come to my cubicle and ask me for a ‘favor’. In brief, he outlined that there was a need for a script/mechanism that would allow them to do a job that would normally take much longer to accomplish and at a significant cost to the company (around $150,000 as per his estimate). Seeing as the job could be accomplished with ‘relative’ ease in Perl, I gave him an affirmative response.
However, in the back of my mind I was beginning to get a little nervous. My main concern was whether I could finish off the scripting within 12 hours. Also note that I had had already quite a number of projects/tasks piled up on my desk that also required my attention (at my company, the rate of projects per developer has increased somewhat over the past year as we had to go through some budget freeze – and a few cuts – and couldn’t hire any additional developers). This only complicated things, as I had to accomplish task in a near simultaneous fashion.
So, the only reasonable approach I could take is calm down and get to the development. In the 5 hours time frame, I managed to come up with 500-600 lines of code that seemed to do the job. Although, I was told that this could be a ‘throw-away’ script, I had to exercise due diligence to design and implement the code right as it had to run for at least a full-week non-stop to complete the job. This development was a combination of defensive coding and extreme programming. However, I didn’t have much time to spend on proper documentation and thorough design analysis as I would wish to. In the end, I was delighted that the final cut seemed to run smoothly and do the job right (actually, I left the script running for the night and will spend some time today to gauge it’s performance). Yet, while my management seem to be ecstatic about the whole thing, I feel a little burned out and exhausted (I still have to do a lot of coding for other projects).
Did you have similar moments in your career as a Perl hacker? It would be interesting for us (me in particular :) to know “just how did you cope?”. Is it reasonable to turn away such requests or pursue them with vigor?
I thank you for your participation in advance! ;)