This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages)(Learn how and when to remove this template message)
A software designer is a software developer expert who makes high-level design choices and dictates technical standards, including software coding standards, tools, and platforms.
The software designer concept began to take hold when object-oriented programming or OOP, was coming into more widespread use (in the late 1990s and early years of the 21st century). OOP allowed ever-larger[quantify] and more complex[quantify] applications to be built, which in turn required increased[quantify] high-level application and system oversight.
The role of software designer generally has certain common traits:[according to whom?]
software designers make high-level design choices based on their experience on making low-level coding. A designer has thought through all the aspects of a software, just like a designer that builds a house. A construction designer knows where the ducts will be, where the electric connections will be and where the water outlets will be. A design that a common person sees is just the walls and windows but a detailed design that is abstracted from the outsider are also present with the designer. In addition, the designer may sometimes dictate technical standards, including coding standards, tools, or platforms.
Software designers may also be engaged in the design of the hardware environment, or may focus entirely on the design methodology of the code.
The enterprise designer handles the interaction between the business and IT sides of an organization and is principally involved with determining the AS-IS and TO-BE states[further explanation needed] from a business and IT process perspective.
Other similar titles in use, but without consensus on their exact meaning, include:
- Solution designer, which may refer to a person directly involved in advancing a particular business solution needing interactions between multiple applications. May also refer to an application designer.
- System designer (singular), which is often used as a synonym for application designer. However, if one subscribes to Systems theory and the idea that an enterprise can be a system, then System designer could also mean enterprise designer.
- Systems designer (plural), which is often used as a synonym for enterprise designer or solution designer.
The table below indicates many of the differences between various kinds of software designers:
|designer type||Strategic thinking||System interactions||Communication||Design|
|enterprise designer||across projects||highly abstracted||across organization||minimal, high level|
|solutions designer||focused on solution||very detailed||multiple teams||detailed|
|application designer||component re-use, maintainability||centered on single application||single project||very detailed|
- Electrical engineering
- Electronics engineering
- Hardware design / hardware designer
- Requirements analysis / requirements engineer
- Software model
- Software design
- Software engineering / software engineer
- Systems design / systems designer
- Systems design
- Systems engineering / systems engineer