Shifting Left, Shifting Right

Patrick Martin

⏱ 20 minute session
beginner
intermediate
advanced
15:10-15:30, Thursday, 3rd April 2025
As we all shift right into the future, looking back we can see cycles of invention and re-invention of the activities that contribute to delivering software products.

Shifting left is used in a few contexts in slightly different ways but they broadly share the idea that defining things earlier in the workflow is an unalloyed good. This process can happen via code:- C++ 26 for example has a reflection proposal and other mechanisms have been used previously. For other ecosystems, it's "the air you breathe" and pervasive in the language. This process can also happen via tooling, which affects the way we work and interact. As a final thought, this process occurs at the collaboration level and design level, which nudges the way we end up producing our total system, the finished product.

In this talk we'll go consider a variety of technologies and we'll be able to look back quite far in time. We can then cherry-pick some illustrative examples which will allow us to discuss how our understanding and attitudes of what to shift left and what to shift right have changed. Mostly importantly, what will we do next, and why?

🏷 build systems
🏷 constexpr
🏷 also how did you know

Patrick Martin

Patrick started work with research work quite time ago, which involved aligning dark grey rectangles with other dark grey rectangles. He then moved into software production, and has recently come to an awareness that in recent job roles, there was a non trivial proportion of the work that was aligning grey rectangles with each other. Some of the remaining work may have placed content in those rectangles. In a departure from his core skill set, recent work has involved very little rectangle alignment.