A Underappreciated Software Developer who builds tools and frameworks that help other developers be more productive.
The Mechanic is the ultimate force multiplier for the entire software development team. They create workflows, construct frameworks, and design architectures that enable their team to build new features quickly by maximizing code reuse and minimizing or eliminating repetitive tasks. The larger a project grows, both in terms of the number of developers and the size of the codebase, the more value a Mechanic provides.
Mechanics exist behind the scenes of a software project, removing roadblocks that would prevent their team from performing at their best. When they encounter a process or system that can be streamlined, they find or invent tools and techniques to make the development of new features as simple and straightforward as possible. The effect of a Mechanic is felt across all corners of the project, including but not limited to more predictability in meeting timelines, higher levels of code quality, and increased stability in production.
Mechanics are highly sought after for their incredible ability to boost the productivity of entire teams. However, the critical nature of their work carries with it the burden of knowing that any mistake they make can impact the entire team. This responsibility can weigh heavily on their shoulders, and their biggest opportunities for improvement are often related to knowing when to ask other software developers for help.
- Will proactively seek opportunities to improve developer productivity.
- Will volunteer to build frameworks that help other software developers get their work done more easily.
- Will volunteer to build systems that orchestrate multiple disconnected systems into a single cohesive whole.
- Mechanics are not acting as The Process Obsessed, as they will write systems that enforce process with little or not impact to their team.
- Mechanics are not The Idealist, as their goal is to address real issues that will increase team efficiency rather than just improve technical aesthetics.
- Mechanics often maintain legacy software, but they are not The Legacy Maintainer as they are capable of doing work outside of the legacy system.
Supporting Team Members
- The Ranger can find new external tools and technologies that would increase team efficiency if they were introduced.
- The Healer can help the Mechanic by cleaning up an area of code to make it more apparent which aspects can be extracted into general-use frameworks and architectures.
- The Sage can advise the Mechanic on which frameworks and architectures would have the most positive impact on productivity if they were introduced.
- The Hunter can support the Mechanic in finding and fixing bugs that may have been introduced with a new framework or architecture.
- Mechanics feel a great sense of accomplishment when other developers begin using their tools, frameworks, and architectures as a part of their standard approach of getting work done.
- Mechanics appreciate hearing stories of how work that was difficult for a developer in the past has now become much easier due to their efforts.
- Mechanics are always appreciative of other developers volunteering to help with with what are often challenging and time-consuming integrations.
Typical Soft Skills Scorecard
- Mechanics typically work on complex integrations that are difficult to estimate, making it important for them to focus on improving their Estimation Accuracy.
- Mechanics will find it easier to prioritize their work as they improve their Business Focus and Deadline Focus.
- Mechanics will typically have limited time to work on new features, and can therefore maximize their personal efficiency by increasing their Productivity.