To understand the difference between a programmer/developer and an engineer, you should first get to the roots of a software development process. Although many think development is about coding, the full journey is way more extensive. Here are the basic Software Development Life Cycle (SDLC) steps:
There’s another distinction that you should be aware of — software engineers versus architects. The latter are usually engineers with very advanced technical skills, who plan and accommodate complex software development systems. In most cases, an architect has a computer science degree and extensive development experience. So if you need a person with a good understanding of software architecture, he’s the one. The truth be told, experienced engineers and architects are a rare find. If you’re sure you need a big development team, we recommend to focus on the 80:20 ratio — 80% of developers and 20% of highly skilled engineers and/or architects. While engineers can delegate tasks to multiple developers, the ratio will help you drive the project. Here are some tips on how to hunt down a great software engineer:
If you go on LinkedIn, you’ll see a huge competition among… IT recruiters. Most of the battles relate to hunting down the best software developers. Unlike engineers, developers are easier to replace — so an average recruitment period is much lower. This works both ways, though. While the demand for software developers is not going down, the specialists tend to swap jobs very often. There are some tips we can give you to hire a developer who will stick with you through the entire project: 

