Brooks called this role the "toolsmith", the only difference is that now the toolsmith creates things that are used in the production environment and may be full-on products in their own right.
I've found that for infrastructure projects (especially open source ones, which may not always have dedicated QA resources available to them) it's a great idea to do "adversarial" testing/documentation: someone other than the developer must be able to follow the documentation and use the software in an environment other than the developer's desktop.
There's probably a range of software development: 0. "Script" (not necessarily something written in a scripting language, merely a short program written in an ad-hoc manner). 1. Program (could well be in a scripting language) 2. Project 3. Possibly a system (composed of multiple programs and/or projects) 4. Product 6. Company