The philosophy and goals behind “shift left” are alluring—even necessary—and the notion that moving work closer to the design and development phase makes for great slide decks and conference talks among technology leadership. The intention of “shift left” is to give developers the capability to produce software that will go through CI/CD quickly and work as predicted when it goes to production. It has unlocked new paths to speed and agility that were not present in the pre-cloud era.
However, shift left is easy to get wrong, leading to a significant amount of frustration, and, worst case, attrition, among developers. Like so many things in cloud native, what works at a small scale starts to wobble and creak under the strain of production-grade requirements. How do you ensure you are effectively shifting left, without just piling supplemental work on developers’s desks?
Shift left is easy to get wrong, leading to a significant amount of frustration, and, worst case, attrition, among developers.
At Slim.AI we’re passionate about helping developers. When they tell us about the shift left movement, there’s a consistent story: they’re feeling the weight of this new “streamlining” process as new demands are poured out on them—demands they’re not necessarily equipped or incentivized to manage successfully.
The shift left concept is solid, but right now the execution is laborious for development teams that are already diligently working to write code and keep iterating apps that deliver the experience users expect. “Shift left” is requiring developers to learn new skill sets and take on new tasks — namely to get containers through the development pipeline and make them production ready —all of which takes them away from their core focus: writing code. Finding ways to automate best practices in the design stage allows developers to focus on new projects, rather than revisiting existing pipelines that didn’t pass in production. As my co-founder Kyle Quest says, developers shouldn’t need a Ph.D in infrastructure to ship good code.
Developers shouldn’t need a Ph.D in infrastructure to ship good code.
A fluid and productive developer experience leads to a better end result. Container best practices and optimized tools, built with developers in mind, can help. Establishing container best practices as part of the production process aids developers in finding the right fit for their projects in an infrastructure environment that is already known to run well. Tools that help automate testing and save steps in security screening save developers headaches and allow them to focus on new initiatives, rather than revisiting code that did not pass production standards. If we provide developers with more automation and testing tools, friction can be better avoided with predictability and solving problems at an early stage.
The mindset at Slim.AI is to create tools that make building production grade containers a lower lift for developers, and enable them to quickly become experts in areas they may not have been historically.
Here are some tips for organizations that want to create a great developer experience in a shift left world, without having to constantly manage and optimize containers:
- Remove jobs that are repetitive and able to be automated.
- Look for best in breed technology stacks and SaaS solutions for your objectives.
- Adopt an automate-first mindset and continually work to improve workflows.
Shift left allows developers to stay close to the product, but what they really need is to eliminate friction through automation, the core tenant of DevOps philosophy. Imagine a low friction environment, where writing strong code that fits seamlessly into a well-run app via self-service tools for developers. This is the direction the world is taking us, and we’re excited to get there.
If you’re interested in learning more, check out the conversation I had with Mike Vizard at Techstrong.tv about it (opens new window), or drop me a line on Twitter (opens new window) or LinkedIn (opens new window).