In this series, we're going to explore our decision to go cross-platform, the technology we chose, how we chose it, and how we enabled our team.
To kick things off, Senior Staff Software Engineer, Juan Lulkin and Engineering Manager, Bruno Show explain why we're doing this in the first place.
Here are the key factors that influenced our decision to go cross-platform.
Focus on our mission
At Choco, we've established ourselves as the preferred ordering platform of the best restaurants and suppliers in the world. Our app is easy, fast, and delicious to use.
But it’s day one and our ultimate mission is even more ambitious. We want to integrate the entire world’s food supply chain and end food waste. With this lofty goal in mind, we looked into cross-platform development to decrease the exponential cost of coordination, foster collaboration, and culture, and build a consistent product by design.
Exponential cost of coordination
As our EPD (Engineering, Product & Design) team expanded, coordinating development across multiple platforms became increasingly challenging.
To build a single feature we needed many different engineers from different “chapters”, leading to a “waterfall effect”. Features were divided into separate delivery streams with dependencies and handovers.
More handovers led to increased API negotiations instead of iterating and improving the contracts while developing the feature. The different streams resulted in slight variations in feature implementation, complicating bug tracking and customer support. Foundational aspects such as analytics, feature flags, and design systems end up being implemented differently, leading to greater effort and inconsistencies between platforms.
As explained by Allen Pike, the old argument between “good vs cheap” is no longer relevant. We believe cross-platform will help us deliver faster, by making coordinated featurefulness easier.
Collaborations & culture
With clients built in different languages, our teams necessarily need more engineers and more communication lines. Smaller teams have been hailed by the industry, as the “two pizza team” became a famous Amazon principle.
Cross-platform can support our growing organization by enabling leaner, high-outcome teams. We want to decrease the overhead of project management and the “waterfall effect”, facilitate more focused meetings, increase the feeling of belonging, and understanding of team goals, and ultimately team and individual ownership of the features and the product.
Having more engineers being able to contribute to the same application, decreases silos and allows more people to work together, improving culture and team vibe. Team bonding is known to be fundamental for retention and the overall morale of our people.
Consistency by design
With different stacks, we had to build all foundational aspects of our apps several times. Different design systems, translation keys, feature flags, analytics setups, and much more. When bugs are reported we take extra time to understand which platform might be affected and which team to route the problem.
We believe cross-platform can help us build a more consistent and reliable product by streamlining our apps' foundational aspects. This means a better, more reliable experience for our customers, both when things just work™ or when they experience issues, by simplifying our customer support and speeding up bug resolution.
To build the tech that will connect the world’s food supply chain we will need to leverage tech in creative and innovative ways, and we’ll have to do it fast and effectively. Our decision to transition to cross-platform in 2023 will support and propel this change.
At Choco, team is a core value, represented by the "T" in our yummy acronym, TOFU. To us, collaboration means working together as a team towards a common goal, regardless of individual preferences or backgrounds. So we set up a task force consisting of engineers from different platforms to research the alternatives and build Choco’s future together.
Stay tuned for part two!
Discover Life At Choco
Life at Choco
Meet Kiran, Data Engineer At Choco
We sat down with Kiran to learn more about his role as Data Engineer at Choco.
Life at Choco
Step Into Our Berlin Office With Julius
Long-time Chocorian Julius Hoffmann dives deep into our Berlin office culture and atmosphere.
WE'RE HIRING GLOBALLY!
Ready to combine your love of tech with your passion for a healthy planet? Now's your chance. Join our mission!