As a consultant at IBM, there was one particular project where we needed to validate the financial calculations in a huge data set. The end result was a detailed Excel workbook with a number of financial calculations, all extracted from an extensive series of pivot tables. The data was being generated by an automated process and we needed to compare the output against a model. The process proved to be fairly laborious. About 15 data files were generated per test run and each data files took quite a while to prep and validate. To illustrate this a bit more clearly, in order for the process to work, the formats needed to be brought into Excel, data types converted, a pivot table generated, and then the pivot tables compared. This had to be completed essentially twice, once for the model set and once for the output set we were testing. Each run of the process took hours – needless to say, it was fairly tedious.
Looking for an opportunity to help, I took ownership of this process and, after realizing the tedious process wasn’t going away, started looking for an easier way to get what we needed. I had used Excel quite a lot beforehand (for various financial spreadsheets and projections, etc.), but had never used it as a development platform, to handle complex data analysis. Still, Visual Basic for Applications didn’t seem too bad. I started to automate the process – step by step. The first part that I automated was the generation of the pivot tables. That was easy enough to do with the Excel macro recorder (otherwise, the VBA code for pivot tables generation can be a bit hairy). That helped speed things up, but I thought, why not go further. So I automated the conversion processes. And then the data import processes. And finally, the process to compare the data sets and generate the workbook deliverable.
The end result was a process that took at least 8 hours on a good day was cut, step by step, all the way down to about 13 seconds with a series of macros that I developed and then integrated. The process also went from being something that needed extensive step-by-step instructions to something that could be run with a click of a button. I also changed a workstream that was mind-numbingly tedious into an opportunity to broaden my experience with using Excel for complex analysis tasks.
So, not only did I gain a ton of experience building complex, automated models in Excel, I produced a deliverable that could be reused on future IBM projects, as well as a tool that the client was able to make use of going forward, as well. Not bad for something that the team didn’t realize they needed originally and that I was able to assemble piece by piece. (It also established me as the Excel guru on my team, so I was quickly given another financial analysis process to implement in Excel.)
There is another story that further illustrates the topic. When we were starting out with FanGamb, I joined the team to build and run the product development team, but I was also very interested in using the FanGamb / DreamIt opportunity to expand my own experience. I knew the product areas well, but wanted to get more exposure to some of the business operations. I had some experience from running the business operations of my consulting firm in high school/college, but wanted to dig deeper. Fortunately, there was an endless amount of work that had to be done. I took ownership of many of our financial operation tasks – maintaining Quickbooks, working with the accountants, setting up payroll, working with my co-founder on the financial projections… Sure, it added some work to my plate, but it also really broadened my experience from just being the tech guy to someone who has a better handle on the full operations of the business.
Startups are particularly good opportunities to take on tasks that might not be your core area of focus, but give you enormous experience. Not only is there’s an awful lot of work to be done, but unlike in the corporate world where you need to be essentially given permission to work on a task, startups reward taking initiative and ownership. So, you get to create opportunities for yourself to gain experience in the areas that you’re interested in. This is a key reason why startups are such a fantastic opportunity for new grads.
The lessons that I took away from all of this? First, figure out what areas you want to grow into – what additional experience will complement your existing skillsets? Are you a tech guy looking to gain more exposure to the business side? Is your past experience mainly in one area and you’re looking to have a broader base from which to run your own startup one day? Set some goals for yourself.
Then, set some expectations for yourself. You’re looking to pick up some additional experience, not become an expert overnight. You’ll have the temptation to want to tackle everything at once. The IBM Excel task, for instance, was so tedious that it would have been easy to want to build out the entire macro set at once. Instead, I took it slowly, building out the pieces iteratively and integrating it as I went. I think this is the right way to go, lest you become hung up on an issue or get discouraged.
Finally, be open to opportunities that come your way (or that you trip over in the dark). You may come across different things that if pursued turn into significant opportunities for you. An opportunity to create a web site for my Boy Scout troop and another local client opened the door for a hobby in web design to shift and become a consulting business. Building web pages for clients then shifted again and became an opportunity to work with international subcontractors. A big part of creating opportunities for yourself is leaving yourself open to them and running with different leads to see what works out.