IMHO, it's good to have but not a must. An engineer manager who doesn't know the burden of software engineers is also a bad manager. Moreover, an engineering manager needs to know the workload, technical aspects, and development best practices before he can manage the team(s). Else, the team would most likely be in chaos and overloaded in each sprint. If an engineering manager is not from a software development background he can learn all of those kinds of stuff along the way, but it's a must for an engineering manager to eventually get a grip on the technical aspects. So, like I said it's a good thing to have but not a must. Because a manager can and will learn about it eventually.