Loading video player...
If you care about continuous delivery and evolutionary software architecture, you should care deeply about deterministic system design. Determinism is the prerequisite for trust in software engineering. Without it, your tests lie to you, your pipeline lies to you, and your architecture rots quietly. With a deterministic system, you can move fast without gambling and run thousands of experiments per day. What you will learn about in this video: - Time as a Parameter: If your code calls datetimenow directly, you've injected nondeterminism. Instead, pass time as data so you can freeze time, fast-forward it, and reproduce production bugs by replaying timestamps. - The Deterministic Core Pattern: Separate the code that decides (pure logic, no database, no clock, no randomness) from the code that acts (imperative shell, dealing with the database, network, and clock). - Testable Architecture: When the core is pure, you don't need mocks or complex test scaffolding. You can run thousands of software testing assertions in milliseconds. - System Property: Determinism isn't just a coding trick; it's a systems property. This includes using hermetic builds, pinned dependencies, and idempotent deployments. - 🎓 FREE WEBINAR: Gain a clearer understanding of modern software architecture and design. Spend an hour with industry expert Dave Farley in this Free Tutorial as he explains the essential tools of software engineering and how to apply them in practice. ENROLL HERE ➡️ https://courses.cd.training/courses/design-to-manage-complexity - Dave on: X ➡️ https://x.com/davefarley77 LinkedIn ➡️ https://www.linkedin.com/in/dave-farley-a67927/ bluesky ➡️ https://bsky.app/profile/davefarley77.bsky.social Modern Software Engineering on X ➡️ https://x.com/ModernSoftwareX Modern Software Engineering on LinkedIn ➡️ https://www.linkedin.com/company/modern-software-engineering Modern Software Engineering on bluesky ➡️ https://bsky.app/profile/modernswe.bsky.social - ⭐ PATREON: Join the Continuous Delivery community and access extra perks & content! ➡️ https://bit.ly/ContinuousDeliveryPatreon 🎥 Join Us On TikTok ➡️ https://www.tiktok.com/@modern.s.engineering - 👕 T-SHIRTS: A fan of the T-shirts I wear in my videos? Grab your own, at reduced prices EXCLUSIVE TO CONTINUOUS DELIVERY FOLLOWERS! Get money off the already reasonably priced t-shirts! 🔗 Check out their collection HERE: ➡️ https://bit.ly/3Uby9iA 🚨 DON'T FORGET TO USE THIS DISCOUNT CODE: ContinuousDelivery - CHANNEL SPONSORS: Octopus Deploy sets the standard for Continuous Delivery (CD), empowering software teams to deliver value in an agile way. Globally, more than 4,000 organizations rely on its Continuous Delivery, GitOps, and release orchestration solutions to deliver swift value to their customers. Octopus efficiently orchestrates software delivery across multi-cloud, Kubernetes, data centers, and hybrid environments, whether containerized modern apps or heritage applications. With governance, risk, and compliance (GRC) at its core, Octopus supports Platform Engineering teams in their mission to provide a superior developer experience (DevEx). Octopus also actively contributes to the developer community with open-source projects. ➡️ https://bit.ly/MSExOCTDEP Equal Experts is a product software development consultancy with a network of over 1,000 experienced technology consultants globally. They increase the pace of innovation by using modern software engineering practices that embrace Continuous Delivery, Security, and Operability from the outset ➡️ https://bit.ly/3ASy8n0 TransFICC provides low-latency connectivity, automated trading workflows and e-trading systems for Fixed Income and Derivatives. TransFICC resolves the issue of market fragmentation by providing banks and asset managers with a unified low-latency, robust and scalable API, which provides connectivity to multiple trading venues while supporting numerous complex workflows across asset classes such as Rates and Credit Bonds, Repos, Mortgage-Backed Securities and Interest Rate Swaps ➡️ https://transficc.com - #softwarearchitecture #softwareengineering #softwaredevelopment