The journey of a tech startup from a tiny venture to an SME to a large company is one where early vital decisions to launch "something" to the market are good for then, but then as the company grows, both in scale and scope, additional desirable complexity brings with it a code base that is also complicated, and often tightly coupled and increasingly difficult to increment on.
This talk presents my journey in helping my company successfully modularise its frontend codebase, that started off being single product single platform to multiple products spanning multiple tech stacks across web, mobile and TV platforms today. Finding simplicity in growing complexity is essential as tech companies grow and is just as important in the frontend as it is the backend. I cover how we solve the problems of complicated dependency graphs between modules of front end code, and how the problems of “dependency hell” are minimised in a large group with multiple teams with similar and potentially conflicting dependencies. I show how we have leveraged concepts from backend architecture (microservices) to deliver similar benefits in the frontend.