Full Cycle Developers - Netflix today Image netflix5
By combining all of these ideas together, we arrived at a model where a development team, equipped with amazing developer productivity tools, is responsible for the full software life cycle: design, development, test, deploy, operate, and support.
Full cycle developers are expected to be knowledgeable and effective in all areas of the software life cycle.
We run dev bootcamps and other forms of ongoing training to impart this knowledge and build up these skills.
Tools for deployment pipelines (e.g., Spinnaker) and monitoring (e.g., Atlas) are also needed for effective full cycle ownership.
A full cycle developer thinks and acts like an SWE, SDET, and SRE.
Teams need to be staffed appropriately with enough headroom to manage builds and deployments, handle production issues, and respond to partner support requests.
Time needs to be devoted to training
Many companies won’t have the staffing to invest in centralized teams like at Netflix or won't need the complexity
Netflix’s tools are often open source
The breadth increases each developer’s cognitive load and means a team will balance more priorities every week than if they just focused on one area.