Arthur Fuller
fuller.artful at gmail.com
Fri Apr 4 14:04:49 CDT 2008
At my ripe old age, I am pondering becoming a manager of software projects rather than a developer of same. I have occasionally led a team of developers toward a project goal, but more often been the principal developer of a project. I am wondering how to make the leap. While realizing that this is a list for developers, I also think that this might be the best place to ask this question. I know a lot about Access. I know a little about .NET. I know a fair amount about PHP and Python Ruby and Ruby on Rails. I know a little about some strange languages used by very few, including OCaml. I have only occasionally been team-lead in a multi-developer project. I think I did pretty well in them. So how does one go from Developer to Manager of Developers? I think that I'm growing too old to be there in the trenches of develpment, and yet that's what I love and know best. But I think that the young recent graduates have the "stay up until it works" enthusiasm that I no longer have, although that's not always true; I've recently spent 40 hours solid at the box solving a particularly difficult problem, and couldn't quit until I finally cornered the ornery pig and wrestled him down. But perhaps a younger, brighter person could have wrestled said pig down much more quickly than I, which leads to a rather sickening and embarrassing conclusion (following the Peter Principle): the best thing to do with Arthur is promote him. So, how to become a manager of programmers who are far more gifted in languages that I know a little about? How does one go from Here to There? How do I admit in my resume that I know a fair amount about the abstract language of programming but perhaps nothing at all about the language your project is using? What are the credentials of a Project Manager? I am particularly interested in asking this question here, since you are all programmers, which perhaps turns the question into "What values would you desire in your project manager?". One could trivialize this question into, "Just learn MS-Project" but that is hardly the point. Any fool can write a critical path. That's not the issue at all. As I see it (and admittedly I know nothing about the subject), there are two issues|perspectives: 1. Tell the team what needs to be done and how quickly. 2. Tell the superiors why it cannot possibly happen in said time-frame + expense-dollars. On both sides, I am guaranteed to meet resistance. Developers will say, "Impossible!" Superiors will say, "Impossible!" And the job of managing a software project is to get each team to bend a little. Of course, I know nothing about this profession, which was the whole point of this message. I'm looking for direction, courses to take, casual advice, and so on. I actually dare to presume that I could be fairly good at this profession, but perhaps not. Perhaps I'm an in-the-trenches guy not destined to coach the team. That could be.