Speak up, bad guys! Well, after watching Spider-Man away from home and knowing that the secret invasion saga will probably start (I saw it in post-credits and anyone who didn’t see it takes the spoiler :D
Let’s talk a little bit about a new category of developers. In fact, it’s not that new, but today it received a specific name and more “Nutella”.
These guys are called Full Cycle and will be present in the new formation of Avengers, alongside the more experienced Full Stack and the well-known DevOps.
Then you ask me: “Bruno, what is this Full Cycle trip, bro? Have you invented another term? Every week they change and create a new subcategory?”.
So, my answer is yes, but calm, calm young padauã , don’t priemos cancano. I’ll tell you a little more about this story below and, in the end, you found out that everyone is or has been full cycle in this life.
This is a new term, which was coined just over a year ago by Netflix , in a post. In context, it means a team responsible for the entire software development cycle , which is concerned with all phases of the product.
The ideal, therefore, is that a developer can understand this entire cycle and be able to improve performance in tests as well.
Testing is the least a developer should do. He has to deliver the software working
Become an expert in a certain area. Train people to make developments. Take advantage of the experience already gained in the market. Being able to improve the software and do new things.
Questions such as “what to choose” and “where to start”. That’s why it’s important to be Full Stack Software Developer at the beginning of your career.
It all started with a post on the Netflix Technology Blog that shared the story of their Engineering team’s journey through approaches to building and operating services.
This culminated in the creation of “Full Cycle Developers”, or in German: Full-Cycle-Entwickler.
This approach is showing promise with Netflix, where developers are responsible for certain operational aspects of service delivery and are supported through training and a variety of self - service tools.
Centralized teams create and maintain platforms and tools, but each team within the organization is free to deviate from the “track”.
Blog authors Philip Fisher-Ogden and Greg Burrell say the goal of the software delivery lifecycle is to optimize “time to value” in order to effectively convert ideas into products and services for customers.
Developing and running a software service involves a full set of responsibilities, just as superheroes do. It’s not enough to have the powers, but to know how and when to use them (poor Shazam).
In our focus, Full Cycle Developer must: Design, develop, test, deploy, operate and support.
The famous “schwer” of development. I even remembered when I was doing projects in college that turned into products sold in the grocery store near my home.
Traditionally, these responsibilities have been segmented and implemented as “sub-teams” within an organization. This is typified in the classic DevOps book “The Phoenix Project”.
These specialized functions create efficiencies within each segment, but potentially create inefficiencies throughout the lifecycle (don’t forget the software lifecycle assumptions).
The Netflix engineering team, responsible for the first tier of AWS services (required for video streaming), has rethought its traditional approach to software delivery, drawing inspiration from DevOps development principles.
The Engineering team’s new approach focused on “operating what you build” (much like famous Amazon CTO Werner Vogelagora), and putting DevOps principles into action.
Thus, having the team that develops the system also responsible for operating and supporting it in production.
“Assigning this responsibility to each development team, rather than outsourcing it, creates direct feedback and aligns incentives. Teams that feel the operational pain have the power to remedy the pain by changing the code or design of the system; they are responsible and responsible for both functions.”
The challenge with this approach is that ownership of the full development lifecycle created additional overhead for developers and often required new skills to be learned.
There was also a potential for “burnout ” to occur, as responsibilities were mounted on individuals and teams.
To mitigate these issues, tools can be leveraged to simplify and automate associated development and operational requirements.
Netflix has created centralized support teams—such as “Cloud Platform”, “Performance & Reliability Engineering” and “Engineering Tools” —who have a mission to develop a common platform and tool (“Paved Road ”) to resolve development team issues.
Many of these tools were released as open source as part of the Netflix OSS movement as Spinnaker’s continuous delivery platform.
So guys, combining mindset change and infrastructure creation, as well as common tools, led to the creation of “ Full Cycle Developers ”.
Migrating to this model requires a change in mindset; this developer thinks and acts like a software engineer (SWE) , software development engineer-in-test (SDET) and site reliability engineer (SRE).
Not everyone comes to Netflix, for example, with the relevant skill set. Consequently, extensive training is provided. Also, not all developers want to work like this.
Below is the flow model proposed by Netflix for the basis of this new category:
Quick Links