We often see positions such as Engineering Manager or Senior Engineering Manager in software development companies. At the same time, some companies, especially those with small teams, do not have such a position at all, yet still manage to achieve their goals effectively. So who exactly is an Engineering Manager? What do they do, and does a team actually need one?