Go Work for a Consulting Firm
A few years ago, I decided to break into consulting and boy was that a good decision.
I’d been working full-time at large (fortune 500) company that was being crushed by the inability to turn around reports quickly, analyze data across the many disparate data systems, and wasted effort as each region reproduced a different version of ultimately the same reporting solution. This led to the formation of a new team of power-users/developers brought together and tasked with *quickly* building custom reports, dashboards, and scorecards comprised of data from the various source systems based on requirements from the different regions.
Armed with our single database server (SQL 2005 + SSIS + SSAS) the 5 of us marched out and engaged on different projects for different areas of the business. Everyone on the team worked out of the same playbook:
- meet with the business to understand what they need
- build a process to pull data in from the source systems and load it into our SQL Server database. Give the tables a report-specific name and try to make it as automated as possible.
- build an Excel front-end with extensive use of VBA
In very short time, we managed to deliver valuable solutions to the business. Demand for our work increased, and the team started to grow. But then the wheels started wobbling:
- the database was filling up (improper use of data types, duplication of data, etc)
- processing was slowing down and nightly jobs weren’t finishing
- the percent of “support” time began to exceed the percent of “development” time
To make matters worse, the political machine began to take hold:
- instead of focusing on a single project at a time, we were each juggling multiple projects to keep the project sponsors feeling “special”
- metrics began to change
- data needed to be restated due to “1-off situations”
And eventually the wheels started falling off:
- the database filled up (frequently)
- crucial deadlines were missed
- bugs, lot’s of bugs
All of us developers were working very long hours and feeling the pain…morale was at an all-time low. What had started out as a well oiled machine (or so we thought) was now a sputtering pile of junk in need of a complete overhaul.
Ultimately, when the “come to jesus” moment arrived and the “answer to our prayers” consisted of a bunch of band aids that were simply going to prolong the inevitable…I quit (after lining up another gig of course ;-p)
The Desire Comes From Within
Even before that team was formed, I’d already caught the Microsoft BI bug. First it was my reading list…more and more technical books and blogs…then it was my lunch breaks…watching webinars (old TechEds, SQLBits, PragmaticWorks) and eventually I was attending user groups and SQL Saturdays.
As the problems facing my group grew in size and severity, so too did my desire to understand the problem and find a solution. Before I knew it, I was spending time before work, after work, on weekends, during lunch…hunting for the solution. I had begun to resent my day-to-day work responsibilities…seeing them merely as hurdles delaying me from solving the problems our team was facing. I needed to know the solution…get out of my way.
And then one day I got this crazy idea. I was listening to an audio book on the way up to NC to see my folks and the author touched on the idea of 10,000 hours of deliberate practice to become an expert. As a super-logical person (sometimes to a fault – according to my wife), this immediately resonated with me. After running the numbers, I realized that I was probably at about ~3,000 hrs and in my current role (including the time spent outside of work) I was only adding about ~1,000 hrs/year.
Note: deliberate practice is not the same as the number of hours you worked last year. It’s a methodical approach to expanding knowledge and experience and ultimately skill-level.
Well, that’s just not going to cut it. I can’t wait that long…and the only solution is to get more hours in per year…which means more time outside of work (wife’s not going to like that- I’m already skating on thin ice). And then it hit me…change jobs!
Consulting, The Immersion Experience
Having attended a few user groups and SQL Saturdays and hearing about projects that other members were working on, I started to notice the following thoughts going through my mind:
- wow that sounds awesome, wish I could work on something like that
- they sure sound like they know what they are doing
- I could probably learn a lot from them
Next thing you know, I have a list of local consulting companies and I’m sending out resumes. After a few interviews, I had a short stack of offers and ended up making what, in hindsight, turned out to be an excellent choice and went with RDA Corporation.
During my time at RDA I was exposed to some very experienced BI Developers and Architects. Though we weren’t always on the same client-projects together, the members of the BI practice were always available for bouncing ideas around and getting each other “unstuck”. This was also the first time I was fully exposed to the agile methodology and boy did that resonate!
Consulting is the immersion experience…each project was a new opportunity to see the blood-and-guts of a different company – what was working, what wasn’t. I was learning a ton. In fact, I estimated that I was clocking close to ~2,000 hrs of deliberate practice per year in that role (noting that my outside studies continued at the same pace as before – mornings, nights, weekends).
By the time I decided to break off onto my own (a story for a future post), it’s safe to say that I’d racked up around ~7,000 hrs of deliberate practice. The problems I’d once faced in my former role at the fortune 500 company were no longer unsolvable…in fact, through various projects while working at RDA I’d helped solve very similar problems at other companies. Now, my sights are set on new types of problems, new levels of detail. Ironically, it seems there’s even more to learn now than there was when I got started…and I’m 1000’s of hrs ahead of where I was…now, isn’t that some voodoo!!?!?
The Take Away
If you’re passionate about something and want to get better, find a way to maximize the time you spend doing and learning about that thing – whatever it is. For me that *something* was DW/BI development – and maximizing my learning potential meant going to work for a consulting company and surrounding myself with people a lot smarter and more experienced than myself. For you that might mean something else.
You only get one life. There’s no God, no rules, except for those you accept or create for yourself. Then once it’s over… it’s over. Dreamless sleep forever and ever. So why not be happy while you’re here? – Nate Fisher (Six Feet Under)