Everyone needs deadlines. Even the beavers. They loaf around all summer, but when they are faced with the winter deadline, they work like fury. If we didn’t have deadlines, we’d stagnate. ― Walt Disney
I hate deadlines. Really. I truly hate them. The problem is: they are usually unrealistic, often not much more than a wild guess. They restrict the amount of time that I can spend in preparation and research so that I can do things right; they squeeze the artistic quality out of my work as a DBA and Data Architect.
In many ways, though, this is the younger me speaking. Part of me still hates them, but as I get older (and older,) I live through more and more examples of the true value of deadlines. The trick is to get the right deadline for the right task, and then live up to it.
A recent event in my personal life provides a perfect illustration, both of why deadlines are necessary, and how they pan out in most projects. We moved to a new home. In phase 1 of the project, between putting our current home on the market and selling it, we worked steadily but without urgency. We contacted a moving company, described the project, agreed what we’d pack and what they’d pack, a timescale and a budget. After that, we did a lot of planning and talking. We seemed to have all angles covered. There was a lot of euphoria about just how well the project would go.
Suddenly, we received and accepted an offer on the house and agreed on a moving date; phase 2 began. We looked around at what we’d achieved so far and it wasn’t much (though it was done immaculately). I jokingly suggested that if we continued packing at this pace, we’d have to skip this house and just move everything straight into a retirement home. Still, the deadline galvanized us. We split the remaining work between us. We worked hard, and packed faster. Sure, some of our work got a little sloppier, but we got ourselves on track to complete our share of the work, on time.
As phase two came to an end, we received a call from the moving company. Did we have enough boxes to do all the packing? Um, no, we’ve almost packed what we agreed with the project manager; you’re supposed to do these rest! This was the ‘boom’ that presaged the usual final stage chaos. Too few movers arrived, needing to do too much work in too little time. Initially, they maintained a modicum of professionalism, but that started to slide quickly, as the deadline seemed impossible. As the hour of the move approached, the remainder of our breakable items were being piled up messily, like thousands of lines of hastily written, and never tested, code.
We hit our deadline, but were left so exhausted that we incapable of doing anything much, in our new home, for weeks. The movers lost in damages over 30% of what they made on the move. So, I suppose, in comparison to many IT projects, it was wildly successful!
Deadlines are necessary for motivation, but a proper deadline is an achievable goal that helps you pace yourself properly. As a DBA, you need to learn to stand up against deadlines that feel impossible to achieve, without cutting unreasonable corners. As you gain experience, you learn how long it really takes to build a server, install SQL, set up backups, write the SQL, and how much time to wire in to account for the inevitable hardware glitches, poorly written requirements, and changes in team members.
If you find you are constantly always fighting deadlines that can never be met, consider other opportunities. There are far too many other organizations out there needing their databases backed up and optimized to spend your life implementing bad practices, and fearing that the work you do isn’t the best it can realistically be.