top of page

Perfection, Validation, and Panic

Writer's picture: whit_dabbleswhit_dabbles


I am the queen of "under promise, over deliver." What does that mean? That means I have panicked about your deadline and am trying to figure out how I can deliver what you need in the timeframe you specified. The root of all of this: anxiety over perfection and the need for validation.


I am a newer DBA. Lucky for me I was given the opportunity to spend about a year proving myself before I was graciously offered the position of Cloud Database Administrator at my company. I have about a year under my belt from that point, but this type of role, really any role in technology, is ever evolving. No two problems are ever the same, nor are the solutions. Today was one of those days where the problem is new and the solution is unclear.


A coworker came to me early on in the day with a need and also a short deadline in order to get a feature tested as quickly as possible. Instead of pausing, thinking through all the solutions, and reasoning out the best one, I immediately panicked over the deadline. This is something that is common for me when I am not 100% confident in by ability to deliver absolute perfection through results. Normally I would develop a new Python script that pushed in statements, separated by replication checks so as not to disturb the ecosystem we live and work in. This is, on average, a three day process for me unless I have the majority of the script written for reuse. Part of that is because I stop periodically to help others, or divert to complete simple tasks in lieu of having them wait in the queue, but the other part is that I meticulously craft and test each script that I write.


The need, in simple terms, was to update two tables across a multitude of databases, followed by a run of a validation query. There are a few paths that I could have taken here; The two I am most comfortable with are Python and Pentaho. The one thing I was not certain about was how to ingest a file via python and execute all SQL statements within each file. As I said earlier, normally we process items on a line by line basis, checking replication before each subsequent line. Because of the nature of the update files that I was given, single lines were not possible (contain JSON, etc.)--this threw a major wrench into my plans. How was I going to do this without being as careful as I would like?...there is the panic. Shortly after that bit of panic I calmed down, thanks to the kind words of a mentor, and decided to go on a different path than I normally would, Pentaho's Data Integration.


If you have never worked with Pentaho you are either missing out or thanking your lucky stars. I jest only because I have beat my head on the laptop a few times trying to decipher strange errors from failed jobs and transformations. Lucky for me, this was a fairly simple build as I already had a job that would gather all the database names from a server, then pass those into a transformation that could execute both update files, and run the validation script. It can even output the validation results to a text file for me! Easy peasy, but when I first started I couldn't see the forest through the trees.


Really, the key here is to identify and try to head off your panic. For me, it comes down to the following:


Panic Triggers:

  • Tight deadlines

  • Problems where the solution is not immediately obvious

  • Scripting that I have never worked through before

  • Outside of the normal process (i.e. no replication checks)

Ways to Resolution:

  • Stop, breathe, ask for a minute to collect your thoughts. There is nothing wrong with asking for a moment to shirt size before you commit

  • Think about the BEST way to address the issue, not just the solution you are most comfortable with, including which can best meet the deadline

  • Talk through the issue with a mentor or peer. No one wants to go it alone into battle.

  • Remember that not everything needs to be perfect, it just needs to work

  • Don't be afraid to put other conversations on hold while you work through the issue. Unless it is absolutely critical, your peers will be happy to schedule some time with you later


In case you were wondering how things turned out, I completed the Pentaho job build out in under 10 minutes and had it run on all testing/development databases in just shy of 2 hours (Pentaho is a little slow for this use case unless you parallelize the database runs, which I did not). Initially I panicked, yes--it's the theme, and told my boss I wasn't sure I could meet the deadline of sometime today or tomorrow. Needless to say, I met the deadline and now have ample time to hone the process before we go to Production with the solution. I wouldn't have gotten there, however, if two of my mentors didn't coach me towards this solution. While neither thought I would go towards Pentaho, they both said "there has to be an easier way to do this" and "it doesn't have to be perfect."


As I said earlier, no one wants to go into battle alone. When you are newer in your role, mentors are key to your success. Even if there isn't a direct mentor for you, i.e. a Senior in your exact role, there is almost definitely someone who can help you reason out a solution, even if that reasoning is just talking you off your ledge. I am eternally grateful to those mentors; Without them I would have most definitely imploded and failed today. Lucky for this 'newer-ish' DBA, my boss has the utmost faith in me, despite my IPS (Initial Panic Syndrome).



20 views0 comments

Recent Posts

See All

Comments


  • LinkedIn
  • Instagram

© 2023    Whitney L. Wilger

bottom of page