Culture and Talent
How Invoice2go gets the best out of its developers across a 17 hour time difference
- A new study quantifies just how much time developers spend on non-core tasks.
- Invoice2go has found success in empowering its dev team, which spans an ocean.

Growth is an impatient teacher. Based in Sydney with another office in Silicon Valley, Invoice2go has had its own share of experiences sailing the growth seas. In 2017, with 250,000 customers, the invoice and payments software firm decided its code needed to scale better. Invoice2go made the tough decision to rebuild its software from the ground up.
Stripe's research on the impact of bad code[/caption]
Bad code can be a major problem for a growing financial technology firm. In a recent study conducted by Stripe, the payments firm found that the average developer spends over 17 hours a week dealing with maintenance issues, such as debugging and refactoring. This accounts for nearly $300B in lost productivity every year.
“Bad code can mean it’s poorly written, not fit for purpose, or includes things that are incomplete,” said Urban. “If you aren't aligned, with our geographic challenges, it's important that people can be autonomous, think critically, without really close direct management. This is why it's challenging to hire people. Our most successful engineers must think critically, be self-guided, and know to align with rest of their team.”
Hiring the right people is a challenge
Though the company is around ten years old, the pace of the company significantly ramped up after the company raised money from Accel five years ago. From then on, the Invoice2go story became about growth and transformation. Head count has increased significantly and now numbers around 70. Staff is split pretty evenly between the company’s Sydney and Redwood City offices. “Growing talent is always hard,” said Sebastian Urban, director of engineering. “Any business’ reach always exceeds its grasp -- ambition always exceeds capacity. It comes down to prioritization. Anything you can do to be more efficient is useful.” The geographic distance and time zone differential between the company's two offices have made hiring the right developers all the more important. The company approaches sourcing talented developers as a full-time job. Given the setup, not everyone has access to the same information, resulting in asymmetric informational pockets. Urban says the product and engineering teams align around issues, or norms, instead of creating top-down rules for the teams to code by. “Developers need to have a certain level of trust that the system works,” he explained. “Not everyone has a full understanding but there are people with domain expertise, who can share that knowledge, and cross-pollinate ideas. We’ve established guide rails to help developers be successful.”Defining the roadmap
The company's expects its developers to make smart choices about what Invoice2go decides to solve and what it doesn't attempt to solve, making hiring and managing developers that much harder. The company’s engineering team plays an active role in working with product to help shape which problems they attack. This impacts the developers' strategy, work flows, and even the quality of their code. [caption id="attachment_26095" align="aligncenter" width="500"]