A Heroic Software Developer that refactors or rewrites parts of the system other developers are afraid to work in.
The Healer paves the way for other software developers to add features in less than ideal code. They patiently learn unfamiliar areas of the codebase and skillfully implement the changes needed to make the code a pleasure to extend and maintain. Healers dramatically increase the quality of life of other developers as they radically reduce the estimated time needed to implement new features in an existing area of code.
Healers have a passion for maintaining clean code. They are unintimidated by areas of the codebase that other developers dread working in, allowing them to fearlessly apply extensive refactorings and rewrites in even the most challenging parts of the system. The result of their efforts are beacons of best practice that act and inspiration and motivation for other software developers to write better code.
A Healer’s value is obvious to other software developers but the importance of their contribution can be a complete mystery to anyone else. Their main opportunity for improvement is typically around helping non-coding stakeholders understand the positive effects of the work they do. Additionally, helping stakeholders understand the relative risks and rewards of allowing them to proceed with their cleanup efforts will dramatically reduce the pressure they feel as they work to improve the codebase.
- Will have the respect and faith of their team in their ability to improve the design of software.
- Will produce excellent code of the highest quality.
- Will voluntarily refactor code they did not write.
- Will not hesitate to rewrite large sections of code prior to their team having to work in that area.
- Healers are similar to The Idealist, but the key difference is that their intent is to make software easier for their team to maintain and extend, rather than simply to improve it’s aesthetics.
- Healers and not The Bull in the China Shop, as they always improve the areas of code they modify.
- Healers are not The Hostage Taker, though they will often need to exclusively own a particular area of code if they are rewriting it.
- Healers are not The Technology Enamored, as they typically are not driven to add new technologies, only to improve the use of current technologies.
Supporting Team Members
- The Tank can free the Healer from distraction so that they can focus on what is often time-consuming and technically challenging work.
- The Sage can offer guidance on how to best rewrite or refactor parts of a system.
- The Wizard can assist the Healer in rewriting particularly difficult parts of the system.
- Healers will always struggle to balance code quality with time spent on an area of code, and will find it easier to make good compromises by increasing their levels Business Focus, Deadline Focus, and Risk Tolerance.
- Healers will often be asked for an estimate of how long a refactoring or rewrite will take, and so will benefit from increasing their level of Estimate Accuracy.
- Healers may still need to contribute new features to the project, and in order to maximized the time they have to spend improving existing code they will benefit from increases in Productivity.
- Healers enjoy being given the freedom to address code improvements without needing to seek prior approval.
- Healers will always appreciate tolerance, understanding, and forgiveness for refactoring and rewrites taking longer than they anticipated.
- Healers will welcome thoughtful, well-reasoned, and constructive feedback when their code is reviewed.