DevOps
Preparing for Rapid Growth - Tips for Enabling Your App and Team to Grow

Summarized using AI

Preparing for Rapid Growth - Tips for Enabling Your App and Team to Grow

Patrick Leonard • April 23, 2012 • Austin, TX

In the presentation titled "Preparing for Rapid Growth - Tips for Enabling Your App and Team to Grow", Patrick Leonard outlines his experiences and insights on managing rapid growth in the technology landscape, particularly through the experience of iTriage, a consumer healthcare app. Over three years, iTriage evolved from a small startup to a leading mobile application, achieving over 5 million downloads. The presentation focuses on several key themes connected to technical architecture, team processes, and hiring strategies.

Key Points Discussed:
- Understanding the Growth Challenge: Patrick emphasizes the transition from startup enthusiasm to the challenges of scaling operations, particularly when user demands increase requiring more features and faster delivery.
- Technical Architecture: The initial technical choices formed the foundation of iTriage's rapid scaling. Key decisions included:
- Implementing Rails Engines to facilitate a modular architecture.
- Creating a RESTful service-based design that allowed different modules of the application to effectively communicate.
- Development and Release Management: Over time, the focus shifted towards improving development processes:
- Introducing frequent releases, transitioning from an initial timeframe of updates every three months to every three weeks based on user feedback.
- Building automated processes for testing and deployment to enhance speed and reduce technical debt.
- Recruiting and Hiring: Leonard stresses the importance of hiring people passionate about health technology who fit well with the company culture. The hiring strategy included:
- Seeking engineers who can not only handle technical challenges but also share the vision of transforming healthcare through technology.

- Adapting to Change: As iTriage grew, they continually re-evaluated and adjusted their development processes and technical architecture to handle complexity and improve efficiency.
- Conclusions and Takeaways: Leonard concludes with insights on the necessity of aligning the technical architecture with business objectives and emphasizes that continuous improvement in processes, architecture, and team recruitment is vital for sustained growth.

This presentation provides valuable lessons for startups aiming to navigate the complexities of rapid growth and emphasizes a holistic approach that combines technology, organizational structure, and human resources.

Preparing for Rapid Growth - Tips for Enabling Your App and Team to Grow
Patrick Leonard • April 23, 2012 • Austin, TX

Every young company expects to grow quickly, but is your engineering team really ready for it? In 3 years, iTriage went from a kitchen table to one of the leading mobile consumer healthcare apps with over 5 million downloads. Staying ahead of this growth didn't just mean hiring more Rails engineers.

Patrick will discuss what iTriage did (and continues to do) to stay ahead of our growth, including: - Technical architecture, including use of Rails Engines to enable a modular, RESTful service-based design - Enabling high quality iPhone, Android and Web apps - Development and release management processes - Recruiting and hiring approaches

Help us caption & translate this video!

http://amara.org/v/FGjC/

RailsConf 2012

00:00:27.180 Hello everyone, my name is Patrick Leonard, and I am the founder of iTriage, a technology company that focuses on personal healthcare for consumers.
00:00:38.059 Today, I want to talk about my experiences in scaling our engineering team and processes at iTriage through some significant growth. This whole journey starts at a moment when you have a great idea and you need to gather the right people to create a proof of concept application. This is a crucial step as it sets the stage for moving forward.
00:01:12.510 Once you have that initial proof of concept and you start attracting customers, it's essential to get your product out in the market for users to engage with it. It can be tempting to rush things, especially when seeking investments, but it’s crucial to do things the right way.
00:01:40.299 As we moved towards our first customers and began generating revenue, we realized that growth also brought challenges. Although it's great to have demand for more features, more users, and to attract investors, it became clear that we needed to be strategic about hiring new engineers and adding functionality.
00:02:03.679 However, simply hiring more engineers was not enough. We faced the risk of accumulating technical debt if we only focused on expansion without considering the foundations of our technology stack. What we experienced was a plateau where growth slowed down due to the flexibility issues arising from past decisions.
00:02:40.000 Since starting iTriage about three and a half years ago at my kitchen table, we have grown into a prominent healthcare application with millions of downloads. We realized that scaling our team was important, but so was rethinking our architecture and processes. I want to share our experiences and lessons learned during this journey.
00:03:15.000 We worked on our technical architecture and processes to ensure we could meet the demands of growth. Initially, our architecture included some tightly coupled components that made it difficult to pivot and adapt to new demands. We focused on modular design principles, which allowed us to evolve without major disruptions to our existing systems.
00:03:50.000 The first major change we made was enabling the development of high-quality applications across different platforms, including iOS and Android, using Rails. This included developing RESTful APIs so that our mobile applications could communicate effectively with our Rails backend.
00:04:07.460 By creating a unified codebase and separating our web and mobile applications, we were able to streamline processes and improve the overall architecture. With this setup, our development cycles became more agile, allowing us to push updates every three weeks rather than every few months.
00:04:55.000 Additionally, we gathered feedback through surveys to determine the ideal release frequency. We found that every three weeks was manageable for our users while keeping our team aligned and motivated. To illustrate how we organized our development, we utilized a DevOps approach that involved automation and continuous integration.
00:05:35.000 This allowed us to deploy changes safely and efficiently while maintaining a stable infrastructure. We adopted tools such as Chef and Jenkins to support our engineering efforts and improve deployment times across the board.
00:06:20.000 In terms of recruiting, we focused on hiring talented individuals who fit our company culture. We sought passionate people who would contribute not only their technical expertise but also share a similar commitment to improving healthcare through technology.
00:06:45.000 We didn't just look for top-tier talent in technical skills; cultural fit was equally important for us. We need individuals who understood the complexities of healthcare and could translate their knowledge into code. As such, our interview process emphasized engagement and authenticity, enabling us to select candidates who were truly aligned with our mission.
00:07:40.000 As we established these systems and philosophies, we realized that sharing our findings and best practices could benefit others facing similar challenges. It's this process of continuously learning and adapting that has made our growth sustainable.
00:08:15.000 In summary, growing an app and its team requires not just technical skills but a holistic approach that includes architecture, processes, and a strong cultural foundation. By sharing our journey, we hope to inspire other teams on their path to scalable success.
00:09:05.000 Thank you all for listening. If you have any questions or would like to discuss our experiences further, I would be happy to share more insights and engage in a conversation about our strategies and solutions!
Explore all talks recorded at RailsConf 2012
+65