Software Development Life Cycle Roles
Many existing resources describe software engineers as architects and software developers as contractors. When you look at the SDLC, you can see exactly where these roles fit in. The first three stages [Requirements Gathering, Analysis, Design] all fit into "Architecture." Coding is the task most often identified as a responsibility of developers. It is the only task specific to the role of "developer" as we have defined it. Applying the roles of software engineering and software development to the life cycle helps us see how the roles have evolved and where the confusion stems from.