Are you sure the problem is your programming skills, rather than, say, the way you manage expectations about your productivity? Or the way you present what you've done?
If it was an honest performance review, they should have been more specific than "not completing enough work." Consider pressing for details about their performance expectations, and then either work to meet the metric they name, or work to convince them that the metric isn't the best one by which to measure your performance.
It may not be a problem you can solve by just boning up on exciting new technologies. You may have to educate them on the merits of things you do that, in their opinion, slow you down-- like writing unit tests, automating builds, creating bug databases, or whatever.
This book may not exactly address the situation you're in, but you might have a look at Terrence Ryan's "Driving Technical Change", which talks about how to convince others on your team of the merits of different approaches you've adopted.
If it was an honest performance review, they should have been more specific than "not completing enough work." Consider pressing for details about their performance expectations, and then either work to meet the metric they name, or work to convince them that the metric isn't the best one by which to measure your performance.
It may not be a problem you can solve by just boning up on exciting new technologies. You may have to educate them on the merits of things you do that, in their opinion, slow you down-- like writing unit tests, automating builds, creating bug databases, or whatever.
This book may not exactly address the situation you're in, but you might have a look at Terrence Ryan's "Driving Technical Change", which talks about how to convince others on your team of the merits of different approaches you've adopted.