What Technical skills is "A Must" for PM to be successful (demanded by the job market, with increasing salary and career promotion) in Software Development?
Each environment or organization requires its own unique set of skills.
Hence, some kind of generic are:
1) To be able to build SDLC from scratch (at least its initial version); 2) To be able to facilitate such ceremonies as work decomposition and planning; 3) To be able to track the process around the project; 4) To be an open person for all the parties of the project.
These days there are a lot of confusion on the role of a Project Manager in the software development arena based on the adoption of Agile methods like Scrum.
Companies and recruiters are mistakenly inclined to think that a Scrum Master (yes, the one that did 2 days course and passed an open book test) can instantly replace a Project Manager, and that’s why there are so many F*UPs everywhere.
For starters, a Scrum Master is not a Project Manager, and will never be without serious investment in training and experience, whereas the opposite is true. Any PM can become a Scrum Master (in 2 days), but having said that PART of the PM attributions are now mostly done by Scrum Masters, i.e. work scheduling, follow up on actions and issues, the PM should take care of other important things, like support product owners with proper risk, stakeholder and communications management (thing a Scrum Master is not enabled or expected to do), and also take care of procurement, resource and financial management (things that a Product Owner and Scrum Masters are not enabled or expected to do).
On those lines, there are plenty of core skills that can be put in play for a PM in software development projects, but first you need to find a MATURE company that understands the basic principle that a Scrum Master doesn’t replace a Project Manager and, by doing so, the risks of not having a fully fledged PM may defeat the expected agility.
People who climb in business are those that make money for that business, which means they can sell. That means salesability, serviceability, politics, perseverance, adaptibility become key skills. This is true for every business that sells something. And these skills need to be present far earlier than maybe one might expect. People who can sell with or without technical skills will climb. People who can't sell will freeze quite early.
If you want climb, learn to sell.
What Technical skills is "A Must" for PM to be successful [...] in Software Development?
Obviously you need to be able to handle office software. Like an email client, a word processor, something to make plans and tables. Whatever it may be. And you will need to be able to switch between vendors, because there is no such things as a "Microsoft Teams Project Manager". You should still be a project manager even if the company uses Jira or MS Project or a sheet of paper to draw on. But that seems obvious.
So I'm assuming by technical you mean software development skills?
There is no need for any software development skills. That is why the company hired software developers. If you happen to be a former software developer, fine. You can talk our language. Great. If not, don't sweat it. And please do not try. Your software developers have 3-5 years of formal education and another few years of work experience. If you try to keep up with that by taking a course or reading a book, you know so little, that it is a complete waste of project time to educate you on the missing ~ 5 solid years of it. As a software developer, it's way easier to work with somebody that has no idea and trusts me to do my job right, then to work with someone who thinks who knows something about it and I have to spend hours and hours in meetings explaining why that's not the best way to do it.
Software development is not something you can learn at the side. Just as project management, it's a job. You will never be able to keep up with the developers, so the best way forward is to be good at your job and let the actual developers worry about their job.
...other than actual project management skills.
What I do expect though is that you have a solid background in your own job. I have seen a great many really bad project managers. And only one or two really good one's. Compared to software developers, I found that astounding. Why is that? Because anybody can call themselves a project manager. And even most certificates are handed out after you have completed projects and done hours. Isn't that weird? What about that first few projects?
Be informed and educated about your own job. Be informed and educated about the alternatives to how you do it (for example you do not have to like Scrum, you do not have to do Scrum, but a PM that has never heard of it today is certainly not a good PM) . If you are a good project manager you are worth your weight in gold and nobody will care whether you read a book or took a class on the side about software development. Especially not the actual developers on your project.
Adding on to nvogel's suggestions - you'll want at minimum a general understanding of the architectural concepts/frameworks/models, if nothing else than to keep you grounded during technical discussions. I was assigned to a data warehouse management team and had to learn about data models & platforms. Now I'm managing CI/CD systems without any hands-on experience, and luckily I have a team of expert engineers that understand where my limitations in knowledge are.
Stay abreast of new technologies coming into your area. When I was on the database team, I had to take a fast-track course on on-prem vs. cloud computing migrations for the project I was assigned. AWS, Azure, GCP - I would've had an easier time up front had I done some preliminary research on the stack.