The twelve-factor engineer is a personal contract of twelve principles aimed to ensure that an engineer is striving to be the best he or she can be in their role as a software or infrastructure engineer.
This set of principles is highly inspired by the well-known twelve-factor app. Unlike the twelve-factor app, which applies to the development of modern cloud-native applications, the twelve-factor engineer focuses on the personal development of the engineers who develop software applications along with engineers who provide the platforms and infrastructure which that software requires to run.
The twelve-factor engineer is not associated with the twelve-factor app in any way.
Any developer and infrastructure engineer who either develops web applications or builds, maintains, and supports web application infrastructure and services.
Any manager or people-leader who oversees a team of engineers.
Share knowledge and reduce obfuscation.
Be approachable by peers and users.
Reduce manual processes, service tickets, and human error through code and automation.
Be genuinely interested in your field and constantly learn.
Consider opposing opinions, ideas, and methodologies.
Question opinions, ideas, and methodologies.
Have awareness and/or knowledge, to some degree, on a variety of topics.
Strive for expertise and mastery in a small set of topics and skills.
Influence your environment and the people around you in a positive way.
Reduce complicated proposals into elegant, yet complex solutions.
Change and adapt with time.
Contribute back to the industry.
A twelve-factor engineer understands that the internet provides a great wealth of information and resources such as answers, tools, and ideas which he or she utilizes in their daily work.
It is important that the engineer gives back to the industry by participating in conversations, providing answers to posted questions, or contributing/participating in open-source projects.
The engineer should strive to write often about their ideas, methodologies or offer insight into a topic lacking valuable and in-depth content.