Home E31 - Distributed Systems at Shopify with Ahmad Alhour
Post
Cancel

E31 - Distributed Systems at Shopify with Ahmad Alhour

Audio only 🎧


Staff software engineer Ahmad joined me to share insights from designing complex systems at Shopify. We discussed distributed systems, managing technology landscapes, testing strategies, flexible architectures, leadership skills, understanding roles, and optimizing teams.

Key takeaways involve tackling uncertainty, tailoring methods to teams versus rigid recipes, testing guiding principles over metrics, solving business challenges, and incrementally converging on solutions via hypothesis testing.

▬▬▬▬▬▬ Resources & References 📕 ▬▬▬▬▬▬

Ahmad’s LinkedIn: https://www.linkedin.com/in/aalhour

▬▬▬▬▬▬ Chapters 🕐  ▬▬▬▬▬▬

00:01:02 - Ahmad Alhour’s background 00:03:37 - Is it better to have a diversified career path? 00:07:14 - How should staff+ engineers work with managers? 00:09:36 - Solving the merchants’ fraud problem 00:18:45 - What’s the tech stack used at Shopify? 00:23:55 - Transactions in event-driven architectures 00:26:04 - How do you do geo-replication with Kafka? 00:28:13 - MySQL and data replication 00:32:14 - How do you do database migrations and transitions? 00:33:54 - Microservices and distributed transactions 00:36:12 - The noisy neighbour problem 00:37:15 - How do you guarantee isolation of scale units? 00:39:15 - How to set up a cache server for a multi-tenant environment? 00:40:56 - GraphQL in production 00:43:13 - How do you package and release internal API clients? 00:47:03 - Unit testing, integration testing, and end-to-end testing 00:50:22 - How complicated should unit tests be? 00:53:37 - The art of software development 00:58:18 - Software development is an optimization problem 01:08:35 - Conclusion

▬▬▬▬▬▬ Connect with me 👋 ▬▬▬▬▬▬

▬▬▬▬▬▬ Support the channel 💜 ▬▬▬▬▬▬

Every little bit helps ✨

#glichstream #softwareengineering #programming #coding

All rights reserved.