views:

75

answers:

4

I am currently trying to make the transition from a technical PM to a Developer.

Obviously this depends very much on current level of knowledge / experience, but are there some key things that a PM (who also codes regularly) might have missed from not strictly working as a Developer.

Also would a course like this help in the right direction?

http://www3.imperial.ac.uk/computing/teaching/postgraduate/msc-computing-science/description

Considering I want to work on Audio/Video/3D ideally, I feel this course could be a good leg up?

+1  A: 

The best thing to do is to spend ten years or so programming during every waking moment. That's what worked for me!

Jonathan Feinberg
+1  A: 

As a technical PM you have the advantage of knowing the terminology etc so that is at least a heads start. As to making the switch check out information on areas such as

  • computing fundamentals - low level concepts on computer hardware, network and protocols.
  • algorithms - for an understanding of sorting, graphs, networks, trees, etc.
  • architecture and design - web application architecture, messaging architecture, UML, use cases, documentation.
  • programming languages - OO, scripting and AI (at least to get a feel for the types and applications)
  • business end of programming - software estimation

This is a broad spectrum of areas that you would need to have at least some exposure to for the transition. In fact it might even be useful if your current employer allowed you to work as the developer on a small part of a project. You'd certainly gain respect from the developers on a project coming from the technical PM role and could even enlighten the developers.

Grant Sayer
Thanks for the advice, I've currently been coding seriously for about 1.5 years both in small projects in work, and a rather large project in ASP.NET MVC (8 months so far), WPF 3D and a web spider. I put in about 20 hours a week coding in my own time. I feel fairly good on all the points you list above, it's just getting a job without taking a pay cut (which is a limit at the moment). My path until I can afford that pay cut is to work on bigger tech PM projects.
optician
+1  A: 

If you have a passion for working in an area, seriously consider the amount of creative freedom, in your experience, developers have as compared to PMs. Make sure that's acceptable to you.

Nothing is worse than having passion in an area, but little or no influence.

As far as technical abilities go, the only thing to do is to code. Any classes primarily will act as ways to ensure that you do so, and do so in ways that will teach you. But at the end of the day, it's going to boil down to time spent writing software.

If you really want to become a great developer, learn at least one language radically different from the languages you know. If you're a Java/C++/C# kind of guy, learn something that will really torque your brain like Haskell, Erlang, or Scheme. To just learn really good OO techniques, learn, read, and write some Smalltalk.

kyoryu
Cool, ideally as I would like to work with Audio/Video/3D Processing, I think C and C++ would be a good way to go(with some openGL for good measure), and that is why I reference the course above.
optician
A: 

First of all get start practicing to type all day ! Then get ready to work on minute details which a developer works on everyday like... code shortcuts, coding styles, commenting etc.

HotTester