QA testing and reviews are activities done after development has been completed. You can't test a feature until after it has been built, and you can't review code until after it has been written.
The earlier potential issues are detected, the lower the overhead for managing bugs and reimplementing functionality.
Quality assurance is a proactive team activity starting with development. It requires tight feedback loops designed to assure that quality will be built into the product in the first place.
Soft skills are as critical as technical skills for a software engineer. No one works in isolation. Each person has to deal with teammates, colleagues, managers, etc. Therefore team interpersonal skills are essential too. Soft skills include things like good communication, honesty, teamwork, integrity, organization, empathy, etc.