A genericist makes sure the project is usable in every situation. This is often accompanied by a very broad view of the scope. Any changes to code will often replace strings with variables, add layers of abstraction, or turn things into plugins—all in the name of making the project more customizable and generic.