One of the ways of moving into project management from the dev background is getting formally trained and applying for entry level PM jobs. In UK there is a number of universities offering full-time, part-time and distance learning degrees in Software Project Management:
The benefit of the formal training is in its systematic approach that will guide you quickly through the basics and provide understanding of what current state-of-the-art is. That is to say a degree in software project management will enable a broader outlook than getting a single methodology accreditation such as PRINCE2. As a bonus, everything else being equal the degree makes PM more attractive for potential employers.
Another way is to gradually assume more responsibility at your current workplace, however without good understanding of what project managers do, or should actually do on day to day basis, what current state-of-the-art is and what is worth striving for, it's rather easy to fall into the trap of mediocracy.
Yet another, third way is to simply choose a real problem, write a piece of software solving it and put it into the wild and acquire some real users. By starting with a problem and arriving at a solution, having to make all the decisions without the usual backing of corporate infrastructure a developer can actually learn a great deal about real-world project management.
As far as the traits concerned, brilliant project managers are result-oriented, emphatic, polite and treat everyone with dignity. They can grasp and clearly formulate problems, analyse them from different angles be it technical, legal, political, economic, social or any other dimension.
They are practical in a sense that they're always aware of the constraints that exist in the context within which the problem has to be solved, yet they have the courage and ambition to pick a great solution.
A great PM willingly takes ownership of and responsibility for the project yet gives the control over individual tasks to project team members.
Best PM's have the ability to create a structured way, a framework of arriving at a solution what is clear and universally accepted.
They understand that any monitoring and management information is also a burden and are careful not to place this load excessively onto engineers. Such PM's take care of the administration letting software developers to concentrate on getting things done. An experienced PM knows that 100% utilisation is a myth and there are times of intensive work intermingled with relatively quite periods. The same applies to a solution, since great solutions are never 100% utilitarian and great PM's are prepared to give a bit of leeway and expressive freedom in return for greater sense of ownership and identification with the project outcome. Good software PM's don't think of team members as "interchangeable resources" that can be brought in and disposed of on demand and, in fact, any PM saying "resource" whilst referring to a person is not worthy the title.
Successful PM's are friendly and approachable and willing to give their time and attention to team members and stakeholders when needed. They're fully aware that others see them as a company representative in a position of power and try to consider the impact of anything they say and equally try to abstain from taking sides, however the best ones still are not afraid to retain their personality.
Good PM's are akin to good software developers in that they are able to think more than one step ahead, it's just that they plan various routes the project and it's environment might take, whilst developers plan the ways their code is going to be used.
Excellent PM's capable of building great software teams don't cherish any delusions about own intellectual superiority, they see project management as just another job that needs to be done well for the team to progress and realise that they well might be working with people that are smarter and better informed. Treating people with dignity implies forming a structure where professional opinions are respected.
One of the most difficult aspects of being a software PM, one that requires self-confidence and courage as a personal trait is the frequent need to defend an estimate or deadline that is based on soft data, that is to stick to your guns under pressure from stakeholders and keeping people around from slipping into wishful thinking.
As far as the job satisfaction is concerned the PM role is often overly glamorised. In actual life, at least half of the time is spent doing routine administration tasks, co-ordination, chasing up, orchestration, monitoring and writing reports. Most software projects in the real world are just not large enough to afford any support staff and these tasks end up on PM's lap. This also means that most project managers will have to work not on one but a portfolio of 2-4 projects and it will be difficult to dedicate full attention to any given task. Constant task and context switching makes it impossible to catch up once PM has fallen behind; the job requires strong work ethic and superior ability to stay organised.
Anyone who tries to avoid dealing with everyday routine tasks might find it hard to become a good PM. However these tasks will be taking less and less time as PM becomes better at them. Another infrequently advertised aspect of the job is the requirement to deliver bad news or to deal with emotionally immature or unstable individuals. But these tasks are just part of the package.
Exceptional developers are alike in that they take great pleasure in building new things and having control over the way things are done. The best thing about being a software development PM is the ability to contribute on stages and levels beyond code, have bigger influence over the shape of the entire solution, have a say on who is in the team, make sure that the right ideas get attention and largely determine the success of the project. In a way this magnifies the power of building new things tenfold.