“We all have defining moments. It is in these moments that we find our true characters. We become heroes or cowards; truth tellers or liars; we go forward or we go backward.”
Robert Kiyosaki
It was early in my career, and the first time I really developed a Data Warehouse end-to-end. The project was for a company that managed the entire fleet of vehicles for the local government agencies, and the goal was to replace the manually compiled reports and reduce the thousands of pages that had to be printed every month.
To give you an idea of how long ago this was, we used SQL Server 2000 as back-end with a classic HTML/ASP (yes, before .NET was around) front-end! The reporting portal had custom filters that we passed to the SSRS web service to render the embedded reports, and I think later on we used Analysis Services (SSAS) to enable ad-hoc analysis of the data as well. The portal was a big deal because it fundamentally changed the way reporting was done, and given the size of the government contract the spotlight was on us to make it happen.
After our first release we embarked on a “road show” to show off the new portal and help provide end-user support. As a small and fairly inexperienced team we were not prepared for what we were about to find on that road show, and I can probably tell quite a few stories from “the trenches” of that exercise. One particular encounter however has stood out as a defining moment in my professional career…
The Doctor
In those days, the corner office on the higher floors were usually reserved for the most important executives. That is probably still the case with some companies. I’m not exactly sure why, but this was such an office and I think it was on the top floor or maybe one down. He was a qualified medical doctor turned fleet manager for a government agency, which was odd enough…but not my place to ask questions and we proposed to show him our brand new and shiny toy, which we were all very proud of at that point. The Doctor invited the three of us to stand behind his large mahogany desk while he would test-drive the new reporting portal, with our guidance of course, and give us some feedback. Two agonizing hours later, my legs were aching and I wished that I could dissolve into the floor and disappear forever.
The feedback was brutal. He picked apart every pixel of every page, noticed every single misalignment and criticized every single navigation or usability mistake our young and inexperienced team made…and without any regard for our feelings. In short, he was the end user from hell and our worst nightmare in human form.
I walked out of that meeting deflated, embarrassed and even a little angry. We could argue that it was unfair, unreasonable or someone just having a bad day. The only thing I knew at that point was that I never wanted to go through something like that again. And with that feeling (and replaying it all in my mind a thousand times) a few valuable lessons started to emerge, lessons that were very much needed at that point in my young career:
- It’s all about the end user. You’re not building/designing/creating it for yourself and whatever the end user thinks is ultimately going to determine the success or failure of the system or report that you are building. Many times we don’t spend enough time with the people that will use our systems, and it is our job to make their lives easier…not the other way around.
- Every detail matters, whether you are building a website, designing a report or communicating with a customer. I think I’ve always been a perfectionist and that experience probably solidified that, and while it can be both your best and worst attribute (which it is for me) it is always worth paying attention to every detail when delivering something. The secret sauce is knowing when it’s good enough.
- Feedback isn’t always fair, but there’s always something to learn from it.
As uncomfortable as these lessons were, I cannot help but feel that it changed the way I think about some things. While it’s easy for us as developers, architects and consultants to walk around with an exaggerated sense of importance, this experience serves as my reminder to always stay humble and think about the end user first.