In our recent conversation with Nishan Subedi, VP of Algorithms at, he shared with us his approach to machine learning systems and organizational design.

Applying architectural patterns to ML system design

Nishan shared how the seminal book “Design Patterns: Elements of Reusable Object-Oriented Software” inspired him to look at system architecture as a set of objectives you want to fulfill. In order to meet those objectives, it is helpful to rely on established patterns that can be customized to a specific problem but interact in fairly standardized ways with external systems. It is also important to think about the humans that interact with your system and how you want them to function.

As with other complex systems, when designing a ML system, there is never a single and absolute set of requirements. Requirements can always be met at various degrees of satisfaction. The process of system architecture design requires iteration towards a solution until important requirements are satisfied. This ultimately gives way to a living process that requires you to balance competing forces until they are in harmony with each other.

Nishan references resource efficiency as one benefit of thinking in terms of patterns. As a medium sized company, doesn’t have the resources to build extensive tooling unique to every use case and team. But by identifying patterns that exist across teams, they can innovate more quickly without reinventing the wheel and efficiently deliver common tooling and infrastructure.

One example Nishan discussed is the case of embeddings. Nishan’s team often makes use of these representations of the relationships that exist among various kinds of entities in their systems. It turns out that these artifacts that a neural network learns during training are highly valuable and can be applied to a variety of problems, for example a representation of the relationships between products allows them to recommend products based on what a user has looked at or purchased. By recognizing embeddings as a key pattern at, his team was able to build these representations once and then leverage them to serve the entire company’s ML needs at scale.

Leveraging “squads” to enable ownership and drive impact

In order to maximize impact on the business, Nishan shared how he integrates pattern thinking into the structure and culture of his organization. Rather than rely on a strictly functional or product-aligned organizational structure, he emphasizes the impact a cross-functional squad can have on designing and delivering ML solutions of value to the organization.

In this approach once the organization’s leadership understands a problem and its requirements, they spin up a squad composed of folks from data science, systems engineering, product, and other impacted areas of the business to fully own the problem and drive to a solution. This allows the organization to more closely apply the organization’s functional capabilities to the problem at hand and also allows for the members of the squad to then return to their functional teams with insights and best practices for the future.

Nishan helped us understand how architectural patterns allow us to develop general ML tools that can be applied and scaled across the enterprise. Check out our full conversation with Nishan here.

If you enjoyed our conversation with Nishan check out TWIMLcon On Demand to hear from other global AI platform leaders like him. Hear from world-class presenters and panelists from teams leading the application of AI and Machine Learning at companies like Netflix, Shopify, LinkedIn, Spotify, Google, Walmart, iRobot, Adobe, Intuit, Yelp, Salesforce, Prosus Group, Palo Alto Networks, Microsoft, Qualcomm, and more.

TWIMLcon On Demand’s 20+ hours of presentations, workshops, and discussions will provide you with a practical blueprint for delivering machine learning efficiently and at scale. To explore this great content and learn more about building smarter, innovating faster, and avoiding costly mistakes across end-to-end ML model production, visit