I don’t have enough


It’s been a rough week. We’ve been migrating our file storage for Highrise and you can imagine how difficult that is for a product running since 2007 with millions of users.

And it hadn’t gone that well.

Fortunately, we had enough backup procedures in place to handle most problems. But still, on Thursday morning at 3AM I was nervously watching the error queue for more fires.

How’d I get here?

I don’t mean that in a negative sense. This barely raised my blood pressure. I’ve been in this same situation many times before. I and our CTO, Michael Dwan, cooly fixed our problems in the middle of the night.

But, I mean, how on earth did I get to this point where I’m helping successfully troubleshoot this crazy large system of technology and code when…

All I was trained to do was Chemistry?

I remember the panic I had nearing the end of college. I had just spent 4 years and tons of money learning about Chemistry, and I finally realized all I wanted to do was build software and web applications. What a waste.

How was I going to change my entire career around?

I asked a friend the other day if they were given two one foot diameter metal rings, a match, a candle and a metal cube, could they connect the rings?

At first they didn’t see the solution.

But once I gave them advice to: break down the resources they had into smaller pieces and re-think the uses of those elements, the answer was clear.

The candle wasn’t just a candle.

If you break it down one level it’s wax AND it’s a wick. Use the wick inside the candle as a string, and use that string to tie the metal rings together.

This was a challenge Dr. Tony McCaffrey, a PhD in cognitive psychology, gave participants in various studies he’s done. He found, when he taught people to break down the resources they had at their disposal into smaller elements, and then re-question the usefulness of those new smaller pieces, participants’ ability to solve problems grew by over 65%.

The real problem McCaffrey was helping these people solve wasn’t tying two rings together; it was getting over their “functional fixedness”.

In other words, most of us want something more out of life for ourselves or the world, and we see the resources we all have. But most of us feel like we’re stuck with them. We need more. Better. What we have isn’t good enough.

But the greatest creators amongst us, see the same world and have the same resources, but somehow, they’re able to turn those resources into brand new things that solve problems and move the world further ahead.

My boss needed help with Excel.

I was at an internship between my Junior and Senior years at a Uranium processing plant. (yes, that Uranium) My boss was building financial models in Excel and wanted help updating them when he obtained new data.

At first the project seemed fairly uninteresting. How was this going to help get me out of chemical plant work like the one I was in and build software for a living?

But I realized something. I could make my boss’s life much easier if I could get Excel presenting him with forms and walking him through the things he needed to update. Excel had “macros” which were bits of VBA (Visual Basic for Applications) code that I could program.

This wasn’t uninteresting. This was an opportunity. I could use this to deepen my exposure to writing code. It wasn’t building a fancy web app, but I needed to start somewhere, anywhere, and this was it. So I squeezed every last bit of time I could had with VBA to get better at software development and help my boss with Excel.

When I got out of college, I ended up taking a job with Andersen Consulting (now Accenture). My thought process was - at least this company does software projects. Maybe, it’ll give me a door to a new field.

However, Accenture put me in their “process” vertical. My day to day job was managing discussions with customers and recording the requirements they had for developers. I wasn’t doing software development. I was writing documents.

A project came up though that wasn’t worth a developer’s time, but someone had to figure it out. Our customer wanted to use a reporting tool to connect with a data warehouse. They needed reports built.

It looked like another uninteresting project of listening to what fields a user wanted in the report, and using the already, easy to use reporting tool’s drag and drop interface to stick the field in a report.

But, then I realized something. There was more to this reporting tool.

The reporting tool could be programmed with Javascript to create forms and build reports dynamically. This was the Excel situation all over again.

I listened carefully to what our customers wanted and figured out more dynamic and flexible ways to get them their reports using forms and programs I built with Javascript right inside the tool.

My boss was happy they over delivered on the reports our customers needed, and I learned a ton more about Javascript and doing more development.

So much more that another opportunity presented itself at Accenture - they promoted me to a software development team since I showed such aptitude and hustle.

All of a sudden I was exactly in the position I wanted to be in.

Today, I consider myself to be an above average developer. From publishing some decent open source projects to starting software companies from scratch.

When I think back on the career I’ve had so far, I realize how much of it was looking around at the tools I’ve been given, but instead of complaining and getting stuck hoping for even better tools, I not only made due, I invented new purposes for them.

Instead of taking Excel and this reporting tool project at face value, I saw they had components that could be repurposed to help the people I worked for and give me the education I needed in software development.

People, too often, look outward at all the things they wish they had to improve their life. When really, if you break down the things you already have, you might just see they’re the exact solutions you were hoping for.

P.S. You should subscribe to my YouTube Channel: here.


Now read this

Rails Performance Help: Tracer Bullets

Tracer ammunition (tracers) are bullets or cannon caliber projectiles that are built with a small pyrotechnic charge in their base. Ignited by the burning powder, the pyrotechnic composition burns very brightly, making the projectile... Continue →