4 ms·
There are multiple possible answers to that question. My answer would be - these two have basically nothing in common. I am working in the area where software
by CLPadvocate 6y ago
There are multiple possible answers to that question. My answer would be - these two have basically nothing in common.
I am working in the area where software quality is important, so we do have a very clear distinction between the roles (and also between maturity levels). We have (among others) people who do a formal description of the customer's problem (requirements engineers), others who convert it to a product specification (architects), third who manage the implementation (project managers) and the implementers (programmers).
Every level has its own requirements and skill sets. For example, only the programmers are working with code, so their job is to be experts in the language, frameworks, hardware interfaces and the like (we also have hardware engineers to design the hardware). Architects are working with models - their job is to derive the proper constraints and project structure from the requirements, to ensure its correctness and to provide a way to prove it. Managers and requirements engineers are working with people. Of course, there are architects or managers who have been programmer before, but in general it's not really necessary and sometimes even benefitial to not have a programming background.
If you heard about "separation of concerns" or "single responsibility principle" in software, well we're using it also in our development process.
But I'm quite sure it's not "modern".