django-planet
Sept. 24, 2022

On joining as an existing Engineering Team

published by Hugo Ochoa
in blog Instawork Engineering
original entry On joining as an existing Engineering Team

It was March 2021. We were struggling to keep our start-up afloat. Stateoftheart.ai was a platform to facilitate AI research that we have been working on for over 2 years. The core team was Andres and Toño, PhDs from MIT leading us in terms of product and AI, me (Hugo) leading the overall technology, Lalo mostly guiding UI/UX and frontend efforts, and Jorge our more versatile engineer helping us in all fronts.

As a team passionate for AI and Tech, our main motivation was to create something useful for the AI research community. In this regard, we never thought upfront on how to make this project sustainable. Due to the nature of the project it was even difficult to design a solid business model and think of a successful exit for this journey. In parallel, we knew there was also a possibility that the awesome engineering team we have built will not be able to keep collaborating together.

Joining a company as an Engineering Team?

The easiest decision was to make the platform open-source. This way we could make sure this project will not die and it will keep serving its main goal. However, we did not have a clear answer for our future as engineers.

In this context, Andres Campero, our CEO and friend, an intense, talented and determined person proposed what for me was a crazy idea: to join a new company as an engineering team. In his mind, the solid team we had built would have high probability of alluring some companies in Silicon Valley and that these might be tempted to open their doors and give us a new home as a team. Andres had built trust in our project therefore we decided to move forward.

Why Instawork?

The “finding a new home” process was exhausting, Andres mostly focusing on getting us opportunities, and the team going over one after another tech interviews and presentations. At times, these technical meetings were really challenging, even the idea of being interviewed in English was a bit overwhelming for us. Nevertheless, after just a few weeks some real offers started to reach our inbox. It was here when we realized we were wrong and confirmed that our engineering team, alongside the synergy and harmony we have built had a real value and there were companies willing to hire us and allowing us to keep collaborating together, Instawork’s offer stood out among these.

The moment of truth was getting close and we needed to make a decision, perhaps one of the most important decisions we ever made. At the very end, we understood that joining a new company is a full commitment over years of working with new people, ideas, culture, leadership and we ought to be happy with it. At this time Lalo, Jorge and I came together as a team and thought about our aspirations and what we individually wanted for our future.

By that time, we were experienced engineers who had only worked for small companies in Mexico. We had aspirations to work for a big and more mature company, with a proven product and ambitious goals of expansion and scalability. We wanted to live and work in a warm environment, meet people from different places, and collaborate with talented engineers, a company with a culture and principles we feel identified with. We were looking for a place where we can become better engineers. In this regard, Instawork convinced us from the very first time we knew about it.

Realistically, this was a really quick process. Viewed this way we did not have sufficient time and money to make a fully deliberate decision. Nonetheless, I have to confess that from the few calls we had with Debarshi and Adam, CTO and Director of Engineering respectively, the team was quite attracted by the seriousness and confidence they conveyed while interviewing us. On the other hand, we did perceive the warmness, kindness and leadership we were looking for, and I was also surprised by the agility and transparency the company showed while doing the hiring. This conveyed in a way the value Instawork saw in us but also a determination for getting things done.

Individually, I was quite attracted by a company who took the time to really define its values more than using cliches. After few months, I can give testimony that getting back to principles such as Acting Like an Owner or having Bias for Action really makes our day to day decisions way easier. On a technical aspect, Lalo was so excited about being in a company with tech vision and open to invest time in open-source endeavors such as Hyperview. Jorge, the more introverted engineer of our team, had no doubt Instawork’s environment will make him a better engineer. Finally, Andres and other stakeholders who were also involved in this process really encouraged us to take this offer.

Dec 2021 Celebrating that the stateoftheart.ai engineering team found a new home at Instawork

