Slashdot Mirror


Ask Slashdot: Transitioning From Developer To Executive?

First time accepted submitter fivevibe writes "I'm about to switch from a position where I did hands on development to one where I will be building and managing technical team. I will be responsible for designing and implementing the company's overall tech strategy. I am excited about this move but also nervous. It will require a different focus than I had up to this point, different skills, and different orientation. What should I be learning, reading, thinking about in order to make this transition successfully and avoid growing pointy hair?"

167 of 229 comments (clear)

  1. learn? by polar+red · · Score: 5, Funny

    just buy a bullwhip. Easiest way to interact with us mere mortal programmers. And get a cat.

    --
    Yes, I'm left. You have a problem with that?
    1. Re:learn? by yog · · Score: 5, Insightful

      Yes, I've seen several people "promoted" into a manager or VP of Technology type of position who were simply unprepared for the transition. It was felt by the (foolish, ignorant) top execs that the candidate would make a good manager since he was already such a good programmer or architect. The predictable result was catastrophe; the former star programmer became a stupid git who was hated and despised by everyone, and eventually was shown the door after having caused incalculable damage to the organization.

      Unfortunately for all parties involved, software engineering and management are two completely separate skills. It's like saying a good surgeon would make a good hospital administrator--where do you pull that out of? They are unrelated and often oppositional jobs. Shoot-from-the-hip, cowboy programmers as well as "team player", 9-5 coders are equally unqualified to manage others, with the team players being slightly better simply because they're less likely to piss everyone off right away.

      I've found in my professional experience, as have many others, that really great managers are born, not made. Some people seem to have instinctual abilities to see through the fog of war and focus on the goals, marshal their resources rationally, and avoid letting petty emotions, vindictiveness, oneupmanship, and all the politics that come with human interaction get in the way. You can call them out, tell them to their face that they're full of crap, challenge their assumptions, and they will calmly roll with the punches and adjust accordingly. Their bosses will lean on them, change their priorities, threaten them, etc., and they will push back, educate their superiors, win the time and money they need to achieve the objectives.

      It's like sales. Great sales people seem to have an innate ability to close the deal, while crappy sales guys (the majority in the world, I think) piss off the customer, display their ignorance, and basically fumble the ball more often than not.

      So, op, proceed cautiously. You are about to step off the cliff and hope you enjoy a soft landing. A few make it, but most don't. I would say, if you're pretty good technically, you should just stay in the tech field where you know you have a good future. But, if you want to learn from bitter experience, be our guest and delve in. Get back to us in a year and let us know how it's going.

      --
      it's = "it is"; its = possessive. E.g., it's flapping its wings.
    2. Re:learn? by Anonymus · · Score: 4, Insightful

      Most "good" managers I've met are not good because of skills or training, but from simply being personable, intelligent, and able to solve problems (real world problems, generally very different from the types of problems programmers face). It takes a minimal amount of training to get a good manager, as long as you start with the right person, who possesses those innate abilities. There is plenty of management material to be found among software engineers, programmers, IT, etc. The problem is that, like you said, execs will often just assume someone good in one position will do fine managing that position, and promote them without any management training.

      The truly unfortunate thing is that it generally takes much more skill and training to be a good software engineer than it does to be a good manager, and yet management pay generally BEGINS where every other job maxes out. My biggest problem with about 90% of all management I've worked with in my life is that I (or many other people I know) could do their jobs better than them with a week or two of training, and yet they're making twice what I make. At the same time, most of them also face less stress and work fewer hours.

    3. Re:learn? by Tiroth · · Score: 4, Insightful

      Well, I think it is hard to generalize the way you have and be correct. I'm sure there are shops like the one you described - managers making much more than the devs, worrying more about their golf handicap than the project timeline. There are plenty of places though where the dev and manager payscales have quite a bit of overlap, where you'll find all of the senior devs making (much) more than the junior managers. I think this is right. At well-run companies there will also be quite a lot of pressure and stress put on the manager, simply because the manager is responsible for the success of every person on the team - so take all the things that can go wrong on the dev side (hit a snag and have to refactor, sick time, etc.) and multiply that by the size of the team. Good managers are also taking the heat for making the inevitable tradeoffs - "yes, we know big client X wants feature Y but we need to keep the release on track." Dealing with VPs several levels up trying to pull the project in different directions is also less than enjoyable.

      Managers are also much more vulnerable to politics than individual contributors. You can be a great manager and still get canned if new upper management rolls in and doesn't like you or doesn't think you're the right person for their new policies - or if you get a tough project that doesn't go well and someone needs to be blamed. So, I think part of the compensation difference is because the job is simply riskier.

    4. Re:learn? by Surt · · Score: 1

      You have to be careful of going to far the other direction as well. The hospital administrator is a good example. Do you want to pick someone for that job who has never worked in a hospital, and therefore has no idea the impact of their decisions? Neither pure professional management, nor pure technical advancement into management is the right path. The ideal manager is going to be a skilled technician who happens to have a natural talent for and interest in management. Which should be followed up with training to address any skills deficits missed by not going for the lifetime pure professional management route.

      --
      "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
    5. Re:learn? by jeffporcaro · · Score: 3, Insightful

      I recently had to make a similar change - from being in training to becoming one of two cardiologists running a private office, which means I'm responsible for employees.

      Making technical decisions is the easy part - managing people is the hard part. You're simply treated differently when you have the ability to make decisions that can change people's livelihood and lives. The best resources I found on this were "Getting to Yes" and "Getting Past No," both touchy-feely pop-style books, but both with semi-useful information in them.

      Friends gave me management books, like "The Essential Drucker" and a subscription to the Harvard Business Review - I found all this stuff to be almost useless. I've found that if I spend a few minutes every once in a while checking in with people, and trying to listen to the answers, that things work out well.

      good luck...

      --
      It is not the doing of things that is difficult. What is difficult is getting in the right mood to do them. ~~ Brancusi
    6. Re:learn? by jvin248 · · Score: 1

      While that's all fun and excitement. If you want your company to succeed, you need to learn one thing. You will be successful only if those working in your department are successful. Take your shiny new organizational pyramid and turn it so your point of the pyramid is at the bottom of the page. You're the worker for this whole group, and the output of your department only gets made by that row of workers along the top.

      Then of course you should also consider delayering so span of control goes from the 'typical' 3-7 out to ten to twenty. Yes, the middle managers will scream. You'll be closer to the workers and also start giving them more general direction instead of micro managing (because that way leads to madness as you thin the middle). Then you'll become a leader instead of a manager cog. Don't backfill jobs. Constantly see how to improve workflow (with everyone's input). Read up on Lean Manufacturing, it applies in offices too.

    7. Re:learn? by bro1 · · Score: 1
      I agree that there is not much formal training required, but there might be a lot of change in behaviour required.

      The things that worked well for me:

      1. Delegate - trust people

      2. Communicate - communicate every day with your management and with the people who are reporting to you, give them enough background information. Always notify interested parties of the issues so that they could help you or could adjust their plans. Trust me - it is difficult to be a messenger, but so much less stressful overall.

      3. Do not micromanage

      4. Set realistic expectations - do not overpromise.

      5. Follow up - follow up on whatever you do to make sure that the job is complete.

    8. Re:learn? by carnivore302 · · Score: 3, Interesting

      You're generalizing; there are plenty of people I know up close who were great developers and now great managers. One of them is my boss and I'll tell you what he did to get my utmost respect.

      First of all, this guy was a brilliant developer. Both design and coding were always rock solid. Then when the boys from the board asked him to become a manager, we (the grunts) didn't really notice a lot. Sure, he started coding a lot less, and within half a year stopped doing that entirely. Often we wondered what he was doing all day, until one day I spoke to one the founders of the company and he was saying the guy was a bit of a pain in the ass for them. Turns out his day job was nothing less than constantly defending us, making sure we could do our job without being harassed by upper management, and creating support for any of the ideas we (the developers) came up with. In short, instead of being a manager to report to upper management, my boss focuses on ways to make us as productive and happy as we can be.

      I can't thank him enough for that.

      --
      Please login to access my lawn
  2. Start Being Ignorant Now... by stove · · Score: 5, Insightful

    (Probably not the sort of ignorance you're thinking of, though.)

    Start practicing saying "I don't know." You know a lot of technology right now, but in 5 years you'll know less, and in 10 the young kids will roll their eyes when you talk about how it "used to be." Set a big organizational goal ("double our storage space for next year") and then ask the technicians how to make it happen. Resist the urge to do anything more than "suggest" things or vaguely hint at solutions. Know how little you know.

    What you shouldn't ever forget is how technology "really works." You know, "fast right cheap pick 2." If your company wants to go with a cheap solution to their problems, make sure you've prepared properly for it.

    All the successful technician-to-manager folks I've worked under have suggested solutions, listened when technicians explained problems and tried to get managerial roadblocks out of their way. On the plus side, the best managers I've worked for were promoted techies. Good luck!

    --
    Ack!
    1. Re:Start Being Ignorant Now... by modmans2ndcoming · · Score: 1

      Absolutely .....remember you pay analysts to figure out how to do things ....let them do them do that and you decide the best solution from what they come back with.....I hate when an executive makes an implimentation decision without listening to the people who have to build the.system.

    2. Re:Start Being Ignorant Now... by radtea · · Score: 4, Insightful

      All the successful technician-to-manager folks I've worked under have suggested solutions, listened when technicians explained problems and tried to get managerial roadblocks out of their way

      My mantra as a manager is, "Trust your people." In one of my first management positions I took over a team that was having a really hard time (they'd been leaderless for a year, had political issues with senior management, etc) that was in the midst of shipping a major new release. Things were chaotic and the urge to micro-manage was intense. Fortunately I knew how technically proficient they were, and was able to discipline myself to trust them across the board on technical issues while I started the (ultimately successful) process of dealing with the political and people issues.

      --
      Blasphemy is a human right. Blasphemophobia kills.
    3. Re:Start Being Ignorant Now... by slew · · Score: 1

      Yeah, you pay "analyst" (aka sales people), to figure out how they can do thing (to earn the highest amount of commission)... NOT!

      Of course executives shouldn't make implementation decisions at all. They also usually shouldn't really be listening to the people who have to build the system for gory details about implementation.

      Executives should be making risk and cost decisions. If they need information about risk, they should be shouldn't be paying analysts to figure out how to do things, they should be asking analysts about how they did things in the past and why they should be believed about this new project and make sure that the answers are valid (hard to determine correctness apriori). Very few things that an executive should be making decisions about are turnkey, they are generally frought with risk (on both project completion and market requirements) and unseen costs and schedule impacts and it's the executive's job to ferret this out. Often it isn't a choice between A and B, it's a choice between [A-Z], and the proper answer is omega after you sort through all the competing proposals from people that didn't talk to each other. Then stand back and watch to see how it unfolds (and make course corrections if necessary).

  3. Some tips by Registered+Coward+v2 · · Score: 5, Insightful

    1) find a mentor you can use to get advice and bounce ideas of of

    2) contact some counterparts and see what professional pegs the belong to and join them and go to local meetings

    3) and now the hardest part. While the developers are your friends you now have new responsibilities and may have to make some tough decisions. Be fair, but make the tough calls. If you don't, your team will suffer and do will you.

    --
    I'm a consultant - I convert gibberish into cash-flow.
    1. Re:Some tips by Anonymous Coward · · Score: 5, Insightful

      This is probably the best post here, unfortunately Slashdot isn't a great place to ask this question as half it's membership are too young to have made it to this level succesfully and the other half are grumpy old gits who are bitter that they never made it to this level.

      As such "Go ask peers who are already at this level" is about as good advice as can be given here, otherwise you'll just get a long wishlist from people as to how they wish their bosses would be from their inexperienced viewpoint, rather than how their bosses actually need to be to get the job done.

      You don't have to become a jackass, but the people who don't get to this level are the ones who don't understand why you're making decisions that to them, seem stupid.

    2. Re:Some tips by tburkhol · · Score: 1

      If you don't have a strong internal model of "leadership," try to learn one. Leadership in the sense of how you get people to happily do things that they may not want to, and how you get people below you to trust your judgment. I learned a lot of that in volunteer organizations - think Habitat for Humanity, not Toys for Tots - volunteers come in with varied skill levels and varied motivations, but you have to get them all working together, as a team, doing sometimes unpleasant work with people who may not get along. Watch how the leaders get that to happen, especially if you can find a group where the volunteers don't all leave after six weeks.

      You have to trust your people. If they fail that trust, you have to be tough: rewards for success, penalties for failure. Small, but frequent.

    3. Re:Some tips by nine-times · · Score: 4, Insightful

      While the developers are your friends you now have new responsibilities and may have to make some tough decisions.

      This reminds me of something: understand that you might not be able to be friends with the people you're managing. You can be on friendly terms with them, but in my experience, friendships are pretty hard once that power imbalance exists. As their manager, at some point, you might need to call them on some kind of bad/irresponsible behavior. If you're like me, you won't really want to, but it'll be your responsibility.

    4. Re:Some tips by Anonymous Coward · · Score: 1

      Another vote for the OP here.

      I have seen far too many techies promoted to management (and I've so far refused because of it) and then fail miserably. In almost all cases they were good people and didn't fail for their own lack of effort, but instead because of failures from their upper management to properly support and mentor them. Of course it's a self repeating cycle because those that survived and continued on then didn't know to (or how if they wanted to) mentor those that they promoted into management.

      Like everything thing else, there are people that are right for the position and there are far more that "can do it".

      In my opinion the worst situation you can be in as a new manager is to manage the people you were just working with. Not only will it be difficult for you to look at them differently, it will also be hard for them to treat you differently too.

      Personally when I finally break down and accept a management role I'm going to look for a group that does something other than my skill set. I've seen too many techie managers promoted in their group and then when their staff isn't doing the job that is needed the manager just jumps in and does it rather than deal with their management duties in that case (a lot of that also comes from that friend/employee transition). My view is that you should know enough of the subject matter to know if you are hearing BS, but not being able to do it yourself will force you to focus on actually managing the team.

    5. Re:Some tips by delcielo · · Score: 2, Insightful

      Think of the managers you have respected, and analyze what made them great managers for you. Some common things that have served me well:

      1. Don't try to change your people. They are who they are. Work with their strengths. If you can't deal with who they are, you'll need to work on getting them off your team.
      2. Pay attention to your employees' careers. You should be training them to see the broader aspects of what they're working on. You should have a career path in mind for them. Some may want to do what they're doing for the rest of their lives. But you should be looking for the ones who will eventually want to move up or sideways, and you should help prepare them for that.
      3. Remember that if you're successful, it's because of the work they do. Don't forget that. You aren't successful all by your little lonesome.
      4. When you give them something to do, give them a result. Don't micromanage the way they do it. Certainly standards have to be applied, regulations complied with, etc. But as much as possible, let them work toward the goal.
      5. Your authority is in your title. It's in black and white. You don't need to prove it all the time. You don't need to fear challenges to your authority: they're stupid and you can't lose them.
      6. Finally, this one is tough, but be aware of the difference in your relationship now. There are some jokes that will not go over like they used to, because although you are still who you are, you are now also boss. Neither you nor they can forget that, and shouldn't. Otherwise what would be the point of making you boss?

      --
      Hot Damn! It's the Soggy Bottom Boys!
    6. Re:Some tips by bolthole · · Score: 1

      Eh... there's still something very positive to be had, from engineers who can rightfully say, "my most useful/helpful/... boss did (this) on a regular basis"

    7. Re:Some tips by datavirtue · · Score: 1

      " the ones who don't understand why you're making decisions that to them, seem stupid."

      It should never get to that point. A key component of managing knowledge workers is communication. You must communicate the why of your decisions or the people you are supposed to lead will resent those decisions and cut you out of the loop. Not a problem if you are managing people who do not want to know (laborers), but knowledge workers must be a part of the loop.

      Study evidence based management. This is a must read for anyone concerned with performing well as a leader in a modern workplace.

      http://www.amazon.com/Facts-Dangerous-Half-Truths-Total-Nonsense/dp/1591398622/ref=sr_1_1?s=books&ie=UTF8&qid=1324319839&sr=1-1

      --
      I object to power without constructive purpose. --Spock
    8. Re:Some tips by Registered+Coward+v2 · · Score: 1

      " the ones who don't understand why you're making decisions that to them, seem stupid."

      It should never get to that point. A key component of managing knowledge workers is communication. You must communicate the why of your decisions or the people you are supposed to lead will resent those decisions and cut you out of the loop. Not a problem if you are managing people who do not want to know (laborers), but knowledge workers must be a part of the loop.

      While I wholeheartedly agree with you on the importance of good communications (except the laborer comment - they like to know why as well and having them understand why yields benefits when they suggest better ways to do things); there is a subtle difference between explaining "why" and understanding "why."

      For example, some coders want to tweak their code to make it better - fewer lines, slightly faster, whatever they view as better. You can explain that once the code is robust enough to do the required job without crashing and responsive enough to meet end user needs; tweaking it adds no value but adds costs and may delay the project, which will annoy the client. Most get it, but some still think that is a stupid decision. They know "why" but refuse to understand "why."

      --
      I'm a consultant - I convert gibberish into cash-flow.
  4. Re:Dev to Exec by CubicleView · · Score: 1

    It must be one hell of an attitude if he can let it loose.

  5. Give correct estimations by zr-rifle · · Score: 5, Insightful

    First of all, read "The Mythical Man Month" by Fred Brooks, if you haven't already.
    Be realistic and conservative on your delivery dates. Defend them to the death.
    Avoid micromanaging people, if possible, and insist on clear communication and concise documentation.
    My personal suggestion: don't give up completely on being a developer. Keep a small, but important task to yourself. You will gain an even better view on how your team is working.

    --
    Hack your mind out of its sandbox.
    1. Re:Give correct estimations by Intron · · Score: 4, Insightful

      Awesome list. I'll just add one more: block "minor enhancements that shouldn't affect the schedule" no matter who suggests them.

      --
      Intron: the portion of DNA which expresses nothing useful.
    2. Re:Give correct estimations by kbdd · · Score: 4, Insightful
      The comments above are very good indeed, that is exactly what I was able to do for a long while.

      I did the same thing many moons ago and recently went back to being an engineer (with great satisfaction).

      The issue is: while it is relatively easy to describe what a good engineer is, in abstract, in a way that will work for most companies, it is much harder to define what a good manager should be because it all depends on the expectations (and the organization) of the company you work for.

      In my case, I believe I was doing a fine job for 10-15 years of it as a manager (while still being hands-on on some aspects of the job) under the old definition, and having fun in the process, at least some of the time.

      Then the company was acquired and the definition of what was a "good" manager changed. A "good" manager was not to do technical work, just to generate schedules and budgets, do personnel management (reviews, hiring), make sure processes were followed and go to meetings, lots of them, many off-site. Engineers need not apply.

      These were not the favorite parts of my old job, but under the former organization, I was able to do that because it was not full time and I still had the technical side to keep me interested. However, under the new definition, I was no longer a good manager (or even an acceptable one) and I was utterly miserable. However, because I had been able to not stop being an engineer, I was still a pretty good engineer, so I was able to go back as an engineer

      There are many managers meeting that description in that company and some of them do not have strong technical background and yet are apparently doing the job. It is my opinion that those that were strong technically and have been put in these positions do not enjoy their jobs very much, but it is just my opinion. I certainly did not. In many regards, I otherwise consider this company to be enlightened compared to most, they have done many of the right things for the right reasons so there is absolutely no bashing here. I just want to highlight the differences between what many perceive their job to be, and what management expects.

      I was fortunate that while I was struggling as a manager under the new definition, this company developed a reasonable technical ladder as an alternative to the management ladder, so going back as an engineer had no downside on my salary or prospects.

      So my recommendation is: while you should strive to do what is expected (and I cannot tell you what that is), don't completely abandon the technical aspect and let your skills go stale because if you are any good at it (and you probably are since they offered you this opportunity) that is something you can always fall back on. If you are expected to not do any technical work at all, think twice before taking the job, you probably won't be happy.

      Also, in your new management responsibilities, you will have an opportunity to make sure that the company has, or develops, a technical ladder so that good engineers are not offered the choice of either becoming managers (where they may suck) or go somewhere else. That may be you :)

      And one more thing: do not abandon your values. If you believe something is wrong, it is wrong. It does not matter if you wear the engineer's hat or the manager's hat. You will be the most visible technical person in the organization, that comes with responsibilities. Speak your mind in a respectful way, be yourself and represent the interests of your staff and the customers. You will be under a lot of pressure to cut corners and push your better judgement under the rug in order to meet impossible deadlines and budgets. Honestly try to make the best of it. Make friends in the management structure. You will need them one day. You were made that offer because you are smart, never forget it. You have an obligation to speak the truth.

    3. Re:Give correct estimations by jds91md · · Score: 1

      Really marvelous post. Values and truth-telling are not only themselves productive, but espousing values and practicing truth-telling (artfully, constructively, well-timed, etc.) sets the example so that others feel able to do so as well. And the opposite is true. If the organization learns that being a yes-man and concealing critiques and valuing turf/power over actual goals in your mission, then that makes it harder for any one participant to do right with values and truth telling. Lots of cynical folks here, so it's nice to see a good balance, thought I'd point it out. Best, --JS

    4. Re:Give correct estimations by Andy_R · · Score: 1

      Alternatively, *charge* for "minor enhancements that shouldn't affect the schedule".

      Pay the money out as a bonus to the employees who have to accommodate the change if they don't let the schedule slip. This stops you appearing to be an asshat to your customers (while reminding them that your department's work has value), and shows the workforce you're fighting their corner, and appreciate their workload.

      --
      A pizza of radius z and thickness a has a volume of pi z z a
    5. Re:Give correct estimations by Surt · · Score: 1

      So in the end you can deliver something that doesn't do what the client needs?

      If a 'minor enhancement that shouldn't affect the schedule' is a big deal to you, you have a serious process problem. It's probably time to learn something from the agile development folks.

      --
      "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
    6. Re:Give correct estimations by AuMatar · · Score: 1

      There is almost no such thing as "minor enhancement that shouldn't effect the schedule". They all effect the schedule, and many end up costing multiples of the time originally estimated. They also have a tendency to multiply, and together make a significant schedule impact. Treat them the same as you would any other change request, with the same process and adjust the date as needed.

      --
      I still have more fans than freaks. WTF is wrong with you people?
    7. Re:Give correct estimations by Surt · · Score: 1

      Exactly. As I said, it's a serious process problem if you can't accommodate change requests.

      --
      "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
    8. Re:Give correct estimations by Shirley+Marquez · · Score: 1

      The other key read is Peopleware — Productive Projects and Teams.

  6. Take the journey with your team by anchovy_chekov · · Score: 2
    • remember what you already know
    • acknowledge what you don't
    • talk to the specific interests of both business and technical staff
    • be honest

    It's a pretty exciting time to be able to doing what you're doing - lines are blurring all over the place between the artificial divisions within organisations. I'd be reading as much about Lean Management as I can (as the wellspring from which Agile comes), but only if it makes sense in your context.

    Good luck!

  7. Simple by Kagetsuki · · Score: 1, Funny

    1. Don't piss off programmers. Make them comfortable.
    2. They are being paid, make sure they do the work they need to by the time it needs to be done. Stick to schedules. I can not stress how important it is to stick to schedules. If a programmer can't meet targets you feel were set fairly then you may have to fire him/her. If they claim it just takes them longer and you can deal with that then offer them lower pay - in the end results matter and you're on a budget.
    3. Listen to advice from your developers carefully. If their ideas are dramatically different than yours in ways you think would be detrimental to the project then they may not understand something. If their ideas are good integrate them. If you don't understand their ideas but they sound good ask the other developers in the pool - a lot of developers get the idea they can do something really cool with some random technology and it just ends up being them the only one that understands it and it never ends up working right.
    4. Designate a planner. This will probably be you. The planner takes the goal and the design and makes it into a step by step development cycle programmers can follow. Define critical passes and designate resources such that they come together well.
    5. Watch your repositories! Each commit is a record of what a programmer thought. If they misunderstood something you should be able to see that they are going off course by looking at their code. Every day you don't catch this is another day wasted and probably another day it will cost you to bring the code back on course.

    That's about all I can think of and all things I really wish I had known before handling teams of developers. Overall you just really need to remember to be focused on results and you really need to watch commits and source changes carefully so you can catch people going off course.

    1. Re:Simple by sclark46 · · Score: 4, Interesting

      I have found it is a very good exercise to let the programmers tell me how long it is going to take to get the job done. We do it in a group setting with all the peers involved. The programmers don't want to look bad among their peers so they usually set realistic dates and work hard to meet them. Each week we review progress in a group setting. This seems to work very well.

    2. Re:Simple by Kjella · · Score: 4, Insightful

      2. They are being paid, make sure they do the work they need to by the time it needs to be done. Stick to schedules. I can not stress how important it is to stick to schedules. If a programmer can't meet targets you feel were set fairly then you may have to fire him/her. (...)
      4. Designate a planner. This will probably be you. The planner takes the goal and the design and makes it into a step by step development cycle programmers can follow. (...)

      You may not know it, but the people working for you probably think you're a lousy manager. You're the traditional project manager coming up with an estimate based on how hard it sounds like doing without taking any input from the ones actually working on the code, then drive people hard to meet your imagined schedule. From the "watch every commit" it sounds like you're trying to be the supercoder micromanaging everything everyone under you is doing. Chances are that if you're trying to do that much at once, your quality will turn to shit too even if you could outperform any one of them individually. Particularly if you're doing any part of the managing bit, making sure all your people are productive, clearing roadblocks, dealing with recruitment/staffing/budget issues, management reporting and so on. If you're serious you should get out of management, quick.

      --
      Live today, because you never know what tomorrow brings
    3. Re:Simple by Kagetsuki · · Score: 1

      I'm sorry, on what points? Keep in mind this is just from my experience and the environments I've been in, I wouldn't expect it to apply to everyone.

    4. Re:Simple by Kagetsuki · · Score: 1

      I've met few programmers who could estimate their time-frames so well. Of course I would and do take their voices into account if they worry about missing deadlines, but usually if it looks like they will not meet a deadline or critical pass that just means adding or changing out programmers or picking up the slack myself.

    5. Re:Simple by Kagetsuki · · Score: 2

      I set up schedules with the programmers, but we need to fit those schedules into client time frames so sometimes I do have to make assumptions or harder schedules. As for watching commits it's not about micro managing so much as making sure everyone is keeping up and looking out for developers straying from the design. When different modules are developed separately and need to be put together at later points you really need to make sure they are built in a way they will fit together. You could say it's my way of "making sure all your people are productive, clearing roadblocks". I don't deal with recruitment/staffing and there is no management reporting - I deal with a loose knit group of developers/designers/planners/creators mainly on paid OSS projects and I often am the one getting those jobs. I'm not in an office building and none of my developers are forced to come in on any project - they come in because they like to work with me and because I find interesting work for them.

      Now if I were in a corporate environment I'd be a lousy manager, but not because I'm too strict but because I'm too lax. I once screwed up by not watching a coder closely enough - he ended up blowing about 2 months when he though he had a better idea of how to do something instead of using a library which I told him to use; which would have implemented the same functionality in a day. When I found out I actually gave him another month to fix things and he still didn't. That killed the project and cost me quite a bit of money - had I been stricter and micro managed more it would not have happened. Other times I've put a lot of time helping developers meet customer deadlines and not collected pay for my time. As you can guess developers really like that kind of management - but it's bad management and these are things you should avoid doing. To say the least I've made a lot of mistakes a "traditional project manager" would not have and those were the things I was trying to point out.

    6. Re:Simple by radtea · · Score: 1

      Watch your repositories!

      This is all really good advice. The one thing I'd add is: "Make progress visible". I use various metrics to measure progress (tests passed, features implemented, bugs fixed, a sum over developer's own progress reports) and generate an imperfect but meaningful "progress" value that I chart on a paper chart stuck up in a visible place, so everyone can see we're on track or falling behind (I've never seen "ahead of the game" but I hear it can exist.)

      --
      Blasphemy is a human right. Blasphemophobia kills.
    7. Re:Simple by Anonymous Coward · · Score: 1

      All micro managers can give examples of how someone screwed up because they didn't do exactly as told. Those stories exist because every professional of every stripe and of any level of competence make mistakes occasionally. So if you don't micro manage, people WILL make mistakes. What the micro managers conveniently forget to point out is that if you micro manage, people will still WILL make mistakes - because there are always mistakes. Doesn't matter what you do, there are mistakes. In fact, micro managing is more likely to lead to more mistakes because the micro manager doesn't really know the code as well as the person coding does. This is true unless the micro manager is a much better coder than the person coding. In that case the micro manager should stop wasting everyone's time by just coding things himself - that will probably take less time than micro managing wastes.

    8. Re:Simple by Surt · · Score: 1

      2 is dangerous advice. It leans towards metrics that will tend to reward behavior that you may not want to encourage. Better to understand why targets aren't being met. Does your best developer take on the highest risk assignments, and frequently overshoot optimistic estimates?

      4 discourages team buy-in. Everyone should be involved in the plan in order to encourage commitment to the result. The further you get from direct development work, the worse are the chances that you'll formulate the most effective plan anyway.

      5 makes sense only for a low-level manager with a small team. It's also a substitute for other practices that might more effectively reach the same goal (for example: a more agile process).

      --
      "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
    9. Re:Simple by olau · · Score: 1

      If you programmers can't estimate how long it takes, that's because they aren't breaking the task down properly. Either that, or you don't have a time tracker so people actually know how much time they're spending. It can very well happen that you spend two days and get 6 hours of programming done.

      Estimation is a really annoying thing to do, so if people aren't forced to do it and held accountable to what they say, it's obvious that people will just botch it.

    10. Re:Simple by Kagetsuki · · Score: 1

      Very well put, I couldn't agree with you more.

      I'm doing all the planning myself now, but here it's common to have "planners" who break designs down into tasks, do the scheduling, take into account delays and alter the plans to try and minimize extended development schedules or having to drop features. Planners all have programming and design experience so they're able to estimate pretty well usually. Having worked in teams with planners in the past I have to say I really miss having one.

    11. Re:Simple by Kagetsuki · · Score: 1

      You sound like me two years ago. Feel free to learn my mistakes all over again.

    12. Re:Simple by Surt · · Score: 1

      Things are going swimmingly for us, and have been for years.

      --
      "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
    13. Re:Simple by sergueyz · · Score: 1

      This is a tactic of Makarenko. You direct a pressure from group to individual members.

      Most probably your employers hate you for that.

    14. Re:Simple by haestan · · Score: 1

      Worst. Response. Possible.

    15. Re:Simple by Gramie2 · · Score: 1

      Probably point #2, where you suggest firing programmers who can't meet deadlines that you set. Sometimes things just bog down. There's a difficult bug; something that seemed simple at design time has proven to be complex; later developments have forced a rewrite of earlier code. And programmers are not machines: they are more productive sometimes, and less productive sometimes.

      And, of course, sometimes the fault is due to circumstances beyond the programmer's control. Customers change their minds, or don't give complete specs. Co-workers become uncooperative, or sometimes even hostile and sabotage other people's projects.

      Sometimes all the work gets done on time, but sometimes it doesn't. To lay the blame at the programmer's feet is unfair. Not to say that you shouldn't get rid of unproductive programmers (or any workers), but software development is notoriously difficult to find good metrics for.

    16. Re:Simple by Kagetsuki · · Score: 1

      First off I'm actually a programmer so I entirely understand your points. And I've never fired a programmer because they didn't meet one deadline. But thus far I've had two programmers who ended up just not being able to handle the project, missed multiple deadlines, or just straight out didn't care about finishing the project and made no real effort to finish.

      To be honest the only programmer I've straight out fired was one that started writing tons of dummy code and doing things like copying big chunks of code to other files so his commits would look huge and it would look like he was making progress. I wasn't the project lead and wasn't monitoring him directly but he actually pulled this off for a few months and then disappeared a week before an alpha release. Needless to say the lead, who was a designer, hadn't realized his assumption of "he looks like he's writing a lot of code and says he's making progress" wasn't an accurate way of ascertaining things.

      Every other time I've given them options to fix things. We work on budgets and the programmers understand that when they come in. It's hard to ask for more money and our deadlines are usually set very late. A week long project for example we'll usually set for 3 weeks. Extensions aren't something we like to do but sometimes we have to, that's just how things go and most customers are understanding. But I've had two programmers that just couldn't get it done and both times they constantly said "just a few more days and it'll be completed", and they always had the option to ask for help but never did. Both times they didn't meet deadlines that were before final release so it wasn't so much of a problem it just meant bringing in another programmer that could do it - I offered them the opportunity to stay on at lower pay and reminded them working with a more capable programmer would help them increase their skills. One accepted and is a much better programmer now, one left.

      So that's where I'm coming from on point #2. Would you not have done the same?

    17. Re:Simple by Alex+Belits · · Score: 1

      I'm sorry, on what points? Keep in mind this is just from my experience and the environments I've been in, I wouldn't expect it to apply to everyone.

      1. Don't piss off programmers. Make them comfortable.

      That often does not work because some programmers will piss off each other if the management won't keep uncooperative prima donnas in check. And uncooperative prima donna programmers are everywhere. There is also a matter of plain incompetence and negligence -- those should not be tolerated, and pissing off people who exhibit those traits improves morale of everyone else.

      2. They are being paid, make sure they do the work they need to by the time it needs to be done. Stick to schedules. I can not stress how important it is to stick to schedules.

      Over more than two decades in software development I have never seen anything of importance completed "by the time it needs to be done", leave alone on schedule. This did not keep projects from being successful, or developers' work from being valuable.

      If a programmer can't meet targets you feel were set fairly

      If programmer's own estimation (that you certainly used to set schedules, right?) happened to be wrong, your "feeling" of what is fair or realistic is guaranteed to be completely disconnected from reality. Software development is unpredictable even in the best situations, so manager has to take into account that:

      1. Estimates should be always at least double what seems to be reasonable.
      2. Plan for unexpected delays.

      then you may have to fire him/her.

      And do what, work without him, so nothing will be done by him, thus increasing the load on others? Add someone new and unfamiliar with the project, so it will be delayed even more? Firing a developer is a decision that can only be based by a long-term benefit for the project because short-term outcome is always severely negative. This is why there are prima donna developers in the first place. You can gain in quality, but you always lose in development time, so firing someone just because a project is delayed is stupid.

      If they claim it just takes them longer and you can deal with that then offer them lower pay - in the end results matter and you're on a budget.

      And this is something that is not only monumentally stupid by itself, but it makes you a monumentally stupid person for thinking it.

      First of all, this is a breach of trust between developer and the company. People do not become permanent employees to expect that company will arbitrarily steal back chunks of their salary at the whim of a manager. It creates an impression of wrong incentives -- the company gains money every time a manager blames an employee, so manager can add more to the bottom line by throwing accusations than by doing anything productive. To make it worse, so can everyone else -- a developer can sabotage someone else's work, then see more money "saved" than would be gained by doing anything productive. It can create atmosphere so poisonous, no sane person would suggest anything like that.

      Second, the outcome of such move is extremely disproportional. Company gains very little because it still pays all the fixed costs of having a developer. Developer however gets a significant drop in his monthly income, that most likely is already tied up in something very inflexible -- rent or mortgage, car, utilities, supporting kids, etc. More likely than not, any pay cut will at least temporarily make him unable to pay for something very important, so he will have to spend more of his time trying to fix the problem and not doing his work. If he will miss a mortgage payment, get evicted from an apartment, or lose his family, he will become your enemy for life. If he won't, he will get out of the company at the first opportunity, and won't bother doing any work after giving his notice -- including passing his work to

      --
      Contrary to the popular belief, there indeed is no God.
    18. Re:Simple by Kagetsuki · · Score: 1

      I think you've taken most of my points in a context I never intended them to be taken in, and in some cases for situations I've (thankfully) never had to deal with.

      First off I have had projects end on time and most of the projects I've managed have been completed before the deadline. I "usually" make pretty reasonable estimates and the only times I haven't met a deadline have been the direct fault of inexperienced developers trying to hide when they they screwed up.

      I'm also not in a corporate environment. I'm more of a consultant I guess, and my developers are freelance. There is no such thing as salary - it's a set amount for each portion of the project and they have the choice to take it or leave it. I know a lot of developers and I know developers who are very good. When a programmer screws up and just can't cut it I get rid of them and call someone who I know can get it done or I do it myself. A lot of times an inexperienced developer will be the one who screws up and since we're on budgets it's not like I can just keep paying them while they fumble around for months on end putting me in a position where I have to keep making excuses to customers in hopes they won't sue me. In those cases I offer the the opportunity to learn how to do it by tagging along with the pro I call in in their place - so they have the opportunity to learn how to do it and take future jobs or they can quit and continue being continue being crummy programmers.

      I see you have no idea what a planner is. It's an actual profession and I'm aware they don't have them in America but if you ask me you should. Planners don't do the things you laid out as examples either.

      As for code reviews I'm not going to do a code review every day. I look through commits as often as I can (usually once every few days/twice a week or so) on projects I'm tightly involved in and it's a practice that has paid of exceptionally well for me on many occasions. The programmers I'm working with are very rarely in the same room with me and sometimes aren't even in the same country so firing up gitk and glancing through a few days commits proves an excellent way to figure out where people are, what they're doing, and how they're doing it. I'm usually the one making the project bases and managing master branches as well, so at any time I can fire up the project, test it, and I know how far along it is and what needs to be done next.

      Also just let me state I'm very fair to developers and I've got at this very moment 7 happily working on projects with me and 5 who I've worked with before that really want to do something with me - we're meeting next week to discuss possible jobs I may get to see what they want to do and what they think about each of them. 3 of those developers are people I trained myself. They graduated college as developers but couldn't get jobs. I took them in, worked with them on projects and gave them work. At this point they could easily go corporate but they choose to stay freelance and are always eager to work with me.

    19. Re:Simple by Alex+Belits · · Score: 1

      First off I have had projects end on time and most of the projects I've managed have been completed before the deadline. I "usually" make pretty reasonable estimates and the only times I haven't met a deadline have been the direct fault of inexperienced developers trying to hide when they they screwed up.

      That works well for trivial projects. However usually what would otherwise be a trivial project, can be done by sysadmins without any developers.

      I'm also not in a corporate environment. I'm more of a consultant I guess, and my developers are freelance.

      I have never seen consultants working on a project having their special consultants hierarchy. You sound more like an owner of a small company working as a subcontractor for clients, with all-consultants team, so you do not have responsibilities a manager would have for managing employees.

      I see you have no idea what a planner is. It's an actual profession and I'm aware they don't have them in America but if you ask me you should. Planners don't do the things you laid out as examples either.

      What you have described is a project manager, what is usually a person who does all the "planning" while someone else is supposed to translate those vague plans into actual goals.

      The programmers I'm working with are very rarely in the same room with me and sometimes aren't even in the same country so firing up gitk and glancing through a few days commits proves an excellent way to figure out where people are, what they're doing, and how they're doing it.

      Here is the problem -- you are not managing an actual team, you are herding contractors. What is fine if it is justified in your line of work, but don't recommend this style of management to people who work with permanent employees on a long chain of projects.

      Also just let me state I'm very fair to developers and I've got at this very moment 7 happily working on projects with me and 5 who I've worked with before that really want to do something with me - we're meeting next week to discuss possible jobs I may get to see what they want to do and what they think about each of them. 3 of those developers are people I trained myself. They graduated college as developers but couldn't get jobs. I took them in, worked with them on projects and gave them work. At this point they could easily go corporate but they choose to stay freelance and are always eager to work with me.

      Again, you are not a manager, you are a small company owner with a few semi-permanent contractors, working on clients' projects. People in your position can have all possible styles of management, from the greatest to outright awful and still keep things running. Your experience is not applicable to a manager in a company is continuously developing its products, has permanent employees and consists of multiple groups that have to interact with each other.

      --
      Contrary to the popular belief, there indeed is no God.
  8. Hints by mseeger · · Score: 5, Insightful

    Hi,

    A difficult thing will be: you have to trust people doing the job, even though you know that they are not good as you. You will get back solutions, that are not the same you would have delivered or may even not be up to the standards you expect. You must take a step back and ask "Does it suffice?" and not "Do i like it?".

    There are two big dangers:

    a) Trying to do your previous job in addition to be a manager. This will kill you. The result will be abysmal performance in both jobs.

    b) Having no reserves in your schedules to talk to people. This will get you disconnected and you may not realize problems until they bite you in your posterior.

    The most difficult thing for me was, that i learn things about people i never wanted to know. You have tragedies (child/husband/parent dying of some illness), relationship problems (both sides being in the company more often than you think), all kind of quarrels (If n is the number of persons you manage, the number of conflicts is O(n)) and so on.... You have to develop a thick skin concerning this. If you cannot, step back. Otherwise it will break you.

    Another lesson learned: If you make a decision, never postpone it. Pull it through with max burn ;-).

    After 8 years i had enough of that job and went into sales....

    Good luck, Martin

    1. Re:Hints by dbIII · · Score: 3, Interesting

      Trying to do your previous job in addition to be a manager. This will kill you. The result will be abysmal performance in both jobs.

      School Headmasters (among many others) have managed to do that in a lot of places over the last couple of centuries and leading craftsmen over a much longer period than that. The answer is not to do it as two full time jobs but one job with many elements.

    2. Re:Hints by mseeger · · Score: 1

      School Headmasters (among many others) have managed to do that in a lot of places over the last couple of centuries and leading craftsmen over a much longer period than that. The answer is not to do it as two full time jobs but one job with many elements.

      In my school there was a fixed ratio between the two jobs and the headmaster had two full time secretaries.

      While there may be special cases, doing two different jobs is usually a bad idea.

      Yours, Martin

    3. Re:Hints by scamper_22 · · Score: 1

      And those kinds of jobs are professions.

      They come with corresponding formal residency like programs. Training is formally built into the job.
      They come with... shall I say greater goals. Doctors take an oath to help the patient. Teachers as well have professional duty to teach.
      Both have formal quality and legal controls.
      Neither generally operates as a 'general' worker under a corporation.

      I can't under-emphasize these points.

      Could software be a profession or craftmen like guild? Yes!
      Could we engage in 'doing' and 'managing' ? Yes!

      Can we do it while working under a corporation without any formal legal or powerful professional association? Nope.

    4. Re:Hints by dbIII · · Score: 1

      There are a lot of "special cases". Next example - leading surgeon in a hospital. Another, Captain of a ship. Should I continue?
      What you see as "two jobs" is typically one job that contains both administrative and practical work.

  9. Well by luis_a_espinal · · Score: 1

    I'm about to switch from a position where I did hands on development to one where I will be building and managing technical team. I will be responsible for designing and implementing the company's overall tech strategy. I am excited about this move but also nervous. It will require a different focus than I had up to this point, different skills, and different orientation. What should I be learning,

    I think you should have asked this question a bit earlier me thinks :)

    Having said that, there are things that you need to learn:

    1. The basics of project management if you don't understand them already. I'd say buy Steve McConnell's "Software Project Survival Guide".

    2. Software estimation if you don't have a good grasp of that already. You can start by reading Spolsky's "evidence based scheduling" http://www.joelonsoftware.com/items/2007/10/26.html

    3. Learn to delegate.

    Also, be aware that you will lose some of your technical chops. You won't be in the trenches, but that doesn't mean you need to devolve into a pointy hairy boss. The closer you are to the developers, the more often you will need to get your hands dirty once in a while to understand their work and needs (and to keep your chops) - you will need to do that while never forgetting when and how to delegate.

  10. It's too late now, but why? by Anonymous Coward · · Score: 1

    Why should you? Why should your emloyer? If you are a good programmer, chances are good you are a lousy manager. Other way round, if you were the right person for the job, you would have hated programming and would have dabbled in strategies the whole time along.

  11. Project/People/Organizational by xarope · · Score: 1
    As someone who has been a successful "mustang" (helpdesk to CIO), in a nutshell my recommendations are:
    • project => learn how to manage projects (timelines, requirements, budgets).
    • people => build and harness interpersonal relationships. Doesn't mean you have to buddy-up to everybody, but realistically it's easier to get people's understanding and agreement or compromise, if/when you have to slip deadlines, reject requirements, push through radical changes to architecture, when people don't hate you!

    • organizational => have a big picture view as well as the ability to drill down. Nowadays the expectations are that executives also have to know the nitty gritty, not just wave a broad brush stroke. The ability to make quick decisions and commit in a board meeting, are what will separate you from the chaff who have no idea what's really happening.

    Understand that the higher up you go, the more people you are "accountable" to... as a developer, you are just accountable to yourself and your manager (and if you have a conscience, your team members). As a CIO, I am accountable to every single person in the company, as well as the board, and shareholders.
    Keep your technical skills current (I continue to be a member of the IEEE and ACM, not just read executive magazines, which are often just rehashes of already-known methodologies and thinly disguised consulting offers). This will allow you to make good, informed decisions. I've seen many technical managers let this lapse to their detriment, when they can no longer understand what is going on "below", and thus cannot relate said information "above".
    Above all, enjoy this opportunity. Despite being quite successful in the technical track, and despite people being quite surprised when I accepted the opportunity to jump over to the management track, I can now actually make a difference, rather than whinging about what I would do!

  12. Read up on the Peter Principle by Viol8 · · Score: 1, Informative

    It'll tell you all you need to know about how successful (or not) you're going to be in your new role.

    1. Re:Read up on the Peter Principle by Anonymous Coward · · Score: 1

      Your ability to write comments on Slashdot is an excellent illustration of the Peter Principle at work.

    2. Re:Read up on the Peter Principle by Viol8 · · Score: 1

      Unless I'm about to be promoted to a slashdot editor I suggest you read up on it too so you know what it actually is before you get you crayons out in an abortive attempt to be witty.

    3. Re:Read up on the Peter Principle by Viol8 · · Score: 1

      Perhaps you should learn to read before replying. The fact that you post A/C probably means that even you know you're just spouting sh1t for the sake of it.

  13. answer a question... with questions by jds91md · · Score: 1

    It's nice that you have the humility and curiosity to ask these questions and acknowledge that your new role will require different skills than you've used thus far in your career. How did you decide to make this decision, especially given that it seems outside of your comfort zone? In general terms, tell us about your company (big, small, sector) and what it needs from its tech team. Did you seek the job or did it fall to you when someone else left? And if you sought the position knowing it was outside of your regular skillset, why did you seek it and how did you think you would handle the issues you raised in your questions? What prep have you done? --JS

  14. Congratulations! by porsche911 · · Score: 3, Insightful

    Welcome to a whole new world. Get Michael Lopp's "Managing Humans", start thinking about the business value of what you are doing instead of just the technology, and at some point you may want to read Peter Senge's "The Fifth Discipline". You have 3 priorities you need to keep in balance: 1) your financial responsibilities to the company, 2) taking care of your people, and 3) doing the right thing for the customers.

    Good luck,

  15. you're born a wolf, or a sheep by Anonymous Coward · · Score: 1

    You're either cut out for it and you'll do fine, or you will fail regardless of any clever books you can find. Techies won't follow a weak leader and it comes down to your personality as much as knowledge. One thing to bear in mind, is that they will respect you for what you know, not your job title. You also need to be someone who makes their problems go away, instead of creating new ones. Level with them, be honest, show that you care about their issues and they will look up to you. - I made this transition 2 years ago, and this is my experience.

  16. Consider whether you really want to do it by ratbag · · Score: 4, Insightful

    After 13 years as a systems guy/programmer, I ended up as manager of 12 similar people. The University had gone through a restructuring and a few resignations and I thought it would be the right thing to do, since I was recognised as the most capable in the team (no false modesty here!).

    Four years later, I left the University to go back to being a systems/guy programmer, working for a small Swiss proprietary fund (my current employer). Reasons:

    1. Meetings. Endless. Bloody. Meetings. I'd been to fortnightly team meetings as a programmer. As a manager there was at least one sort of meeting with someone in the University every other day. Protestations that email or other collaborative software would save everyone time, mileage and money were met with indifference - other managers seemed to enjoy the stupid things.

    2. Stress and Responsibility - two sides of the same coin. When you're in charge of a group, the buck stops with you. This can wear you down after a while. It certainly did with me. Whilst I was immensely proud of the team and what we accomplished, occasionally things do go wrong and for some reason the customers never remember the good times.

    3. Health issues. My underlying, but previously unobtrusive OCD was exacerbated by 1 and 2 above. I grew afraid (shaking, uncontrollable fear) of meetings, eventually getting to the stage where I would leave them mid-way, or invent excuses not to go in the first place, or just not turn up. Whilst my managers were sympathetic, I became unhappy with the way I was doing my job, which of course reinforced the "bad thoughts"-side of my OCD. I was off sick from work repeatedly, sometimes for days at a time. I received professional help and medication for the OCD and got back on a somewhat even keel, but realised that I would never be happy in my job. When the opportunity to get back to programming and systems work arose, I took it enthusiastically.

    Now obviously your mileage may vary and my comment may be utterly useless. I guess the point is that a good programmer may not be a good manager. A person who enjoys working directly on problems may not enjoy giving the problems to others to solve. And a person with any sort of mental issues may find them more exposed when working as a manager!

    1. Re:Consider whether you really want to do it by fartrader · · Score: 1

      Mod this waaaaay up. To 11 on the dial.

    2. Re:Consider whether you really want to do it by Alomex · · Score: 1

      Meetings. Endless. Bloody. Meetings.

      It helps to have a set time for them, say 30 minutes in duration and hold fast to it. You will be surprised how many petty objections get dropped when people see there are ten minutes left and for items to go before we get to their pet issue.

    3. Re:Consider whether you really want to do it by ratbag · · Score: 1

      Nice idea. But 30 minutes! Ha. 3 hours was a typical scheduled duration for inter-departmental meetings. They didn't have a problem keeping to that timescale, but the idea of brief meetings was anathema to the layers of management above mine (I was three layers down from the pro-vice-chancellors, i.e. the day-to-day bosses). They'd taken the time to dictate the agenda and detailed notes to their PAs, and dammit they were going to make sure we all enjoyed their prose and oration at length.

      I've been back to the Uni a few times to catch up with erstwhile colleagues and mentioned that one of the reasons I had to go was the appalling bureaucracy in general and the quantity and duration of meetings in particular. Some of the gassiest of the gas bags cooed sympathetically and said "I know, it's terrible, but what can you do?" Tempting though it was to hit them with the "why didn't you just STFU then"-stick, I bit my tongue.

    4. Re:Consider whether you really want to do it by ratbag · · Score: 1

      [ duplicate reply due to fat fingers and brain fade ]

      Nice idea. But 30 minutes! Ha. 3 hours was a typical scheduled duration for inter-departmental meetings. They didn't have a problem keeping to that timescale, but the idea of brief meetings was anathema to the layers of management above mine (I was three layers down from the vice-chancellor, i.e. the boss). They'd taken the time to dictate the agenda and detailed notes to their PAs, and dammit they were going to make sure we all enjoyed their prose and oration at length.

      I've been back to the Uni a few times to catch up with erstwhile colleagues and mentioned that one of the reasons I had to go was the appalling bureaucracy in general and the quantity and duration of meetings in particular. Some of the gassiest of the gas bags cooed sympathetically and said "I know, it's terrible, but what can you do?" Tempting though it was to hit them with the "why didn't you just STFU"-stick, I bit my tongue.

    5. Re:Consider whether you really want to do it by datavirtue · · Score: 1

      " And a person with any sort of mental issues may find them more exposed when working as a manager!"

      Lock, stock, and barrel. I often wondered how some eccentric freaks ended up being promoted as managers or directors. They weren't that way before they were promoted, they grew into that disposition. Power corrupts. [v. to alter for the worse; debase.] While you have the opportunity to express the best of yourself, the worst parts of you will sneak to the surface.

      --
      I object to power without constructive purpose. --Spock
  17. Remain as you are by eulernet · · Score: 3, Interesting

    Here are some advice:

    1) Read the Theory of Constraints, and use it to organize your team
    2) Read about Emotional Intelligence
    3) Do not try to do everything, find what has value for your position, and concentrate on this
    4) Do not micromanage. If you don't know agility, try to follow a Scrum certification, I know it's dumb, but the concepts are very important. The aim is to let people self-organize, and your role is to verify their throughput.

    Your role as a manager is to be sure that the work is delivered, and help the team to do that.
    It means:
    - communicate to your team and to your hierarchy. Everything should be clear for everybody. If it's not clear, you aren't doing your job.
    - focus on your work. Stop trying to command people,. If they don't know what they have to do, it means that you didn't communicate clearly.
    - remove all possible impediments to the team (you need to protect them from your hierarchy)
    - be tough but fair with your team (do not let people abuse you)

    Try to use the following values:
    - clarity (everybody must know what they have to do, not how to do it, also act transparently)
    - feedback (if something goes wrong, fix it as soon as possible. For example, detect bugs or specification inconstencies ASAP)
    - trust (trust your team, let them do as they prefer, but check that the work is done correctly and in the time they promised, do not force your planning on them, let your team decide how they want to be organized, help them if they don't know)
    - responsibility. Make people feel responsible about their work. If you take all the responsibility, your team won't care about your project. If you take no responsibility, the team will feel that you don't do anything for them.

    1. Re:Remain as you are by howe.chris · · Score: 1

      Actually some of the books on "EQ" teach you the skills. I had to read one in grad school where you took a test before you read the book and one after. The idea is that you learn some skills to help identify what others around you are feeling/thinking. (Gushy stuff like that) It really should not be political. While it won't teach you social skills it may help you think about possible scenarios and how to work through those scenarios. If you are talking to a developer who either has no idea what you are talking about or does not care what you think, it is a good thing to be able to recognize it while it is happening. It is another tool to add to the tool belt and should not be dismissed so quickly (IMHO).

  18. Re:Micromanage or you will be disappointed by somersault · · Score: 5, Insightful

    Coders often suck, especially at estimating effort of time

    It's not necessarily that those coders suck, it's more that it's impossible to estimate the time to do some non-trivial new task, because there may or may not be hidden depths.

    Even Donald Knuth can't estimate how long it will take him to do something, and he has a lot of experience with algorithms and coding. I think the numbers were that he expected TeX to take two years to write, but it actually took ten.

    I think it's better for the manager to pad the numbers but not let the engineers know. Hold them to a tight-ish schedule, assuming that they will over-run sometimes. It's good to feel a little time pressure to keep you focused, but not so much that you get despondent. Allowing for explicit maintenance/refactoring time on the code would be important too if it's a project that has grown and morphed over the years and needs tidied up.

    I don't think micromanaging is the answer. If you ask me how long overall something should take I will be happy to give an answer - but I don't like giving a schedule of every thing that I will be doing, because I simply don't know in advance. Sometimes things move way faster than I expect, and sometimes I'm banging my head against a wall for a couple of hours because of an oversight in my design.

    --
    which is totally what she said
  19. Differentiate between management and design by Stonefish · · Score: 1

    Decide what you're best at, most managers are poor designers. Just because you're a manager doesn't mean you deserve control. Being a manager is understanding what the business desires & needs, using your skill to translate that through the talent that you've employed into a profitable outcome and marketing the end result. I would advise you to give your staff an IQ test and try to offload design to someone who scored well in this area, You then market their designs to management

  20. Get a mentor and start reading by CoryFoy · · Score: 2

    I love the comments about finding a good mentor. Highly recommended. Next, pick up Mythical Man Month, The First 90 Days, Switch, Behind Closed Doors: Secrets of Great Management and FruITion. Especially the 90 days book. You aren't just a dev with new responsibilities - you are learning something brand new. Imagine that you are now being asked to build apps in a language you've never seen. Mostly remember that your

  21. Book Recommendations by SirGarlon · · Score: 1

    I don't read a lot of management books but there are two I would recommend:

    1. It's Your Ship: Management Techniques from the Best Damn Ship in the Navy by D. Michael Abrashoff (Captain, U.S. Navy, retired)
    2. The Book of Five Rings by Miyomoto Musashi

    That latter is literally a book on sword fighting and military tactics from c.1640, but I understand modern Japanese businessmen study it. Read broadly it contains insights into leadership and adapting to ever-changing events. I've seen it in the management section of book stores even in the U.S.

    --
    [Sir Garlon] is the marvellest knight that is now living, for he destroyeth many good knights, for he goeth invisible.
    1. Re:Book Recommendations by Surt · · Score: 1

      Likewise, The Art of War (Sun Tzu) and The Prince (Machiavelli) are two great older texts for developing great interpersonal management technique.

      --
      "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
  22. be user friendly by phrostie · · Score: 1
  23. The first step is the hardest.... by mevets · · Score: 1

    After the operation, you likely won't remember anything of this anyways. You want to put some reminders around your world about what concepts were important to you.

    Your brain function will be less, which will make it harder for you to relearn the lost concepts, but aim for at least a gentle understanding of them.

    You will be happier, once unbundled of curiosity, but may be frustrated by your new found limitations. At least you won't remember how you were.

    Good luck.

  24. Surround yourself with smart people by roman_mir · · Score: 1

    Surround yourself with smart people (who are also hopefully not assholes and are not completely lazy), that's the only real way to have things done.

  25. practice ignoring... by Anonymous Coward · · Score: 1

    practice ignoring those who will work under you. only do things that will increase/maintain your bonus... don't really care about anything that benefits overall/long term of the company.

  26. Engineers alternative by dbIII · · Score: 4, Insightful

    Keep on reading those journals to know what is possible and ignore those losers that call themselves "Architects", "Engineers" or even "Gurus" without some professional group of peers that think they deserve the title. You don't have to have earned one of those titles, go with what you have earned and keep in touch with it enough so that no amoral contractor can bullshit their way into robbing you blind. You don't have to be a cutting edge expert but you do need to keep up enough to tell one from a confidence trickster.
    It doesn't all stop when you leave school or even the "shop floor".

  27. If you compromise your soul only do it temporarily by piekarski · · Score: 1

    Agile, Daily stand up meetings, determine sprint content with management and stakeholders, team lunches and drinking outings to let off steam after sprints. I made this transition and led an awesome team for 8 years. My boss, the owner of the company, slowly lost his mind during that time even as the company and my team continued to implement successful and profitable solutions. I took it for the team over and over behind closed doors but after his delusions went public and I started receiving public shaming for his hallucinations I started looking. Now Im 'just' a programmer on a small but key govt contract making the same money and loving life. I miss leading a team but I dont miss the stress.

  28. 3 easy steps... by Lumpy · · Score: 5, Funny

    1 - give yourself a major head injury, you need to go from a educated professional to a brain damaged "visionary" who has "forward thinking" and "Paradigm Shift"
    2 - buy a book on buzzwords and use them all wrong, typically in the wrong spots. "WE need to Empower the diversity of the SQL server! That way we can Achieve a Sea Change OF Spin up!"
    3 - learn how to golf.

    That is pretty much it.

    --
    Do not look at laser with remaining good eye.
  29. Been There, Done That... by Kr3m3Puff · · Score: 2

    First off, while I don't know exactly your situation, it does seem that you aren't going to be moving as far away as you might have thought. I have gone from "developer" to "architect" over the first 15 years of my career and now I have moved onto what is clearly senior management, but I am part of a large organisation which means that I still am not that close to the top. I would be considered a CTO of a medium sized company though. I have full P&L responsibility for more than one area and am responsible for about 150 people and about £10 million in budget per annum, 1/2 of that being hardware/software. I have been doing the management role for about 2 years now and I can say, for me, I won't go back.

    I think my people, mostly, don't think of me as PHB. That is in part by remembering your roots, but more than not it is building up trust that you are going to lead them the right direction and having proper "adult" conversations about risks and issues. As others have said, micro-management, especially in the West, is horrible. You have to delegate and trust your team, no matter how tough that can be at times. Respecting their professionalism, much as you would have expected in their place, is necessary. Do not shy away from tough conversations though. It is much better to be up front about issues and direct than it is to avoid the subject hoping that it just will take care of itself. I have seen many "good" people turned into "bad" because there was a minor issue that festered until it wasn't recoverable anymore.

    As far as the Technology, ask a lot of questions. Having a good inbuilt "bullshit" detector is a must for effective Technology management. Don't know every detail, but know when people don't know what they are talking about.

    --
    D.O.U.O.S.V.A.V.V.M.
  30. Manager Tools by Orion · · Score: 1

    Http://www.manager-tools.com

    A life saver for me. Their very first podcast was on this exact topic (and, for that matter, every subsequent podcast). I can't recommend them highly enough.

    1. Re:Manager Tools by Surt · · Score: 1

      I somewhat duplicated your recommendation elsewhere, so I'll just say 'seconded' since neither of us seems to have been modded up yet.

      --
      "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
  31. be smart, be different, learn fast by X10 · · Score: 2

    I have done it, and it worked well. I've moved back also, which was a lot harder.

    Developers want a boss who understands them and who thinks like them. So don't lose your developer mindset. Keep your knowledge up to date by sitting with a developer frequently and go through their code. You know that as a developer, you'd appreciate an executive to look at your code an actually understand it. For you as an exec, it'll keep you up to date, to a certain extent.

    Trust the developers you work with. This only works if they're smart enough. Delegate stuff to developers. I've always found it extremely useful to have decisions made by the person or people who are knowledgeable about the subject. If you make decisions, talk to one or two people you trust, ask their opinion, challenge what they say, then take their advice. At the same time, if the advice turns out to be wrong, don't blame them. Once you've adopted their advice and opinion, it's yours, and you defend it to your boss. You make friends when people know that they gave you wrong advice and you took the blame. It will never happen again, I can promise you that. It won't get you fired, unless your boss is stupid, in which case you want to get fired.

    As an exec, you can get away with a lot, as long as you have your facts straight and you have an answer to every question. If you want to make a difference, be different. But then, you can only be different if you're strong enough to support it.

    Know your facts, but know other peoples facts also. You can't talk to a marketing exec or a finance exec if you don't know their jargon. Read a book on business finance, read one on marketing. Talk to execs and listen carefully. What they talk about today, you should be able to talk about tomorrow. At the same time, don't make them feel threatened, as if you want to come into their area. Always keep saying "It's my opinion that everyone should do what they're good at, and leave everything else to experts".

    Don't try to blend in to quickly. It doesn't hurt to dress a little different from the other execs. It's a sign to your team that you're still one of them.

    As others have suggested, find a mentor. Someone senior who you know well and who you trust, and who doesn't have a conflict of interest with you in your new job. I've had a mentor, a woman who has been my boss for a year or so, we became friends, and while she moved to the top, she remained available to me as a mentor. She's been a great support to me for a period of about ten years.

    --
    no, I don't have a sig
  32. Re:Steps: by jellomizer · · Score: 1

    Why do you say that.
    Normally the problem with executives is they do not know what is going on in modern technology. Getting some one who has been working with tech into this position is usually good news. Because they may be able to bring some of the changes the department was looking for.

    However you can't expect too much. As a tech goes into leadership he has to look at the organization differently. it is no Longer IT and your project is the only concern, there is a whole slew of concerns and actually most IT staff for the most part is self managing, and you need to make sure IT is playing the same game as everyone else.

    --
    If something is so important that you feel the need to post it on the internet... It probably isn't that important.
  33. Re:Dev to Exec by jellomizer · · Score: 3, Insightful

    What is wrong with dashboards?
    They are fun to program (Compared to the other CRUD that you normally need to do), Management are human too and do not have the time to analyse all the data so dashboards give them a quick view on what is going on.
    Now the smart managers will realize that these dashboards are mathematical models and you will still need to manage beyond that, some of those red spots are not so bad they are red for a reason, as well some of those in green may actually be more of an issue then the dashboard show.
    The stupid manager will live on the dashboard and see it as the truth and manage strictly off of it. That is where problems occurred.

    --
    If something is so important that you feel the need to post it on the internet... It probably isn't that important.
  34. Don't confuse being a manager with being... by Assmasher · · Score: 1

    ...an executive.

    Presumably you're being put in this position because you have at least some development experience that your compatriots in tech do not and the company thinks you also have leadership potential. Stop telling yourself you're an executive for one thing, you're a manager. In a few years, with a lot of luck and hard work (which includes stepping on the defenseless, the helpless, and the needy - usually) you may get to an executive position, but I doubt it.

    You're probably going to absolutely detest management (unless you were a crap developer) because you lose the ability to feel like you actually did something constructive every day; so, my advice to you - don't divorce yourself from the tech entirely. Take the management position, stay a part of the architectural discussions (presuming you have the expertise, if you don't take part in the discussion with your mouth closed), give yourself a development task - usually the best thing you can do for your team is whichever aspect of the system is the most boring or intimidating (again presuming you have the skills to do this), basically whichever aspect they want to do the least...

    90% of managers are crap because they don't treat the 'management' part of it like a job, they focus entirely on the reporting aspect of it (always looking upwards syndrome) where they are only worried about what their boss thinks of them as a manager - not their people. 5% of the remaining managers are crap because they develop an 'us versus them' philosophy where they cultivate a positive (at first) team spirit by making everyone else in the company the enemy and having the development team look out for each other. A great idea for about 2 months. The last 5% of managers are those who get the balance right, those who understand that companies have needs that sometimes outweigh the immediate happiness of its employees, and that employees have needs that sometimes outweigh the immediate happiness of companies.

    Being that last 5% of managers is hard, because the effort you make for those below you rarely translates into reward with those above you and the efforts you make for those above you carry no value with those below you. You simply need to accept this and do the work (which is a lot) necessary to be a good manager. It's a lot like software engineering - you either have a predilection for it or you do not. If you don't, you're going to be miserable and likely do a bad job of it.

    Oh, and there's not much you can do to prepare for it except try to be yourself (otherwise embrace misery.)

    Good luck.

    --
    Loading...
    1. Re:Don't confuse being a manager with being... by sempir · · Score: 1

      an executive. All advice above...and below is good, well mostly! One bit more won't hurt: Take your staff for a piss up at least twice a year. Drunks tell the most awesome truths you will ever hear, really in your face truths. Ignore them at your peril. You also hear some really funny shit!

      --
      A closed mouth gathers no foot.
  35. Lead, don't pull by sl4shd0rk · · Score: 3, Insightful

    1) Do the sh*tty TPS report work yourself. Don't hand it out.
    2) If the printer is a continuing problem, GET ONE THAT WORKS
    3) Never, under any circumstance, take the stapler away from the mumbly Aspergers guy

    (seriously...)

    4) Keep the department a fun place to work. Good employees work best when they enjoy the workplace.

    5) Don't dictate. Lead by example. It's really crappy to see the Manager leave at 5:30 on a Friday while everyone else toils on a late project. Even if you can't help, let everyone know you're willing and making yourself available wherever you can help.

    6) Taking everyone out for lunch once a is a great appreciation strategy. Even if it means bringing in doughnuts. People appreciate managers going above-and-beyond once in a while.

    --
    Join the Slashcott! Feb 10 thru Feb 17!
  36. Re:um..... by jellomizer · · Score: 1

    If you don't ask then you probably shouldn't be moving up.

    The Stereotypical PHB are usually from people who just talk their way up, without proving themselves and do political tricks to get themselves up, they don't care what it takes to be a good manager, they just want the power to control people.

    Most of the people who really fit the in PHB category are not MBA's or executives but Middle managers who act like they are.

    --
    If something is so important that you feel the need to post it on the internet... It probably isn't that important.
  37. be a shield by l3v1 · · Score: 3, Insightful

    From my experience, the most important things a good manager needs to do are
    - listen to everyone, and make (and I mean do make) the decisions, and not based on past friendships, but on the merits of the ideas,
    - after the decisions, try to shield your team from everything that is above and/or beyond their work, they shouldn't know or care about administrative and or managerial stuff, you should do everything to provide a good working environment for them,
    - to an extent, you have to forget you were a developer, don't try to solve everything and don't always try to come up with solutions and decisions before you listen to your team, because 1. after a while you're not qualified anymore to decide on every technical issue and 2. if you still do so, after a while nobody will even try to come up with ideas for solutions since they will see you don't listen and/or care, and you'll easily demotivate them.
    There would be some more minor points, but I think the above are some of the more important ones.

    --
    I am putting myself to the fullest possible use, which is all I can think that any conscious entity can ever hope to do.
    1. Re:be a shield by Lando · · Score: 1

      This appears to be good advise. From my own management standpoint I would make the following basis to work from as a manager:

      -- Listen to your team, but understand you make the final decision.
      -- Don't feel that you are more important than those working under you, they have a job to do, you have a job to do, that's pretty much it.
      -- Working with technical people, you're most effective by clearing hurdles for them. Help to make sure their health care is taken care of, that upper management comes to you with problems not directly to them. Minimize distractions for them. Etc. As a developer you need to be the interface between them and upper management
      -- Make sure you do a few team building exercises, know your people and know how they want to be treated. Some people want pizza every once in a while, some people like award ceremonies, by knowing your team you can make them happy and happy people tend to be productive people and less likely to quit when a new job comes along.
      -- Make sure you understand you are not technical anymore. Focus on the people not the technical details. If you get involved with the technical details you are likely to lose track of the people issues and if you lose track of those you will be in trouble.
      -- Try to develop goals for each of your employees and check with them throughout the year to see how they are doing, offer advice or assistance as needed rather than just meeting with them once a year.

      That's my best advice. While working as a technical person in corporate, most of my managers made half my income and performed far better when they considered themselves there to assist those working under them. The bad ones wanted respect because of their position rather than getting their position based on the respect they earned.

      Keep in mind, though I believe managers are working for two masters, the management above them and the workers below them, a manager still has to be firm in his/her policy, don't let the people working for you set policy. Take their advice but you must make the final decisions and be willing to back up those decisions when upper management comes down on you for missed goals.
       

      --
      /* TODO: Spawn child process, interest child in technology, have child write a new sig */
  38. Good luck by delphigreg · · Score: 5, Interesting
    Five years ago I was fed up with incompetent managers, silly requirements, unrealistic deadlines, and unending piles of bad decisions. I thought I could do better. This year I had enough and are doing the best I can so bring down the pointy hair.

    One key thing to understand is that right now you are great with technology, but management isn't about technology. It's about people. The people you manage, your peers and leaders in other areas of the organization. People can be a lot harder to figure out than technology.

    My advice is this.

    1. Read "Behind Closed Doors". Probably the best book I read as a new manager. Wish I had read it before I made the leap. http://www.amazon.com/Behind-Closed-Doors-Management-Programmers/dp/0976694026/ref=sr_1_3?s=books&ie=UTF8&qid=1324299173&sr=1-3

    2. The best part of my day was working with the techies I managed. Listen to them, make time for them, and stay as closed to what they are building as possible. But also remember you are their boss. You will have to force them to make bad technical choices to meet a deadline, and will have to ask them to work nights and weekends. Make sure it is mutual respect, but at the end of the day your word has to be final.

    3. Understand how the company makes money. Not just selling a product or service, but really learn this. Because at the end of the day, if a company doesn't make money it will cease to be. This is valuable to learn because the more you can translate how your team fits into the revenue stream, the better leverage you will have. For example, there are two ways to look at how a team "adds value". You will either directly participate in the revenue stream, being on a product team, e-commerce, etc. Or you will be involved with "cost avoidance", meaning the company is spending less because of your efforts. This can be either time savings or accuracy improvements. The later is not too hard to quantify. If you know how many hours are saved in a process you write, add up the salaries of those who did that process, subtracting the salaries of your team. For example, if you save 100 people an hour a day with your process, with each person making minimum wage ($7.25). There are an average of 260 work days per year. This translates into 100 * 260 * 7.25 = $185,000 in savings per year. If you have one full time employee supporting the app, at 80k per year, your application is saving the company ~ 100k per year. Now of course this does not include hardware, software, training, donut expenses. It's not intended to. It is intended to get people's attention, justify funding for your team, and facilitate you getting more in next year's budget.

    4. Keep good notes. You may become an Outlook operator in your new line of work. Be sure to keep important emails that record decisions. Send out your understanding of a meeting after the meeting to make sure everyone heard the same thing as you. Keep a notebook or tablet and take tons of notes in meetings. If you are in several meetings per day it can be very easy to forget who said what when. This can be important when decisions are questioned later on. Or if things go bad, accountability can be shared among the entire executive team and not focused as the new manager.

    5. Hire really good people. Know that interviews are about finding the right fit for a team as well as their technical abilities. If you do this right, the rest of your work-live is exponentially easier. Ask good questions, do quizes and tech screenings. Listen to the questions a candidate asks. But trust your gut instincts.

    Bottom line is remember to keep your sense of humor and humility. This can be one of the most challenging and rewarding things you will ever do, managing others. You are their boss, responsible for their work lives, and a major influencer of their personal lives and financial futures.

  39. prepare for challenges by argStyopa · · Score: 1

    While I understand that in US business, the only way to a greater salary is climbing the ladder and that means management, the Peter Principle is nowhere more evident than in managers that were programmers.

    First: you are moving from a programming environment where your 'product' is entirely the result of your work, to a management environment where your 'product' is other people's work, meaning an ENTIRELY different skill set. Think working with Waldoes would be challenging? Try accomplishing anything with waldoes that think for themselves, have fights with their spouses, and may or may not want to even be there.

    Second, unless your firm is particularly enlightened, plan to have to constantly defend your management style. I'm of the belief (I think Scott Adams first said it) that managing programmers is much more like Beekeeping than anything else. It involves encouraging people to work in the direction that you want without pushing so hard you harm their enthusiasm or creativity.

    --
    -Styopa
  40. Trust! by Blade · · Score: 1

    Trust.
    Delegation.
    Foster an environment in which people feel they can empower themselves.
    Trust.

    You don't get it from reading, you get it by thinking about the people who you liked working for the most, the organisations you felt most valued by.

  41. Read PeopleWare! by olau · · Score: 1

    If you haven't already, read Peopleware: Productive Projects and Teams which will teach you that, as a manager, the most important thing to you is your people and your respect of said people. The book is a must-read. Seriously.

    1. Re:Read PeopleWare! by wonderboss · · Score: 1

      This is the best advice in the comments.

      I can recommend other books, but start with this
      one.

      Another good book is "First, Break all the Rules" by
      Buckingham and Coffman.

      My personal word of advice: It is better to be
      uncooperative than to be a failure.

      --
      more cowbell
  42. Get to know the business by JaredOfEuropa · · Score: 1

    As the one responsible for your company's tech strategy, you need to understand your company's business. That's most likely a major change of focus. You'll also have to change how you keep up with the tech side of things, have a broad understanding of the technology out there, and try to understand what changes you can expect in the next few years ahead:

    - Depending on your company's size/type, a mini-MBA may be useful. (take a formal course program, certain specific courses, or self-study). The goal is not to get a shiny title, and many (myself included) will argue that an MBA is a poor way of learning how a business should be run, but understanding how the business is run will greatly help you understand how IT can contribute to that. Knowing something about business administration comes in handy.

    - Find a mentor amongst your fellow managers. Not someone who'll just vaguely promise to "yeah, I'll help you", but someone who can commit to actually spending time helping you when things get rough or when you need advice, and above all someone whom you can trust. It may be hard finding one, but if you can find a trustworthy, competent manager to coach you, he'll be worth his wweight in gold to you.

    - Understand who your stakeholders are and where they sit in the organisation. Don't assume they'll come to you when they need you, and certainly don't assume anything about their needs and issues. Engage with the business on a regular basis.

    - Your tech focus will probably shift from a limited set of products, skills, and technologies that were part of your day-to-day, to a broader but much less in-depth scope. Some of the publications that us techies like to laugh about like CIO magazine or Gardner reports can actually be very useful for understanding the broad tech landscape of today and the near future, and understand the trends. Don't base your decisions on those publications, though, and learn to separate news, opinions, sales talk, and bullshit. Use this info to find out what stuff is or may become relevant for your organisation, and then investigate further together with your team and come up with a strategy.

    --
    If construction was anything like programming, an incorrectly fitted lock would bring down the entire building...
  43. Being Geek by b3njam1n · · Score: 1

    I highly recommend Being Geek by Michael Lopp. He went through a similar transition and has some very good insight and practices to follow for effective leadership. A lot of it comes from the low-level programmer perspective, but he talks a lot as well about managing developers.

    --
    Nothing is really work unless you'd rather be doing something else. -James Barrie
  44. The Best Advice I Can Give by Phoenix666 · · Score: 2
    I made this transition ten years ago. It hasn't been a smooth ride. The skills you need to be an effective manager are human ones, not technical. The goal is to build a great team, work with them to define the technical objective, put your stamp on that, and then do what you can to help them work effectively with each other and run interference for them with the rest of the organization.

    There are so many politics involved with that; I guarantee you no one in sales, marketing, HR, finance, or anything else gives a crap about any technical goal or about what's best for the company or any of that sort of thing. They only know ego and the size of their Christmas bonus. So you have to deal with them strictly on that basis. But that's an entirely different discussion tangential to what you were asking.

    As far as motivating your team, the best summation of how to approach it that I've ever seen is this video.

    The second and last gotcha to be on guard for with the transition you're making is to embrace the exercise of your own authority. Human groups need authority to function well. It's how we're wired (unfortunately). You have to get over your natural reluctance as a programmer to exercise it. If you don't make firm decisions and stick to your guns, the team will begin to unravel. Some members may start to undermine you, and that will make it impossible for the team to accomplish its goals, to everyone's detriment. It's very difficult to make this psychological shift and you may experience a lot of feelings of guilt and self-doubt and it can really tear you down if you don't deal with it well. You might want to have a occupational therapist or somebody like that on hand to counsel you as you go through it. Otherwise you won't make it or you'll go full evil in reaction when the programmers stop doing their jobs.

    Good luck!

    --
    Do what you can, with what you have, where you are.
  45. Re:Skills and or methodoligies to learn by TooTechy · · Score: 1

    There have been many interesting posts throughout this stream, but no-one has as yet mentioned requirements analysis. Yes, you could say that you have engineers to perform this task, but perhaps you need to analyse from a different perspective, that of the business perspective.

    So learn to ask "Why?" a lot and find the real objectives for a task. If you know the reasons, then you can prevent frustration in the ranks. So take a requirements analysis course.

    So now you need to know.

    What do you want us to do?
    What is the issue?
    What is the objective which the issue is preventing us from reaching?

    And - How much will you spend?

  46. Not so different. by sgt+scrub · · Score: 1

    different skills, and different orientation Learning to make a "O" shape with your mouth, I hear, is pretty difficult; but, I think you can do it. As for orientation, I'd say it is pretty much the same except you will be able to afford better knee pads.

    In all seriousness, your going to find that it is tradition to hate on you for being the boss no matter how nice you are; and your job as far as your boss is concerned, is to get shit done for as little as possible. Don't take anything personal from below and don't take anything too seriously from above. The successful boss keeps his/her crew under payed, out of the loop, and working hard enough they fall into that 1 degree above the boss screwing the crew completely. If you don't already know, that 1 degree is a percentage above what a normal crew produces in a normal situation.

    --
    Having to work for a living is the root of all evil.
  47. Why? by JustNiz · · Score: 1

    Don't think of it as a promotion. its not. As the OP identified, its a totally different skillset, therefore a totally different job.

    Don't be surprised if you're used to being a great developer, and therefore well-regarded, but find out you suck at being a manager, so start losing credibility fast.

    Money aside, I never understood why some developers want to become managers. Did you not choose to be a developer because thats what you like and want to do?

  48. Re:Micromanage or you will be disappointed by somersault · · Score: 1

    It wasn't that TeX wasn't usable before then, just that it took that long for the language to be "frozen". Many products are shipped quite quickly with a poor feature set and added to incrementally, as you point out.

    If you're constantly lighting a fire under people's now busted asses, you're not going to retain much of your staff or have a working environment that people enjoy. You'll end up being renowned as a shitty place to work (Apple sounds like one of those places to me), and so you'll only get shitty developers. If you create the right working environment, people will be busting their asses getting things churned out just because they're enjoying their job so much, or as a matter of professional pride.

    If Facebook, Twitter and Groupon are your ideas of good software.. sigh. Aside from the problems of scale, which have been solved and have open source solutions available, those sites are technically quite simple (as in, easy to replicate). It isn't technical achievement that makes these multi-billion dollar companies. It's marketing, publicity and luck.

    --
    which is totally what she said
  49. Here are the 3 "R"s by tomhudson · · Score: 3, Funny

    Step 1: Report to surgery to have 50% of your brain removed (half the time they'll manage to get the part that governs common sense and ethics and you won't be handicapped in your new roll by that thing called a "conscience").

    Step 2: Repeat "Knowing how to do the job isn't important - that's what we hire and fire people for" until you believe everyone under you is as replaceable as you are irreplacable.

    Step 3: Register for every ridiculous vendor hand-out, symposium, or whatever. Vendors are your new friends. The more business you can hand them, the bigger YOUR empire becomes, and the more new-found allies you have.

    The bonus:

    Step 4: Remember all those jokes you made about incompetent management, because it'll make it easier for you to pry the keyboards from your former co-workers dead bodies when you realize that they're now saying the same thing about you.

  50. First things first by dzfoo · · Score: 1

    The first thing I'd recommend is not to ask for executive advice from the Slashdot crowd.

    Jeez, how'd you ever get promoted?

                  -dZ.

    --
    Carol vs. Ghost
    ...Can you save Christmas?
  51. Wisdom Management cliches by nine-times · · Score: 2

    If you want to avoid being the PHB, then don't read a bunch of management books or go to management seminars or get your MBA. Avoid taking a lot of the advice that you'll be given.

    Really, it can be helpful to read about management, but the main source of PHBs is that it's some guy who has been thrown into management without being comfortable with it, and his response is to latch on to whatever random management self-help book he read. He reads something about how to motivate people or how to manage an IT department, and instead of thinking critically and applying his own experiences, he follows the quick-fix methods that he read about.

    There's plenty to learn and plenty to study, but use your head. There's no metric to replace knowing the people you're managing. There's no procedure to replace good judgement. There's no magical workflow that replaces knuckling down and doing your job.

  52. Re:Micromanage or you will be disappointed by radtea · · Score: 2, Interesting

    It's not necessarily that those coders suck, it's more that it's impossible to estimate the time to do some non-trivial new task, because there may or may not be hidden depths.

    Almost completely false. Estimation is just not that hard in almost all cases, yet bring it up and people will focus on the 1% of cases that are genuinely hard rather as if that was the usual case rather than the rare exception.

    Go read "Rapid Development" again for some simple and effective estimation practices. Invest in the discipline of reviewing your own work and look for objective metrics. During one phase of my career I was able to identify that creating a single fully documented and tested core model class in C++ took about a week. Based on that I could look at a UML diagram and give a pretty reasonable estimate of the time it would take to implement something. If you aren't designing or otherwise scoping features you're not in a position to make any claims about estimation anyway, because you have made no attempt to do even the most basic steps required to generate estimates.

    This demonstrably false belief that "estimation is hard in the typical case" is just an excuse people use to avoid learning a new and valuable skill. That said, being able to estimate at all makes you the one-eyed person in the kingdom of the blind, which can be pretty damned uncomfortable, as well as frustrating.

    --
    Blasphemy is a human right. Blasphemophobia kills.
  53. It's no longer just about you by gnikhog · · Score: 1

    As a manger or group leader, you are only as good (or successful) as your group. Take responsibility for your group’s successes as well as failures. 1. Learn how to listen 2. Use ‘we’ not ‘I’ 3. Learn how to communicate to a wide range of audiences (technical, business, management). Make sure your group see’s the bigger picture and understands their importance. Be prepared to answer the question “Why?” 4. Set both realistic and stretch goals 5. Value differences and skill levels 6. Learn to motivate and reprimand effectively 7. Learn about SWOT analysis and how you might use it to your group (or projects for that matter)

  54. The Leadership Pipeline by ZipK · · Score: 1

    One of the first things you have to realize is that you're making a transition out of your comfort zone, and that some of your strong suits as a developer (and certainly many of the tasks and initiatives) with which you've been successful need to be left behind. Take a look at The Leadership Pipeline for some ideas on the changes you may need to make.

  55. Needs to understand the overall organization by perpenso · · Score: 3, Interesting

    Most "good" managers I've met are not good because of skills or training, but from simply being personable, intelligent, and able to solve problems (real world problems, generally very different from the types of problems programmers face). It takes a minimal amount of training to get a good manager, as long as you start with the right person, who possesses those innate abilities.

    As someone who recently graduated from business school I have to disagree with respect to "minimal amount of training". The more formal training the better. Especially since the poster seems to indicate an executive angle not just tech management. The MBA stuff would really help out since it offers a good overall understanding of all the pieces of an organization. Business school and MBAs are not what most around here think, I was just as guilty. One of the things that made business school lots of fun for me was seeing just how ignorant and biased I had been with respect to management, marketing, etc.

    1. Re:Needs to understand the overall organization by s73v3r · · Score: 1

      No. The more formal the training, the more likely the person is to do something unbelievably short sighted and stupid for short term gains.

    2. Re:Needs to understand the overall organization by perpenso · · Score: 1

      No. The more formal the training, the more likely the person is to do something unbelievably short sighted and stupid for short term gains.

      That is precisely the sort of ignorant and biased statement that I would have made prior to going to business school. Business school actually teaches you to avoid such traps and to stay away from potential partners who are doing as you describe.

    3. Re:Needs to understand the overall organization by tachin1 · · Score: 1

      I'm not picking on you, okay? but I've found that some people really get a lot out of school, but some other people just go to confirm what they already suspect to be true, I guess this is what was meant by starting with the right person. someone who has a certain set of life skills, learned any which way. I guess this is what you meant by saying "I was just as guilty. One of the things that made business school lots of fun for me was seeing just how ignorant and biased I had been with respect to management, marketing, etc." You learned this in school, other people learn this in other ways.

      --
      I'm always right, except when i'm not.
    4. Re:Needs to understand the overall organization by perpenso · · Score: 1

      You learned this in school, other people learn this in other ways.

      The problem with being self taught is that there are often gaps in knowledge compared to those who went to the university. I've seen this in computer science and business. Some topics required in a formal program are just not that interesting, yet there are often useful things to be found in that topic. Very few people will read textbooks on their own, more so for the less interesting topics. Its more common for folks to read pop business books from the local brick and mortar and that is not quite the same.

      Plus in business school a lot of what you learn is part of a team effort with members of very different backgrounds (line managers, engineers, accountants, etc.). Given that the original poster specifically mentioned executive level duties learning how to work outside of your original field as part of a diverse team seems particularly relevant, not something you can do very well on your own. Your are going to screw up and get things wrong while you learn, better to do that in school than on your real job.

      That said I'm all for learning things on your own, I think doing so is almost always required. I just think doing so supplements, not necessarily replaces, the university stuff.

    5. Re:Needs to understand the overall organization by Surt · · Score: 1

      So is the problem that the people going into b school are stupid, or is it the teachers who are incompetent? Because that's definitely not what's coming out.

      --
      "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
    6. Re:Needs to understand the overall organization by perpenso · · Score: 1

      So is the problem that the people going into b school are stupid, or is it the teachers who are incompetent? Because that's definitely not what's coming out.

      Business school is like any other educational program. You can teach people how to do things correctly, or at least reasonably, but they don't always do as they were trained. The same things happens in computer science. We are taught good methods and practices in order to write robust and reliable software but some graduates don't put those lessons into practice.

  56. Re:Micromanage or you will be disappointed by Anonymous Coward · · Score: 1

    The thing I'm most often asked to estimate isn't new features though. I can estimate new features fairly well because I have an idea of what I want to accomplish and how it might be done. I can pad a little for unforseen difficulties and get it pretty close. The thing that I find impossible to ballpark is bugfixes. If it's not just trivial: oh, X is wrong here, change it and we're done, it can often be a huge process to figure out why something is going wrong, track it to the source, make a fairly important change to the code, and then a decent amount of testing to make sure it doesn't break other things. Something that looked easy can take days to track down and properly fix.

  57. Read 'Rapid Development' by Steve McConnell by Eyeballs · · Score: 1

    Read 'Rapid Development: Taming Wild Software Schedules' by Steve McConnell:
    http://www.stevemcconnell.com/rd.htm

    I would _start_ with reading chapters 3 ("Classic Mistakes") & 11 ("Motivation")

    Also, read these other books by Steve McConnell.
        "Software Estimation: Demystifying the Black Art." A comprehensive set of tips and heuristics that software developers, technical leads, and project managers can apply to create more accurate estimates.

        "Code Complete 2. A practical handbook of software-construction practices." Updated for web development, object-oriented development, agile practices, and other modern construction issues.

  58. Take credit by grikdog · · Score: 1

    Read your Machiavelli. Read Sun Tsu. Whatever works. Clown suits work (see Miyazaki).

    --
    ``Tension, apprehension & dissension have begun!'' - Duffy Wyg&, in Alfred Bester's _The Demolished Man_
  59. Welcome by confused+one · · Score: 1

    By making this decision you have chosen the dark side. A side effect is that your hair will immediately start to stand on end, resulting in pointy clusters. Good luck.

  60. Get an MBA by kayubi · · Score: 1

    There arent enough engineers with MBA degrees. It might be hard to believe, but you do learn things in majors other than engineering. Plus it will help you in the long term.

  61. despise managers and companies, but work? by h00manist · · Score: 1

    Lots of derogatory remarks towards managers. Not so easy to be in a position of orienting others be it for educating, leading, organizing, inspiring, managing or whatever else. I myself despise jobs coporations and management -do all kinds of things but never accept jobs anymore. But if you want to do anything bigger, you need more people, and you need organization. Whatever you do, whether it is open source coding, protesting, having a big party, or a small company, you will have people, jobs, money, decisions, time, deadlines, projections, taking risks, evaluating, persisting...

    In fact I think a lot of things, democracy, neighborhoods, families, small businesses, open source projects, don't move along better just because the population has no training in how to work together. Even though lots of people work their ass off, there is no coordination, so everyone is pushing in opposite directions.

    Of you really want to learn about managing people and projects, join a bunch of grassroots and other small projects where everyone is basically doing and saying what they want.

    --
    Build your own energy sources from scratch. http://otherpower.com/
    1. Re:despise managers and companies, but work? by Surt · · Score: 1

      I think the derogatory remarks are aimed at managers as opposed to management. I think most people see two things:
      1) Management is, for better or worse, a necessity for a large organization.
      2) Individual actual managers are far, far too often in that 'or worse' category.

      The fact that nearly everyone has had an unfortunate experience with a manager is a testament to the difficulty of doing that job well. If you're headed in that direction, don't take it lightly. Study up, learn how not to be part of the problem.

      --
      "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
  62. Treat them like day laborers by jjohnson · · Score: 1

    Seriously, treat them as you would treat day laborers if you picked them up in the morning to work on your yard: Give them clear instructions about what's expected, give them clear feedback (good and bad) about how they're carrying out your instructions, and stay out of their way if they're doing what you want them to.

    A lot of bullshit has cropped up around management techniques, especially among geeks, and it's cruft that needs to be cleared away. Devs are like everyone else: They want to know what they're supposed to do, if they're doing it how you want it done, and to be left alone to do it. If you get that part of the work relationship right, the rest is window dressing.

    --
    Anyone who loves or hates any language, platform, or manufacturer, doesn't know what they're talking about.
  63. Re:Micromanage or you will be disappointed by tompaulco · · Score: 2

    Example, say Manager asks Developer how long he will take to do XYZ. Developer says 5 days. Manager tells Developer to do XYZ. But then Manager asks Developer to do PQR as well. Meanwhile Manager is asked to attend a few meetings, Manager drags Developer (and team) in for those meetings too. And the Manager _still_ expects XYZ in 5 days.
    This is why I give my estimates on development time, not elapsed time. In Mid November, I was asked how long a project would take. I said 6 weeks of development. Now, 5 weeks later, there are about 4 weeks of development left, because in the mean time we have moved offices, dragged me off to look at network issues, and a hundred other things that resulted in me only getting to spend two weeks of development on the project during the last 5 weeks. Since it is not possible to anticipate how much of your actual time you are going to be allowed to spend doing your job, development time is the only estimate you can really give.

    --
    If you are not allowed to question your government then the government has answered your question.
  64. Learn to stay out. by Slime-dogg · · Score: 1

    One major thing that you'll have to get accustomed to is being hands off with the technical implementation. Set your expectation of what needs to happen, bring your team about to help make decisions on what direction you want to go in, but when it comes to putting word into form... stay away. It's far too easy for past developers to turn into micro-managers at the implementation level, which will definitely cause issues for your team going forward.

    On the plus side, you have a much greater foundation with which to make value judgments of how well your team is performing. You should be able to staff a great team, given what you know about the technical end of things. The worst of the worst, when it comes to managers, are the ones who allow themselves to trust anyone with anything... and end up getting hoodwinked by the vocal incompetent.

    --
    You need to restart your computer. Hold down the Power button for several seconds or press the Restart button.
  65. Re:Micromanage or you will be disappointed by spads · · Score: 1

    Wish I had some "+" mod points to give - excellent!!

    --
    Bukowski said it. I believe it. That settles it.
  66. Re:Micromanage or you will be disappointed by jjohnson · · Score: 1

    You're actually not far off.

    It's not micromanaging that's needed, which is to say that it's not useful to be continually drilling down to the smallest level of detail with your employees. This annoys employees and wastes your time.

    What is needed is to be constantly keeping yourself and your team members focussed on the desired result, and you get that by continually checking on them and saying "How are you doing? Anything in your way? How's your estimate look?" This is also annoying, but can be made less so by making it routine, like a morning scrum. This is an opportunity for team members to let you know about problems, thus keeping you informed and keeping small problems from becoming big ones; it also makes communicating about status the norm rather than the exception.

    --
    Anyone who loves or hates any language, platform, or manufacturer, doesn't know what they're talking about.
  67. Re:Micromanage or you will be disappointed by Surt · · Score: 1

    This is why even the most minimally competent project managers record fine grained estimates and actual velocity, so that they can uncover how many days work (often called points) per week their team can actually deliver. Then delivery estimates are based on the estimated points total divided by the actual points delivered per week, yielding an estimated number of weeks to completion.

    Slightly better managers know that you don't trust your estimate until you have at least a quarter-year of history, and still pad the estimate to account for surprises.

    In the next step up, those managers are properly setting expectations, and moving the client base towards the agile model where you have what is delivered, and if you want something else you rank the priority so you get it as soon as possible, etc.

    --
    "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
  68. Completely seperate? by bigsexyjoe · · Score: 1

    "Unfortunately for all parties involved, software engineering and management are two completely separate skills"

    So the correlation between being a good manager and a good software engineer is 0? I would guess that they are both correlated to general intelligence. Likewise I would guess managing software engineers has some correlation to understanding what they do, what your company's code-base looks like, and what your company does. (Likewise I would put a medical professional in charge of a hospital. Surgeons rarely even want to be administrators, but many hospitals give those jobs to nurses and are happy with the results..)

    So based on that, I would think the good software engineers of your company is a good pool to try to select good managers from. (Just as best sales people, best accounts are good pools to look at) Now, that doesn't always mean make the best engineer the manager. You should look at other things, such as ability to handle many things at once, ability to work with others, etc.

    You say a great managers ignore the politics. But a great careerist most certainly does not ignore those things. I have observed that a great engineer is more likely to look past the politics and focus on goals and rational resource deployment. And a great salesperson is more likely simply sell themselves, meaning that they will focus politics.

    1. Re:Completely seperate? by marnues · · Score: 1

      I think you missed the point about politics. A great manager doesn't ignore politics, they work with and around them. A good engineer generally creates politics. We don't have to, but we're also not usually very good at smoothing over responses or giving in to business demands. We're not good at setting other's expectations nor making other people work for us. These are all skills good management needs and most engineers disdain. It took me several years to realize that being straight-forward is not a useful skill when dealing with other departments. I'm still learning how to be both honest and reserved in my approach with business people and incompetent co-workers.

  69. First, the good news. by anyGould · · Score: 1

    You recognize that you're not infallible and that you don't know everything - this is 80% of the battle of being a Good Boss.

    I'll skip the "read this book" stuff, and go straight to the obvious points.

    1. The best job description I have ever seen for management (at any level) is "shit deflector". Your job is to make sure your people can do their jobs - which usually means getting between them and all the incoming stupidity. Make sure you have time in your schedule for this - it's easily the most important thing you do.
    2. You won't know the nuts and bolts of what's going on anymore. That means you need two things - staff that *do* know what's going on (and that can explain the revelant points to you as needed), and a good BS detector (to know when your staff is trying to pull a fast one on you).
    3. If you're hiring and firing, sit down and decide the team culture you want, and start hiring towards that culture. Assuming you stick around long enough, you can at least make your corner of the office worth working in. (In PHB terms, it reduces turnover and increases staff satisfaction. Really, it just means "build the office you want to work in".)
    4. Trust is everything. If your staff trusts you not to throw them under the boss or shoot them for being the messenger, then you'll know what's going on, and they'll go the extra mile for you. If they don't, they can screw you over and you'll never know.
    5. Remember those awesome things that one boss did that made working for them great? Do that stuff. And remember that total DB who made your life a living hell? Don't do that stuff.
    6. Finally - if you only do one thing right, do this one: give a damn. You know when your boss actually cares about your situation (even if they can't do anything about it), and when they're just blowing you off so they can get to their tee time.
  70. Avoid your technical comfort zone by mjpvirtual · · Score: 1

    The hardest part of the transition from individual contributor to manager is to avoid falling back into your comfort zone. Managers primary must solve people problems: motivation, communication, cooperation, team dynamics. New managers are often unfamiliar or inexperienced with these types of problems. When faced with people problems and technical problems, the tendency is to address the technical ones first. This provides them with the sense they're making a contribution. But your job as a manager isn't to solve technical problems. Your job is to build a team that can do this. Letting go of those tasks which are your core compentency is very hard and many fail to make the transition.

  71. Had to undergo the same transition... by w4rl5ck · · Score: 1

    ... for roughly 18 months now, and quite successful at least in the aspect that people working for me kept telling that they are quite happy with how I do things compared to what was before I took over. So far, so good. I'm still not dead. ;)

    Main lessons I learned:

    * Learn to delegate. Fast. Don't ever ever do things yourself (speaking about solving tech issues). If you have worked with the same people before, they will frown at you for not "working" anymore for roughly 3-6 months. Ignore it. Justify it. If you are good at keeping their backs free, they will see why you do it. Reason: if you do things yourself (meaning: tech solutions), you will have to fix them. Everybody will play the "he did that" game, and you will drown. Even if you want to support the guys, help out... don't. As much as possible.

    * Be rightful, honest, truthful. Never hide your own mistakes or gains from anybody. People will see, and learn to be truthful to you - because of respect, as opposed to be afraid. You need to know what's going on in your team, so this is a key part!

    In other words: be the *good* guy. In every respect. Taking blame, and hand down compliments as well as negative stuff.

    That will lead to people standing behind you when things get ugly, and they WILL get ugly at some point, because you are responsible for whatever goes wrong. Things have a tendency to go wrong.

    * Trust is earned, not given away. You need to earn the trust of your guys as well as the big hats!

    * And while taking about it, possibly the worse part, which is dealing with bosses: basically, the same rules apply. Be rightful, truthful, and try to justify things on reasoning, not emotions. Try to think FOR your people, not against them. Never blame something on a person. It's your fault for not forseeing this could happen. Keep in mind that you will suffer when your people loose faith, because you can't deliver without them. Watch out for structural issues in the company that will keep you from delivering; say, you don't have a QA department at hand or miss critical infrastructure. There goes your capability to deliver. It's about keeping those things in mind.

    * Development methods don't matter. Structure does. Wrap your team around your issues, not vise versa.

    * Oh, and I always wear heavy motorcycle boots, just in case somebody needs some kicking.

  72. Best Advice I Ever Received by drGreg · · Score: 1

    I made the shift from technical worked to management almost 15 years ago. I didn't want to make the move, I enjoyed the technology and keeping things running smoothly, optimizing not only code but processes. My manager and I had a series of discussions around this as she was inviting me to the "dark side". What opened my eyes and helped me find the challenge was when she pointed out that people, like machines, have optimal configurations and they differ for each system. What motivates an individual, what is their capacity at a given time, what external influences are operating on them, what is broken or in need of being upgraded? Once I understood that I could apply what I enjoyed about technology to people, I was interested in making the move. That said, you have to commit to it. You need to learn about yourself and what kind of person you are. What are your strengths and weaknesses and how do you compensate for them. Myers/Briggs and all those personality tests can help. Just like you know a technology or programming environment inside and out, you have to make the same commitment to learning the people environment. And it has little to do with being social. You have to learn about the different types of leadership and how/when to apply them in various situations. You have to learn about understanding what motivates people/groups and how to motivate them. You have to learn how people (and personality types) relate to each other and how to build a diverse team. You have to learn how to lead from behind, but also to be there to take the bullet for your team - they get the credit, you take the blame.

    If you don't want to do your part to become the best leader you can, then don't make the move. You'll be giving up your technical skills and if you're doing this right, you'll keep just enough information to be a check/balance against your team. As you move up the ladder, you'll be exposed to different groups and you need to understand how they work and what their needs/motivations are - development, operations, networking, security, etc.

    Find a manager you want to be like and ask them to mentor you while you're learning.

    This will seem odd - but the Boy Scouts of America offer leader training for their volunteers. You'll have to get cursorily involved in Scouting to participate. One is called Woodbadge and to take it you need to complete some initial training (Scoutmaster Leader Training, Intro to Outdoor Leader skills). These classes are usually available locally. There is also a training center located in Philmont (north eastern New Mexico) that offers training on the national level. I have attended several management training classes through the different companies I have worked for, some costing thousands of dollars, as well as the scout leader training and it is definitely comparable and in some ways better. Helping a teenager learn to manage his peers and watching their struggles has taught me a lot about managing and directing a team of "professionals".

  73. some tips by ninjagin · · Score: 1
    A few of these have already been said ...
    1. - Delegate and get used to it. Get your team used to doing what you tell them to do.
    2. - If you're managing people you used to work with as a peer, realize that the relationship has changed. You are not their friend. You are their boss. This doesn't mean that you can't be nice or understanding, but it does mean that you can't let anyone on your team get away with poor performance or bad behavior because they're "a friend".
    3. - Resist the temptation to jump in and help out with things. If you assign work to someone, do not jump in and try to help with it. You need to demonstrate that you trust the people that work for you to do the job you give them.
    4. - You will be having a lot of confidential conversations. Get used to that. There will be many things that you will know and cannot share: either with your team or with your peers. Management can be very much like poker. You can win big by just keeping your mouth shut.
    5. - One of the most powerful skills you can develop as a manager is not delegation or being a spreadsheet whiz or learning six sigma or anything like that. Relationship management is the skill, and it can be learned. Frequent, regular and frank contact with any peer that you rely on as a provider or customer will help you develop it.
    6. - Be a shield for your people. Help cut through the BS for them and defend them (as appropriate) when they're getting picked on by other groups or their dopey managers.
    --
    .. pa-ra-bo-la, pa-ra-bo-la, 2 pi R, 2 pi R, where's your latus rectum, where's your latus rectum, 2 pi R
  74. Vain hope... by sylvandb · · Score: 1

    Avoid pointy hair? LOL, ain't no way! You're already 1/2 there...

    No matter what, as the boss you are going to be the bad guy at least once in a while.

    No matter what, you are going to be less familiar with the technical details of the work being done and the issues involved than the guys in the trenches.

    With that said, you can avoid the worst behaviors of the PHB. With your technical background, if you keep it up, you will be able to know which developers are BS'ing you and which give advice and information you can trust. Cultivate those whom you can trust and respect their judgment. Using your own knowledge and what you learn from your team, represent your team to your superiors and peers and protect your team from the political turmoil as much as possible.

    Good luck.

  75. My advice for leadership transition by Jim+Hall · · Score: 2

    I started my career as a systems administrator / systems programmer on Unix systems. Over the last 20 years, I went from a "hands on" role to a leadership role. I'm now the "CIO" of a small university (we don't have the title "CIO" at this campus, but that's basically my job.) Some of those transitions to a larger role were easy, others were more difficult.

    I strongly recommend you read the essay "Taking on a new role" (PDF) from MOR Associates. In short, the essay gives this advice:

    1. Share broad themes early: what general areas do you plan to address, what are your goals for the team, where are you headed?

    2. Read the landscape: what does the culture of the organization look like, not just in the team you work with, but at the leadership level.

    3. Build relationships: people who can help you in your new role, mentors, coaches.

    4. Create a "SWOT" profile with your team, to understand the Strengths, Weaknesses, Opportunities, and Threats.

    5. Assess the talent needed to get the job done: do you have the right people, and are the right people doing the right things?

    6. Understand your financial situation: this is often the most-overlooked by new leaders.

    7. Sketch out your priorities for the first 3-12 months: in particular, keep track of what you need to get done in your first 100 days.

    I like do to the SWOT profile (see #4) without actually using the terms "Strengths, Weaknesses, Opportunities, and Threats." I find it's easier to start with a "plus/delta" profile. If you haven't done that before: Draw a vertical line on the whiteboard. On the left, label it "plus"; on the right, "delta". Draw a horizontal line across this, making 4 quadrants. Above the horizontal line, label it "now"; below the line, "future".

    Now you're ready for your team to identify what's working well (plus) right now, and what's going to be a benefit to them after another 6-12 months. They can also help you identify what needs to be addressed/fixed/changed/improved (delta) right now, and what can wait for another 6-12 months. Congratulations, you've built a SWOT profile:

    • S = plus, now
    • W = delta, now
    • O = plus, future
    • T = delta, future

    I find the SWOT helps me to identify the key issues to focus on. What you must do is identify a plan to address the right-hand column (deltas) that leverages what you have on the left (plusses). Your team is critical to help fill out the SWOT, and the great thing about this exercise is that it helps the team to identify with you on your new level. But while your team helps you with the SWOT, you must build your own strategy to respond to it; that's your job as a new leader.

    If you're having trouble picking out your top priorities (see #7) you may also consider doing an "affinity" exercise with your team. You can do this in different ways, but here's what I find works best for my team:

    1. Give each team member a stack of Post-It notes, maybe 5 or 6 each. Have them write down what they think are the top priorities - but only one item per Post-It note. Not everyone can fill out 5 or 6 Post-It notes, and that's ok.
    2. When everyone has their notes, talk about them in front of the group. See if any overlap (or are the same) as someone else's note. Combine any that seem to match up.
    3. Then, pass them around the table. Each person at the table gives an independent score (0-10) for how important they think that item is to the team or organization. You aren't ranking them in a list, you're just giving them an independent score. Everyone gives their own score, and passes the note to the next person around the table.
    4. When every Post-It has been scored by everyone at the table (i.e. when a person gets their own Post-Its back) add up the scores for a total for each note.

    You can now identify (by score) what are your top priorities. Maybe you have 5 or 6 "top" priorities. Or maybe you only have 4 top priorities, and there's a big gap (in score) between #4 and #5.

  76. What I wish I had known by localman · · Score: 1

    I made this transition myself around 2001 and more-or-less successfully managed a team until 2007. It was a great experience, and the right move for me (and IMO for the company). While there's a lot of challenges you'll have to work through, there's only one major thing I look back on that I regret:

    I wish I had spent more of my time selling and promoting my team's work to the rest of the company.

    I had a great team of people and we accomplished a lot of amazing things. We mostly built internal tools for employees to run the company with high efficiency. I thought that our contributions would be automatically appreciated. I also thought my time was best spent in the trenches with my people getting the maximum amount of stuff done. Looking back, I think I was wrong on both counts.

    The people making decisions in the company didn't interact with us that much directly, nor did they interact that much with the people who were benefitting from our work. So it wasn't clear to them how much value we were bringing. That ended up leading them to undervalue our contribution when they planned things, and undermined respect for my team. My team and the whole company would have been better served if I had periodically set aside time to present to the various department managers and the board exactly how what we were doing drove the company and each department forward.

    To summarize: perception can trump reality. Developers tend to focus on the latter. Tools tend to focus on the former. A great manager delivers on both.

    Cheers, and good luck!

  77. Lean back while you're urinating by GodfatherofSoul · · Score: 1

    You'll need to practice increasing your range to piss on more people beneath you.

    --
    I swear to God...I swear to God! That is NOT how you treat your human!
  78. before you start, consider by v1z · · Score: 1
  79. Re:Micromanage or you will be disappointed by mbrod · · Score: 1

    Get the developers estimate of the time it will take, then double it. Unless they are a contractor, then you need to try and cut it in half.

  80. Re:Micromanage or you will be disappointed by RingDev · · Score: 3, Insightful

    This is actually pretty common and any manager worth his spit aught to be able to tell the difference between "Effort" and "Duration" estimates and should have a rough idea of what percent of your time is targeted at the project.

    For example, if you said it would take you 240 hours to complete the project (effort), and I know that you're only going to be able to put about 50% of your time towards the project, that the total duration is likly going to be around 12 weeks.

    If I really need that project done in 8 weeks, it means I've got to find ways to get 50% of your non-project time removed from your plate. If that means getting someone else on the team to look at the network issue or finding ways to mitigate the impact of the move on you, so be it, but I, as a manager, need to find a way to get you up to 75% of your time as project time.

    This is actually pretty challenging. By default, under best circumstances, assume that any average employee is only going to have 90% of their time available. The other 10% goes to checking email, answering phone calls, bathroom breaks, etc... Typically, I like to estimate 80%, especially for people who have to bounce between projects or are on user-centric projects as there will inevidibly be delays and thrashing.

    Even with that 80%, you're going to lose some portion of it to meetings. Heck, most folks have atleast 2 hours of meetings a week for status updates, tech reviews, performance evals, planning, etc... Each two hours of meetings is another 6 1/4% off that 80% number.

    So as another Sr Dev/Jr Manager individual, I'd say keep making sure that your manager is aware that your estimates are for Effort, not duration, and make sure he/she is knoledgable about your schedule and other responsibilities.

    -Rick

    --
    "Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs
  81. Re: go to Manager Tools by Anne+Thwacks · · Score: 1

    Or maybe http://www.dilbert.com/ where you will find out how the true professionals do it.

    --
    Sent from my ASR33 using ASCII
  82. Re:Micromanage or you will be disappointed by Anne+Thwacks · · Score: 1
    Coders often suck, especially at estimating effort of time and letting you know when there are issues.

    Of course being told "that estimate is too long, you need to halve it" has nothing to do with it.

    --
    Sent from my ASR33 using ASCII
  83. Real advice. by tachin1 · · Score: 1

    While you will undoubtedly need to grow into the new position, you probably already have either, the necessary skills or equivalent skills you can bring to bear. Here are some key points to consider: 1: Make sure you understand what your new job is, in other words, what is expected of you by management, most likely your new job is to make sure the finished product gets done on time, budget and spec. Once you realize this is your job, find a way to make sure this happens. The reason I've seen people fail to make this type of transition is because they lose sight of what is expected of them, I had a coworker who used his new position to tell management personnel that they were stupid and were unreasonable in their treatment of employees. He was demoted within a couple of weeks. 2: Your job is to make sure things get done, some people are good a doing this by being "slave drivers", some do it different ways. you've probably have had good bosses in the past, do what they did. If you have a good relationship with other managers there, talk to them and ask for advice on how to deal with the day to day challenges of your new job, you might not always agree with their advice but you'll at least get some good advice to get you started in the right direction. 3: Its just a job, meaning, all you have to do is learn how to do it, whoever tells you that you have to be born with it has a very poor opinion of himself at the least. here is the skill set: *Planning *Getting people to do what you say (very hard for some people, easier for others) *Time management *Getting things done (or making sure things get done) *Being able to spot pitfalls from a mile away *interoffice politics (Hardest thing for some people to learn how to do, but like Dylan said, swallow your pride, you won't die, it's not poison" 3: Most importantly, are you comfortable telling people what to do? when the time comes, can you fire somebody? Are you able to not care what other people may think of you? (meaning you wont do things just so people think you're a "good guy" can you be a PHB?) Hope this helps!

    --
    I'm always right, except when i'm not.
    1. Re:Real advice. by tachin1 · · Score: 1

      I forgot, this is critical: when hiring new people, only pick people that are better than you, never pick someone if you can do his job for him. Most people don't know this but this is what keeps you from being a PHB. And when you learn to manage the best, you are the best. Oh yeah... promote the hell out of whatever you do... when you do something right, make sure everybody knows it. Make sure people get used to thinking of you as consistently good.

      --
      I'm always right, except when i'm not.
  84. Knowledge doesn't always flow from the top by Whibla · · Score: 1

    What should I be learning, reading, thinking about in order to make this transition successfully and avoid growing pointy hair?

    So many answers to this question it would be impossible to give a full list, so I'm going to assume that the obvious management strategy / leadership skills books will be covered. I'll just add one suggestion:

    The Wisdom of Crowds, by James Surowiecki

    What you should be learning is how to talk to people, how to read people, how to motivate them, as individuals, and, very importantly, how to appraise their progress. For the latter I'd suggest regular (though not necessarily very frequent) individual meetings, a piece of paper, a pen, and an open honest conversation.

  85. You should be so ready by codgur · · Score: 1

    When it comes time to step up, it should be out of necessity and not motivated by looking for a bigger paycheck, title or corner office. First off I admire you for voicing your questions and asking for feedback. That is a great tool and shows you will be a good manager/leader. Not everyone knows everything. Even ants can show you a thing or two (if you take the time to watch them walk and form a pathway). So good for you! You are off to a good start. Hopefully you have been working in some capacity already leading others through your example and hard work if not in title and overall power position in the company. Influence and power can be gained in many ways some direct (title, position, evil deeds, evil politics) and many others indirect and subtle that take months if not years to cultivate and create your own world within the group you reside that gains you trust and respect. If you are shifting groups or being thrust into a very different group or path like quitting smoking from one day to the next, expect headaches and difficulties as everyone adjusts to the new variable (you) in the mix. If your life changes little and you are able to continue to build on existing relationships within the company given a slightly more formal voice and more decision making power, then you are in the right place. If it feels good it is good. It doesn't take someone with a title of VP to effect change in an organization. The engineers also have amazing energy and ideas and if given a voice can enable change like no other. Your new role is to guide all that raw energy to a fruitful end. A new equation would be P = E*I where Product = Energy * Ideas where your input and your leadership is the multiplication operator (which you overload and make into your own operation) and the energy and ideas are that of you and your team. The end result will be a product that when delivered to the operations department (Sales, Marketing, etc.) will result in O(P) = M where O is operations acting as a function on your product P resulting in M or money where the company sees profits and you will all have succeeded. On a side note once I asked a friend of mine who is the VP of software development at a medical device company what is fulfilling about her role given the number of meetings, phone calls, emails and organizational headaches she faces daily. She answered me with a question: “Do you have children?” I answered Yes. She asked another question: “Are you happy when someone gives your child a present?” Yes I replied. “I am very happy when someone gives my child a present. I feel and can see their happiness very directly.” She replied, “That is what a manager’s role is. Enabling your subordinates to succeed and relishing in their success and happiness.” “That,” she said, “Fulfills me.” Does it mean if you don’t have children you will be a horrible manager? No, you just need to learn that your new role will not have as many individual successes (as you did when you were an engineer) but rather group success based on other’s achievement guided by you in your new role. Good luck.

  86. Re:Micromanage or you will be disappointed by marnues · · Score: 1

    It's giving people something they want and knowing how to make a profit on it. You make it sound like anyone could have made Facebook with enough money. If that were the case MySpace or one of it's ancestors would still be the Social Media king.

  87. Learn from your mistakes by hilltx · · Score: 1

    and they will be many. I'm going through the same transition at a start up and it isn't easy. The biggest thing I'm finding is that even though you are supposed to be a strategic thinker and solve business problems, you will be asked to get back into the weeds and do what your last job required. While you are playing super hero to your technical comrades you will be testing the patience of those who expect something different. Don't throw in and help and you could be seen by those constituents as not being a team player. Knowing when to do that can be tricky. Eventually you would think that hiring over time will mitigate that but it may be a long tough slog. The other thing I'm running into is finding that delicate balance of where my ability to take charge and own things and stepping over my boundaries are. While I'm dithering wondering if I'm going to piss someone off, someone else is unhappy as I'm not meeting their expectations. So there are macro changes to deal with, that being telling people what to do and expecting them to perform and micro that are more subtle where you have to take some chances and learn from the bumps and bruises you will get when you are wrong. So keep an open mind, you are no longer the expert in this arena, surround yourself with people who do know and can help you, be humble and take lessons to heart, and one thing I never see managers do very often, learn your craft, the promotion is only the beginning.

    --
    The government's view of the economy could be summed up in a few short phrases: If it moves, tax it. If it keeps moving,
  88. manager tools are your friend by Surt · · Score: 1

    http://manager-tools.com/

    Go there and start learning.

    --
    "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
  89. Re:Micromanage or you will be disappointed by somersault · · Score: 1

    No, I'm saying that anyone could make Facebook without much money at all (relatively speaking). Maybe not all the gaming and voice chat API, but all the stuff that Facebook had when it was first opened to the public. Facebook isn't any more complex than MySpace from a technical point of view - it's just better designed.

    --
    which is totally what she said
  90. The way from technologist to executive by MrKaos · · Score: 1
    Business is Business, go run your own small business with your own money for a while. Understand business and learn what it means to have Skin in the Game.

    Understand Accounting, Cash Flow, Marketing, Sales, People Management, Psychology, Contract Law and more but I'm very tired, HTH.

    --
    My ism, it's full of beliefs.
  91. Suggestions by obscuro · · Score: 1

    I have a few rules that might help:

    1. Disciplined Agile works at scale. Use it.
    2. Never expect people to appreciate and use automation for an activity they don't already do.
    3. Everyone has to win (or go far, far away).
    4. Under every position there is a need. Find the needs (including your's and your team's) and negotiate those. Negotiating at the level of positions ends up screwing everyone.
    5. Trust but verify. Use the verification as a conduit to praising people. Praise people often.
    6. If people don't know EXACTLY what's expected of them at work (even if "invent your job" is what's expected) they will eventually wither or leave. As a manager your job is to collaboratively discover and rediscover what's expected.
    7. Do whatever you can to build the professional development of yourself and your team members into the quarterly work schedule. Excellent people are willing to spend some time on the boring stuff if they can count on some good stuff later but they can't be expected to wait forever.
    8. Technology is a moving target. You're killing your company and your team members careers if you don't move with it.
    9. Context is everything. For managing up and across - Learn how to set the context from the invites to the napkins at the roll-out meeting. Never lose sight of the other guy's frame of mind. I've seen really beautiful code go in the garbage because a VP thought the team was disorganized (not my team). For managing your teams - always make sure they have the tools and training they need. Have a process THAT YOU MANAGE for getting a new team member fully integrated into the team and the company.
    10. Build the work of effectively presenting results into the plan.
    11. Collective Intelligence works. Systematize the sharing of knowledge and the decisions to act on it. Situation awareness and decision tempo require work and discipline on everyone's part.
    12. It's all about people forming teams and collectively producing results. Celebrate often with the goal of getting everyone knowing what to expect from each other. People need to be comfortable enough with each other to ask potentially stupid questions... to push back... to assume they can politely schedule someone else's time.... Your team can't be strangers to each other or they will have problems.

    Good luck.

    --
    Every rule has more than one consequence.
  92. Role models, learn the business, live well. by puppetluva · · Score: 2

    1) Find a manager that is successful in your company and is generally admired. Get to know him/her and learn what they do right, what they do wrong, and what they know about the culture of the company. When you know them well and know their secrets well, find the next one.

    2) Find a very successful manager that runs a similar department to yours in an excellent company reknown in your industry. Get to know them, figure out what they and their teams do right, what they do wrong, and how the culture of their company works and differs from theirs. Fix yours that way or have good enough relationships to join theirs. When your group is better than that group, find the next one.

    3) Find out how your company makes money . . . really makes money -- what do they make, what do they sell, who do they sell to and how much of each thing do they sell to whom and how. Figure out how your department fits into that and how you can best fit those goals. Do those things. Figure out what doesn't make money (or worse wastes money at) -- aggressively try to eliminate those things.

    4) Figure out what your team is good at and what it is bad at. Cross that with the results from #3. Focus on getting your team better at things that help the company make money and getting rid of things that make it lose money.

    5) Respect people -- even those you don't like. You can learn something from _everyone_. Even if it is to just avoid making the foolish mistakes they make. Have enough respect for those people who work hard and pull things through for the company to let go those who slack off and basically leach off of their coworkers. Help those who aren't good at things, but really, really want to get there. Consider everyone's skillset as they are and reward each achievement and each step forward for people at their level.

    6) Have a plan. From the details of #3, and the development of #4/5 and the examples of #1,2 figure out what goals get you closer to achieving those ideals in the the next 3, 6, and 12 months. Every quarter, reassess where you are and tune up your goals so they stay relevant and you measure your progress.

    7) Measure your progress -- success or failure -- at every turn. How well do you work and how well do you create product? How good are the things you make and how good are your processes/tools for making them? Use your comparative analysis with external and internal teams to figure out how they operate as well and figure out how to measure it and improve it. Don't be a slave to numbers but don't be ignorant of them. If you pick the wrong metrics, then you learned that you need better metrics.

    8) Act like the manager you wish you had. Don't be a jerk, and don't gossip. Talk to people face to face and act with integrity. Your group and peers are you community - treat them that way and build the community stronger.

    9) Build your self and your group. Figure out what you all are weakest at (that matters) and get training and practice at getting better. Make it a quota to do this at least annually.

    10) Manage yourself and your own stress. Have a todo list of the next top 3 most important things to do at all times -- do those next. Take care your health, sleep well, eat right and learn to leave work at the office enough to not bear the burden of your whole team's worries when you go to bed at night.

    1. Re:Role models, learn the business, live well. by MrKaos · · Score: 1

      Thanks - that was a great post!

      --
      My ism, it's full of beliefs.
  93. Enjoy the Kabuki Theatre and Performance Art by stevensweet · · Score: 1

    Talk to the CFO, constantly. Establish an on/off-line communication channel. Get the CFO on your side. Many IT departments are seen as cost-centres and viewed as commodity skill set custodial services. Get the CFO buy-in before any executive level presentation. The CEO, a good one, will have already met with the CFO before the meeting and will politely listen to you. If you pay attention you will see the CFO-to-CEO cues.