Transitioning From Developer To Management?
An anonymous reader writes "After 15+ years as a code monkey, mostly doing back-end systems design / development, I was surprised by recent developments at my workplace that have resulted in my being transitioned into a dual architect / managerial role within the next few weeks. While I am somewhat confident at this point in my career in my experience and training for an architect-type position, I have serious concerns about being able to properly fulfill the role as manager. Aside from 'Become a manager in 2 days' type books, what resources would you recommend I look to for guidance in this transition?"
Project+ and CAPM are geared towards your need, with the PMP focused more towards very well-seasoned project managers.
I just recently became a lead and know from the projects I've worked on, that I would be a better manager. So I'm finally doing something about it and pursuing the project management path. I just picked up the All-in-One CAPM/PMP exam guide and the recommended study path for the CAPM is a month. As with most jobs you'll learn the bulk from doing it, but the cert won't hurt and may give you the jump start and mind set to help you get started.
some folks love certs and some hate them, but I've never had issue with getting them and I've always learned a few things along the way no matter how well I thought I knew a particular topic.
Creationists are a lot like zombies. Slow, but powerful and numerous. And they all want to eat our brains.
It's often better to lead someone confidently off a cliff than meandering and starving through a jungle.
At least with a cliff, the pain is short-lived and they can replace you quickly.
If there is one essential that I'd recommend it is formal training in project management.
I finished an MBA at a reputable university a few years ago, and the thing that really stuck was project management. Of the various project management approaches I'd particularly recommend PMBOK (project management body of knowledge.)
This really is "MBA in a box." You will get a good smattering of budgeting, communications, human resources, timing,quality etc, and a way to hold all this stuff together.
Good luck!
Hey, congrats.
n quiry.asp?EAN=9781591391104
You're starting a completely different job, which means success will depend on COMPLETELY DIFFERENT SKILLS. Relying on the ones that got you there will not necessarily assure success in the new context. Read "The First 90 Days", by Michael Watkins, published by the Harvard Business School Press.
Here's the BN link:
http://search.barnesandnoble.com/booksearch/isbnI
[But because she's an idiot, she's very angry and confused when she finds out that RAM just. doesn't. work. like. that.] She's not an idiot. She's just not technical. There is a big difference between the two.
Actually, philosophically we have debated at c2 why RAM and disk has to be different from the application's perspective. I've concluded that it doesn't (except where there are specific hardware constraints/requirements). The reason it is currently treated different is largely historical habit, not necessarily sound logic. The judge is partially on to something.
Table-ized A.I.
I was an engineer for many years and an engineering manager for several more. It struck me that a primary mistake engineering managers make is to think they have ceased being engineers and to get out of date. At least the first three levels of engineering management are still primarily technical; they just have larger projects than can be done with only two hands. The first engineer anybody remembers is Imhotep who built the first pyramid. He certainly didn't do that single handed. The notion that becoming a first line manager is transitioning from engineering to management is a trap. Fall into it, and you will likely rise no higher and may have trouble maintaining your position. Certainly you have to pick up a few new skills, but you are still paid primarily for your technical results.
As an engineer / architect who has had to deal with some frustrating management (most of it indirect, fortunately), I've found these two blogs to be both enlightening and useful for feeding to managers. Rands especially, as a developer who moved into management with a purpose, has some very insightful commentary. He's also recently published a book, which I'm planning on giving to some of my favorite managers (who despite their sincere desire to treat us well, sometimes have a hard time understanding the geeks they herd.)
f tware-Engineering/dp/159059844X)
Rands on Management: http://www.randsinrepose.com/cat_management.html
Rands's Book: http://managinghumans.com/ (Direct to Amazon: http://www.amazon.com/Managing-Humans-Humorous-So
Joel on Software: http://www.joelonsoftware.com/
Good luck! It's great to hear about people who care enough to want to do it right.
I had this really stupid class in college called "Organizational Behavior". To this day, I still don't know what I was supposed to learn in that class. Despite the class being boring and pointless, the professor was actually a very interesting guy. He said something one time that always stuck with me: "Leadership is the reduction of uncertainty." If you think about it, it's true: your employees have to be certain they are doing the right thing, be certain of the requirements, and be certain they will get the support they need. Your customers have to be certain that you're meeting their needs. If you can do all those things, than you're probably doing a good job.
I also agree with the "good manager = good buffer" statement, but I'd even take it a step further. Great managers have requirements analysts, support personnel, etc. get the information from the customer. Then they form a plan and assign tasks to their development team. In my experience, this works rather well.
I'm totally going off on a tangent... back to your original question. Karl Wiegers' Software Requirements and More About Software Requirements are both geared towards requirements analysis, but have a lot of info that anybody in IT (and especially project managers) would find pretty useful... Both are worth checking out. I've also heard lots of praise for The Mythical Man-Month, but I've never gotten a chance to read it. Besides those, I would skip books on general management techniques and go straight for anything on software engineering or project management. The R.S. Pressman website probably has even more recommendations.
Judges have huge ego issues. ... pretty much literally in their courtrooms. They can't have you killed but they can have you locked up ... indefinably. They can ruin the lawyer's livelihood. They can ruin you financially. They can restrict where to go and what to do.
... too bad, the contempt order is not appealable, you have to sit in jail until the appeals court overturns the underlying ruling on Issue X.
They can't stand to be told that they are wrong. When they are told that they cite you for contempt.
You have to understand that the courtroom is the last vestige of unfettered "aristocratic" power in America. They are Kings
And contempt orders really are not appealable.
The judge, even if they are wrong, can fuck you over any way they want with a contempt order. The classic (and it has been a long time since I read it) case on contempt orders was Martin Luther King. Judge ruled wrongly on Issue X. Cited King for contempt, as part of that. The appealed running was
You really can't go back and sue the judge for damages under that either. They have judicial immunity. The most you can do is try to get them not elected next time and if they are Federal judges they have life tenure.
You get used to that power. You get used to everyone acting in an sycophantic manner towards you. You get used to a world, where people are not allowed to say "No" to you. Then you become unable to handle criticism, however justified however politely worded.
And of course, if the judge wants to act improperly or say something nasty, they just ask the court reporter to stop recording. You, on the other hand, don't have that luxury.
Also, remember when you have an issue with a judge who do you take it up with? Another judge. No conflict of interest there.
So, yeah. The judge is an idiot. Because they have the power to be an idiot and get away with it.
When I was leading a development team I considered my primary role to be an umbrella for the developers. I did my best (frequently not good enough) to insulate them from the assorted pressures of the management team (political, revenue/sales, deadline etc...).
All this is sort of avoiding the primary, fundamental issue: when you are a manager you have the power (and responsibility) to fire someone.
This is the real rub. Can you do it?
In my case, I came to a decision that I needed to fire a developer who was completely inadequate to the position. Only this: she was one of the sweetest, kindest people I have ever met. Additionally, if I were to let her go, she would be sent back to India - forcing her husband to also go back. It would have been devastating to them.
So what to do? She was not able to perform her job function and it was costing the company revenue. On the other hand, I wouldn't have been surprised to see Bambi walk up and eat out of her hand whilst blue jays perched on her shoulder (this is how kind hearted and sweet the girl was).
And I had to fire her.
So I tried.
And failed.
I came to find out this about myself: when confronted with a tearful employee who says she'll do anything, including work for half the salary if only I won't fire her - I cave.
This turned out, in the long run, to be one of the worst management decisions I've ever made. I agreed to keep her on at a reduced salary. She continued to perform inadequately but over time she had been with the company long enough that dismissing her wasn't an option.
Everything she wrote ended up having to be completely rewritten and she wasn't learning from experience or coaching. Even though she was working at a reduced salary, she ended up costing the company a high multiple of her salary in lost productivity, alienated clients and rework costs.
So what was the "right" thing to do in that situation? On the one hand, I felt a moral imperative to help this kind, tender and wonderful person. On the other, I had a commitment and moral responsibility to the company I worked for.
Finally, I reached the correct solution: I resigned my position as manager of the team.
As I'm sure you've noticed, I am personally not suited for management. I will never put myself in that situation again.
Just because I'm a talented developer, doesn't mean that I have the ability to make tough managerial decisions when they are called for. Those are two different skill sets, and one of the reasons that I tend to not resent my managers. Firing someone is brutal, and unless you are comfortable with those types of decisions and _sticking_with_them_ I strongly recommend that you avoid the managerial gig and stay in development.
-Clay
Drinking habits can be dangerous. You can choke on the cloth and the nuns will wonder where their clothes are.
And I mean hard as choosing one of 2 options:
And the bad thing is that making a decision based on prejudice is the possibly worst mistake a manager could ever do.
When I was leading a development team I considered my primary role to be an umbrella for the developers. I did my best (frequently not good enough) to insulate them from the assorted pressures of the management team (political, revenue/sales, deadline etc...).
All this is sort of avoiding the primary, fundamental issue: when you are a manager you have the power (and responsibility) to fire someone.
This is the real rub. Can you do it?
In my case, I came to a decision that I needed to fire a developer who was completely inadequate to the position. Only this: she was one of the sweetest, kindest people I have ever met. Additionally, if I were to let her go, she would be sent back to India - forcing her husband to also go back. It would have been devastating to them.
So what to do? She was not able to perform her job function and it was costing the company revenue. On the other hand, I wouldn't have been surprised to see Bambi walk up and eat out of her hand whilst blue jays perched on her shoulder (this is how kind hearted and sweet the girl was).
And I had to fire her.
So I tried.
And failed.
I came to find out this about myself: when confronted with a tearful employee who says she'll do anything, including work for half the salary if only I won't fire her - I cave.
This turned out, in the long run, to be one of the worst management decisions I've ever made. I agreed to keep her on at a reduced salary. She continued to perform inadequately but over time she had been with the company long enough that dismissing her wasn't an option.
Everything she wrote ended up having to be completely rewritten and she wasn't learning from experience or coaching. Even though she was working at a reduced salary, she ended up costing the company a high multiple of her salary in lost productivity, alienated clients and rework costs.
So what was the "right" thing to do in that situation? On the one hand, I felt a moral imperative to help this kind, tender and wonderful person. On the other, I had a commitment and moral responsibility to the company I worked for.
Finally, I reached the correct solution: I resigned my position as manager of the team.
As I'm sure you've noticed, I am personally not suited for management. I will never put myself in that situation again.
Just because I'm a talented developer, doesn't mean that I have the ability to make tough managerial decisions when they are called for. Those are two different skill sets, and one of the reasons that I tend to not resent my managers. Firing someone is brutal, and unless you are comfortable with those types of decisions and _sticking_with_them_ I strongly recommend that you avoid the managerial gig and stay in development.
-Clay
I am currently finishing that same class. I agree, I have little clue as to what I was supposed to actually learn.
Mythical Man Month is a good read, I highly recommend it. Sure, it is full of things that you'll say "no duh" when you get done reading it, but you'll have read it and you'll know for certain not to make those mistakes. Plus you can whip it out when other managers ask you about software stuff and you'll look impressive because they haven't read it.
I would say this: be lazy. Try to avoid doing anything that makes more work for you and your team than is necessary. That doesn't mean that you should avoid work... it just means that you need to apply yourself and your team in the most efficient way possible.
I would also say this, don't be afraid to be certain of something and never be afraid to be proven wrong. If someone proves you wrong, concede the point and move on. Don't get stuck following a bad decision with justifications. Get back on track and move on.
Good luck too!
42 - So long and thanks for all the fish.
This guy, "Hacker X," signed on to do a bunch of stuff, and just flat-out didn't do it. He was working from a remote location much of the time, which made it harder to realize what was going on, but once we caught on, and he didn't improve after remonstrating with him, we knew he had to go.
The catch was, how do we fire him? By email? By phone? This seemed a little cold since, well, he was a friend. Heck, it would be cold even if he wasn't a friend.
It just so happened that I was going to a conference I knew he'd also attend, and the plan was to fire him there. Once there, however, I was torn -- fire him at the start, and have him upset through the conference, or wait until the end (but personally be sweating it out through the whole conference). My gf at the time was there, and I talked it through with her a couple of times and decided to wait to the end.
So, just before lunch on the final day I pull "Hacker X" aside and tell him he's fired. If anything, he's relieved -- he'd known he'd been a useless drag, and felt terrible about it. I get him to sign some paperwork, and he tries to refuse his severance. I get him to take it anyhow.
I get back to the cluster of people waiting for lunch, and my gf is there, and asks me how it went. "Better than expected." Other folks ask what's going on, and I explain -- "I just had to fire a friend, Hacker X. Never had to fire anyone, much less a friend. I was pretty freaked out, but he took it well." Another guy in the group who'd made the transition from techie to manager a couple years before me says "yeah, been there before, done that." "What, you had to fire a friend?" "No, I had to fire Hacker X..."
Computers are useless. They can only give you answers.
-- Pablo Picasso
All this is sort of avoiding the primary, fundamental issue: when you are a manager you have the power (and responsibility) to fire someone. This is the real rub. Can you do it?
This is only one of the uncomfortable things you will do as a manager, but definitely one of the most difficult, especially the first time, and especially if you personally know the person. Case in point: a couple of years ago I was in the difficult position of having to discipline my best friend. At the time I had known this man for well over ten years, thought for certain I knew his character. I gave him the initial talking to, and gave him three months to shape up, but it did no good. I gave him first level notice, and three more months to shape up, but it did no good. Second level notice, three more months, no good. The third level notice came, and I finally fired him. I sent him eight thousand miles back home, with his family in tow. He tried to crucify me during his appeals process, that I was a micro-manager, that I wouldn't allow him to do his job. He tried to put me through the wringer, and make me take the fall, when the fault was all his. I gave him every chance; management wanted me to dismiss him after the first notice, but I insisted on following the process. In the end, I couldn't keep him around for the sake of friendship because his poor performance would ultimately affect how well I do my own job. Sorry, I have a family to provide for. If it's down to them or me, it's going to be me who survives.
Believe me, I lost plenty of sleep over it. I still think about it. But, I would do it all over again. Rules are made to be followed.
Yeah - lucky me, before I had to fire the guy - I mean REALLY had to, the customer cut off funding for the project and we ALL got fired. Ironically, we were the ONLY project out of the 4 projects the customer had going, that was actually ON SCHEDULE, we were the smallest project, and the shortest. We were a 6-month job, 2 weeks from completion; representing an upgrade effort to a component of a 5-year contract that was going on its 10th year (and, I believe, just started its 11th year last month). - oh, it's a sick, sick world. And I'm not sure I'm cut out to be a manager in it. I can lead projects. But I can't fire people.
People who are genuinely trying, but just aren't up to snuff - I can't do it.
People who CAN do the work, but refuse to, I'll fire those guys. No problem.
These are my friends, See how they glisten. See this one shine, how he smiles in the light.