There might have been other factors, thoughts and feelings that guided this decision. At that time, I can just say we did our best to extrapolate what we saw to help us understand what it might be to work in any of the companies we have received offers from. After just a few days of thinking we decided to join Instawork and that is something that after 9 months of being Instaworkers we did not regret and are truly happy for.

Our trajectory at Instawork

The very first days at Instawork were a stack of new experiences for us. From our first zoom call with several hundred people all the way to have access to the biggest codebase I have ever interacted with.

A few weeks after we joined, Instawork let us know its plans of making our team the owner of the payment’s platform, internally called the Payment’s Pod. In a system as big as Instawork, we were to be responsible for the software in charge of paying out our Pros and collecting payments from our Partners. My feelings at that moment were binary, on one side I was nervous of the big responsibility we have in front of us but on the other side I feel excited of this challenge and also confident the team was actually capable of managing this.

From the early days, we started to contribute with new features and fixes to our payment code base. I remembered how overwhelming the interaction with the big monolith was in the first few days. However, something I want to say is that ramping up at Instawork whether at the product layer or engineering was easy due to the quality and kindness of the whole team but also thanks to the good processes they have in place from which I wanted to highlight some of them.

  • Our interaction with a Product Manager: coming from small start-ups in Latin America, it was our first time having a Product Manager in our own team, leading us in terms of product, helping us making decisions when it comes to UI/UX, validating our features before releasing and finding bugs. In a previous life, we were the ones doing all of these things the way it made more sense for us. Having interaction with a real PM is something I really enjoyed and value from our day to day life at Instawork.
  • OKRs: Thanks to the way Instawork defines quarterly objectives through the OKR process, it was easy to understand where we are and where we need to go. This helped us stay focused regardless of the amount of knowledge we were yet to acquire. Even more, this is a way we get motivation since we as engineers are aware of the impact our work has in the overall company goals.
  • Technical Approach Definitions: A TAD is a document a developer writes to sustain his/her approach to solve a particular problem before even adding any code. I truly value this process as part of our engineering pipeline and culture. As newcomers, this gives us confidence by knowing our approach is reviewed and supported. It also makes us efficient because of the early feedback received. On the other hand, having access to all existing TADs have helped us understand the current state of our codebase and why something is coded the way it is.
  • Organic Code Reviews: something at first unreal to me was the way code reviews were performed. I was previously used to one team member (usually the lead) reviewing everyone’s code. At Instawork this was different, any one in the team is empowered and asked to review everyone’s code no matter the role or seniority. These are some of the things that I have found more powerful and useful. In particular it helped us reach the “comfortable working with this codebase” state faster because of the amount of exposure you get with the codebase and different aspects of the system.
  • Side-Projects: I used to work in companies where most of my work was bounded and related to the features I owned. This is fine but sometimes it makes you feel bored and stuck. Instawork helps you in this way by encouraging you to join side-projects every quarter (called Engineering OKRs) or being part of other activities such as the book club where you will be pushed to read and discuss a technical book every quarter. This adds quality to our day to day life since you will always have the opportunity to learn something new.

Our future at Instawork

Currently, we are confident to say that after 9 months at Instawork our team is fully onboarded and took ownership of the payment’s platform. We are confident in working in the big code base, we enjoy following the processes and internal guidelines while building something, we are now even working on new exciting high-impact features. Now, we are capable of helping new engineers ramp up and we are even thinking on how to bring more Mexicans and people from Latin America to Instawork.

We really value being in an environment where learning is our steady state. I can guarantee Jorge, Lalo and I are now more confident to contribute, discuss, and improve our current processes and technology. Every day we value the opportunity Instawork has given to us and we are conscious of the expectations and responsibilities on our shoulders. I can simply say we are more than happy we made this decision.

The Payment’s Pod powered by Latam engineers

Have you been on a similar journey with your startup? Did you have the same experience joining a larger company? Let us know in the comments.


On joining as an existing Engineering Team was originally published in Instawork Engineering on Medium, where people are continuing the conversation by highlighting and responding to this story.