LOTE #4: Alla Babkina on Platforms as Products, 2020 Fullstack Engineers, and Observability
In the fourth episode of the Ambassador Livin’ on the Edge podcast, Alla Babkina, head of engineering at diversity recruitment platform Headstart, discusses building a cloud platforms as a product, what it means in 2020 to be called a "fullstack engineer", and why and how to bake-in observability to applications.
Be sure to check out the additional episodes of the " Livin' on the Edge " podcast.
Key takeaways from the podcast included:
- If an engineering team decides to build an application platform, this must be treated like any other product within the organisation. Requirements should be gathered from customers (e.g. developers), and the delivery and maintenance of the platform should be explicitly managed. Appropriate people, time, and resources should also be provided.
- Although the term “fullstack engineer” is probably over-used, in 2020 it is beneficial for engineers to understand an appropriate level of detail about several topics: programming language, algorithm design, and the underlying cloud platform.
- Upskilling engineers in fullstack topics enables them to design, build, and run applications that perform effectively and consume (cloud) resources appropriately.
- Not every engineer wants to be “fullstack”, and so platform/operations support should be provided to engineering teams as appropriate.
- A challenge for modern software engineering organisations is cultivating the team mix. A key question technical leaders need to ask is “should a product be built by a small band of fullstack engineers, or a series of teams with specialist roles?”
- Engineers must understand the business context in which they are operating, and also how the features they are working on relate to key performance indicators.
- The successful adoption of new technologies and techniques can be driven by focused sprints, where the output of something practical can be demonstrated to the entire team. “Fika” (coffee time) sessions can be a great way to share knowledge.
- Microservices are just one way of creating modular applications with well-defined APIs. Other approaches, such as a well-architected monolith, are often equally as valid.
- Observability must be designed and built into all of the applications and also the platform. Engineers must create metrics appropriately for alerting, and also use logging effectively in order to provide enough “breadcrumbs” to locate where the issue is.
This week's guest
As a technology lead, engineering manager or consultant, Alla Babkina helps teams build solutions that businesses need, users love, and engineers are proud of. She has experience in several industries, deep practical knowledge of technology and how to best apply it to business use cases. Alla drives for innovation and strong engineering principles, which allow her to build industry leading systems and teams for organisations that she works with.