There have been two times in my life where I wasn’t able to sleep simply out of sheer excitement. My mind raced with the thought of endless possibilities and plans.
If you ever find yourself having such a night, listen to your enthusiasm. You might just have an epiphany of what your vocation is.
My Second Restless Night
The second time this happened, it was about a girl. I was 18 and she was 17, and it just clicked. That giddiness of adolescent enamorment and excitement eventually turned into love, and with that shared love we are now raising a daughter.
Doing this right is the most important mission in my life, and by far the hardest.
But I’m here to talk about the first time this happened. I was 11 and girls were several years away from becoming a preoccupation.
I was visiting a high school friend at his home and he happened to own a computer. This in itself wasn’t particularly special as a few households would have one, but what was special was that my friend had one in his room, and he could use it all day and do whatever he wanted on it.
Instead of spending the afternoon playing games, my friend had installed Borland’s Turbo Pascal and was busy “playing” with it.
If awe could have a face, then I’m sure mine would be a close match for it. My friend was typing commands, telling the program what to do and the computer would oblige. Change this little condition here, and the program would update its behavior. This was absolutely mesmerizing.
Computers were not simply gadgets to be used, not just tools. Within, computers contained the materials with which you could change how they operated.
They were fire, iron and cauldron. Your mind, the forge.
That night I was still processing how it all worked, what went were, what had happened. I firmly believe that in that restless night I learned to program.
The rest of the story is not as magical, my love for programming kept growing and occupied a great deal of my time throughout high school. For some reason on prom night I said I would study to become an Architect (hint: the only way in which I became one was by eventually holding a position of Software Architect).
Luckily I chose Computer Science as my career. And I really mean luck was involved, one is so young when making this life-important choice that only luck and perhaps a little intuition can land you in the right place.
At University I learned what I could from some truly great masters, both from within the faculty and those in the firmament of the discipline.
Eventually I turned to the industry and from practice and diligence developed an aesthetic sense to the work. Pieces can fit together in several ways, but usually the most elegant solution is the best one as well.
And elegance takes dedication.
I became an expert of sorts, not in the sense of being recognized as such in the industry (I wouldn’t argue that) but at least in my formation.
I was devoted to iOS development and was lucky to lead teams that built apps that would reach millions of individuals (Disney’s apps for WDW Parks in Orlando) and apps that could change the course of vaccine development (several clinical trial apps while at Medable).
I’m proud of the work I did there, but something was certainly missing: breadth.
My professional range was lacking, I was good at iOS development, coordinating teams of programmers and designers ultimately steering them towards product delivery.
But something nagged me at the end of my last job, I led a team of vendors in delivering a website for dashboard and reporting for a client. In many ways it was a success, a project that was meant to target one client’s demands eventually turned into a reusable reporting dashboard and we were able to use this to serve many more clients.
Yet after completion, internally this product was met with resistance, I was told I wasn’t qualified for the task as my expertise was in mobile engineering and not web. My participation had been what could be considered product ownership and management but I was certainly not qualified for technical review of the output.
As is usually the case with professional feedback that gets under your skin, there was truth to it. And I needed to correct it.
There are many ways of learning, from peering over the shoulder at another kid using Pascal at 11, to studying Dijkstra and Knuth at University, to simply having fun with a new tool or framework.
My plan was to learn as much as I could, in as many aspects as I could, by partnering with friends and bringing a company to life: Iconico.
At Iconico we’re building next generation network monitoring solutions. Our architecture involves a flexible backend, an extensible API. And the first tools built are an administration dashboard, a network monitoring solution called Sentinel whose feature list would be longer than this article which can notify you via Email, SMS, Slack, Telegram of events in your network and a device configuration backup management solution called Clerk.
I’ve even learned Go and Docker to package a probe application which is the only thing our clients need to run on their internal network. Even having to write an integration to perform profiling of this app in production (while running on a docker container on a client’s machine) to figure out a performance issue.
And of course, I’ve had to learn about some of the legalities of setting up a company: SaaS businesses, integration with Stripe and the basics of setting up the technical infrastructure to run it all (on Google App Engine at the moment).
I won’t claim seniority in any of this, far from it. I’m still learning and I know I will continue to do so for the foreseeable future.
But one thing is true: I’m as excited now to be doing all of this as I was learning Pascal back when I was 11. I’m still in awe of technology and its capabilities.
I’ll try to keep people up to date on the stuff we’re doing and publish some articles of technical interest every now and then. We have to write about the features we’ve built and the plans we have for the future of these tools.
This is another aspect that I need to learn about: Marketing.
Here we go!