Is software development experience strictly necessary when managing a project which requires the development of significant amounts of new code? Can a PM without significant software development experience expect to be able compete with those who do have experience, when applying for this type of job?
I will address the second question on your description, since I believe the main question is address in another post in this forum.
Can a PM without significant software development experience expect to be able compete with those who do have experience, when applying for this type of job?
My answer is yes. I think PMing has little to do with development itself. That said, the PM needs to have some kind of general notion on development. That person must understand the basics:
- What compilation means?
- How manage a Configuration Management Plan?
- How to understand metrics?
Now. A great PM goes beyond the development activities. The PM Cares and communicates about the project. A PM with good people skills and great understanding of the PM framework, will go far beyond good PM with technical abilities.
Regarding the first part of your question, i'd assume it is even less important than when you're doing other kind of projects, say refactoring or migrating codebases... in those cases you probably need at least knowledge about both platforms, compilers (for language migrations) and databases (in general) to grasp what's happening and what can go wrong, etc. The more prepared you are, the better you'll be able to handle tricky situations.
Hope it helps