The Early Days
The Early Days
The first “computer” I programmed in my life was an HP-48 calculator my sister, a civil engineering student, used during her college days. That was in the early 90’s and I didn’t do much more than copy a program from the calculator’s manual. Around that time, I also inherited an old MSX computer from a cousin, which I programmed in similar ways. Whereas that didn’t teach much, it gave me a taste for what would eventually become my profession.
My first real computer was a 486 my family purchased in the mid 90’s. In the beginning, graphic editors, like the then popular Corel Draw, were what attracted me the most. As a 7th grader I started free lancing as a print designer. Doing similar work I was later employed part-time at an offset printing company and subsequently at an advertising agency. In parallel, in high school, my interest for programming started to grow.
My first real programming project was a personal website, dedicated to tennis. Then came a mIRC script/distribution* and, in 1999, my first commercial project, Casa da Dieta’s website. After selling one project I thought I could sell more, so in 2000, my first year in college, I partnered with a classmate and we landed three other projects, one which even included rudimentary content management and e-commerce features. At that time, my stack of choice was L.A.M.P.
* mIRC was very popular at the time. At a time when dial-up Internet in Brazil was extremely expensive, teenagers like me stayed up after midnight to benefit from late night discounts and chatted for hours on end. For not finding the features that I wanted in other scripts/distributions, I wrote my own. Other users liked it too and in a year I managed to attract a decent user base. My mIRC handle, [TrUMaN], stayed with me through adulthood and is part of my primary e-mail address, which I shamefully still use professionally.
In 2001, the opening of a modern data center operation in the small city of Uberlândia created a lot of excitement. A college student at the time, I managed to secure a position as a developer and was initially responsible for building and maintaining various ASP and PHP websites.
When I heard about a challenging project to build a self-service dashboard for clients, I wanted to be in that team. I pitched myself, convinced my manager and together with the lead engineer designed a solution utilizing Java/RMI where distributed agents installed on server machines used dynamic class loading to learn new tasks and perform them as submitted by customers via a central dashboard. That way we automated a series of sysadmin tasks and put our clients in control.
Brasilis’ parent company, Algar, owned a telecom company called CTBC, which in 2002 absorbed Brasilis and some of its employees, including myself. At the time, CTBC’s website needed an overhaul and the company had been unsuccessful attempting to adopt commercial content management systems. Once again, as part of a small team, I was trusted with an ambitious project and within a few months created a full-featured CMS from scratch and re-wrote CTBC’s website on the new platform. We worked hard. Many nights and weekends. To keep us motivated, we resorted to lots of junk food and Aerosmith’s version of Dream On (all day, on repeat!). It was fun and it was worth it. Mordomo, as we named that platform, remained in use for over a decade. I took those opportunities to further advance my Java skills and start using some up-and-coming open-source frameworks like Spring and Hibernate.
In 2004, after delivering a few more projects at CTBC, including a customer service dashboard and a digital document management system, I found myself moving to the capital of my state and jumping at the opportunity to work for Stefanini, a multinational IT consulting firm.
I was hired to turn around a troubled project. For the first time I was responsible for hiring and leading a sizable engineering team, which peaked in size at 20 team members. After successfully delivering, I had gained the trust of the company which opened the doors for me to lead a series of internal initiatives related to improving internal engineering practices, researching and promoting new trends and mobilizing those with an entrepreneurial spirit to collaborate with me (often during their spare time).
At Stefanini I worked for a variety of clients in many verticals (e.g. telecom, health, manufacturing). Besides working full-time as a software architect, I assisted with proposals and pre-sales and even traveled to give lectures at CIO/CTO events across South America. In 2005/2006, service-oriented architectures (SOA) were a big trend (see Gartner's Hype Cycle for Emerging Technologies in 2005) and I became an expert and evangelist for it within Stefanini. It was that exposure what positioned me so well for an opportunity in the U.S., to work for Bunge Global Agribusiness, one of Stefanini’s clients and one of the biggest commodity trading companies in the world.
For being in Belo Horizonte, I wanted to take advantage of my proximity to one of the best Computer Science universities in Brazil and, in 2005, I was accepted to UFMG's full-time masters program. With the consent of Stefanini I also continued to work full-time and was in-and-out of the office as necessary to keep up with my class schedules, often making up on weekends for the work I couldn't finish on week days. As crazy as it was, it wasn't different from my college days when college and work were also both full-time. In 2006 when presented with the opportunity to move to the U.S., I made the hard decision to abandon my master studies.
Oh, America! In terms investment in commercial software products, I had never seen such an abundance. At Bunge, all the absurdly expensive enterprise tools that I dreamed of working with were there. Their SOA suite included only top-ranked solutions from Gartner magic-quadrant leaders like IBM Websphere, TIBCO, Oracle, HP, CA, etc, and I did it all. Working under the microscope of a Chief Architect whose standards were extremely high, I was initially responsible for the architecture and implementation of Java services, but soon enough saw my responsibilities expanded and accumulated additional roles of Lead Integration Architect, Infrastructure Manager and Lead Performance Management Engineer. My projects spanned from mark-to-market and market position systems to productivity frameworks for TIBCO BusinessWorks including writing custom TIBCO adapters from scratch (e.g. to connect with Logical Information Machines).
Ever since I was very young, entrepreneurship inspired me. As a teenager, I’d wake up early on Saturdays to watch a television show where successful small business cases were showcased. Among the reasons for my choosing to study computer science, the prospects of crafting endless innovative digital products topped all. I have always been very happy with that choice, but in 2009 I still felt that I needed to understand more about the theory of business administration, so I decided to go to business school. I was in for the knowledge, wanted a part-time program, so I could continue working, and highly preferred to avoid any kind of student loans. My preferences led me to Baruch, where the accelerated part-time MBA program has an excellent reputation, specially their entrepreneurship and finance majors, which were the two that I graduated with.
As if life weren’t hectic enough between full-time job and MBA, in 2010 I jumped at the opportunity to join Mindspark, an IAC company, where I was offered a Sr. Engineer position. By taking that job, I made my very desired transition from the enterprise software world onto the tech startup world. In New York! The little entrepreneurial boy inside of me, from the country-side of Brazil, couldn’t be more ecstatic!
As part of an extremely talented group of engineers I learned and accomplished a lot during my first months at Mindspark. After approximately 3 months I was offered my first promotion and became the Engineering Director for our Expressions division, with the challenge of executing on a roadmap designed to make many of Mindspark’s aging social expression brands relevant again. I formed a team with 8 engineers and over the course of one and a half years, I delivered 3 new Facebook apps, introduced e-commerce (subscription and virtual goods sales), built a platform that was used to quickly crank out new sites and validate 4 new product concepts, and finally launched the first Mindspark mobile app on iOS, SmileyCentral.
I have benefited from my challenges and the vibrant startup environment, not only to re-tool in terms of web technologies and architectures, but I have also embraced the opportunity to employ various agile development and product management practices that have always sparked my interest and that I had been studying. I successfully implemented SCRUM with my teams and introduced the concepts of Business Model Canvas and Lean Startup which brought me much closer to the business leadership at the company.
By mid-2012, we were through all the critical phases planed in the Expression's roadmap. Somewhat in parallel, Mindspark was already refocusing its investments on a select number of promising new products, including Television Fanatic, Coupon Alert, Almost Cooked, and new mobile application ideas. I was enlisted to manage the engineering teams for all those initiatives. Besides managing five teams, I was also being pulled to contribute to mobile B2B projects under Mindspark's sister company APN.
Ask Partner Network
I saw in APN, and its new mobile initiative, the opportunity to contribute to a truly relevant and new concept, with real investment and the potential to become big. I forwent all my other responsibilities at Mindspark and made the lateral move to APN. I gradually hired a team of 8 engineers in New York, with specialties varying from web backend and front-end to Android and iOS. I later augmented the team with additional 5 staff members from our West Coast offices and together we built and launched Offercast Mobile, a mobile advertising network for app developers. I architected the entire suite of products, including a public website, a partner dashboard, an ad server and native SDKs for Android and iOS, and was often an active developer working on our RESTful API and Android SDK projects.
Within a few months after the unveil of Offercast Mobile, it became apparent that growing with that business model would be a challenge for our organization. We took a step back, scaled down the effort and started working to refine our strategy. In the meantime, I was recruited to assist another IAC brand, nRelate.
In mid-2014, the competition in the content advertising space, led by Taboola and Outbrain, was fierce. nRelate came in the third place, but irrespective of its admirable scale, with over a hundred thousand publishers and a few billion ad impressions every month, the company needed a bold plan in order to remain competitive. A strategy as devised and a very aggressive roadmap was set in motion. In my role, I was responsible for guaranteeing that engineering wouldn't fail to execute. I eliminated process inefficiencies, augmented the team (once again with additional staff members from our West Coast offices), decoupled aspects of the stack to enable more initiatives to move in parallel, worked to improve overall availability and reduce the number of production incidents, and re-focused the team so we could effectively tackle our roadmap. In under 6 months we delivered several new products (e.g. related search, public API, mobile-optimized units), many enhancements (e.g. ad quality and collaborative filtering) and a number of tests. However, in spite of such tremendous team effort and impressive execution, the new strategy didn't suffice to turn the company around. On Dec 31st, 2014 it was decided that nRelate would no longer operate as a stand-alone business.
nRelate was a tremendous experience for me. As an acquired startup it differed significantly from APN and IAC, both from a culture perspective as well as from its engineering practices perspective. On the tech side, my first impression was that every language and technology had been used in some capacity. The list included: PHP, Python, Java, Scala, MySQL, Cassandra, MongoDB, SOLR, Memcached, Hadoop, Storm and much more. Working with the team I had the opportunity to learn a lot and step up and be hands-on on various occasions, for example with SOLR, while researching alternatives to improve the relevancy of our contextual recommendation algorithms, and with Chef, while attempting to improve our Chef practices and use Chef with Vagrant to ease the pain of setting up any development or test environments. I had to dust off my SysOps skills to contribute meaningfully to discussions and to our ongoing datacenter migration. I have also finally had the opportunity to get exposed big data and machine learning applied in a real product.
Ask Partner Network (contd.)
In the second-half of 2014 we pivoted our mobile initiatives and focused on building white-labeled Android applications catered to serve the monetization needs of device manufacturers. We tested with a new APN search widget and found very encouraging traction. It was time to ramp up again and tackle the opportunity. I've restructured the engineering team to match our new focus on native Android development. Hired new and supported training existing employees. I have also prioritized spending more time developing features myself with the goal of further advancing my Android skills and of offering guidance based on actual hands-on experience. As of this writing (Mar/15), in my new role of VP of Software Engineering, I am very engaged with our evolving products and several promising new ones yet to be announced.
As a curious and passionate tech professional, there is always something going on in my professional life beyond regular work. I tinker with new technologies every now and then, study things out of curiosity, but specially appreciate the opportunity to interact with other likeminded geeks. I've done so in various capacities, from being a member of the board of advisors at other tech startups to building something with a partner for no reason other than the fun of playing with a new concept.
Most recently I became interested in learning more about how universal Android applications (those which support all forms of devices, including cell phones, tablets, watches, cars and TVs) are built. I took the opportunity to learn more about a few important Android frameworks which I hadn't had the opportunity to work with, including Dagger and RxJava. As a result, I built Kite, a music player for the cloud which integrates with Dropbox. It's open-source and available for download at the Play Store.