This was the end of the 2013. I was bored. I had no reason to be. I was the CEO (still am) of an up and coming Information Security firm. We had great clients (still do) from all over the world. We were working on solving very interesting security problems for our clients. Although we were predominantly a services business, I had hired a couple of engineers to work on a small skunkworks project of ours, which would later become our first flagship product, SecuritySlate. My team was functioning well. We were still finding the ropes, but at least we were finding them and not groping in the dark all the time. Things were looking up. But I couldn’t have been more bored in my life. I felt that my skills had plateaued. I didn’t have drive to do anything else. Work was fine, but I didn’t have the inclination to make serious progress. And it was terrifying. I had clearly hit a plateau/wall, or whatever else you want to call it and I didn’t have any clear ways of breaking this trend.
A few weeks later, I spoke at a Legal Security Conference. My talk was well received. I met with some prospective clients. One of them, was the head of security for a large financial services company. He asked us about our offerings. He was more interested in our products than our services. I mentioned, as if we really had a product, that we had a product that did security training on the cloud. This had him intrigued and he asked if we could do a demo soon. I confidently said yes, although every pore in my body just shouted out in panic. Sure we could do the demo, I said confidently, but not the next week as I was traveling, but the week after. He agreed. “Shit”, I thought. I was screwed. I knew my engineers were working hard on something, but I was not sure how far they had gotten. I hoped against hope, that they had something decent for us to demo to the client.
I went back to the office to see a demo of what we had. It was terrible. The app was in Java. The code was terrible. The application was disparate and the framework that we used seemed like Greek and Latin to me. At that time, I realized some things:
- This application, if we ever got it to work, would be unmaintainable, because of the current codebase. It was just appalling. Maybe it was the engineers, may be it was our lack of anything sane in the product management department. It was probably everything. But this was just not done.
- With our current skill-set, I needed to handle this problem. Otherwise, there was no way we could do the demo in 10 days!
I didn’t know what to do. I had only ever coded in Java, but the more I saw the framework we had used, the more I realized that it was extremely verbose and highly disparate in its design. While that was not necessarily the fault of the framework, the framework certainly didn’t make things easier for us. I googled desperately and came upon Django. I knew very little Python back then, and I was not sure how it would work. But a little reading of this framework looked impressive. It looked comprehensive, yet simple enough that someone with crazy deadlines, (like us) could get it to work. I realized that this was it. My team and I had no knowledge of Python or Django, but we would just have to figure it out. We would have to:
- Figure out Django and Python
- Rewrite our entire app and UI from scratch
- Make it demo ready for the prospective client in 10 days.
- Oh yes! and there were three of us. 2 engineers fresh out of college and me, not a full-time developer or even a l33t developer!
The next ten days went by in a blur. We worked late every day, I wrote all the back-end code, while my team wrote the UI and front-end along with analytics. We demoed the app to an impressed client. A month later, we won the account and a bunch more after that and we have constantly improved the product from that maddening effort of 10 days, to something that would endure and influence security learning in the enterprise greatly, according to our clients.
At the time, I realized that I was anything but bored. I had accidentally broken the plateau that was boring the crap out of me and learned a thousand new things. I actually understood some of the challenges that our clients and their developers had with application security. I learned a bunch of new technology components like queuing and caching in a very powerful way, and have used all that acquired knowledge (from 10 days) to grow and help my clients to this day and beyond. When I spoke to colleagues and peers in the industry, a lot of them have the same problem. They are so used to doing a certain thing for so long, they get bored or worse, get indifferent to it. They hit plateaus as well, and I realized, through this crazy experience and after, that there are definitive ways that one can break out of these plateaus. I have used them to good effect in 2014 and again in 2016. They are:
Take up a crazy personal/professional project that scares you — Creating SecuritySlate was a crazy experience for me. I was up against time, skills and capability by a long shot. But my team and I used that crisis to create something that we are very proud of today. All of us find such opportunities personally or professional. We think of doing something and abandon it because it seems too challenging, too time-consuming or just plain not possible. I would say, “Go for it”, you have little to lose and everything to gain. Even if you fail, you fail having learned something, and that is always invaluable.
Have Deadlines — Self imposed or Defined Deadlines for your project. Having long, drawn-out deadlines never works for me, and possibly even you. I feel that long/vague/no deadlines kill initiative and the sense of urgency that you need to finish your crazy project. If its a personal project announce it on Twitter/Facebook etc and work towards it. If its a professional one, you may want to set a tough deadline (not unrealistic, but tough) to get yourself over that plateau.
Don’t worry about Perfection — While Perfection is a great ideal to aspire to, its seldom reachable. You can’t be perfect. You can only be persistent and constantly improve. Done is better than perfect. Stop sweating perfection and get it done. You can always tweak things to near perfection over time. You need to get out of that rut. That needs action, not perfection.
Embrace the Deep — “Deep Work”, a concept that I have loved, from the author Cal Newport, essentially states that knowledge workers, need to embrace work that is deep, without distractions and other encumbrances. I realized that I was only able to get this app done in 10 days because I focused on nothing else for that time and completely shut myself off from phones, the internet, etc. While this may be an extreme case, you need to spare un-distracted time for your project and get you out of your plateau. Constantly facebooking, tweeting or instagramming won’t get you past your plateau, it might only make that plateau difficult to climb.
This account of mine, by no means is the only way to get past a plateau. Its just a personal experience that I have tried to replicate whenever I believe I am in a rut. This is the way I shake things up. Would love to hear from you on what you do (or don’t do) when you are in a rut/plateau.