Meet the Software Team

By Kenneth Bernholm

The software team was once a few programmers in a back office but with the maturing of the software business a number of roles emerged to differentiate both skills and responsibilities. The roles mentioned here are often used interchangeably potentially causing confusion and disagreement, so this page is an attempt to clarify the general and slightly diffuse perceptions of each.

Pirate Hanging and Spinning

The Programmer

A computing professional who specializes in writing code. A Programmer knows about code performance, maintainability, scalability, security, flexibility, and many other aspects of programming. If this sounds good to you, read So You Want to Be a Programmer.

The
"Software"
People

These are often lumped together and suspected to be the same person.

Three-Headed Monkey

The Software Developer

A computing professional who writes code but is also involved in building user stories, writing documentation, overseeing delivery, and other "softer" aspects of software creation. A Software Developer could aptly be called a Software Product Developer because he/she is involved in the product as a whole.

The Software Engineer

A computing professional who applies engineering principles to the creation of not just a single piece of software but to an entire ecosystem of software components. A Software Engineer not only takes responsibility for software created by his/hers team but also third-party software that integrates into the solution.

The Software Architect

A computing professional who makes high-level decisions on technical standards, tools, platforms, and the like. A Software Architect also provides technical leadership, organization, and prioritizing and is ultimately responsible for the full software development cycle.

The UX/UI Designer

A computing professional who designs the software User Experience (UX) as in how the software behaves for the user and also the software User Interface (UI) meaning the actual look and feel of the software's on-screen representation in terms of layout, graphics, etc.

Pirate Girl Declaring

The Technical Writer

A computing professional who documents the software for the customers, the users, the administrators, the integrators, and the developers. A Technical Writer is an expert in conveying exact information targeted at different reader segments. If that's your kind of thing, read So You Want to Be a Technical Writer.