login


Google Sign inLinkedIn Sign in

Don't have an account? 

Writing Code Across Multiple Platforms

Scaling Team
Impact
Sharing the vision
Productivity

31 March, 2020

Android and IOS have been competing on different wavelengths and codes since the beginning of their existence. Benny Wong, CTO at Spin highlights a learning he was able to bring from one startup to another which revolutionized the way his engineers work on code for the two platforms.

Problem

During my time as head of mobile at Envoy, I was tasked to pilot and create a new product for both IOS and Android. Managing both the front and back end of a small mobile team, we needed to maintain two different platforms. Functionality wise, everything was pretty much the same except for certain features that are native to their specific platform. It was such a huge task because these two products don’t share the same code base and need to be compiled in different ways.
 

Before 2015, hiring both Android and IOS engineers to build a team from scratch is what all companies did. With that, you do not gain a lot in terms of cross-functionality however, because they are so separate. At Envoy, we were facing the same problem. This is when I decided to research and try a new platform that came to me by word of mouth.
 

Actions taken

A lot of people in my startup circle had been using a new platform on Facebook by the name of React Native. While there may be more up to date tools now, back then, React Native was the only platform of its kind. It was made for writing code for an app just once and then creates different code native to their apps.
 

A month later I quit Envoy and brought this new tool with me when I joined Spin. Instead of having two engineering teams on each platform, I wanted just one person to code out the app for both IOS and Android.
 

Lessons learned

  • By using a platform like React Native, you no longer need to hire two sets of different engineers. All you need to do is write the code once and make the necessary tweaks for each platform. Unfortunately, being a new platform, it didn’t garner much support and was painful at times due to a lack of resources like Stack Overflow to tell you how to solve engineering problems. I really had to dig in myself and comment back to the community. Despite that, it ended up working really well and we were able to ship on both platforms within a month.
  • Introducing React Native to Spin really helped us scale; even today when we are 600 people. We are at the size right now where we can actually hire specific expertise for each platform. This has allowed us to get the most out of the platform itself and thus, enhance the user experience.
  • My recommendation for any startup moving forward is to start with React Native as a means to save time and money. One of the problems of having teams across different platforms is that they become misaligned. This can affect the release cycle and cause inconsistent updates.
  • Getting your app to be completely perfect on each platform is good, but it comes at a cost. In a startup, this might not be as important as it is to quickly figure out if the code works or not.

Related stories

How to Effectively Communicate on Slack
6 July

Shridharan Muthu, VP of Engineering at Zoosk, discusses effective communication using Slack including a recommended framework that entails three simple tips to make the most of the tool.

Internal Communication
Remote
Productivity
Shridharan Muthu

Shridharan Muthu

VP of Engineering, Backend Applications at Zoosk

What We Learned From Running Open Spaces
30 June

Jeff Foster, Head of Product Engineering, highlights key learnings from his experience of running open spaces and if and how it contributed to an increase in innovation.

Company Culture
Productivity
Impact
Jeff Foster

Jeff Foster

Head of Product Engineering at Redgate

Some Ideas for Breaking Down Silos In Your Organization
30 June

Jeff Foster, Head of Product Engineering, shares how he managed to break down silos in his organization by encouraging their employees to choose their own team.

Team reaction
Managing Expectations
Company Culture
Internal Communication
Collaboration
Productivity
Reorganization
Jeff Foster

Jeff Foster

Head of Product Engineering at Redgate

How to Identify Root Cause of an Application Failure
30 June

Murali Bala, Director, Software Engineering at Capital One, outlines how he applied a root cause analysis to fix a recurring outage of their website.

Dev Processes
Leadership
Productivity
Murali Bala

Murali Bala

Director, Software Engineering at Capital One

How to Inspire Mission Among Engineers
27 June

Agata Grzybek, ex-Uber Engineering Manager, outlines her efforts to inspire mission-driven culture among engineers on her team.

Company Culture
Impact
Sharing the vision
Agata Grzybek

Agata Grzybek

Engineering Manager at ex-Uber

You're a great engineer.
Become a great engineering leader.

Plato (platohq.com) is the world's biggest mentorship platform for engineering managers & product managers. We've curated a community of mentors who are the tech industry's best engineering & product leaders from companies like Facebook, Lyft, Slack, Airbnb, Gusto, and more.