DEV Community

Discussion on: Opinion: Architect VS Engineer VS Developer

Collapse
 
alemvik profile image
Alemvik

Software / Architect

They focus on the whole business (instead of individual systems, applications and programs) to determine or give advices about what softwares are to be bought (with or without customizations) and what softwares are to be developed (custom). They also set general guidelines and constraints to be observed when softwares are developed or bought. They choose standards, technologies, frameworks, langages, paradigms, and the tools that has to be followed. Software architects is a role assumed by developers or former experienced developers.

Software / Business Analyst

They help guide businesses in improving processes, products, services and software through data analysis. These agile workers straddle the line between IT and the business to help bridge the gap and improve efficiency. They gather requirements (in a document). Business analyst is a role that could be assumed by developers or former experienced developers.

Software / Developers

They modelize (design that include implementation-specific and technology-specific details) the systems (databases, applications, services, message brokers, etc.) using the information (if any) provided by the architects (if any), the engineers (if any) and the business analysts (if any). Those detailed specifications are intended to programmers.

They are capable of doing all of what is accomplished by the architects, the engineers, the business analysts and the programmers. When they do, By reducing the "assembly line" and since the developers have more awareness on what they already have in their back store (what they already did and can be re-used) and elsewhere, they can deliver quick/cheap interesting solutions.

They gather and set requirements, propose solutions, design and develop softwares for the chosen solution.

Software / Engineer

They solve real-world problems using software principles. They write the design documents for the developers. A design is a model (with algorithms) without any implementation-specific or technology-specific details. A model is a design with those details. Engineers also coordinate with stakeholders. Software engineer is a role that could be assumed by developers or former experienced developers.

Software / Programmer

They create/modify databases and programs, based on detailed specifications provided by the developers.