10Factor.md – abramczyk.dev
LinkedInGitHubResume
👨‍💻
10Factor.md

👨‍💻 The Ten-Factor Engineer

This section represents 10 factors that I think are the most important to being a good software engineer and teammate. Inspired by The Twelve-Factor App.



I. Product-oriented

Every decision or disagreement -- which tech to use, what to prioritize, which agile framework to follow, etc. -- should be focused on answering one question: which is going to build the best product the fastest?

II. Pragmatism

No situation, product, bug, or context in this industry is exactly alike. Consider each problem independently, and come up with the best solution for that problem.

III. Paranoia

Good software teams are paranoid and constantly seek out what could go wrong. They find the problems before the problems come to them.

IV. Dev Tools

The more paranoia you can shift onto automated tools, the better. Rely on computers to do what they do best (automate) to catch bugs, so you can focus on features.

V. Relationships

Highly performant teams value team culture and relationships over being "right". Their members don't let problems fester, and as a result, they enjoy working with and for one another.

VI. Feedback

The best engineers actively seek out constructive feedback and look to give it to their peers whenever possible.

VII. Learning

Learning never stops. Individually, an engineer should never stop learning new tools, concepts, and mental models. Collectively, the team should never stop learning about their customers and the team itself.

VIII. Genuine interest

A team will likely never reach its true peak unless all of its members genuinely want the end product to succeed.

IX. Team-oriented

Good teammates perform well individually; great ones lift the whole team up.

X. Perspective

Very rarely are software teams building life-or-death apps. They shouldn't take things too seriously; build something great together and have fun doing it 🙂