Slashdot Mirror


How Do I Manage Seasoned Programmers?

An anonymous reader writes "I have a technology background and worked as a programmer for a few years before slipping over to the dark side. I am now on the business side and have been given responsibility for a small team of Java programmers. While the technology aspect of what my team works on doesn't scare me, I need ideas to make sure the team stays motivated while reporting to me, a business-oriented guy. Perhaps I should mention I am in my early 30s while the majority of the team constitute an older, wiser generation. What advice should I follow to avoid turning into yet another Bill Lumbergh?"

551 comments

  1. Don't be a douche by Gothmolly · · Score: 5, Informative

    These are creative people, and will resist things like status reports and hard work schedules.

    --
    I want to delete my account but Slashdot doesn't allow it.
    1. Re:Don't be a douche by sheph · · Score: 5, Insightful

      No that's not flamebait, in fact, it's excellent advice. You can't run a department of advanced programmers the same way that you run a Burger King. Well, you can but you won't have any advanced programmers left if you do. Professionals typically don't enjoy working for someone that doesn't give them the respect that they've earned. Unreasonable timelines designed to drive results for the company will cause your employees to cut corners and deliver an inferior product. When this happens your good employees will no longer feel good about the job they are doing and go find a new one. Good products take time and money. If you want it fast, and cheap it ain't gonna be worth $h!t. Good employees want to work for good companies. It's a simple equation really.

      Status reports are a bunch of non-sense. Requiring your employees to file status reports tells me three things. 1) You don't know enough about what they are doing to manage them, 2) how long it should take, and 3) you don't trust them to work as professionals to deliver a quality product. That last part causes resentment, and if you really want good people to work for you then you treat them like good people until they give you a reason to treat them differently. If you don't care about the people that are working for you then just skip the preliminaries and go straight to managing a project full of Indian developers.

      --
      I don't believe in karma, I just call it like I see it.
    2. Re:Don't be a douche by gerrytucker · · Score: 5, Insightful

      As someone who has been a development team lead (responsible for schedules, explaining budget variances, providing cost estimates etc. to upper management) and a strong developer I would agree with some of what you are saying. However, the one item that I do have a problem with is the written status reports. I know it seems lame to the folks that really are great developers but you also have to contend with people who "think" they are really good developers. If you are having problems with individuals like that, HR and upper management cannot act on just a leads observations. They need documented evidence that either the person is or is not doing their job. Chances are, if the person really is not as good as they think and you need to get them off your team, their status reports will reflect how simple tasks are taking them extremely too long. And the best thing is, it's in their own words! The other benefit is that with the really great developers turning in status reports you have good objective evidence to show to HR types to say, "Look everyone else on the team performs exceptionally well. How can you not agree that this individual is an issue?" Just my 2 cents. Luckily I'm out of the team lead business for now and am having fun just being a dev and designer again :)

    3. Re:Don't be a douche by PitaBred · · Score: 5, Insightful

      I agree on most counts. When you're an ideal manager, your job is to shield your employees from the bullshit from above as much as possible, so they can get their work done as well as possible. That may sometimes require a status report or meeting or something so that you can report to the muckity mucks upstream on what's going on. But it shouldn't be a replacement for involvement with your employees. If you don't know what they're working on and roughly where they are in the task or what problems they're facing, you're doing it wrong.

    4. Re:Don't be a douche by Anonymous Coward · · Score: 1, Insightful

      You need to decide what type of manager you want to be. This may also be dictated to a certain degree by what sort of company you work for.

      The United States military has the Army, and the Special Forces.

      In the Army, specific orders are given from the top down, and dare not be questioned. "Clean your assault rifles in the next five minutes, or face the consequences!". There is no room for enlisted men and women to question a superior officer.

      Now consider the Special Forces. They work in small, loose knit, autonomous teams. Each member will speak a different language and have a particular skill (munitions, medic, translator, etc). A team will be sent in under the radar and have to think for themselves and adapt to conditions on the ground.

      A team of programmers is a lot more like the Special Forces than it is like the Army. Which sort of company do you work for? I've worked for both sorts of companies (as a programmer, not in the military), and I can tell you where I'd rather be. I want to be treated like a professional, not an 18 year old kid operating a deep fryer.

      Fortunately, I'm at a Special Forces type of company now :)

    5. Re:Don't be a douche by pjt33 · · Score: 1

      When you're an ideal manager, your job is to shield your employees from the bullshit from above as much as possible, so they can get their work done as well as possible.

      Quoted for truthery.

      In fact, as far as protecting them from upper management goes, if there's one thing the cinema has taught me it's that when you go over to the dark side killing your boss can redeem you and restore balance to the universe.

    6. Re:Don't be a douche by mysidia · · Score: 1

      However, the one item that I do have a problem with is the written status reports. I know it seems lame to the folks that really are great developers but you also have to contend with people who "think" they are really good developers. If you are having problems with individuals like that, HR and upper management cannot act on just a leads observations

      If you're not having problems, excessive status report requirements from individual team members slows down development.

      One thing you can be sure of, is when a developer is busy trying to write a status report, they are not writing any code, and the very act of writing the report will be a major distraction that drastically slows down development, if there are many such formal reports.

      Not all code is created equal, and there may be unusual difficulty in a developer's assignment.

      Status report documents should be written by the manager.

      Individual reports from a developer should be limited to: (A) checkin comments and checked in code, (B) one-line remarks posted on a ticketing/bugtracking system to indicate their progress towards completing a particular item, and (C) verbal remarks.

      (A) and (B) are what should be used to evaluate developer productivity.

    7. Re:Don't be a douche by Anonymous Coward · · Score: 0

      I agree and would add:

      Go ahead and spend 5+ years programming, then go back and be a manager. That way you earn more respect than doing anything else. That is it.

      When your employees know you worked at helpdesk, support, ISP admin, UNIX admin, programmer, boss, back to whatever, they know they cannot BS you......

      I do not mean it as a flamebait and/or hurt your feelings, but this question makes me think of my boss at HP Costa Rica, who was proud of not being able to set his own home networking up. When you see something like this with the "HP Invent" trademark you start thinking.....

      That bring me to another point: if you have no clue about something, just ask and be humble. Programmers are humans (kinda) and they will respect an unknowing but reasonable person better than a tough handed asshole who has no clue. In other words: I am a programmer, and I can work on a problem for one week, one problem that takes 10 minutes (literally) if they FSCK with me. The others are the same. You treat (me/them) well, and they do it in 1 hour and take a longer lunch break. It is a tough word outside for managers, so be kind.

    8. Re:Don't be a douche by Jurily · · Score: 1

      If you are having problems with individuals like that, HR and upper management cannot act on just a leads observations. They need documented evidence that either the person is or is not doing their job.

      Bzzzt. Wrong. You won't find the bad apple with paperwork. You find the uber programmer who can't be bothered to fill those out.

      their status reports will reflect how simple tasks are taking them extremely too long. And the best thing is, it's in their own words!

      Yep. Like you never underestimated a problem before. Remember, good programmer == big ego.

    9. Re:Don't be a douche by Alpha830RulZ · · Score: 2, Interesting

      will resist things like status reports and hard work schedules.

      I disagree. I don't mind status reports and hard work. In fact, I immensely prefer a rational status reporting approach to an hour(s) long meeting of listening to everyone recite where -they- are with the project. JoelOnSoftware has some good thoughts on how to do this crisply. I would much rather take 10 minutes to summarize my status in a weekly email, and in fact have tried to force this discipline into my current team, against the resistance of my boss.

      I think what experienced folks resent is stupidity and make-work. Working hard because you've got a challenging project is one thing. Being asked to work over the weekend because someone promised a demo on monday without checking with the team whether this was feasible is another.

      To take care of experienced folks:

      1) treat them as equals with different roles than yours. This means asking their opinion on approaches to be taken, acting on those opinions when they make sense, and offering rational responses when you disagree.

      2) work with to communicate objectives in terms of -what- needs to be done, rather than telling them -how- to do it. The odds are good that they know how to do it.

      3) shield them from the company bureaucracy as much as you can, while making sure you don't patronize them.

      4) as much as you can, let them participate in the determination of the objectives and approaches for what your team is doing.

      5) manage the meeting load, and run efficient meetings.

      I don't think I'm any different as an employee at 50 than I was at 25, except I recognize idiocy and incompetence more quickly now. Your team will be the same. Geezer coders are still coders. We're just likely better at it.

      --
      I was taught to respect my elders. The trouble is, it's getting harder and harder to find some.
    10. Re:Don't be a douche by Alpha830RulZ · · Score: 2, Insightful

      Status reports are a bunch of non-sense.

      An efficient statusing process is necessary. You can do it with meetings, you can do it by talking to people, or you can do it with email/spreadsheets. If you have people write a concise summary of where they are on a weekly basis, they can do it when it's convenient for them. The alternative is the manager interrupting them and taking more of their developer's time than it would to update the current task list with .

      If you have a team of three, yeah, this may be overkill. If you have a dev team of 8 or more developers, walking around to figure out where everyone is at is tedious and inefficient for all concerned.

      That said, if the status report takes more than 10 minutes a week to prepare, something is probably broken.

      --
      I was taught to respect my elders. The trouble is, it's getting harder and harder to find some.
    11. Re:Don't be a douche by LaskoVortex · · Score: 2, Insightful

      However, the one item that I do have a problem with is the written status reports.

      Shit tasks like this should be the responsibility of the manager, so she can earn her advanced salary. Passing a status report onto an employee is lazy, shirks responsibility, and takes them away from work that will deliver that product on time. Don't pass off your responsibilities onto your employees.

      --
      Just callin' it like I see it.
    12. Re:Don't be a douche by recharged95 · · Score: 1
      Note, the author is talking about Java programmers.

      Just choosing XP, RAD, UDP, Scrum, etc... without sizing up how experienced, aside from just knowing Java, those developers are is just asking for trouble. If they are truly seasoned, they'd respect the need for software methodologies & such. Java sort of forces you to think in a more structured sense that you'll find managing the team will be easier than [cough] development in another language. Come on folks, Java puts you into a pretty structured mindset, and that does have its pros and cons. Start there and you'll be in good shape (for scheduling, budgeting, RA, deployment, etc..).

      Rule of thumb, is if you're working on a software product, time is the determining factor and most of the Agile methods the developers [will] get if you manage in that fashion (causal meetings, thinking about features, letting them limit what features). If you building a solution, it going to be a mix of multiple methodologies, where your challenge will be getting the developers pay attention to the schedule (it's critical), so they can truly make informed technical/design decisions (you pay more of a mitigator, guiding role, and it's less causal).

      If you haven't already, checking out "The Mythical Man Month" doesn't hurt too.

    13. Re:Don't be a douche by Anonymous Coward · · Score: 0

      I can bullshit my way through a status report to make it look like I'm solving the energy crisis while actually doing practically nothing. It's all relative to how much the people around you can produce. My manager does not recognise my abilities and I don't get better compensation for it so I basically only need to produce slightly more than the average person in my department, which is about 25% of what I'm capable of. If the manager can't see it then he doesn't deserve more than that. It's a two way street. Anonymous for obvious reasons.

    14. Re:Don't be a douche by gstovall · · Score: 1

      Uber programmer does not mean arrogant. I know plenty of uber programmers who comply with the requirement for a weekly status report.

      The good thing about weekly status reports is that it shows all the issues that impact schedule, and provide useful fodder for annual adjustment reviews.

      Good programmer does not mean big ego. Immature people have big egos. Seasoned professionals are generally humble and easy to work with.

      So says my 25 years in the industry, anyway...

    15. Re:Don't be a douche by PC+and+Sony+Fanboy · · Score: 1

      These are creative people, and will resist things like status reports and hard work schedules.

      No, they're used to telling their supervisor that they're working, showing him a screen with code, and going back to browsing pr0n.

      A lazy programmer will tell you what will motivate him, a good programmer will go for flex hours, and a 'end-justifies-means' mentality. You pay him 40hrs/week, and he does 20hrs of work and keeps your network up.

      Anything else, and they'll complain. Programmers are whiney bitches. Just look at the comments that will follow.

    16. Re:Don't be a douche by PC+and+Sony+Fanboy · · Score: 1

      You can't treat programmers like McDrones, the programmers think they're several orders of magnitute smarter than you, whereas the McDrones will just slash your tires and piss in the milkshake mix.

      You need to convince the programmers that they are the 'boss', and then you need to subtly manipulate them. Don't worry, it isn't hard - they're so convinced that they're super-intelligent, that they won't even think they're being manipulated.

    17. Re:Don't be a douche by PC+and+Sony+Fanboy · · Score: 1

      You find the uber programmer who can't be bothered to fill those out.

      Which means ... you've got to either put up with the annoying nerd that thinks he's got aspergers and expects the world to revolve around him, or fire him. You'll get good work out of him, but you won't get anything that looks productive - just a good end product. Make sure they programmers know they're being judged on their output, and if they meet their deadlines, then they can do whatever they want.

      Either that, or don't take the job. Programmers are assholes, and so full of themselves that it takes a special sort of manager to deal with those man-sized children.

    18. Re:Don't be a douche by PC+and+Sony+Fanboy · · Score: 1

      We're just likely better at it.

      .. yeah, better at cobol. An important skill, but c'mon.

    19. Re:Don't be a douche by plover · · Score: 1

      My status reports are never more than half a page, they're usually a dozen simple sentences hastily emailed moments before I have my weekly chat with my manager. We both agreed that this format works -- she can keep tabs on my projects, and it makes for a good agenda for the chat.

      The lesson for you would be to discuss it with your new employees: "how can you get me a status report in the least painful way possible?"

      --
      John
    20. Re:Don't be a douche by Jessified · · Score: 1

      As they say, if Speed, Quality or Quantity are the options you can pick two. One of those options will have to be qualified. I'd say set the two things you want out first, and highlight the option you are not so concerned with. At least then you are being honest, and hopefully they will respect you for it.

    21. Re:Don't be a douche by Missing_dc · · Score: 2, Funny

      How Do I Manage Seasoned Programmers?

      My favorite solution is to set them on fire and launch them out a window.

      the trebuchet (http://www.trebuchet.com/)on the roof gains you extra points.

      Launch the most vocal two and the rest fall in line quite quickly.
      (funny how that works)

      --
      How amazed would you be to suddenly find that you just forgot what I wrote and you needed to reread my post.... again.
    22. Re:Don't be a douche by grouchyDude · · Score: 1

      If you are serious about underperforming just enough to look better than your associates, than you still deserve to be fired. I expect people I work with, or who work for me (or for whom I work) to act as a mutually-supportive team, perform well, and provide their best effort. Not everybody is equally good, what you are describing is dishonest and I would not hesitate for a second to fire such a person.

      In addition, my experience is that is many cases people who think they can bullshit their way through a report and look good are often detected doing that, but for one reason or another it's not worth calling their bluff (yet).

    23. Re:Don't be a douche by BitZtream · · Score: 3, Insightful

      If they can't be bothered to fill in a basic status report, you really don't want them anyway. I don't give a damn HOW good they think they are, if they can't do what they are told to do, they're next to worthless.

      This bullshit about how you let good/great programmers get by with whatever they want is just that, bullshit. They aren't any different than any other employee, they can either function as a normal person or not, if not, you are probably better of firing the 'uber programmer' and hiring a half-assed programmer that will actually act like a normal human being. Its far more important for a company to have a reliable individual than it is to half a great programmer who doesn't listen or does whatever THEY want rather than what you need from them.

      There is a LOT more to being a 'great programmer' than the code you write, and all those people who think they are so great they don't have to do any of the management related portions of the job really aren't that great. ESPECIALLY the ego.

      Remember, big ego != (actually good || worth keeping around || worth paying || worth having to deal with)

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    24. Re:Don't be a douche by mdvolm · · Score: 1

      Why make everyone do status reports? If you're having a problem with a developer, then make him/her do status reports. Don't punish the good developers as well!

    25. Re:Don't be a douche by mdvolm · · Score: 5, Insightful

      Of course your employees should do what is expected of them, they're being paid to do so. And you're right about the ego!

      The point, though, is that requiring silly things of your good people is a sure way to see them leave for something better.

      Do you think the quality of your company will not suffer if the highest quality employees leave?

      Then treat them with the respect they require, and they will return the favor.

      Formal status reports, by the way, definitely fall into the "silly" category, as do daily status meetings. If you want to know what someone is doing, then visit them and ask. You'll find that they're probably eager to tell you all about what they're doing.

      So while you had a nice rant there, I wouldn't want to work for you under those circumstances.

    26. Re:Don't be a douche by Anonymous Coward · · Score: 0

      If you don't care about the people that are working for you then just skip the preliminaries and go straight to managing a project full of Indian developers.

      Are you always this anal idiot? Or are you gifted?

    27. Re:Don't be a douche by teh_commodore · · Score: 1

      Remember, big ego != (actually good || worth keeping around || worth paying || worth having to deal with)

      Agreed. Let's also keep in mind that "uber badass programmers" are a dime a dozen these days. Great developers are hard to find. You know, the ones that actually understand what all (other than coding) goes into making a quality product.

      --
      --"insert clever quote here"
    28. Re:Don't be a douche by Gorobei · · Score: 2, Insightful

      Periodic status reports are a tool to manage low-level white-collar workers, not skilled professionals.

      Do you really think lawyers, doctors, talent agents, sitcom writers, fighter pilots, traders, salespeople etc, fill out status reports?

      We don't, and we just say "fuck you, I'm doing my job, fire me if you're not happy with the way I'm doing it. Oh, if you have anything constructive to offer, please say it, otherwise, go away. Company policy? Great, have an admin write the status report or enter the hours worked or whatever - that's what we pay them for. Actually, what the fuck is your value-add in this deal? You explain what management want to us, and then explain what we did to management? You are a cost-center, do you earn enough a year to make it worthwhile for me to get you fired? Get the fuck out of my desk space and don't come back until you have something useful to contribute."

      It's quite simple really. In other news, Bank of America to lay off 30K "workers." Fuck em, maybe they can use their mad management skillz at Burger King.

    29. Re:Don't be a douche by Alpha830RulZ · · Score: 1

      yeah, better at cobol. An important skill, but c'mon.

      Well, if I'm as at least close to as good at linux/web/Java/etc as you, and also can talk to the mainframe with TSO/ISPF/JCL/COBOL, who do you think is going to get paid more in a fortune 500 environment?

      I keep getting calls from headhunters looking for web architects. When I tell them what I make, they don't call back.

      --
      I was taught to respect my elders. The trouble is, it's getting harder and harder to find some.
    30. Re:Don't be a douche by Antique+Geekmeister · · Score: 1

      An uber programmer who refuses to document isn't an uber programmer, no matter how often they win the obfuscated C ontest with their projects.

    31. Re:Don't be a douche by MindStalker · · Score: 3, Interesting

      Anonymous status reports.. WTF.
      Was reading the other day about a development house that has the programmers fill out time sheets and status reports but that these reports are specifically not used by managers and can not be used for punishment. They are used to generate cost and time estimates, what works, what doesn't etc etc. The group that handles these reports are independent and not the managers. They know that the second reports can be used for punishment or rewards most of the data will become fake and totally usable for statistical purposes.

    32. Re:Don't be a douche by shaitand · · Score: 2, Insightful

      'In addition, my experience is that is many cases people who think they can bullshit their way through a report and look good are often detected doing that'

      Then again, nobody would know if you're wrong eh?

      Sort of like the police always catching the bad guys in crime when they are lucky to catch one in a thousand.

    33. Re:Don't be a douche by pushf+popf · · Score: 1

      Give them the requirements and the deadline and leave them alone.

      Come in late, leave early and take long lunches. About once a week stop by and ask each one how things are going. If there's anything causing problems, try to eliminate it or steer around it.

      If they're really seasoned, they only need you because they're probably not socially polished enough to deal with your boss without getting fired.

    34. Re:Don't be a douche by freaks_and_geeks · · Score: 1

      Perhaps your blanket slur against Indian developers should be considered flamebait, and you a douchebag.

    35. Re:Don't be a douche by belmolis · · Score: 1

      While I don't want to defend excessively frequent or detailed progress reports for programmers, I don't think that the examples you cite are at all comparable. In the situations in which programmers are asked for progress reports, they are members of a team working on components that must be integrated and tested together and/or are working on long-term projects for which there are deadlines. In these situations, somebody needs to know whether the components are on track to be ready on time and whether the deadlines are going to be met. In contrast, lawyers, doctors, fighter pilots etc. are not generally working on long-term projects and are not working on joint projects.

      When they are in such situations, they may indeed need to submit progress reports. If a lawyer is heading up a major lawsuit or a corporate acquisition, with the assistance of associates and paralegals, he or she does indeed keep track of the progress of the various team members. He doesn't just tell an associate to prepare a brief on such-and-such an issue and leave it at that - he sets a deadline for a draft so that he can review it and have changes made if necessary. If a fighter pilot's assignment is protection for transport aircraft, there isn't any long term project on which he need report, but if his assignment is, say, strafing enemy troops, he does indeed report on the results of his action: did he locate the target, what sort of casualties did he inflict, etc. In this case there will likely be other sources of intelligence as well, so his report won't be the only source of information, but his commander will nonetheless want some indication of the impact of the action.

    36. Re:Don't be a douche by shiftless · · Score: 1

      No, the original poster had it right. The whole "treating your employees like professionals" thing doesn't just stop at the team level. If you have an employee who isn't pulling his weight, then you as a leader should have the power to do whatever it takes to correct the problem and/or have him fired. If you are having to come up with all kinds of documentation and crap to prove to someone else that he really is a problem, then the real problem is that your superiors aren't treating YOU like a professional. You are better off looking for a new company, because odds are the poor leadership qualities go all the way to to the top.

    37. Re:Don't be a douche by Anonymous Coward · · Score: 0

      Indeed its the old programming adage

      "Fast,Cheap,Right" pick two.

      I also agree that treating a senior Dev as a "code grinding machine" will lead to an unhappy team. And as a result loss of expensive and valuable resources.

    38. Re:Don't be a douche by Lord_Dweomer · · Score: 1

      Do you really think lawyers, doctors, talent agents, sitcom writers, fighter pilots, traders, salespeople etc, fill out status reports?

      Well some of those I'll agree with but you are dead wrong on lawyers. The one difference between all of those professions you listed and lawyers is that lawyers get paid based on billable hours. Their firms make damn sure that they are filling out their time sheets (essentially a status report) on time and with incredible accuracy. They are charging clients large amounts of money for this time and thus clients want to know how every freaking minute is spent (not that I blame them). So even professions that are considered "high-profile" have status reports. It really comes down to the job.

      And while I want to avoid this becoming a long winded rant, the reason developers, regardless of skill level, are required to fill out such things is because they are considered a RESOURCE by the company. The company needs to know how many resources it takes and how long to complete a project because that lets them determine the cost of the project and ultimately the ROI which is all that matters to the bottom line. It may suck but that is how software companies work. I know some companies are starting to move to more of a "its done when its done" methodology, and in fact my own follows that, but it definitely has its downsides. For example, if I'm in sales and I've told a customer X feature will be ready by a certain date, and then without warning the dev team pushes it back several months, I'm screwed. However if they had simply provided thorough status reports, I would have an accurate timeframe to convey to my customer and there wouldn't be that mess.

      --
      Buy Steampunk Clothing Online!
    39. Re:Don't be a douche by jhol13 · · Score: 1

      If there are no status reports (whether written or oral in a group meeting) how the hell are the OTHER programmers going to know what you are doing or how far have you progressed?

    40. Re:Don't be a douche by jhol13 · · Score: 1

      No we don't.

      We resist silly reports, insane schedules, etc.

      Weekly reports are no problem. Quite contrary, we want to know how others progress, what problems pop-up. We want to know deadlines.

      Sure, if we could do whatever we like there would be champagne and strawberries ... but seriously, although there are people who will try to do as little reporting as possible most/smartest are not that stubborn/stupid.

    41. Re:Don't be a douche by Gorobei · · Score: 4, Insightful

      Your point is cogent. I do not advocate the elimination of all management, just the elimination of inexpert management of professional projects.

      To take the lawyer example, the senior partner reviews the associate's draft. He's looking at the work, not a status report. For fighter pilots and traders, it just gets easier: the results are plain and status flows from them naturally.

      A good IT project runs the same way: the manager is a domain expert, and can evaluate the product as it is being created. If she can't do this, or relies on self-assessment of her reports, the product is going to suck.

    42. Re:Don't be a douche by Gorobei · · Score: 1

      the reason developers, regardless of skill level, are required to fill out such things is because they are considered a RESOURCE by the company.

      Words like "required" and "RESOURCE" just say "I am a cog in the machine."

      Professionals, by definition, know this is BS.

      Then again, most programmers are hacks, not professionals. (some are seasoned hacks, but so what?)

    43. Re:Don't be a douche by Thaelon · · Score: 1

      No.

      If you need a status of how they're doing on something, ask them. With your mouth. Then listen. With your ears.

      If you need to try and work up documentation to fire an under performer do it your damn self. Or express your concern that they're under performing and see if they shape up.

      If the only way you can think of to get documentation of their lacks, then you also suck.

      In answer to the OP, do away with all time sheets, status reports, and tedious paperwork.

      One thing that has worked for my current team is a daily SCRUM meeting in which we all tell each other what we did the day before and what we're doing that day. including the manager it's very frank and informal, we're literally just standing in a circle in an open space in the floor. Tangents are welcomed, helpful advice can be thrown about willy nilly it's really quite good.

      --

      Question everything

    44. Re:Don't be a douche by Sjefsmurf · · Score: 1

      Why do we need managers if we need to write reports for them as well?

    45. Re:Don't be a douche by Kent+Recal · · Score: 1

      For example, if I'm in sales and I've told a customer X feature will be ready by a certain date

      See, and in the next half of your sentence you provide the exact reason for why you don't do that. You don't sell what you don't have. I'm regularly amazed at how many people still fail on this glaringly trivial premise.

    46. Re:Don't be a douche by Kent+Recal · · Score: 4, Insightful

      They aren't any different than any other employee, they can either function as a normal person or not, if not, you are probably better of firing the 'uber programmer' and hiring a half-assed programmer that will actually act like a normal human being. Its far more important for a company to have a reliable individual than it is to half a great programmer who doesn't listen or does whatever THEY want rather than what you need from them.

      There are so many wrongs in this paragraph, it hurts.
      First off, written status reports are not a part of "acting like a normal human being" or even of "being a normal employee". It's a sign of a dysfunct corporate culture where people don't talk to each other and where middle management is not even trusted with rating their own teams.

      The normal process for dealing with a problem-employee would be to talk about it. You know, stuff like: "Hey bob, what's up with your performance recently". And to closely monitor problem areas in order to find ways for improvment. Know what, it seems like that would be your actual job if you weren't all busy passing written self-assessments back and forth.

      Secondly, working with half-assed programmers is always more expensive than working with uber-programmers (aka "rockstars"). But by the way you describe your environment I strongly doubt that you'd be able to convince a rockstar to work for you anyways. I even doubt that you have ever only interviewed a rockstar that deserves this label.

      A strong indicator for a great programmer is that he indeed doesn't need to listen to you much. Not because he doesn't want to, but rather because he already understands your pesky little business problems and requirements better than you do. A great programmers explains your problems to you, not the other way round. In an environment where rockstars are involved you merely exist to serve the programmers needs, you are effectively their secretary. You schedule meetings, acquire resources for them, interface with other parts of the company and generally make sure that nothing gets in their way of getting the job done. "Written reports" are an anachronism in such a setting. Hence my conclusion that you have never worked with a rockstar and not the slightest idea how they tick.

    47. Re:Don't be a douche by Anonymous Coward · · Score: 0

      So your people will essentially fill status reports so you could get them fired if you do not appreciate them. (since 80% of your comment is about getting rid of people)

    48. Re:Don't be a douche by try_anything · · Score: 1

      These are creative people, and will resist things like status reports and hard work schedules.

      Well, to be more accurate, they'll work as hard as they want to, and they probably shouldn't work any harder. Don't try to make them work harder, or you'll be a douche.

      And if you want status reports, ask. Don't nag them with, "Why haven't you updated me with your status?" You're the manager; take responsibility for keeping up to date.

      Inevitably they will sometimes go over schedule or screw something up. That is when you have to be very careful not to make them bitter and resentful. The first time it happens, trust them completely. Just say, "Okay, keep me informed, and let me know if I can do anything to help." Then slowly escalate your involvement, but...

      Don't get involved in helping them out technically. If a developer is drowning, assign another developer to help him out -- don't stick your nose in.

      The best way to maintain acceptable technical quality is not for you to review their plans and designs but for them to talk things over with each other. If they don't do it naturally, assign projects to teams or pairs of developers rather than individuals. Tell each pair they can divvy up work between themselves however they like, but they're both responsible for knowing and vetting the overall design and alerting you to possible slippage.

    49. Re:Don't be a douche by try_anything · · Score: 1

      If a status report contains anything interesting, it results in the manager walking over for a chat anyway. Plus, programmers hate to think about bureaucratic stuff. Producing a status report on a regular schedule means constantly thinking about it -- when's the next one due? Have I missed one? You can't imagine how angry and resentful it makes programmers if you make bureaucracy a constant presence in their minds. Bureaucracy is hateful knowledge and a hateful intrusion into their thinking. You might as well force the marketing guys to use Linux and create marketing brochures in Emacs using LaTeX.

      On the other hand, if the manager takes responsibility for periodically soliciting status from developers, then everything is good. The manager is the one who needs the information, so he won't forget to ask for it. Developers are usually happy to chat about their work for a few minutes. Best of all, face-to-face two-way conversation means that a lot of potential misunderstandings get ironed out immediately.

    50. Re:Don't be a douche by Anonymous Coward · · Score: 0

      How does racist crap like "If you don't care about the people that are working for you then just skip the preliminaries and go straight to managing a project full of Indian developers." manage to be "insightful". There are good developers and not so good ones on all sides of the digital universe.

    51. Re:Don't be a douche by uassholes · · Score: 1
      You are the sanitary cover between their butt and the toilet seat. They would not be there if they liked the bullshit of management and bureaucracy, so point that out if you want to be appreciated (but they already know it).

      They would also not be there at that age if they weren't motivated. Don't try to manipulate. They are doing what they like to do; just keep them warm, dry, and well fed.

    52. Re:Don't be a douche by Anonymous Coward · · Score: 0

      There is a possible problem with this approach, in that developers may start to stop helping and mentoring each other, simply because doing that subtracts from their own reportable accomplishments.

      A more useful metric may be the bug rate in checked in code. It doesn't matter much how quickly something was developed, if it will delay an entire team in order to be debugged later in the development cycle.

    53. Re:Don't be a douche by zQuo · · Score: 1
      I agree, for seasoned programmers, the #1 job is to shield them from upper management, and focusing on communicating upstream to do it.

      The most ignored task of a manager is constantly letting upper management or the client know ahead of time that the combination of features, schedules or deadlines are unrealistic, and forcing realism on upper management's expectations.

    54. Re:Don't be a douche by stewbacca · · Score: 1

      I'm just curious...do you think programmers are anything BUT cogs in the machine? To me, they seem to be the foundation OF the machine.

    55. Re:Don't be a douche by stewbacca · · Score: 1

      As a manager of code-monkeys, I'll take a half-assed programmer with social skills over an uber-programmer any day. Unless, of course, you can find me an uber-programmer with social skills (good luck with that). It may not be any better for the company, but at the end of the day, I like the people I work with, and we are all more productive for it.

    56. Re:Don't be a douche by stewbacca · · Score: 1

      As for #3, I find it impossible to say anything to a programmer without them thinking you are patronizing them ;-)

    57. Re:Don't be a douche by Gorobei · · Score: 1

      Well, most programmers, like most people, are just cogs in the machine. It's sad, but that is just reality.

      I'm more interested in the top .1% or so: the people who read SICP for fun, and also are experts in their business. Their multiplier is on the order of 100: they can take a project with a 1000 man-year estimate, and deliver it in six months with a 10 person team.

      In many ways, they are the foundation of the machine. Good businesses grow fast today mainly because they have a great, but largely invisible, software infrastructure. Good software infrastructure lets people concentrate on what they are good at. In the old days, business needed hordes of secretaries, accountants, lawyers, telephone operators, middle managers, etc: now, we can do most of that with code, and ramp up a good idea, or shut down a bad idea, in days rather than years.

    58. Re:Don't be a douche by stewbacca · · Score: 1

      Well, most programmers, like most people, are just cogs in the machine. It's sad, but that is just reality.

      Why is it sad? They are being paid for their skill-set, which is to create the code that is the foundation of the machine.

      I'm more interested in the top .1% or so

      These people shouldn't be working for anyone but themselves.

    59. Re:Don't be a douche by Lord_Dweomer · · Score: 1

      See, and in the next half of your sentence you provide the exact reason for why you don't do that. You don't sell what you don't have. I'm regularly amazed at how many people still fail on this glaringly trivial premise.

      Allow me to expand on my comment. What I meant was that if I was in sales and I've told a customer X feature will be ready by a certain date BECAUSE THAT IS THE LAST GUESTIMATE I HEARD FROM THE DEV TEAM....

      If you think you don't sell something that doesn't exist yet then you clearly don't know how a software business works. It is called building anticipation and if you have existing customers who are eager for new features, it is perfectly reasonable to let them know "we are planning on releases X feature at Y date." However to do so requires accurate knowledge of the status of said feature. Hence why status reports are crucial for driving new/existing business.

      --
      Buy Steampunk Clothing Online!
    60. Re:Don't be a douche by Lord_Dweomer · · Score: 1

      Words like "required" and "RESOURCE" just say "I am a cog in the machine." Professionals, by definition, know this is BS. Then again, most programmers are hacks, not professionals. (some are seasoned hacks, but so what?)

      As much as I hate to say it, we are all cogs in one machine or another. Some cogs might perform better than others, but in the end they are still cogs. You see, the company did not hire you to be a pretty little snowflake. If you want to be that, go start your own business where you can give yourself as many compliments as you want. Companies hire you to be a cog in the machine, a replaceable resource. That is just where software development has headed due to globalization. Sorry to break it to you but reality sucks.

      And when I use the word "required" it is because that is one of your duties in that position. They are PAYING YOU to do a certain job and that job is to be a cog that fills out status reports. If you don't like that and don't wish to do it, nobody is holding a gun to your head...go work somewhere else. Just don't complain when you sign-up for a job and then they ask you to do what was actually in the job description.

      --
      Buy Steampunk Clothing Online!
    61. Re:Don't be a douche by BitZtream · · Score: 1

      Do you really think lawyers, doctors, talent agents, sitcom writers, fighter pilots, traders, salespeople etc, fill out status reports?

      YES! Most certainly, every single one of them do. Have you never seen a case history for a lawyer or doctor? Do you know what a breifing or debreifing or mission report is for a fighter pilot? Have you never heard of a sales pipeline report?

      Unless you are the only one in the company, status reports are a requirement so others within your organization have some sort of clue about whats going on, otherwise everyone in the organization does completely retarded things because they don't actually know what anyone else is doing.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    62. Re:Don't be a douche by Gorobei · · Score: 1

      And when I use the word "required" it is because that is one of your duties in that position. They are PAYING YOU to do a certain job and that job is to be a cog that fills out status reports. If you don't like that and don't wish to do it, nobody is holding a gun to your head...go work somewhere else. Just don't complain when you sign-up for a job and then they ask you to do what was actually in the job description.

      Screw that! The only position I have is sitting in my Aeron. The only duties I have is making lots of money for the firm and not getting a drunken quote in the NYT where names are involved.

      It's a simple life, but a satisfying one. I show up at work when I want, the company pays me what it thinks will keep me happy. No one is complaining, it's all at will.

    63. Re:Don't be a douche by BitZtream · · Score: 1

      Let me go ahead and give you a hint. Programmers are just cogs in the machine. Just because the industry hasn't figured out how to manage itself properly yet doesn't mean it won't. Programmers aren't special, there are plenty of people who can make great programmers, some do it, some do other things, but there is no shortage of good programmers and certainly nothing that makes them so special they should be treated differently.

      You are a complete idiot if you think you are an programmer who can't be replaced, and worst off, you can probably be replaced by someone younger, better, and cheaper, that doesn't have this bullshit 'I'm a programmer and you can't survive without me cause the world revolves around me!' mentality.

      With a proper enviroment you can replace programmers easier than janitors in your organization. Fortunately for the arrogant bastards out there that call themselves programmers, many places aren't setup to do so, or don't realize they can. You look at the large, highly profitable businesses in the computer industry, the ones with large amounts of programmers, you'll see real quick that they are nothing but cogs in the machine and letting them go/firing them hardly makes a noticable dent in any schedules.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    64. Re:Don't be a douche by elgatozorbas · · Score: 1

      Reports are generally useful if many people work on something together. It may all be in your mind, and you may know what you are doing, but that doesn't necessarily mean everyone knows about it, or that in a year you won't have forgotten stuff that is obvious today. Some paperwork is useful, even for the Greatest on Earth. Not all of it is control and waste of time. If "I-do-my-job" is so high on your list, apparently, why can't you accept that reporting is also a part of your job, and asking you to report is part of your boss's job?

    65. Re:Don't be a douche by Lord_Dweomer · · Score: 1

      Screw that! The only position I have is sitting in my Aeron. The only duties I have is making lots of money for the firm and not getting a drunken quote in the NYT where names are involved. It's a simple life, but a satisfying one. I show up at work when I want, the company pays me what it thinks will keep me happy. No one is complaining, it's all at will.

      If that is really what your job description permits, then more power to you--I'm jealous even. But I'd be really surprised if that is actually the case and would be willing to bet that your boss would beg to differ as to what your specific job duties entailed.

      --
      Buy Steampunk Clothing Online!
    66. Re:Don't be a douche by Gorobei · · Score: 1

      Hey, my boss sits 3 feet away from me. Once a week, or so, he asks me to do something specific. 25% of the time I'll apologize and get to work on it. The other 75% of time, I'll tell him it's already implemented and in production - amazing how productive you can be when you listen to all the phone calls, etc, going on around you :)

    67. Re:Don't be a douche by leabre · · Score: 1

      These are creative people, and will resist things like status reports and hard work schedules.

      I'm a creative person and I can get fired for resisting status reports and missing deadlines. I don't see either as an obstacle to work, no matter what intensity of hatred I have for both. It is the frequency and detail level of status reports that become obstacles. It is also the ridiculousness of certain deadlines that become obstacles.

      Thanks,
      Leabre

    68. Re:Don't be a douche by Gorobei · · Score: 1

      Reporting is useful and part of my job. Reporting unimportant facts (like how many hours I worked this week, or why I flew to Tokyo) to stupid people is not.

      Simple, no?

    69. Re:Don't be a douche by Garen · · Score: 1

      I have to wonder what is entailed when you say "formal status reports." Perhaps yours are too onerous. I write a couple sentences every week, which doesn't take too much time at a minimum. If I want to write more I can--and do. I can provide links to an article I wrote in our internal wiki if the information is much more extensive.

      At first it seemed like just another waste of time, however, I can see how it can be useful: it can help prevent _in person_ meetings, when your whole team gets to see the status reports from your group.

    70. Re:Don't be a douche by Anonymous Coward · · Score: 0

      Where are the managers that "can evaluate the product as it is being created"? In most places I've worked managers take pride in not having that ability. ;)

    71. Re:Don't be a douche by Anonymous Coward · · Score: 0

      I completely understand why you are out of the "team lead business". It was better for everyone concerned.

    72. Re:Don't be a douche by Anonymous Coward · · Score: 0

      sounds like laziness to me. work harder or have your jobs ship abroad!

    73. Re:Don't be a douche by Anonymous Coward · · Score: 0

      hire someone young and talented as a graphic artist and pay them well. Make sure they have an interest in technology. They will try to engage with these old farts because they want to learn a lucrative skill. This sucker will take the brunt of the abuse, and then you in turn support them and help them advance and learn. Send them to conventions, spoil them rotten. I've seen this work in several settings, most recently in an academic setting with the laziest most ornery group of older state employed programmers you've ever seen, and they actually banded together and got work done to show up this young whipper snapper.

    74. Re:Don't be a douche by Anonymous Coward · · Score: 0

      If you don't care about the people that are working for you then just skip the preliminaries and go straight to managing a project full of Indian developers.

      Racist. Obviously you haven't lifted your head up long enough out of your own rear end to recognize the contributions of Indian software programmers in the valley and back in India.

    75. Re:Don't be a douche by sheph · · Score: 1

      It wasn't meant as a racist statement, and indeed there are many good programmers of Indian decent. I was referring to the outsourcing companies that are hosted in India. They typically hire programmers that can barely speak english, and have no idea what business requirements are. These companies are far more concerned with meeting the letter of their contract and getting paid as opposed to delivering a quality product. I've worked with an organization like this, and I've read about similar experiences from others. I have never heard about an outsourced develpment project that delivered anything worth selling. In fact, in many cases the code is so bad that it has to be scrapped. These types of projects can require terse management from the US side just to get the bare mimimum out of them, and my point was that if you are going to be that type of a manager then these types of projects would be better suited for you. I can see how what I said could be interpreted as a slam against Indian developers, but that's not what I meant.

      --
      I don't believe in karma, I just call it like I see it.
    76. Re:Don't be a douche by GWBasic · · Score: 1

      Status reports are a bunch of non-sense. Requiring your employees to file status reports tells me three things. 1) You don't know enough about what they are doing to manage them, 2) how long it should take, and 3) you don't trust them to work as professionals to deliver a quality product

      Actually, I think that a lack of written status reports is evidence of a failing work environment. In my case, when people stop paying attention to status reports; it shows that management is no longer paying attention to what's actually going on, even if I'm in regular verbal and visual communication.

      For example, at my current job I have to do a bi-weekly status report. It can sometimes take 30 minutes to write. While I know that it will serve as an objective list of my accomplishments; I use it to emphasize shortcomings in our current architecture. Some of my status reports are nice basically word-smithed versions of "I spent 3 days fixing a bug because some dolt doesn't know SQL and can't tell when to use an ID and when to use an object" or "WTF??? I stayed late last week tracking down a bug related to some dumbass overloading the == operator!"

    77. Re:Don't be a douche by GWBasic · · Score: 1

      The normal process for dealing with a problem-employee would be to talk about it. You know, stuff like: "Hey bob, what's up with your performance recently". And to closely monitor problem areas in order to find ways for improvment. Know what, it seems like that would be your actual job if you weren't all busy passing written self-assessments back and forth.

      It's a good start, however; a paper trail is often needed when a problem-employee is to be promoted to non-employee. In some cases it's because the company doesn't want to fire someone due to a personal issue between a manager and subordinate; in other cases it's a legal defense in case of a discrimination lawsuit.

      Even though written status reports might sound burdensome; they really are helpful when one needs to know what was going on at a particular point in time. Furthermore, if a status report is highly burdensome; while it can indicate poor management practice; it can also indicate a dangerous communication problem from the employee.

    78. Re:Don't be a douche by Kent+Recal · · Score: 1

      Well, I'll stick with my point: written reports are just no vehicle for a healthy work relationship. This may work in other professions but in the programming field it's simply a No-Go.
      Demanding a paper trail from everyone "just in case" just poisons the atmosphere for no good reason.

      A problem-employee doesn't normally show up overnight, it's a process. There will be plenty of opportunities to demand a paper-trail from this particular employee if that's really your weapon of choice. Yes, it may take a bit longer to actually get rid of him when the paperwork is not already in place. But if you have problem-employees often enough for that to bother you, you should really review your recruiting practices and overall corporate culture.

    79. Re:Don't be a douche by GWBasic · · Score: 1

      Well, I'll stick with my point: written reports are just no vehicle for a healthy work relationship.

      Perhaps in a small company. Perhaps I should state that the "hair that broke the camel's back" with my old employer was when a manager criticized my status report.

      The problem with verbal communication is that it gets forgotten. I have a wonderful work relationship with all of my peers; yet we still have a bi-weekly status report so we can keep track of what we did. In the long run, the status reports help us understand where we concentrated our time once our verbal communications are forgotten.

    80. Re:Don't be a douche by JohnGalt00 · · Score: 1

      I'm in sales and I've told a customer X feature will be ready by a certain date, and then without warning the dev team pushes it back several months, I'm screwed.

      Status reports don't protect sales from dev pushing back features. And I have *never* seen a sales guy read an engineer's status report.

      One of the parents is right about

      To take the lawyer example, the senior partner reviews the associate's draft. He's looking at the work, not a status report.

      Managers should be reviewing the engineer's work, not their status reports. Status reports are inefficient because they are write once, read once. Read once because the manager reads it once, sends status to his boss, and throws the thing away.

      I'm a team lead of about 10 engineers, and I spend more than half my day on email with other devs. 99% of the conversations are public. That paper trail is productive in terms of making progress on the product, *and* useful for the manager to figure out what we're doing.

  2. Um, duh by IceCreamGuy · · Score: 4, Funny

    Microsoft Project!

    1. Re:Um, duh by Cow+Jones · · Score: 2, Funny

      Two words: business hammocks.

      There's four places:
      There's the Hammock Hut, that's on third.
      There's Hammocks-R-Us, that's on third too.
      You got Put-Your-Butt-There - that's on third.
      Swing Low, Sweet Chariot...
      Matter of fact, they're all in the same complex; it's the hammock complex on third.

      Oh, the hammock district.

      That's right.

      --

      Ah, arrogance and stupidity, all in the same package. How efficient of you. -- Londo Mollari
  3. Seasoned Programmers? by ColdWetDog · · Score: 5, Funny

    11 herbs and spices?

    Salt / Pepper / Oregeno?

    TFA doesn't really help.

    --
    Faster! Faster! Faster would be better!
    1. Re:Seasoned Programmers? by Anonymous Coward · · Score: 5, Funny

      The question was "How do I manage seasoned programmers", not "How do I season managed programmers"!

    2. Re:Seasoned Programmers? by Anonymous Coward · · Score: 5, Informative

      http://www.hp.com/retiree/history/founders/packard/11rules.html

    3. Re:Seasoned Programmers? by dubbreak · · Score: 2

      q: What's the difference between a group seasoned programmers and a bunch of salted cod?

      --
      "If you are going through hell, keep going." - Winston Churchill
    4. Re:Seasoned Programmers? by geniusj · · Score: 5, Funny

      lipstick!

    5. Re:Seasoned Programmers? by Anonymous Coward · · Score: 2, Funny

      Whatever the case, just remember that you're there to serve programmers...

    6. Re:Seasoned Programmers? by Tuna_Shooter · · Score: 4, Funny

      Actually this is a Mel Gibson Joke...... when asked while filming the movie "Braveheart" what he was wearing under his kilt.... he replied nothing other than your mothers lipstick.

      --
      *--- Sometimes a majority only means that all the fools are on the same side. ---*
    7. Re:Seasoned Programmers? by electricbern · · Score: 1

      I tagged this "marinate". The lemon should help eliminate the bugs.

      --
      alias possession='chmod 666 satan && ls /dev > il && tail daemon.log'
    8. Re:Seasoned Programmers? by rally2xs · · Score: 0

      Basically, that's the Dale Carnagie Course.

    9. Re:Seasoned Programmers? by tomhudson · · Score: 5, Insightful

      Whatever the case, just remember that you're there to serve programmers...

      Actually, this is closer to the truth for MANY jobs than most managers would want to admit.

      In many jobs, the line employee has a better idea of what's going on, and the low-level nitty-gritty details of how to best achieve what has to be done, than the manager. Management of programmers should be about saying "these are the requirements', and NOT adding "and this is how you're going to achieve them". Rather, "These are the requirements; what do you need to make it happen, and how do you propose attacking it?"

      After all, as the article says

      Perhaps I should mention I am in my early 30s while the majority of the team constitute an older, wiser generation.

      ... also ... if you find resistance to the stated goal, maybe it's because they've "been there, done that" and your great idea isn't so hot after all.

      Too many people think "management" meand "dictate" instead of "collaborate".

    10. Re:Seasoned Programmers? by Anonymous Coward · · Score: 0

      Mel Gibson did NOT make that one up! It goes back wayyyyyy before 'Braveheart.'

    11. Re:Seasoned Programmers? by Dahamma · · Score: 1

      Whatever the case, just remember that you're there to serve programmers...

      I guess that's why they're seasoned.

    12. Re:Seasoned Programmers? by Tuna_Shooter · · Score: 1

      Your correct but i did'nt think i would get caught. :-)

      --
      *--- Sometimes a majority only means that all the fools are on the same side. ---*
  4. Key Point # 1 by Anonymous Coward · · Score: 2, Funny

    They must understand that you are the boss. They must answer to you, irregardless of what fancy degrees and experience they have. Without order, only chaotic code will result.

    1. Re:Key Point # 1 by Hal_Porter · · Score: 5, Funny

      Yeah, watch some documentaries about pack animals or life in prison. That should give you some ideas for ways to communicate that you are the Alpha Male.

      --
      echo -e 'global _start\n _start:\n mov eax, 2\n int 80h\n jmp _start' > a.asm; nasm a.asm -f elf; ld a.o -o a;
    2. Re:Key Point # 1 by Ethanol-fueled · · Score: 5, Funny

      No, just the opposite.

      The manager should come off as being "cool" and sympathetic to the programmers. The managers should let the programmers know that, since he is familiar with programming, he has a genuine interest(and is also paying attention to ensure that the programmers are doing their job right) into what exactly is going on as opposed to just walking around with a clipboard pretending to do work and pontificating about deadlines.

      Interact with the programmers and ask them questions so that you appear to care and humor them by letting them be the master, you the learner, and that will quickly dispel any "We're seasoned pros, why should we listen to that pipsqueak?"-type attitudes. Stress that you are "one of the boys" and poke fun at yourself with PHB jokes while demonstrating that you're obviously not a PHB.

    3. Re:Key Point # 1 by Anonymous Coward · · Score: 5, Funny

      You have a good point. However, you still should get modded +1 douche for using the word "irregardless".

    4. Re:Key Point # 1 by gEvil+(beta) · · Score: 5, Funny

      Yeah, watch some documentaries about pack animals or life in prison. That should give you some ideas for ways to communicate that you are the Alpha Male.

      Absolutely! Piss in the corner of their cubicles or offices. Hit on their wives/girlfriends when they come around. Make their property yours. Let those guys know who's boss!

      --
      This guy's the limit!
    5. Re:Key Point # 1 by Xoltri · · Score: 5, Funny

      Also, dry humping them is a sure fire way to express your dominance over them.

      --
      -Xoltri
    6. Re:Key Point # 1 by Bobby+Mahoney · · Score: 5, Funny

      [mutates and goes into chaotic rage upon reading the word "irregardless"]

      --
      !#&*
    7. Re:Key Point # 1 by Anonymous Coward · · Score: 0

      Hear hear

    8. Re:Key Point # 1 by mevets · · Score: 2, Insightful

      Shouldn't that be modded funny?

    9. Re:Key Point # 1 by BLQWME · · Score: 5, Insightful

      The key to managing people is the same as anything else in life. Treat them with respect and dignity. Remember, "do unto others".

      --
      "Nobody shoots anybody in the face unless you're a hit man or a video gamer"- Jack Thompson
    10. Re:Key Point # 1 by calmofthestorm · · Score: 1

      Sounds like somebody's got a case of the Mundays!

      --
      93rd rule of Slashdot: No matter how obvious my sarcasm is, my comment will be taken seriously by someone.
    11. Re:Key Point # 1 by naoursla · · Score: 5, Insightful

      I think you just described Micheal from "The Office."

    12. Re:Key Point # 1 by __aasqbs9791 · · Score: 2, Informative

      I don't think dry humping would get you too far in prison.

    13. Re:Key Point # 1 by Anonymous Coward · · Score: 1, Insightful

      I don't think dry humping would get you too far in prison.

      Depends on how far of a gurney ride it is from the yard to the morgue.

    14. Re:Key Point # 1 by Microsift · · Score: 4, Interesting

      Like anyone's going to listen to someone who thinks irregardless is a word, regardless of the merit of what they said

      --
      My other sig is extremely clever...
    15. Re:Key Point # 1 by multimediavt · · Score: 4, Informative

      I will add to this as I have "been there, done that." As a manager of a group of programmers it's your job to be the bridge between them and their ideas, thoughts, feelings about the project they are working on and the company they work for, and the management that you report to, get budget from, sets goals and, ultimately, pays your paycheck. As the middle man in this scenario you have to take the arrows from both sides and figure out how to keep the team together and motivated, as well as meet you budget and deliver a product on time. These are not easy things to do with youngsters that don't know any better, but even harder to do with more mature, "seasoned" programmers.

      What you need to understand is that as a new manager your role is to learn. The company hopes you learn from the mature programmers how best to get a project out the door. The programmers hope you learn how to balance your humanity with the needs of the company so their world doesn't get turned upside-down. My suggestion: Be as hands-on as possible with the project. This means that the unit you are in charge of becomes flat from an organizational perspective; only communication in and out of the group to and from upper management is filtered through you, and being the team leader when key decisions need to be made, differentiate you from the rest of the team. I have found that my teams respect me and my skills (both inside and outside the team's competency) better and I get to build a more human rapport with those on the team. You'll be surprised at how the mocking behavior will turn into good natured ribbing that you would expect in a tightly knit team. It won't completely eliminate malicious behavior because there's always someone in every group that will disagree with something you do, but it sure does let folks know you're not an armchair quarterback blindly following directives from upstairs. You will probably hone your programming chops in the process.

      Bottom line, create an environment of mutual respect and allow the social interactions to progress at their own rate. Keep the team focused and motivated by being in the thick of things with them. Remember, it's your team and if you don't take ownership/stewardship/responsibility for them then why should they or management care what happens? They won't, because you won't be a manager for long.

    16. Re:Key Point # 1 by Anonymous Coward · · Score: 0

      irregardless? I don't know what that word means, could you define it for me? It wasn't in the dictionary.

    17. Re:Key Point # 1 by Jimmy+King · · Score: 4, Funny

      I'm pretty sure they throw you in jail for doing unto others what I would have them do unto me without their permission.

    18. Re:Key Point # 1 by Anonymous Coward · · Score: 0

      The funny mod doesn't give karma

      The way to reward smart asses is with either informative or insightful

    19. Re:Key Point # 1 by sexconker · · Score: 1

      Irregardless is a very incromulent word.

    20. Re:Key Point # 1 by Anonymous Coward · · Score: 0

      However..."wet" humping them would get the point across better, and still be inline with the prison suggestion.

    21. Re:Key Point # 1 by PC+and+Sony+Fanboy · · Score: 1

      The manager should come off as being "cool" and sympathetic to the programmers.

      Yeah, if you want your employees to tell you what to do. You need to let them know that you don't know enough to do their job, but you do have targets and they need to be on board to get the job done. Either they work with you (and you with them), or they gtfo. Basically, treat them like adolescents, make them think that you're treating them like adults, but have clear expectations. Otherwise, they'll just screw you around.

      Most programmers think they're so much smarter than everyone outside of their field, and have no respect for their bosses. Most of them think they have aspergers, and will treat you like ass - the important thing is to make sure they do their work by setting expectations and you need to expect that they'll probably screw around 2-3 hours a day and still get their job done.

    22. Re:Key Point # 1 by Anonymous Coward · · Score: 0

      Get a newer dictionary? ...and while you're at it look up "living language".

    23. Re:Key Point # 1 by Anonymous Coward · · Score: 0

      Come on, you guys think "normalcy" is a word (it's not...the correct word is "normality"), so why pick on a fellow illiterate person? :-)

    24. Re:Key Point # 1 by abinkow · · Score: 3, Interesting

      This was a great comment. I would also add a couple of other things: 1) Unfortunately, as a manager you are also responsible to those outside the team as the representative of the team. This means that you really DO need the status reports, so you can honestly tell those outside the team what is going on. This is as important for the team members as for those outside; the team members WANT and NEED you to be that representative, so they can be creative, constructive, and complete their work without interference. One of my old bosses (the CIO of the company, at that time), had a great slogan: "Perception is reality". If those outside the team perceive that you have a handle on things (even if you don't), they will leave the team alone to get things done. Similarly, if the team perceives that you are shielding them from the outside pressure (even if you aren't succeeding), they will be willing to put up with a little "management intrusion" into their creative processes. 2) Sometimes, it's good to disguise things. For example, several years ago I took over a team from another project manager. This project manager had a half-hour meeting every morning, where each member of the team (15-25 people) stated what they had done yesterday, the hours spent on each task, what they planned to do today, and how many hours they had available. My upper management insisted that these meetings continue. Needless to say, they did not go over big with the team. So, I changed the meeting to a problem-solving session; someone would throw a problem on the table, and the whole team would present solutions. I facilitated, using my technical knowledge to bring the right skillsets to bear, come up with a potential solution, and assign the details of testing that solution to team members (even if they weren't the original programmer). As this problem solving went on, I gathered enough information to determine who was on and off schedule, which allowed me to manage the schedule and the budget. Quality went WAY up.

    25. Re:Key Point # 1 by unlametheweak · · Score: 1

      Remember, it's your team and if you don't take ownership/stewardship/responsibility for them then why should they or management care what happens?

      Claiming ownership and alpha-male dominance of a team has nothing to do with teamwork and everything to do with American College Football.

    26. Re:Key Point # 1 by Anonymous Coward · · Score: 0

      I think you should beat the crap out of them until they learn and know who's boss. Just kidding - be engaged with the people who work for you

    27. Re:Key Point # 1 by cyberon22 · · Score: 1

      Offices?

      His first step should be getting rid of those so he can keep the staff under constant surveillance, and ideally packed four or six to a table to maximize team communication and learning. Follow agile development methods and experiment with seating arrangements before locking things down and setting up the camera so you can monitor from home if needed.

      Make sure none of them have keys to the office and set up a punchcard machine. Link punctuality to pay and make sure they work weekends once in a while too (a measure of team devotion). I'd also recommend keeping the washroom locked and having a signout sheet for the key so you can monitor whether they are wasting time or drinking too much coffee. Hover when possible.

    28. Re:Key Point # 1 by Anonymous Coward · · Score: 0

      I would also add "keep probing and thinking". Bad things may become fixable and good things may become bad.

      Problems that have to be accepted may be addressable in a few months or years. It's easy for big obstacles to become entrenched in our minds. E.g., a continuous integration server would be nice but there is no time to set one up because of a critical deadline. Once the deadline has passed, re-examine the issue and set it up, if possible.

      Good developers, if left unattended, may become bad developers. Burnout and boredom can cause slipping quality and some people need structure to do well. Keep expectations known and enforced. If quality slips, find out why. It's better to help a bored programmer move on than to let them fall into a slump that may, eventually, end up in a firing.

    29. Re:Key Point # 1 by Kent+Recal · · Score: 1

      This is definately a good finishing move for meetings and such.
      In addition I'd suggest to get into a habit of dealing a few good drive-by slaps in the neck whenever you're on your way through the office. People just love that, it makes them feel like a true part of the family.

      For the inevitable occassion of someone questioning your authority, e.g. by making eye contact while being instructed by you, I'd suggest a good, educational backhand slap in the face. In healthy doses ofcourse! That means repeatedly if the situation demands it. This not only helps the offender to understand his mistake better, it also provides valuable guidance for all other members.

    30. Re:Key Point # 1 by K.+S.+Kyosuke · · Score: 1
      I am sure you wanted to write:

      "They must answer to you, irregardless of what fancy degrees, experience and level of proficiency in English they have."

      --
      Ezekiel 23:20
    31. Re:Key Point # 1 by K.+S.+Kyosuke · · Score: 1

      That's because "irregardless" it the third worst word, just after "Windows(r)" and "Microsoft(TM)(R)(C)(D'tCTF)". BTW, GP didn't seem to offer anything else worth commenting, anyway. ;-)

      --
      Ezekiel 23:20
    32. Re:Key Point # 1 by nateb · · Score: 2, Insightful
      You may think it a joke, but I find that this works well in real life... Many a time I've been able to scare other males away just by my posture, distance to my most familiar mate, or simply by out maneuvering them around other people. As a strong, big, tall, $RACE male, it's been extremely nice. You cannot discount the thoughts of others in your plans.

      Ah, were I only 10 years younger with this strong mentality now! Had I known these things then I would be in a much better place. Alas, I have no son to pass this knowledge to, so I post it to Slashdot. You guys are so lucky. 8-)

      --
      -- Nate
    33. Re:Key Point # 1 by try_anything · · Score: 3, Insightful

      There's an alternative theory of human social structure, in which men naturally organize themselves into a hunting band with one leader over a group of more-or-less-equals. The leader maintains his position because the other guys like him and trust that they will be successful under his leadership. The leader usually isn't even be the roughest, toughest guy. The biggest sin in this kind of group is overvaluing yourself relative to your contribution to the group: arrogance and selfishness are punished.

      That's quite different from wolf pack model where there's a heirarchy from the strongest at the top to the weakest at the bottom. The only sin in a wolf pack is weakness: weakness is punished ruthlessly.

      In a wolf pack model, the manager would have to be the best coder, the strongest personality, or the toughest hombre. But in real life the manager is usually a poor (or washed up) coder who is allowed to play a "superior" role because the people under him believe the group will be successful under his leadership. Managers who believe they are better than their underlings face constant undermining and insubordination.

    34. Re:Key Point # 1 by Fred_A · · Score: 1

      [mutates and goes into chaotic rage upon reading the word "irregardless"]

      Some dictionaries appear to say you can use it unregardless of what people think.

      Those dictionaries should be burned.

      --

      May contain traces of nut.
      Made from the freshest electrons.
    35. Re:Key Point # 1 by dwarfking · · Score: 1

      Another item that has served me well is the philosophy share the credit, take the blame. Projects will falter, people will make mistakes and specifically in a group where everyone is experienced, there will be friction as to direction as each has their preferred approach and sometimes there will be resistance.

      You need to be clear that you are the final decision maker in these situations after you've listened to the options. But, you also need to understand that when your bosses are questioning you as to why your project is late, you don't deflect the cause to one of your team. You take the heat then go back and put pressure on your team yourself. This will earn you respect from both your team and your leadership.

      Conversely, when someone on the team goes above and beyond, be sure to let your bosses know. A manager looks best when his/her team looks good and it will enhance your career. Executive leadership usually isn't interested in excuses, they just want solutions.

      And to the comment earlier that said experienced programmers don't like status reports, that may be true, but we all do things we don't like. It is part of the job. As the manager, though, you set the style. On my teams I have my folks send me weekly emails, simple bullet points of where they are with activities and any issues they need escalated. I know some managers that require their teams to put status reports in the format they have to send to their leadership so they only have to copy and paste. Don't do that. By you taking their simple status lists and reformatting them, you actually end up reading them so you know the details. I sit in staff meetings with peers who have no idea what is going on in their teams and always answer questions with "I'll check with <insert team member here> and get back to you."

      Don't over burden your team with administrivia, but you can't let them off the hook entirely. They are employees, they are getting paid, so there are just some things that we all have to do whether we want to or not.

      And lastly, don't spin your wheels. As a new manager, if you run into issues you have problems with, reach out to a manager you respect and ask for advice. You're in a new learning mode now as well, take advantage of resources available to you.

    36. Re:Key Point # 1 by Anonymous Coward · · Score: 1, Funny

      You have a good point. However, you still should get modded +1 douche for using the word "irregardless".

      You mean ...non-word...

    37. Re:Key Point # 1 by stewbacca · · Score: 1

      You word nazis suck. There is nothing more elitist than picking on people who use the word irregardless. It's in the dictionary meaning, "regardless" and is a blend of "regardless" and "irrespective". The only caveat is that it is considered to be "incorrect" by "careful" users of English--elitist jackasses on slashdot who think they are smarter than everyone else.

    38. Re:Key Point # 1 by Anonymous Coward · · Score: 0

      > One of my old bosses (the CIO of the company, at that time), had a great slogan: "Perception is reality".

      I always take issue with that claim. Perception is NOT reality; perception is an interface!

    39. Re:Key Point # 1 by Anonymous Coward · · Score: 0

      "Irregardless" is a word, albeit non-preferred, per both the Merriam-Webster and Random House dictionaries. BTW, if you're going to be a grammar Nazi, you should really check to make sure your post is clean (someone = singular, they = plural).

    40. Re:Key Point # 1 by Anonymous Coward · · Score: 0

      > The only caveat is that it is considered to be "incorrect" by "careful" users of English--elitist jackasses on slashdot who think they are smarter than everyone else.

      No, it's considered incorrect by those who understand that there are standards for English writing, understand the reasons for those standards, and who know how to fucking write. It is not "elitist" to recognize a mistake when you see one!

    41. Re:Key Point # 1 by stewbacca · · Score: 1

      Thanks for lecturing me. I am a writer, albeit a Tech Writer. Irrespective (err, irregardless) of what you think, "Irregardless" is listed in pretty much every reference source as meaning "regardless". You can argue stylistically against its use, but saying it is not a word or is a mistake is elitist.

    42. Re:Key Point # 1 by Anonymous Coward · · Score: 0

      Yes, but all those references contain usage notes about how it is nonstandard, controversial, and should be avoided in favor of "regardless."

      Seriously, if you are a professional writer and you use "irregardless," I question your competence. That's not elitism, it's just sound professional judgment.

    43. Re:Key Point # 1 by Garen · · Score: 1

      ... My suggestion: Be as hands-on as possible with the project. This means that the unit you are in charge of becomes flat from an organizational perspective; only communication in and out of the group to and from upper management is filtered through you, and being the team leader when key decisions need to be made, differentiate you from the rest of the team...

      Excellent suggestion. By isolating communication to go through you, you can misreport anything that comes from your team--including taking credit (or exaggerating your role) for any of their good ideas--and if anything bad should happen you need only blame one of them. Meanwhile you can maintain the impression that all is well to your team, and play both sides against each other if it suits your purposes.
      DevilsAdvocate++;

    44. Re:Key Point # 1 by Anonymous Coward · · Score: 0

      ...create an environment of mutual respect and allow the social interactions to progress at their own rate.

      Hi, welcome to Slashdot. You must be new here. Social interactions progressing at their own rate will take a while, so while you're waiting, why not have a look around at other Ask Slashdot posts for excellent advice.

    45. Re:Key Point # 1 by Anonymous Coward · · Score: 0

      As opposed to wet humping?

    46. Re:Key Point # 1 by __aasqbs9791 · · Score: 1

      LOL, okay, I suppose it is true in a literal sense.

    47. Re:Key Point # 1 by Xylene2301 · · Score: 1

      Hell...Piss on 'em!

    48. Re:Key Point # 1 by Microsift · · Score: 1

      Snap!

      --
      My other sig is extremely clever...
  5. Specs by Coneasfast · · Score: 5, Informative

    As a programmer, the thing I hate the most is having to redo code over again due to poor specs or bad design docs. Make sure they are organized and have the correct specifications.

    --
    Marge, get me your address book, 4 beers, and my conversation hat.
    1. Re:Specs by Fulcrum+of+Evil · · Score: 5, Insightful

      Or admit that the requirements are somewhat in flux and take an iterative approach. There's nothing wrong with building a small chunk of the app all the way through, then expanding it. Depending on the specific app, of course.

      --
      "We returned the General to El Salvador, or maybe Guatemala, it's difficult to tell from 10,000 feet"
    2. Re:Specs by the_banjomatic · · Score: 5, Insightful

      Or no specs at all. The last thing I want as an engineer is someone to come to me with their own solution they want me to implement.

      Good software engineers enjoy solving tough problems. So present them with the problems you are trying to solve and let them come up with their own solutions

    3. Re:Specs by Hognoxious · · Score: 5, Funny

      A proper functional spec does describe the problem.

      Or so I'm told, I've never actually seen one.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    4. Re:Specs by thegnu · · Score: 1

      Good advice, but if that's the case, I would put together specs, then have a meeting about them.

      I mean, being organized is not that hard, and if people's feelings get hurt because one or two of their ideas are shitty, they are definitely NOT wiser. Older, maybe.

      --
      Please stop stalking me, bro.
    5. Re:Specs by Hassman · · Score: 2, Informative

      Noooo... No specs means no one knows what is built or why. 6 months later when something changes, there is no baseline!

      That said specs != a detailed plan on what to build, how and with what technologies / architectures. Specs = exact requirements as to what the business wants. You as the engineer get to figure out the how part.

      --
      -Mark
      Dovie'andi se tovya sagain.
    6. Re:Specs by frosty_tsm · · Score: 2, Interesting

      Kind of related to this is decision making. Don't put a decision off to make sure we know 100% the best possible solution. Usually a good-enough solution will work until more is known about the problem (especially if it contributes to the later solutions).

      I've seen near a year lost on a project because management couldn't make the decision everyone knew they would.

    7. Re:Specs by Anonymous Coward · · Score: 0

      This guy pretty much represents the typical response you'll get from your programmers anytime you want to change something so you might as well leave behind the nice guy persona. This is war my friend. I recommend picking one of the programmers that is the most difficult to get along with and firing them. This will motivate the others to take food from your hand and not snarl at you. Managing programmers is hard work. You won't be their friend - think more like lion tamer. But at the end of the day if you can take the highly intelligent arrogant programmers and build a product that meets the clients needs then you'll feel good about yourself even though others may gripe about you or bad specs (like is there any other kind in an industry where product generations roll at the rate of like 1 a year).

      Signed - been their done that.

      Oh, and have a nice day :-)

    8. Re:Specs by Anonymous Coward · · Score: 0

      As long as the code is short, readable, not repeated and is business oriented and not full of "smart hacks" which get in the way of what the business is asking for.

    9. Re:Specs by thetoadwarrior · · Score: 1

      Exactly.

      I hate getting specs that try to tell you how everything should be down to every little detail.

      I know, I know, I 'm being an ungrateful shit who wants to do their job. These are marketing people and they know all about development. I'm just there to copy and paste the code they told me to use.

    10. Re:Specs by Anonymous Coward · · Score: 0

      Reminds me of an old cartoon we had posted in our development lab: "You guys start coding - I'll go find out what the requirements are..."

    11. Re:Specs by Anonymous Coward · · Score: 0

      been their done that!?

      No wonder the coders hated you.

    12. Re:Specs by Anonymous Coward · · Score: 0

      I have yet to see what is considered a good spec. Sometimes they are these huge documents that programmers don't end up reading while other times the spec is just too sparse (some notes written on a back of a napkin). I'm still searching for the holy grail of something in between.

      Any one have examples of some well written specs?

    13. Re:Specs by H0p313ss · · Score: 1

      A proper functional spec does describe the problem.

      Or so I'm told, I've never actually seen one.

      I've seen the spectrum of quality... sadly most tend towards the completely useless.

      --
      XML is a known as a key material required to create SMD: Software of Mass Destruction
    14. Re:Specs by Anonymous Coward · · Score: 0

      Yah, fuck you dude. You're still gonna pay for firing me. I'm just biding my time for now. I wasn't hard to get along with, you were just a weak manager who was full of shit.

    15. Re:Specs by dindi · · Score: 1

      +1 what can I say. Me (code monkey) and the DBA spent 1+ month writing one damn online one page report with one popup, because the specs did not exist technically, and because they kept coming back with: " oh can you add that it displays XYZ too?" crap. ONE MONTH on something we could have done in 3 days if they came up with all the shit beforehand..... well ... and then there are the idiots who do not test, and come back to you.

      My 9-5 and my freelancing is hell and heaven. I (freelance) make a spec, make them accept, pay %, develop, test. Accepted: pay, not, fix.

      After that they want an extra dot on it: quote, accept, code, pay. And so on.....

      So simple. It is common sense, you go to the mechanic and pay for a mirror change. He does it, you pay. YOU CAN NOT GO BACK and ask for a WIPER CHANGE without asking for a quote and pay more, but if the mirror is not working, he has to fix it.

      SIMPLE. CLIENTS = IDIOTS. NOT SIMPLE !

    16. Re:Specs by iocat · · Score: 1

      I agree with this, and to the extent you can, keep the early project meetings open to as large a group as possible, to get buy in and ideas. (No one likes being dictated to.) Once you're rolling, you need heriarchy and task lists (potentially including weekly A&Os from all your leads or everyone), but at the start, keep it broad and happy.
       

      Being like "Here's the problem. Management wants X functionality at Y timeframe, what's the best way to tackle this, how close can we get, etc." gets a lot more buy-in than "We need X by Y. End of Story." Some guys mistake the former for weakes and the later for strength as a manager, but those are the aforementioned "douchebags" everyone keeps talking about. The former allows for solutions that are not X by Y, (assuming that's unreasonable) but could be along the lines of "well, we can do .85X by Y and 1.25X by 1.3Y" Basically, you're getting options you can take upstairs and not look like a douchebag. And you're not giving your guys some rigid, illogical parameters.

      Lastly, be supportive. If some guy is crunching, buy him lunch -- and don't bug him for his TPS report. If you can, bring in a barbeque and cook for the whole team (this may not be practical in, say, a sky-scraper). Pay attention and ask detailed questions. I don't mean micromanage, but if some low-level engineer is writing task lists weekly, actually read them , and be able to ask him questions about them that are half-way intelligent. (Which you can do if you yourself are smart, even if you don't totally understand what he is doing.)

      --

      Dude, I think I can see my house from here.

    17. Re:Specs by asc99c · · Score: 1

      I agree with you, but this may not be possible if you're working for a customer, rather than an internal project. I'm currently doing team leader work and responsible for giving work to the guys on the team, but even I can't get a decent spec.

      I'm also getting incredibly annoyed at being asked to implement stupid specifications. But if the customer will not accept the advice I give, there is little I can do. The best I can do is try to shield programmers from criticism when the changes don't work operationally - frequently for reasons I put in writing to the customer.

      And I'm not a salesman and don't want to be - I'm often suggesting simpler and cheaper alternatives that will do a better job, yet still ending up implementing an overcomplex and underperforming system.

    18. Re:Specs by complete+loony · · Score: 1

      One of my pet peeves is analysts who think they know how to write software. Or who think they know the exact steps the software should perform. If you are producing a spec for someone to implement, tell the developer "why" not "how". Don't waste your time mocking up a screen shot unless it helps to explain "why". Don't get bogged down explaining each little step you think needs to be done. Your most important job is to give the developer a concise description of the requirements in one place.

      I've seen the result of analysts trying to explain how the software should function, given to green developers who try to do exactly what was requested, come back time and again because the big picture didn't hang together or it wasn't what the customer needed.

      And developers, put the "why" into comments in the source code. Make sure you leave enough crumbs around for the next maintainer to understand the motivation of the code. My personal belief is that most specs and documentation should all be produced from the source code. Ideally the entire process from requirements gathering to finished product should be focused towards building the source code and comments that document it.

      --
      09F91102 no, 455FE104 nope, F190A1E8 uh-uh, 7A5F8A09 that's not it, C87294CE no. Ah! 452F6E403CDF10714E41DFAA257D313F.
    19. Re:Specs by Bocconcini · · Score: 1

      Kind of related to this is decision making. Don't put a decision off to make sure we know 100% the best possible solution. Usually a good-enough solution will work until more is known about the problem (especially if it contributes to the later solutions).

      I've seen near a year lost on a project because management couldn't make the decision everyone knew they would.

      There is actually an interesting parallel to this coming from the Lean software development ideology. You shouldn't make a decision until the last responsible moment, when you have the maximum amount of information.

      I know, easier said than done.

    20. Re:Specs by Fred_A · · Score: 1

      The only proper specs I've ever seen were RFCs (not all RFCs, but some of them).

      Some of the most entertaining ones to use when implementing something where from the CCITT (now ITUT). The fact that they all started with "working group 'blah', 1985, Seychelles" made me hate them even more.

      --

      May contain traces of nut.
      Made from the freshest electrons.
    21. Re:Specs by JAlexoi · · Score: 1

      There is one more thing:
      Dev's need to be aware where the business side would want flexibility and extensibility in the code(functionality). That saves a lot of time in design and implementation.

    22. Re:Specs by Anonymous Coward · · Score: 0

      Business almost never communicates that sort of thing, and when they do, they often guess wrong - just like devs. My preference is for coding in minimal flexibility outside of obvious things and good design and refactoring later; overall, it's faster.

    23. Re:Specs by CodeBuster · · Score: 1

      While it is true that a well designed and abstracted piece of code should be able to develop independently from its eventual concrete dependencies, it takes more advanced developers who are familiar with design patterns and software engineering principles to properly inject and implement that strategy (puns intended for all of the developers out there). Not every manager has access to such high quality programming staff.

  6. Really, there's only one thing... by girlintraining · · Score: 5, Informative

    The big problem I see in people who are tech managers is a lack of understanding of project management. They're fine with people, if not missing some subtlety here and there, and it sounds like you've got a team that has few personnel problems. So focus on building your project management talents, which is about deadlines, coming up with objective measurements for progress, and setting realistic goals. Your team should be able to tell you where the trouble spots will be in the development cycle, how fast they expect to overcome each obstacle, and help you plot a roadmap, but only if you ask the right questions.

    --
    #fuckbeta #iamslashdot #dicemustdie
    1. Re:Really, there's only one thing... by Red+Flayer · · Score: 1

      I recommend Kerzner's books on project management (Wiley & Sons), they have been very useful to me.

      Since your question relates specifically to managing the team, I suggest Turner's "People in Project Management" (Gower)... while useful, you will find this most useful if you already have a foundation in project management.

      --
      "Trolls they were, but filled with the evil will of their master: a fell race..." -- J.R.R. Tolkien on Olog-hai
    2. Re:Really, there's only one thing... by DiegoBravo · · Score: 1

      Good advise... and be yourself. Once I was working for a software company where the manager I reported was well trained in Project Mgmt while he didn't really understand anything about the technical issues... but he tried to look as he did!!! at the end he was by large considered just a "poor dumb guy", and he never (because of shyness) could ask the standard (yet basic for a programmer) questions he would need to take actions.

      The result was always out of schedule and low quality products.

      BTW, that guy always managed to look good in the global project scores (for example, filling the correct forms in order to officially extend a project), and the "quality" was supposedly well assured because we complied with all the boring and useless ISO documentation.

  7. Sorry by binarylarry · · Score: 0, Flamebait

    You ARE Bill Lumbergh. You aren't going to fool most of these guys into believing otherwise. Your best bet is to stay the fuck out of the way and order things when things need to be ordered.

    Remember, you are basically a glorified secretary. You don't actually DO anything. So don't forget that and get them coffee when they ask for it.

    --
    Mod me down, my New Earth Global Warmingist friends!
    1. Re:Sorry by Anonymous Coward · · Score: 1, Insightful

      I'm assuming you're either physically or mentally in your 20s and don't understand anything about business. Hopefully, you will mature as you gain in years.

    2. Re:Sorry by Anonymous Coward · · Score: 1, Informative

      Your comment proves that you are merely another of the "slashtards" your sig mentions.

    3. Re:Sorry by Anonymous Coward · · Score: 0

      "(Score:2, Flamebait)"
       
      'nuff said.

    4. Re:Sorry by Anonymous Coward · · Score: 0, Troll

      Sometimes, people post as AC because they don't want to bother looking back for a response from a "slashtard" that is obviously not going to offer anything intelligent or interesting and, as the previous AC pointed, is either physically or mentally in their 20s. (Although that seems a bit unfair - Not many people over 21 come across as as big a douche as you do).

      [In this case you can narrow down my actual account rather than just AC - I'm one of the people that 'Freaked' you today.]

    5. Re:Sorry by binarylarry · · Score: 1, Insightful

      Shucks, did the cold reality of my words damage your world view?

      It used to be that to be "in charge," it was because you had the experience in the field and knew the business/process better than anyone else. That's why you were in charge. Not because you kissed the right ass and took specific "management" classes in school.

      If so, I am eternally sorry.

      After all, I don't want my wittle csartanis bear getting his feelings hurt on Slashdot.

      *makes kissy face*

      --
      Mod me down, my New Earth Global Warmingist friends!
    6. Re:Sorry by Anonymous Coward · · Score: 0

      you are basically a glorified secretary. You don't actually DO anything

      You have obviously once been a glorified secretary. Did it hurt much?

    7. Re:Sorry by Anonymous Coward · · Score: 0

      Put some Schweppes in that Compari, Princess.

    8. Re:Sorry by thetoadwarrior · · Score: 1

      You're clearly in management because you've produced nothing of value and managed to piss off the people with talent.

    9. Re:Sorry by binarylarry · · Score: 1

      Did it hurt when you fell from heaven?

      --
      Mod me down, my New Earth Global Warmingist friends!
    10. Re:Sorry by Anonymous Coward · · Score: 0

      Look, I take the God damn specs from the customers and give them to the engineers!

    11. Re:Sorry by Dan541 · · Score: 1

      Sometimes, people post as AC because they don't want to bother looking back for a response from a "slashtard" that is obviously not going to offer anything intelligent or interesting and,

      No it's called Anonymous "Coward" for a reason. People post as AC because they have no backbone and don't want to be called on the verbal diarrhoea they spew.

      --
      An SQL query goes to a bar, walks up to a table and asks, "Mind if I join you?"
    12. Re:Sorry by elgatozorbas · · Score: 1

      Why would everybody "in charge" have gotten there by kissing ass? My previous boss managed 5 teams (of 1 to 3 persons, I was a one-man team), none of which he would have been able to replace because he didn't know the technical details of any team's work. But he was a great boss, great manager and did exactly what he needed to do, i.e. from all management decisions filter out the things any of his people needed to do, tell them and follow-up. And give them the resources.

      Without these "glorified secretaries", most companies would collapse.

  8. $$$$$$$$ money money money!!! by Anonymous Coward · · Score: 0

    Mo money mo money mo money!

    Just in case I know you in person.

  9. Seasoned programmers... by gluefish · · Score: 1, Insightful

    Read up on Agile. As a programmer I have felt the most empowered, gotten the most enjoyment, and positive feedback, by working in an Agile scrum team.

    --
    I'd rather have a free bottle in front of me than a prefrontal lobotomy.
    1. Re:Seasoned programmers... by Anonymous Coward · · Score: 0

      Dont do this. Agile is fucking retarded.

    2. Re:Seasoned programmers... by Rinisari · · Score: 4, Insightful

      Read Hackers and Painters and Mythical Man Month, especially the latter.

      Know this: checking in on your developers via a bug tracking system is probably advisable instead of constantly walking in and saying, "What's happening." Note period instead of a question mark.

    3. Re:Seasoned programmers... by gordlea · · Score: 1

      Read up on Agile.
      As a programmer I have felt the most empowered, gotten the most enjoyment, and positive feedback, by working in an Agile scrum team.

      I second this; the agile process works quite well. If you're new to the process, attend a scrum master course.

      It emphasizes transparency and makes problems apparent much earlier than traditional processes.

      See: http://agilemanifesto.org/

      --

      Choose yer poison: Prophets or Profits

    4. Re:Seasoned programmers... by Gothmolly · · Score: 2, Insightful

      But did you actually produce anything?

      --
      I want to delete my account but Slashdot doesn't allow it.
    5. Re:Seasoned programmers... by thetoadwarrior · · Score: 1

      Agile is new age emo namby pamby stuff.

      Jackson Structured Programming ftw.

    6. Re:Seasoned programmers... by Anonymous Coward · · Score: 0

      Another good book is Managing Einsteins

    7. Re:Seasoned programmers... by xero314 · · Score: 1

      As a programmer I have felt the most empowered, gotten the most enjoyment, and positive feedback, by working in an Agile scrum team.

      Please take note that the above comment does says absolutely nothing about productivity.

    8. Re:Seasoned programmers... by xero314 · · Score: 1

      Just wanted to add that you should also read Chief programmer team management of production programming by F. T. Baker. This is the study that eventually lead to Brook's Surgical Teams in Mythical Man Month.

    9. Re:Seasoned programmers... by martyros · · Score: 1

      On the subject of management in general, may I also recommend: First, Break All the Rules. The advice in the book is backed by 25 years of actual research into correlation between management and business outcomes of productivity, profitability, retention, and customer satisfaction. And it just makes a lot of sense.

      --

      TCP: Why the Internet is full of SYN.

    10. Re:Seasoned programmers... by Anonymous Coward · · Score: 0

      I use the service of assembla.com and it works fine for my team.

      We tried several method to keep our team synchronized and motivated, their interface is quiet simple, ask everybody in your team to scrum report every day, it only takes a few minutes and it allow you to follow up the action.

  10. Beer by retech · · Score: 5, Insightful

    Beer, wine, whiskey and good food.

    Seriously, they're people. You make it sound like you're some exotic zoo keeper and you need to know what to do when they present their glowing red ass.

    Why don't you think: "How would I like to be treated?" With respect, open communication, acknowledgment of work done, incentive for above and beyond... and learn who they are.

    The fact that you cared enough to ask is a big step.

    1. Re:Beer by Anonymous Coward · · Score: 1, Insightful

      I had a manager who spent our teambuilding exercise fund on a trip to a bar and we spent it on pizza and beer. We were the only group in electronics division to ever get anything done on time (we got everything done on time) and were easily the closest knot group.

    2. Re:Beer by Weegee_101 · · Score: 2, Insightful

      Seriously, they're people. You make it sound like you're some exotic zoo keeper and you need to know what to do when they present their glowing red ass.

      Extremely true. Stop looking at them as subordinates and start looking at them as team mates on the same team and morale will improve. If someone slips though, make sure that they understand that you still are in charge, and you've got the last say in any business matter.

    3. Re:Beer by Dmala · · Score: 5, Funny

      You make it sound like you're some exotic zoo keeper and you need to know what to do when they present their glowing red ass.

      You know actually, I'd love to know what the correct response is when a programmer does this. I generally just run away.

    4. Re:Beer by morgan_greywolf · · Score: 1

      You wouldn't understand. It's a programmer thing. Go write a few hundred thousand lines of C, Python or Java and then you'll know.

    5. Re:Beer by thegnu · · Score: 1

      That depends. Are they going, "Huuuu! Huuuu!" or "I herd u liek mudkips?"

      --
      Please stop stalking me, bro.
    6. Re:Beer by shutdown+-p+now · · Score: 1

      You know actually, I'd love to know what the correct response is when a programmer does this. I generally just run away.

      You gently pat them on the ass - gently! - and say something cheerful, such as, "good boy, here's some pizza for you".

      What do you mean, "where did the pizza come from?". You should always have that around when you're managing programmers!

    7. Re:Beer by Anonymous Coward · · Score: 0

      Do you mean managing them or leading them?

      I thought the question was about management, not about leading them.

      Managers care about the business. Leaders care about the people. You can do both, of course. But there is always a primary role and a secondary role.

    8. Re:Beer by Anonymous Coward · · Score: 0

      anon, because this is from experience. Nerf gun works, smacking their ass doesn't fly with HR. Don't ask my how I know.

    9. Re:Beer by griffinme · · Score: 1

      That is one of the best team building exercises I have ever been on. It just happened once when I was a middle manager. "Hey, lets go to the bar after work." You can't force it or it is just more work. Have some fun, be yourself, and get loaded enough that you say some things you normally wouldn't(this does not mean making a pass at the decent looking girl on the team). Someone else mentioned taking arrows from both sides. Really the job is about explaining to both sides why they are firing arrows. Get to know your team. Know who is married, how many kids they have and what they are doing outside of work for fun. Even better know what is stressing them outside of work. If they know you care about them as people and show appreciation when they do a good job they will run through walls for you. Realize most people are sheep and would rather have decisions made for them and be willing to do so. Do not confuse this with being stupid. Figure out who are the influencers are. They are the ones leading the crowd. Talk with them, get to be close enough that you can talk them and get them on your team and the rest will follow.

      Did I mention getting to know your team? ;-)

      --
      Is he strong? Listen bud, He's got radioactive blood.
    10. Re:Beer by Anonymous Coward · · Score: 0

      >> You make it sound like you're some exotic zoo
      >> keeper and you need to know what to do when they
      >> present their glowing red ass.
      >
      > You know actually, I'd love to know what the
      > correct response is when a programmer does this.
      > I generally just run away.

      You are a manager? You going away is pretty much the effect we are aiming for when we do it.

    11. Re:Beer by elgatozorbas · · Score: 1

      Seriously, they're people. You make it sound like you're some exotic zoo keeper and you need to know what to do when they present their glowing red ass.

      To be honest, judging from some of the comments here, that is an idea programmers seem to want to promote themselves, because they are more special and gifted than normal human beings.

      I'm not trolling here. Just scroll up and you'll see.

    12. Re:Beer by CAIMLAS · · Score: 1

      There's been medication on the market available for that for quite some time.

      --
      ~/ssh slashdot.org ssh: connect to host slashdot.org port 22: too many beers
  11. Go with a standard approach by Skyshadow · · Score: 1
    Go with a standard working approach, at least until you get your legs under you.

    A lot of very smart people have put a lot of time in figuring out good methods of managing development, so there's no need to come in and re-invent the wheel.

    I recommend finding an Agile training class someplace and learning how to manage a team using Scrum development -- it's a dandy way to go about things, developers tend to like it and it'll keep your business-side guys happy. I'd also pick up and read "Scrum from the Trenches" by Henrik Kniberg, which helped me with implementation of ideas I knew in concept.

    Once you've got a grounding, you can move on from there and make tweaks.

    --
    Every year during my review, I just pray the words "slashdot.org" aren't mentioned.
  12. Managing seasoned coders by gormanw · · Score: 0

    Were I you, the first thing is to observe your team to identify their personalities, leaders, and quirks. Secondly, clearly set out expectations and how you measure success. Thirdly, communicate regularly. Remind them of your requirements and ask them to tell you how you are doing as manager. Finally, don't tell them how to do their job. They are adults. Managers not only set the tone and lead, but they also support and protect their employees. Ask them where you can run interference or otherwise make doing their jobs just a little bit easier. Honest communication and feedback makes this happen.

    1. Re:Managing seasoned coders by Red+Flayer · · Score: 1

      Were I you, the first thing is to observe your team to identify their personalities, leaders, and quirks.

      Yeah, cause no one resents a new boos hovering over them to figure out what's what. Observing your team from a distance is a great way to ensure that they feel there is a divide between you and them.

      Meet with your team informally (a business lunch works well) to get to know them. Then have formal meetings for project status, concerns, etc. You'll be able to figure out what's what in those meetings. Then meet with your team members frequently. Get them involved in the decision-making process. Get them to contribute to the point they feel they are co-authors of the meaty parts of the project plan... and if you do it right, they should be co-authors.

      --
      "Trolls they were, but filled with the evil will of their master: a fell race..." -- J.R.R. Tolkien on Olog-hai
    2. Re:Managing seasoned coders by gormanw · · Score: 0

      Perhaps you shouldn't conclude that observation means from afar. While some managers may do that, it is ineffective, as you mention. While you speak to specifics around projects, I was speaking more generally. Both professional and academic experience tells me that experienced professionals require less direction and more enablement to perform at their best. To that end, a new manager shouldn't look to make changes haphazardly, rather respect the experience of the team and value their contributions. In that, we think alike.

  13. Flip every 5 minutes by Anonymous Coward · · Score: 5, Funny

    You don't want to touch them too often or they get tough and dried out.

    Oh wait, that's hamburgers. Nevermind.

  14. Get out of their way! by www.sorehands.com · · Score: 4, Insightful

    Focus on getting them what they need, staying out of their way, and keeping the management shit out of their way.

    1. Re:Get out of their way! by Skyshadow · · Score: 3, Interesting
      That's a great model for delivering late and over-budget.

      Developers are like creative people the world over -- you've got to keep them on track, and that means managing them properly. Again, I recommend the Scrum model.

      --
      Every year during my review, I just pray the words "slashdot.org" aren't mentioned.
    2. Re:Get out of their way! by Anonymous Coward · · Score: 0

      This has got to be a joke, why are people modding parent up as insightful? Funny? Yes. Insightful? Hell no! Unless you're living in and working out of you mother's basement...

    3. Re:Get out of their way! by Chirs · · Score: 3, Interesting

      I disagree, to a certain extent.

      My job is to give estimates, draw up designs/estimates, handle bugs/features as requested, and ensure that my boss is up to date on how things are tracking to the plan.

      In return, he acts as an interface with upper management, runs interference to make sure I'm not bothered by less important issues, makes sure I get appropriate lab/tester resources, handles priority calls between competing issues, and all the other stuff that I'd rather not have to deal with.

      It's a symbiotic relationship.

    4. Re:Get out of their way! by mevets · · Score: 1

      yes, and a little honesty helps. Best mgr I ever worked for gave me a lecture about not taking a course. It went something like "You get evaluated in providing solutions; I get evaluated on managing you. Your checkboxes include putbacks and designs; mine include the number of courses you take." So I took a course. I thought I was doing everyone a favour by not taking them. He obviously couldn't last, I think he embarrassed too many of his peers.

    5. Re:Get out of their way! by b4dc0d3r · · Score: 1

      Yes, clearly draw the line about what is your responsibility and what is theirs. If something comes up and it's on your side of the line, say "I will take care of it" and they should never hear another word. Also make sure they know everything, more than you think they need to know. It helps them auto-prioritize instead of making you micromanage. "Where are you on this project" or "What did you do yesterday" are good ways to stay in touch, but even more so "What will you be working on tomorrow?" or "What's on your plate?" is more open-ended. Instead of checking up it feels more like planning, but you are still getting a feel for where they are. Subtle and tricksey, and might not work for everyone.

    6. Re:Get out of their way! by Anonymous Coward · · Score: 0
    7. Re:Get out of their way! by JAlexoi · · Score: 1

      PM is there to help the developers deliver results. Nothing else. The good ones, know when to keep a team on track, when to stay out of their way and when offer help of any kind. The main issue is to be the one that the developers are comfortable in telling that there is a problem or that they are late.
      The rule of thumb is: Never punish anyone, only give out rewards.

  15. Hammocks by Anonymous Coward · · Score: 0

    n/t

  16. Everything you need to know is on the simpsons by genner · · Score: 4, Funny

    All you need to do is walk in and say:

    "Are you working?"
    "yes"
    "Can you work harder?"
    "good"

    If they get tired buy them hammocks.
    It helps if your wearing a Tom Landrey hat.

    1. Re:Everything you need to know is on the simpsons by outcast36 · · Score: 1

      where can I get some hammocks?

    2. Re:Everything you need to know is on the simpsons by genner · · Score: 2, Funny

      There's four places. There's the Hammock Hut, that's on third. There's Hammocks-R-Us, that's on third too. You got Put-Your-Butt-There that's on third. Swing Low, Sweet Chariot... Matter of fact, they're all in the same complex; it's the hammock complex on third.in the hammock district!

    3. Re:Everything you need to know is on the simpsons by SuiteSisterMary · · Score: 1

      Well, there's four places. There's the Hammock Hut, that's on Third. There's Hammocks-R-Us,that's on Third too. You got Put-Your-Butt-There, that's on third. Swing Low, Sweet Chariot.... matter of fact, they're all in the same complex; that's the Hammock Complex on Third.

      --
      Vintage computer games and RPG books available. Email me if you're interested.
    4. Re:Everything you need to know is on the simpsons by Anonymous Coward · · Score: 0

      Hammock district on 3rd.

    5. Re:Everything you need to know is on the simpsons by iluvcapra · · Score: 1

      A tip of the hat to you sir.

      I won't be asking you for sugar for my coffee, this is certain.

      --
      Don't blame me, I voted for Baltar.
  17. Listen, listen, listen by greg_barton · · Score: 5, Interesting

    Listen.

    Be open to criticism and be willing to change course in response to it.

    Make sure when you do talk technical, you know what you're talking about. Feel free to ask questions if you don't know, and be able to absorb and express abck what you've learned.

    If you need to make a decision based on "fluffy business stuff" that goes against the right theing to do on a technical issue, explain it thouroughly and be able to back it up. Geeks thrive on more information, not less.

    Give the geeks freedom to graze.

  18. Difficult by dedazo · · Score: 4, Insightful

    See, the key here is whether or not these developers are good developers. Experienced and responsible.

    If they are, the best advice I'd give you is to stay the hell out of their way. They will deliver. The best developers need a set of requirements, a deadline, a good working environment and caffeinated drinks. Not much more.

    But on the other hand, if they're not, then you need to stay on top of them. But how are you going to figure out if they are, given that you're a business guy? That's a difficult situation.

    If you do know that at least one of them is the kind of person that can lead, work through him/her to make sure you can identify any potential problems.

    There's nothing better than a good developer who can design, code, document and communicate, and does not need constant supervision. On the other hand, there's nothing worse than one that pretends to do those things and turns out to be a disaster for the project.

    --
    Web2.0: I love when people Flickr my cuil and digg my boingboing until my google is reddit and I start to yahoo
    1. Re:Difficult by Skal+Tura · · Score: 1

      God bless caffeinated drinks!

      I'm a web app. engineer, and caffeinated drinks come to the rescue on the afternoon tiredness.

      Coding is creative work, and one cannot stay creative for 7hrs a day, working on tight deadlines, pushing through the problems.

      If i'd be on management side, i'd make multitude of caffeinated drinks for free.

      Aside that, anything that enhances the working atmosphere, good ergonomics, good monitors, keyboards, ALL are money well VERY well spent :)

      but most of all, management should never underestimate you, and always take a suggestion seriously. Why else you would be hired in the first place if not for your personal skillset and experience?

    2. Re:Difficult by i.r.id10t · · Score: 2, Funny

      Remeber, coders are just tools that convert caffeine and alcohol into source code...

      --
      Don't blame me, I voted for Kodos
    3. Re:Difficult by laejoh · · Score: 1

      Beware, it's a delicate effect, requiring careful calibration!

  19. As a seasoned programmer I can easily answer this by thewils · · Score: 5, Insightful

    You don't have to. You are redundant.

    --
    Once I was a four stone apology. Now I am two separate gorillas.
  20. One thing by ipb · · Score: 1

    Listen!

  21. Cattle prods, Electroshock therapy, and drugs by mveloso · · Score: 2, Interesting

    What does responsibility mean? Can you fire them and increase their salaries? If so, then they should be relatively motivated to at least meet your expectations.

    What can you do to make it easier? Don't be a bozo. That means (1) take the political heat for your team, and (2) try and insulate them from changes in specs. Or, (3) make sure they know what they're building/supposed to do.

    Think of them as normal employees, not programmers. Sure they may be smart, but they're still people. Possibly weird, potentially infantile, probably high maintenance, and hopefully productive people, but they're still people. So treat them like everyone else.

    Oh, and be sure to treat them like experts. They like that.

    1. Re:Cattle prods, Electroshock therapy, and drugs by Anonymous Coward · · Score: 0

      riiiiiiiiiiiight!

  22. Ask for their input ... and actually listen to it. by Richard+Steiner · · Score: 3, Interesting

    Seriously. People will tend to respond a lot better to you if they feel that they have legitimate input into the process, and many of those folks might be able to provide ideas and experience that you can benefit directly from.

    Of course, I'm speaking as a 46-year-old programmer who's been doing software design/development for 20 years, so my bias is from the other side. Then again, most of the folks I tend to deal with are at my experience level or higher so in many cases *I* tend to be the youngster with the radical ideas. But I've learned to defer to my elders in many cases even tho I disagree. Sometimes they actually turn out to be right! ;-)

    --
    Mainframe/UNIX Bit Twiddler and long time Windows/Linux Hobbyist.
    The Theorem Theorem: If If, Then Then.
  23. Golden Rule of Management by rlp · · Score: 2, Insightful

    Be the type of manager that YOU would want to work for.

    --
    [Insert pithy quote here]
    1. Re:Golden Rule of Management by geek2k5 · · Score: 1

      I definitely second this one.

      Try your best to support your team and help them do the best job possible. That includes protecting them from upper management demands that are less than wise.

      You know both the business and the technical sides and there is a chance that your programmers may know something about both sides too. Listen to them and they will listen to you.

    2. Re:Golden Rule of Management by Skyshadow · · Score: 2, Insightful
      The type of manager I want to work for gives me ridiculous annual raises, lets me expense pretty much anything without a receipt and lets me take days off whenever the weather's nice.

      I'm not sure that's a prescription for on-time product delivery or a successful career, however.

      --
      Every year during my review, I just pray the words "slashdot.org" aren't mentioned.
    3. Re:Golden Rule of Management by localman · · Score: 2

      Really? So you want a manager who runs the company into the ground at your expense?

      I guess the golden rule only works if you're not a short-sighted fool.

      Cheers.

  24. show them the business case. by timmarhy · · Score: 2, Insightful

    99% of the comments you'll get will be technical. This shows /. er's lack of undrstanding about the business world, and your programmers are likely to suffer the same blindness. I would say in general let these guys work unhindered and give them all the support you can, but in the event there is something drastic you need to change about the product explain the business case to them. When you can show that X > Y means $$$ most people will understand right away. This works both ways, in the event you get given directives that won't work on a technical level.

    --
    If you mod me down, I will become more powerful than you can imagine....
    1. Re:show them the business case. by styrotech · · Score: 1

      Not making unfounded assumptions is always good too.

      eg a like completely backwards assumption about what 99% of the responses to this article will be :)

  25. Pay more. by fut87 · · Score: 1

    Pay more.

  26. A few things by david_thornley · · Score: 3, Insightful

    First, remember that they know more about what they're doing than you do. Listen to them. If they say a schedule is unrealistic, it is almost certainly unrealistic, and you need to take whatever business action is appropriate. They know better than you how to do things. Tell them what to do, not how to do it. Tell them the business reasons for doing things. They might have better ideas than you.

    Second, be honest with them. Don't be afraid to tell them things they might not want to hear, but if they catch you in substantive lies your effectiveness will nose-dive. Explain yourself.

    Third, set them up to succeed. Try to figure out what obstacles they're likely to run into, and try to remove them.

    Fourth, keep up to date on their progress. Don't let them go dark on you. Don't make them afraid to admit failure or schedule overruns, or you'll be blindsided sometime.

    These won't necessarily help you with problem employees, but most of your employees are probably interested in doing a good job.

    --
    "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    1. Re:A few things by arthurpaliden · · Score: 3, Insightful

      Five: Be sure to keep your superiors away form them. All interaction must be through you.

    2. Re:A few things by cowscows · · Score: 2, Insightful

      There's two things that my boss does that really upsets me more than anything else. The first one is that he will often promise my time to other people,be it clients/coworkers/consultants/whoever, without first checking with me to see if that time is actually available. Not only does that saddle me with significantly more work than I want to deal with, but it creates a situation where this new task takes up time that I had personally committed to helping someone else, and so I get stuck having to apologize for not keeping up my end of the bargain with them. And even though everyone that works in the office understands how that sort of situation happens, in stressful times, it just serves to create animosity between the different project leaders when one of them "steals" my time from the other. It also makes it nearly impossible for people to create accurate schedules because they have no idea what else will suddenly fall on their desk, or when their help will get randomly pulled away.

      The second thing, which in a way causes a lot of the first, is that my boss has a lot of difficulty with setting priorities. As a big boss, he's got dozens of projects under his supervision to at least some degree, and so he tends to wander from crisis to crisis as they arise across all the work in the office. And so whatever the current crisis is, that's what his priority is for that day (or sometimes hour). It's a huge drag on office efficiency, and projects that should take three weeks to get out the door end up taking 6 weeks of work, stretched out over 8 months of on and off progress.

      Overall, I'd say one of the most important things is to help your workers stay focused. Lay out the priorities, give them a clear path. I don't mind so much if the endzone is far away and there's a bunch of obstacles in the path, as long as I can see the goalposts.

      --

      One time I threw a brick at a duck.

    3. Re:A few things by Anonymous Coward · · Score: 0

      Good post. Great post. Print that one and put it in your desk drawer to review once a week to make sure you're holding to it throughout the chaos of business stresses.

      An extra note on communication - some people respond to a lot of it, some don't. It's a cultural thing that you have to figure out for each person, and manage to deliver without being insincere. Some folks are sorta 'Mediterranean' and need the daily chatty talks to feel in the loop. Others are sorta 'Scottish' and a lot of feedback and compliments trigger their bullshit detectors -- kind of 'of course I'm doing it right; what does this guy really mean?' It's tricky to get right, but something you need to get right.

      The other thing is review what you say, because you're going to say things that accidently leave your crew hanging. I worked on a project that was meant to be taken care of while the client was away. The work revealed serious problems that had to be dealt with first, and we had to stand down until the client came back to okay the now-ballooned project.

      Naturally his first words were "Jesus Christ!", and his unhappy approval. We got down to it, but couldn't get rid of the ball of stress that the client was unhappy, so we spent far too many brain cycles trying to figure out how to make the project smaller, even though we knew we couldn't. Then on the third morning the client walked in and said "I just want you guys to know it's my fault this shit wasn't taken care of. You're doing great", and walked out. The stress was gone instantly, and we were able to pay complete attention to the real job at hand. It made a huge difference.

      Too many "How To Manage" books recommend the opposite, in a misguided idea that creating such stresses will pull 110% out of people. All it does it make burn-outs who won't trust you anymore, and turn their feedback into whatever bullshit they think you want to hear. Don't fall into that trap, because it's not something you can reverse afterward.

    4. Re:A few things by shutdown+-p+now · · Score: 1

      Five: Be sure to keep your superiors away form them. All interaction must be through you.

      That's not #5, that's #1!

    5. Re:A few things by gmacd · · Score: 1

      I was looking for an answer like this -

      First - ONLY use estimates you get from your team, if your client needs a shorter deadline, ask you team for an estimate of what can be done by YYYY if the customer is trying to accomplish x. They may surprise you with creative options.

      Second - communicate as best you can about what is going on in the bigger picture - explaining the current politics of the big hairy furball (your company) will help set the context (for the stupidity mostly). You should be up on this stuff because you get to go to the meetings they don't (and shouldn't).

      Third - This activity should be your core duty. Getting resources (and training), coordinating projects with the clients so the requirements are good enough to act on and the testers are available when required. Incredible time can be added to projects by not having simple logistics set up between clients and the development team.

      Fourth - Yep. And this can mean simple status reports (driven by a software tool). These PITA reports are invaluable in helping you keep the expectations realistic on your team from YOUR boss. Documenting the activity is the best way to convince your boss that you have your team working on the correct priorities.

      and one more -

      Five - give credit where credit is due. This can be done by simple public emails at the conclusion of projects/tasks but you can also promote your team by "getting their names and faces" out there from time to time.

      I am a very reluctant techie to manager (15 yrs) who is still learning.

  27. Ask them by FortKnox · · Score: 3, Interesting

    Best manager I ever worked under asked me my pain points, and what I wanted to do in the job and how I wanted to grow. He then proceeded to help me in those three areas.

    That's it. Pretty simple, eh?

    If they are seasoned, keep out of their way, help them when they are frustrated, and make sure they are doing stuff they enjoy and keep them happy. They find a new technology they want to use? You make sure they get the opportunity to use it. They want a managerial job? You make sure they get the classes/seminars/education/opportunities they need. Your job is simply to remove obstacles that get in there way...

    --
    Good quote, too many chars. Seriously, the slashdot 120 char limit sucks!
  28. easy answer by gEvil+(beta) · · Score: 3, Funny

    The answer is simple--be their best friend. And let them know repeatedly that you want to be their best friend. There's no way they won't accept you. Trust me on this one.

    --
    This guy's the limit!
  29. Re:Fire them and offshore all your work by Anonymous Coward · · Score: 0

    A C+ level of skill and competence is all we should expect from anyone. And no one in a position of leadership cares as long as you get the crap out the door more or less on time and reasonably close to budget. Beyond that, it really doesn't matter. So lose them all and send the work to Russia or India or China or Brazil.

    I sincerely hope you are joking. Many outsourcing projects that I have seen have ended up behind schedule and over budget. To add insult to injury, when you decide to bring the code back into the organization, the code is often nearly unmaintainable.

  30. Make Them think They are in Charge by shareme · · Score: 1

    Make them think they are in charge.. In your communication should be always listening always speaking out loud exploration of their ideas point out the good points and etc of those ideas. Assume that their experience in project management has more depth than yours and treat it as a learning experience from the greatest teachers in al the world of project management. Think of them as Marines, they are there to save your ass if you are willing to listen

    --
    Fred Grott(aka shareme) http://mobilebytes.wordpress.com
  31. put your team before..... by shawnbutts · · Score: 1

    ... your "customers" and your team will never fail you.

    --
    -
  32. First - Stay out of their way by gnosi · · Score: 1

    The first and best thing you can do is to stay out of their way.

    The second thing to do is to find out what is preventing them from getting their development done and to eliminate or reduce the interference.

    Since they are seasoned they will have an understanding for the need of management updates they should be asked for these updates no more than once a week.

    The one thing that you should be making decisions on is the business needs of the application. For this you should understand and communicated the business needs.

    Show the team that you are interested in the crafting of their solution to the business need.

    Avoid being a PHB at all costs.

    Avoid being a PHB at all costs.

    --

  33. Task Management by Mr.+Sketch · · Score: 1

    Manage by tasks, not by reports and work schedules.

    When you're planning a new release, make a list of desired features, priorities, and assign them to the person you think is best for the job based on their abilities. Then send the lists around to the developers and ask them to fill in a guess for how long each of their items should take. You can use that to setup a timeline for a rough guess of how long the new release should take.

    For bug fixes, each developer should just have a list of bugs and you can maintain the list and elevate priorities or contact them to say bug #XXXX needs to be fixed now.

    Your basic goal should just be to ensure everyone has a list of items to work on and generally let them decide how/when/etc to work on each task, and you can guide or steer them towards different tasks as necessary.

    Status meetings should be kept to a max of once a week, just to keep the team on the same page about what everyone else is doing, maybe bring up issues to discuss etc. Your goal is actually to manage the least while giving them some freedom and flexibility to work on tasks they want to, and if something comes up, then (and only then) interrupt that flow to get a high-priority task done. Your job will amount to keeping track of what everyone is working on, verifying that what they were working on got done, and assigning/prioritizing new tasks/bugs as they come in.

    Don't check up on them too much, since you'll be seeing them at the weekly meeting. After all, you should be cc'd on all bugs that they resolve anyways and since they're seasoned, should keep you in the loop as they complete other tasks and start new tasks.

    1. Re:Task Management by timmarhy · · Score: 1
      most of the time you don't have the luxury of setting your own schedule. other parts of the project might need you done by a certain time. how does this approch manage their expectations if they can just pick a time frame THEY would like?

      +1 for the priority list though. it's how we work and we get a -lot- of work done (i also work 12 hours a day 8 days at a time, probably helps)

      --
      If you mod me down, I will become more powerful than you can imagine....
  34. Simple really by Locke2005 · · Score: 2, Interesting

    How do you handle programmers? The same way you handle kindergarteners. Really, if you've ever had kids, you already have all the skills you need to manage engineers. Set clear expectations and priorities. Make sure they play nice with each other. Give them a shiny new toy when they've been good. As a manager, you filter all the information coming from above. Good managers filter out the pressure and bullshit and only on passes on information that gives the programmers a good idea of what their goals and priorities should be. Bad managers just pass on the shitting on they get from their managers along to their underlings, sometimes even amplifying it.

    --
    I've abandoned my search for truth; now I'm just looking for some useful delusions.
    1. Re:Simple really by Anonymous Coward · · Score: 0

      Pretty please mod parent up!

    2. Re:Simple really by homesnatch · · Score: 2, Funny
      >The same way you handle kindergarteners.

      Oh this should be good... I like comparison posts...

      > Really, if you've ever had kids, you already have all the skills you need to manage engineers. Set clear expectations and priorities. Make sure they play nice with each other.

      Good point... Yes programmers and kids both need to play nice together.

      > Give them a shiny new toy when they've been good.

      Yes! Kids like toys and programmers like toys/electronics.

      >Good managers filter out the pressure and bullshit and only on passes on information that gives the programmers a good idea of what their goals and priorities should be. Bad managers just pass on the shitting on they get from their managers along to their underlings, sometimes even amplifying it.

      Wait.. what Kindergarten is this? I thought the managers were teachers and there were kindergarten students... and who is shitting on them?

      Please everyone, do not shit on kindergarten teachers or students!

    3. Re:Simple really by leabre · · Score: 1

      Really, I because I thought it's the way you handle cars... ... oh wait, wrong thread, car analogy doesn't work here... my bad! Carry on!!

  35. Hmmm ... by Chyeld · · Score: 3, Funny

    First thing you need to do is establish yourself as the alpha geek. Walk into the room and fire the first one to make eye contact. Then expound for two hours on how crappy Java is and how all you really need is a copy of Ruby on Rails and a Red Bull to be able to cover everything they do.

    The next day, show up with a box of Dilbert comics and pass them out, demand each team member identify five 'wrong thoughts' express by Dilbert and his coworkers and indicate how they actually should have acted in regards to their PHB. Emphasize that the PHB a highly paid executive and deserves their attention and respect. Dilbert's job is to make his bosses' ideas successful, not to mock him.

    The next day, first the second person who makes eye contact with you. Encourage your team to ridicule them as they make the walk of shame from your office to the exit.

    The day after that, ask them to participate in a team building session where everyone is armed with a nerf weapon and is allowed to act out their aggression. Bring your own baseball bat.

    The day after that mention that you expect the team to put in manditory overtime. You forgot to mention to them that they have a milestone deadline coming up tomorrow and you are still working with marketing to finialize the specs.

    On the day after that, enjoy the peace and quiet you've earned yourself. You'll need it as you now no longer have a team to worry about.

    1. Re:Hmmm ... by tenton · · Score: 1

      Boss? Is that you?

  36. Just don't micromanage by Toreo+asesino · · Score: 1

    There's nothing worse than "ex-programmer managers" that get into details they really don't need to.

    Set/agree key project milestones with the team and leave them to it. Maintain clear tracking of these and pressure them only when they're slipping on these into the buffer time you would've naturally planned for anyway (even if not publicly planned for).

    Second to micromanaging, there's nothing worse than managers agreeing to project deadlines without consulting the geeks first.

    Also, geeks appreciate a manager that stands up for them when the goalposts have been artificially moved from higher up.

    Get it right and you'll have a highly motivated team that will go above & beyond for you when you need them most; get it wrong and your project will fly like a lead balloon.

    --
    throw new NoSignatureException();
  37. It's good for the programmers, too. by khasim · · Score: 2, Insightful

    Project management is not only for the managers. Grab some basic books on the subject (hopefully based around software development) and have the coders read them.

    If nothing else, it gives everyone a shared vocabulary for the situations and approaches that they'll face.

    If nothing else, read a website on it.
    http://www.stevemcconnell.com/rdenum.htm
    or
    http://www.stevemcconnell.com/rdmistak.htm

  38. Oh for crying out loud by Weaselmancer · · Score: 5, Insightful

    Don't tell him that. He'll actually believe it.

    Here's what you should actually do: Manage.

    Be honest with your team. Tell them what you need and when you need it. Take advice from them on the best way to arrange that. If they're experienced (read that as set in their ways) forcing some oddball paradigm on them will send you permanently to PHB land. They'll never listen to you after that. You'll be regarded as an obstacle rather than a help.

    You're herding cats - never forget that. Let them do what they want in the way they want to do it and all should be well. Just make sure they know what your expectations are.

    And if you want something Lumbergh-like from them, say so. Then do the unusual thing and say why you want it. Don't just demand status reports from them. Ask for them, tell them you need these reports "because of pressure you're getting from your supervisor about this certain customer, and if we make schedule with this project they will potentially select us for the next project, and that means more revenue for the company."

    Talk to them as equals. Explain your concerns to them. NEVER talk down to them or enforce some odd idea that the manager caste is above the programmer caste. You are all equals on a team, sink or swim together.

    Do these things, ignore the buzzwords and manager-hype, be their fellow employee and the details will solve themselves. If these guys decide they like you your job will become a thousand times easier. You will always have loyal allies, rather than disgruntled drones.

    And best of luck. Don't just be a manager - be a good one.

    --
    Weaselmancer
    rediculous.
    1. Re:Oh for crying out loud by Hognoxious · · Score: 4, Funny

      You're herding cats

      Up a waterfall, with a rolled up tissue.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    2. Re:Oh for crying out loud by Trahloc · · Score: 1

      Why oh why did my mod points have to expire today? Good stuff.

      --
      The Goal: A long simple life filled with many complex toys.
    3. Re:Oh for crying out loud by moteyalpha · · Score: 1

      Agree 100%, I have been on both sides of this and talented programmers don't even have to be told anything, they usually know before you do. When I was "managing" a group I mostly just coded a piece here and there when I had time and spent the rest of the time dealing with paperwork, which I hate.
      Programming is an art form and those who are really good at it are worth anything to keep and are the easiest to get along with because they absolutely live and breathe the skill. Everybody has their skill set and you have to let them fit their own skills together to make the best whole effort.IMHO

    4. Re:Oh for crying out loud by nuttycom · · Score: 1

      The most important thing you can do as a manager, in my opinion, is to shield your programming staff from political nonsense and conflicting requirements from different parts of the organization. It is your job to figure out the scope of your projects and clearly communicate that scope, and then stay out of the way of your team and make sure nobody else disrupts them.

      Also, you must be willing to dig through the bureaucracy to get answers quickly and accurately when your team demands them.

      Finally, it is your job to get your team the environment and resources that they need to be most productive. If they need something and it's not in the budget or goes against the general organizational culture, it's your job to get it for them by hook or by crook.

      Being a manager can be a terrible job, but if you can give your team the environment they need to produce great results, you can be a star both from the perspective of the team and the organization as a whole.

    5. Re:Oh for crying out loud by Weaselmancer · · Score: 2, Insightful

      Thanks. =)

      It's my opinion that a good manager understands their actual job function. Which can be summed up in one word - HELP.

      It is their job to help. Two parts to that.

      First part: Help the company get what it needs out of engineering. If sales promises a customer something, it is the managers job to help the sales staff get what it needs out of engineering. If manufacturing needs that new rom by Friday, it is the manager's job to help them get it from engineering.

      Second part: Help engineering meet those requirements. Do they want to be an Agile shop? Set it up. Do they not want it? Don't force it on them. Do they need new equipment? Move heaven and earth to try to get it.

      Sometimes these will conflict. Engineering might want a 4000 dollar logic analyzer. Accounting will say it's not in the budget. The solution? Tell engineering what the budget is, and let them choose. "We are allocated 1500 a quarter for engineering supplies. If we skip the planned PC upgrades you can have that probe in the third quarter of next year. I'll leave it up to you guys to decide which is more important."

      If you can phrase the problems the company has in such a way as to make them personal, engineers will see them as their problems and not the company's problems. They'll become personal problems and they'll begin to solve them.

      Really, it all just boils down to being honest, open, communicative and not elitist. The best managers have these traits, and the worst ones lack them entirely.

      --
      Weaselmancer
      rediculous.
    6. Re:Oh for crying out loud by Red+Flayer · · Score: 1

      Let them do what they want in the way they want to do it and all should be well.

      Have you ever been in a position where this isn't possible, where your boss has passed on requirements that need to be passed on to your staff? That is where the real managerial skills come into play.

      You make it sound so easy, but the truth of the matter is that it's not always feasible to let your developers do as they wish... the good manager will find the way to satisfy management, the project timelines, and their team. This usually means convincing the team of the need for whatever the constraints are -- and a single slashdot post is not going to be able to explain the various strategies for making it happen.

      --
      "Trolls they were, but filled with the evil will of their master: a fell race..." -- J.R.R. Tolkien on Olog-hai
    7. Re:Oh for crying out loud by WillAffleckUW · · Score: 1

      mod parent up.

      Additionally, you should fight like a tiger to make sure they get training. Nothing saps their will to code like knowing you'll never get training, or having it canceled every time you schedule in down time to do it.

      Do that and they'll respect you, which is what you need.

      --
      -- Tigger warning: This post may contain tiggers! --
    8. Re:Oh for crying out loud by Weaselmancer · · Score: 1

      Have you ever been in a position where this isn't possible, where your boss has passed on requirements that need to be passed on to your staff?

      Thanks for the compliment, but I have no staff. I am not a manager, I am the managed.

      You make it sound so easy, but the truth of the matter is that it's not always feasible to let your developers do as they wish... the good manager will find the way to satisfy management, the project timelines, and their team. This usually means convincing the team of the need for whatever the constraints are -- and a single slashdot post is not going to be able to explain the various strategies for making it happen.

      Oh, I'm certain of that. Entire shelves of books have been written on the topic.

      Having been managed though, I can tell you what I've seen work and what doesn't work.

      My current manager is a good one. He gives me requests for work and I produce him results. If anything comes down the trail that is unusual, he always explains the reasons why. He is honest and open. He never talks down to me. In return I like him a lot and will move heaven and earth to keep him happy. He holds the leash loosely, and I return that kindness to him in kind by not yanking on the chain. Mutual respect. It's a wonderful thing.

      I've had crappy managers too. Had a bad one at my last job. Elitist and dishonest. And he got the bare minimum out of me. If his schedule crashed I cared not one whit. Enjoyed it even. My job ended at 5pm, to hell with the consequences.

      Contrast that with my current manager. I plan on working off the clock a bit over my Christmas break helping a customer with a software problem they're having. I like my manager, I like this company, and their problems are my problems. I want us to do well, because the people here are my friends. I like this place and wish to see it prosper.

      And that's the difference, at least to me. Be honest and open. Tell me your needs. Don't jerk me around. I'm a faithful employee, but only when that faith is founded in something worthwhile.

      --
      Weaselmancer
      rediculous.
    9. Re:Oh for crying out loud by Anonymous Coward · · Score: 0

      Herding cats is easy - just put the mouse where you want the cats to go, and stand back. They herd themselves.

    10. Re:Oh for crying out loud by Malc · · Score: 1

      And you treat your kids like they're your friends rather than your kids?

      Your statement about status reports would come across as BSing to me. Status reports help engineers focus their minds and keep their attention on track of what they need or have agreed to do. For the managers they help reassure them that they've understood that the engineers understand the requirements and direction, and that they're getting what is required. They still have to talk to each other between reports though.

  39. How do I.... by eyecorporations · · Score: 1

    shot web?

  40. It's a lot like herding cats by twmcneil · · Score: 1

    Like a herd of cats, these "seasoned programmers" are already motivated to go somewhere all on their own and they will without any prodding on your part. Your job is to make certain that the desired direction forward is clear, understood and changes as little as possible. After that, remove all obstacles in their path and it should be smooth sailing.

    --
    "The ferrets, they're every where I tell you!"
    1. Re:It's a lot like herding cats by vil3nr0b · · Score: 2, Interesting

      HSPLTA - Hire Smart People Leave Them Alone...simple yet never achieved by anyone I've ever worked for.

    2. Re:It's a lot like herding cats by rk · · Score: 1

      The tough part of that plan is success depends on how interesting your project is. I work at a planetary science lab in a big research university. Finding smart people to hire is not especially difficult for us. I imagine a team about to embark on writing yet another accounts payable system probably has a harder time getting smart people enthused about it.

      I'm not putting down working on accounting systems... I did it a few years myself. It's not easy, and requires smarts but it's not terribly interesting to most programmers, either.

  41. teach them the business by Anonymous Coward · · Score: 0

    teach them the business so it eliminates your job. businesses dont need to pay a separate salary for your position when the programmers should be learning the business and understanding it.

  42. Been there, done that by corporate+zombie · · Score: 5, Insightful

    Went back to the tech side.

    But the management stint wasn't wasted. It did make me realize there is a "bigger picture" that is always mentioned. I'd say the most important thing is to get this across. Tell them there will be decisions made by you, sometimes that you have control over and sometimes not, that won't make a lot of sense at your group's level. If they're your decisions you have some hope of explaining them. If they are decisions made up the chain then give as much information as you have and point out that it made sense to someone at some point and since y'all are all getting a paycheck from the same company then those are the marching orders.

    Other than that just work to get your team the things they need. It's their work that will make you look good (or bad) so your job is to make sure they have the tools and time they need to do their jobs. If you give them that then they need to actually do their jobs and you will want to keep them accountable for that. Nothing says bad manager more than someone who ignores the slacker while everyone else is pulling their weight.

        $0.02,
        -CZ

  43. Management tools by crmartin · · Score: 1

    A whip and a chair.

    1. Re:Management tools by loteck · · Score: 1

      The whip is for the daily grind, the chair is when you need to spice things up and are feeling particularly Ballmer-esque.

  44. Software Engineering Methodologies.... by God+of+Lemmings · · Score: 1

    If it already hasn't been done, the first thing I would do is to see what software engineering methodologies they are all familiar with, and figure out what you're going to use. Anything will usually be better than nothing at all. Then agree on some common method of documentation, and a minimal style guideline. Maybe set some policy for when and how often something must be committed to CVS (or your favorite storage method)

    --
    Non sequitur: Your facts are uncoordinated.
    1. Re:Software Engineering Methodologies.... by Anonymous Coward · · Score: 0

      Don't you mean methods? "Methodologies" is not a word

    2. Re:Software Engineering Methodologies.... by Anonymous Coward · · Score: 0

      Methodologies. Now apologize to the nice man, and go clean your room.

  45. Well, as a seasoned programmer ... by morgan_greywolf · · Score: 1

    As a seasoned programmer...I'd have to say I agree with the beer part. And someone mentioned pizza. Pizza is good. And I prefer single-malt Scotch.

  46. confidence by br00tus · · Score: 2, Insightful

    There's only one quality I generally rate managers by, and you could call it confidence, ability, cool-headedness or whatever. It all tends to boil down to the same thing. A manager who is incompetent, an example of the Peter Principle, afraid he is going to lose his job if it's discovered he is unqualified is someone who says yes to his boss and other business units all of the time, and makes ridiculous demands on those under him. If things go wrong he panics and flips out. A confident, able boss knows his stuff, can deal firmly with his manager or other business units when need be, doesn't flip out when something goes wrong and so on.

  47. Very Simple by LibertineR · · Score: 5, Interesting
    As their manager, they will expect and respect ONE thing above all else.

    Bullshit stops at YOUR door. Whether coming down from your management, or headed up from one of your primadonna coders.

    Your job is to provide the environment that best lets your people do what they do best. You are insulation, you are the sponge, you are the glue. All superfluous shit must be sandwiched and eaten by you.

    Don't try to be technical, admit what you don't know and ask for explanations. Realize that coders consider their code as a mother does her children. If you criticize, you better be right, or you will be hated forever. If the baby is truly ugly, KNIFE it, don't adapt to crap.

    NEVER turn down a legitimate request for tools considered necessary for their jobs. NEVER. Find the money, find the stomach to fight your management for the funds, and YOU make the arguments on your people's behalf.

    This is how you get coders on your side. (that and free food and drink.)

    You have to be the cog in the wheel.

    1. Re:Very Simple by Anonymous Coward · · Score: 1, Funny

      If the baby is truly ugly, KNIFE it, don't adapt to crap.

      Well..LibertineR is off MY babysitter list.

    2. Re:Very Simple by Seakip18 · · Score: 1

      Beautiful advice.

      My manager informed me on the second day of work he was leaving for another job. There is a single employee in my group that has more than three months experience on our app that supports about 60 people. I've asked for a another monitor to have two screens for working on the app, since nothing beats having the ide in one window and the api/app in the other. Still waiting to hear back.

      I think I'm going to get a fridge setup and start passing out soda/drinks @ cost. Not free, but it's a start. It's the least I can probably do as a new hire to keep the team going. I mean, if I was a manager, I'd have a team fridge stocked up and a comfy couch if they needed break. Good coder's want to/will produce good work. You just need to make sure they are making the right code.

      --
      import system.cool.Sig;
    3. Re:Very Simple by tsstahl · · Score: 2, Interesting

      I've mod points, but parent is already at 5.

      Most advice so far concentrates on the obvious.

      I will stay with the darker side that nobody likes to talk about.

      Do not subordinate your will. You may be younger, but you have the authority. They owe you their duty, it us up to you to earn their loyalty. Let's say that again: it is up to you to earn their loyalty. Seasoned professionals respect strength and competence. We can smell incompetence and fear like a jackal. If you show strength, your team will actually help you achieve competence.

      You are overtly asking for tactical advice, I believe you are actually seeking insight into the world and culture of your team. Don't just observe, become part of it and mold it as is your duty as manager.

      Finally, avoid the mistake I have seen way too many young managers make: do not put them in your shoes. They have life experience you can only read about; you need to live in their shoes. Eventually you will find that we all wear the same shoes. Hmm, ok, that took the metaphor too far, but hey, I can't stay all dark and gloomy in this post.

    4. Re:Very Simple by xant · · Score: 1

      This is spectacular advice. I'll take issue with just one bit though:

      Realize that coders consider their code as a mother does her children.

      Realize instead that you have to break coders of the habit of considering their code precious. Being a coder/manager myself, I know where it comes from; coding is part art. But artists also know when to destroy their crud. (I actually posted this item on the 36:1 ratio of crap to good, just a few weeks ago.)

      This is easy to do if you're still writing any code yourself: occasionally tear your own code down, or mercilessly delete it, in full view of the troops. You'll have plenty of opportunities. :-) (I call this refactoring with a chainsaw.) That doesn't mean you should be merciless about anyone else's code, but it will set the right attitude.

      --
      It's rare that you're presented with a knob whose only two positions are Make History and Flee Your Glorious Destiny.
    5. Re:Very Simple by LibertineR · · Score: 1
      Dont do the Fridge thing if it cant be free. Soda's are a very cheap investment. Just buy in bulk at Costco and expense it. If your superiors balk at such a small expense, find a new job asap, as they suck.

      Twin monitors are fine, if the workstations have the horsepower to drive them.

      Again, the developers will be most happy, if you just keep the daily crap of business decisions away from their eyes and ears.

    6. Re:Very Simple by LibertineR · · Score: 1
      Agree totally, especially since my code is already perfect......

      Seriously though, it is a very hard thing, something I haven't really learned, even though I am merciless with my team's codebase, and they are following my example.

  48. Always hire from within.. by Anonymous Coward · · Score: 0

    IMO, the most successful Java development managers could step-in and perform the role of anyone on the team. Why this isn't a requirement of a software development manager is beyond me.

    Take my advice now. Save you and your team a lot of trouble. Put someone in the role who could step in and write every line of code in the product if needed. Anything else represents lost opportunity.

    Sincerely,

    John

  49. Re:As a seasoned programmer I can easily answer th by frank_adrian314159 · · Score: 2, Insightful

    You don't have to. You are redundant.

    There is a lot of truth in this.

    Assuming that you have a good team (not one where they trapped all of the old malcontents together so they'd be easy to herd), they'll know what to do. In general, your job is going to be making sure that the goals for your project are clear, that you have enough resources to do the job that is scoped, negotiating about limiting the scope when you don't have the resources, making sure that you have a detailed enough plan for the short term so you can see if people are achieving short term goals, re-assigning resources in case issues come up, renegotiating with superiors about more resources and scope reduction when you fall behind, etc. Very little of your time should be spent telling them what to do. You should tell them the goals and then let them decide how they're going to get meet them. Of course, if they tell you that they need hookers and blow first, you might ask them how that's going to help their productivity (for the hookers, at least).

    --
    That is all.
  50. glower at them in the hallway by circletimessquare · · Score: 3, Funny

    focus on a pointless statement in an offhand conversation, and keep repeating it over and over, getting louder all the time, the whole week, with a huge grin on your face, like its a hilarious joke

    ask them to come in your office and sit down, ask them to close the door in a very soft whisper, and then stand up, displaying an obvious erection in your pants

    in the company restroom, stand next to them while they are urinating, even if there are ten open urinals, and make sure to pee a little on their shoes, making emotionless blank eye contact while doing so

    sit silently in a meeting for the longest time, with a slightly pained expression, then excuse yourself, and, outside of the room but within earshot/ plain view, starting crying loudly and hysterically like a wounded child

    in no time you will be deriving the respect and affection you deserve

    --
    intellectual property law is philosophically incoherent. it is your moral duty to ignore it or sabotage it
    1. Re:glower at them in the hallway by Anonymous Coward · · Score: 0

      Or you could never wash your ass. Never.

    2. Re:glower at them in the hallway by fishbowl · · Score: 1

      It's a person with actual experience like yours that we call "seasoned."

      When can you start?

      --
      -fb Everything not expressly forbidden is now mandatory.
  51. Tell them the deadline and expected end result. by Technomancer · · Score: 1

    And don't tell them how to do it.
    Obviously, the deadline you tell them has to be before real deadline/product delivery, allocate at least 20% of extra time. Programming projects never end on time.
    If there is multiple seasoned programmers working on it, pick one to be a leader that has final say in architectural matters and interface specs, otherwise they will never agree.

  52. Incentives the ultimate in managerial arsenal by Anonymous Coward · · Score: 0

    Incentives can motivate even the most uncooperative work force.
    I have several years of experince being unproductive, unreachable, and uncooperative.
    I also have had my moments where I have been a shinning example of slavery to the man.
    The key things I have learned are:

    Incentives can be positive or negative like:

    Positive: offering early completion bonuses for milestones or projects completed without bugs.

    Negative: offering to let me keep my job if I complete it early or without bugs.

    Incentives can be meaningless if:

    I spend more time looking for a new job or posting meaningless posts on slashdot.

    I think the company I work for is run by a bunch of monkeys in a suit who I could do a better job if I just had the opportunity.

    Respect, you don't respect my idea's or suggestions. I immediately question every decision you will ever make.

    You already made your first mistake by caring about how you do your job.

    Show no mercy and fire someone at random to reassert your authority and make everyone else cover for that persons workload.

  53. Walking Disaster by Anonymous Coward · · Score: 0

    * Respect their experience
    * Ask questions and _listen_ to the answers
    * Be their advocate, not their overseer
    * Don't tell them how to be productive, ask them what they need to be more productive

    These are rules that apply to anyone managing any group. Developers are people too. If they're made to feel relevant and respected, they will offer you respect back.

  54. Re:Fire them and offshore all your work by Anonymous Coward · · Score: 0

    ffs you just caused me to embarass myself by breaking out in sudden uncontrolled laughter, sometimes slashdot is annoying

  55. Why by Anonymous Coward · · Score: 0

    Why is a 30-year old "business guy" managing a small team of "seasoned" Java programmers? What is the business element of this job which makes it more important to have you managing this team than a technical person. At 30, you can't have that much business experience, either. Are you related to someone important in this company?

  56. Understand what your job is ... by gstoddart · · Score: 1

    If you've coded, then you're half way there, since you actually understand what the job entails.

    Understand what the project is, and understand that you need to be the middle layer between the upper management and the people doing the work so stuff doesn't get out of hand and things don't get promised that can't be made to happen. Handle the scheduling and planning with some degree of skill, and push back if upper management is falling victim to scope creep or is trying to turn the project into a death march.

    Too often I've seen some n00b of a PM who really doesn't understand the technical/resourcing issues at hand. After telling them that what they're asking for is ridiculous, out of scope, or downright not achievable I've been overruled so that they could appear to be saying yes to management or the customer. Eventually after that person was canned, I found myself saying "that was never going to be possible" and when I was asked why, I told them in no uncertain terms, and explained the previous person had completely ignored all of the technical advice to the contrary. That got met with completely incredulous stares.

    You'll need to be able to rely on your own judgement to know if they're sand bagging or being serious when they tell you a feature can't be done at all or in the timeline you need to do it. The worst thing I've seen is when Marketing gets handed over the reins over a technical product, and then proceeds to make promises from their backside and simply not listen to the technical staff when they object. Unfortunately, some of those people can't be made to understand that the only reasonable response to some requests can only be "no damned way", so they turn the situation into one that's untenable.

    We're developers, we're not THAT hard to understand. But, we don't want to deal with too much of the scheduling stuff or fight the bureaucracy, and we don't want to be on the receiving end of some idiot who thinks that can promise a flying car. Treat us with respect, listen to us, bring your own ideas but don't be too focused or limited by them unless this is your subject expertise, and don't turn the situation into a Dilbert cartoon of management by ineptness and intimidation.

    If you make it easier to do our jobs without needing to beat down unreasonable demands, and actually do things which help us to move forward in the software cycle, we'll respect you and treat you like one of the team. If you don't, well, we might go all BOFH on you and that stash of animal porn we planted on your laptop will be discovered. ;-)

    Cheers

    --
    Lost at C:>. Found at C.
  57. Be specific. by Ironica · · Score: 1

    Lots of folks have said good things already. I'll tell you what I find works for me in getting what I want out of programmers (including the one I'm married to ;-): be specific.

    When you have the project spec in hand, sit down with the development team, and have them all go over it. Then get ALL their questions, and get answers. Some may be things that are up to the discretion of the team, and some may be things that need to be answered from other quarters... but all those "Step 3. ??????????" parts need to be identified and filled in before any code gets written.

    If they have input such as "Why are we doing this? This is stupid. It'd make more sense to do it THIS way, because..." take notes, give an answer if you have one, and otherwise, bring that to wherever the spec came from and present the case, but in business speak. "We can achieve better security and efficiency by altering the spec such that..." or whatever.

    If something is intentionally left up to the developers' discretion, make THAT explicit.

    When feedback comes in about beta versions, make sure that is very specific, too. "The second screen doesn't work" is not useful feedback. "When I click on the button marked XXXX after inputing "flibbertygibbet" in Y field, I get Z response and am expecting W" is useful feedback. Create feedback/bug report forms that require certain information if the folks responsible for testing aren't able to do this properly on their own.

    If you have a really good spec that all the devs have weighed in on and you've got buy-in, you can mostly coast downhill from there. If problems arise, you've got a document to refer to, and if they bring up problems with it at THAT point, you can ask why they didn't bring this up to begin with. (Though you should also continually solicit feedback, so that as someone's getting into the code and realizes that it's not going to work that way, they tell you right away rather than just burying it until you ask.)

    --
    Don't you wish your girlfriend was a geek like me?
  58. Easy by BlackCobra43 · · Score: 1

    That's easy. Red staplers. Preferably of the Swingline brand.

    --
    I never spellcheck and I freely admit it. Save your karma for more worthwhile "lol erorrs" replies
  59. Less documentation by Anonymous Coward · · Score: 0

    More coding, less documentation. Keep it easy for the developers to focus on coding rather than have to write bunch of documents.

  60. Three must-read books by bfwebster · · Score: 1

    First, read Gerry Weinberg's classic work, "Becoming a Technical Leader". It's particularly apt for you, since you've transitioned from being a developer to being a manager.

    Second, read "Peopleware: Productive Projects and Teams" by Tom DeMarco and Timothy Lister. Still the single best work on shaping and managing software teams.

    Finally, work your way through "Journey of the Software Professional: The Sociology of Software Development" by Luke Hohman. This book deserves to be far better known (and read) than it is. It's a denser book than the first two, but will cover virtually every issue that you'll run into as a software project manager. ..bruce..

    --
    Bruce F. Webster (brucefwebster.com)
    1. Re:Three must-read books by dkleinsc · · Score: 1

      Wow, you missed at least one of the biggies:
      Fred Brooks' "The Mythical Man-Month"

      --
      I am officially gone from /. Long live http://www.soylentnews.com/
    2. Re:Three must-read books by bfwebster · · Score: 1

      Actually, outside of the discussion of architect vs. developer, Brooks doesn't address "managing seasoned programmers" a lot, which was the poster's question.

      As you can see from this article and from this list, I have a lot of books I can recommend for IT management in general, starting with "The Mythical Man-Month". ..bruce..

      --
      Bruce F. Webster (brucefwebster.com)
  61. don't let the inmates run the asylum... by Foolicious · · Score: 3, Insightful

    You need to let the programmers do what they do best...while remembering programmers' tendencies to do things like pick resume-padding technologies instead of the right technologies and freaking out over small changes instead of rolling with the punches. Easier said than done, but it's the truth.

    Also, whatever you do, do NOT, as some people have erroneously suggested, "be the manager that you would want to work for" because there's a good chance you don't share the same values as some of your programmers. The best rule for managers is to treat others like they want you to treat them.

    For example, I'm not particularly driven by money. Don't get me wrong, I wouldn't work for free and I like financial security, but when I line up priorities, thingslike freedom of time and thought are a lot more important to me than if a bonus is paid at 150% or something like that. My favorite managers have understood this, even if they don't understand how I'm wired, and they tend to leave me alone and not over-manage, unless absolutely necessary. And I've worked quite hard for them.

    So as much as you can (while maintaining consistency and keeping expectations well-known), adapt to each individual instead of implementing some across-the-board strategy. One guy may be driven by money. Another may be going through a divorce and always one the edge.

    Programmers are people and there's plenty of good and bad that comes with that. Some of them are just going to be jerks. And some aren't. Some will even be tremendous people. There's nothing you can do about this, but don't let yourself get pushed around or too worked up about it.

    Finally, always set clear expectations and never ever raise your voice or roll your eyes (neither of those work...).

    --
    Please don't use "umm" or "err" or "erm".
    1. Re:don't let the inmates run the asylum... by Sybert42 · · Score: 1

      Programmers are people? I suppose until the AI and posthumans following the Singularity.

  62. Lead by Example, amongst others... by sco_robinso · · Score: 3, Insightful

    These I learned in the military... Probably one of, if not the biggest things to do - Lead by Example. There's no better way to shred your credibility and reputation for barking at someone for coming in a bit late, if you come in late all the time.

    Secondly, always check up on your people. It's amazingly simple to do, but it's almost a bygone in the modern corporate world. No matter how busy your month, take a good 5 or 10 minutes with each member of your team as ask them how everything's going, what some of there frustrations are, what are some things they may need. It's amazing how good a roadmap you get when you just sit an listen.

    Communicate - both ways. Encourge input from your team, but dont be afraid to send some the other way. If someone's doing something you like, or not doing something, say so. Probably my biggest personal pet peeve is non-confrontational managers who basically shotgun-blast you with their little annoyances once a year at your performance review. Your team doesn't necessarily have to know where your at every second of every day, but it's always good to provide some high-level status updates. Take a few minutes out of your schedule to update the team.

    Recognize good performance, but don't be overly cheesy about it. Taking a minute to walk into an office and say 'I really appreciate the effort you put in last week to meet the deadline, Jim' will often mean a lot. It means even more in person, rather than email.

    I could go on, but really a lot of it is pretty straight forward. You people should want to work hard for you and want to impress you, and good leadership shows when they do. Treat you team members as professionals with respect and how you would like to be treated.

    1. Re:Lead by Example, amongst others... by Anonymous Coward · · Score: 0

      Could you post some links with common tips for those who didn't receive the training? Thank You.

    2. Re:Lead by Example, amongst others... by stupido · · Score: 1

      "where your at every second" you mean "you're". One down for the grammar nazis.

  63. Engineer Management by E.+Edward+Grey · · Score: 4, Insightful

    My area of expertise is not in programming, but rather in engineering - similar, but different too - so take this with a grain of salt.

    As a manager of technically proficient people, you have only a few major tasks in front of you: first, be sure to marginalize or fire uncooperative or difficult people (the "no-assholes rule"). You can live with lower levels of expertise, but you cannot live with drama. To paraphrase Roger Zelazny, the graveyards are full of people who thought they couldn't be replaced.

    Second, it's important to know that, aside from keeping the team asshole-free, you are not "in charge" here. They know what they are doing and they can track it better than you can. Employees of technical expertise actually need facilitators to assist them more than they need managers to direct their efforts. So be available to your team to take up the things they cannot afford to spend time doing - communicate with other departments, run interference with project managers, make sure that they get the help they need.

    In my particular field, a manager should be prepared to provide more assistance than control. I don't think programming would be that different.

    --

    ---don't make me break out my red pen.

  64. Performance Equation by karstdiver · · Score: 1

    Everyone's performance is determined by the equation P=f(M,S,E) where: P= performance M= motivation S= skill (right skills to do the job) E= environment (right tools to do the job. Performance is a function of a person's Motivation, Skill level, and Environment. A leader's role is to make sure the S's and the E's are satisfied (more training; better tools) and to properly motivate. For each person the M is different but there are common goals. A good leader can identify, create, and nurture those M's such that P is maximized. There are many ways to create M's: 1) performance based pay/bonus 2) competition with peers or self 3) fear 4) freedom 5) challenges 6) "whitewashing the fence" 7) others?

  65. May I suggest... by hackus · · Score: 1

    leave them alone, and do not get involved with the project unless they:

    1) Miss deadlines.
    2) Deviate from the requirements.
    3) Go over budget.

    I would do it this way:

    For 90% of my interaction with my group, I build the project nightly from the subversion tree.

    We had a development branch, production branch, testing.

    I would build the project daily.

    The only thing I told my 5 java guys is:

    1) If I cannot build the project daily, I am going to bug you.
    2) If you do not meet the deadlines I am going to bug you.
    3) If you do not meet the requirements I am going to bug you.
    4) If you fail my user testing I am going to bug you.

    Never had to say much to them, really except for the weekly meetings.

    However, this might not work for groups who are composed primarily of people who need or want direction.

    -Hack

    --
    Got Geometrodynamics? Awe, too hard to figure out? Too bad.
  66. Use the Chain of Command by Timberwolf0122 · · Score: 1

    It's the chain I beat you with till you learn who is in Rutting command.

    Hey pritty stars....

    --
    In the not too distant future, next Sunday A.D.
  67. In Soviet America by PingXao · · Score: 1

    Seasoned programmers manage YOU. Now gimme those bailout bucks and shut up.

  68. Common Ground and Firm but Fair by Qui-Gon+Jinn · · Score: 1

    I manage a staff of 12 locally (others overseas) who's collective tenure is in the hundreds of years (no joke). One guy I'm giving his 45-year service award Monday. What I've done to keep them motivated and earn their trust/pseudo-respect: fine common ground through humor, interests, life (e.g., children if you have them) and build from there. I've kept them motivated through various incentives (money, looking the other way on leaving early, some work from home) but I also make rational arguments as to why, for example, I've raised their productivity targets. This has resulted in a 50% YOY productivity increase, and they'll go 30% over that next year at this pace. No one hates me and while they may grumble, they understand why things are the way they are. Anyway, hope that helps.

  69. Older? by BobVila · · Score: 0

    Are they really older than you? Time can be hard on a Java programmer. Double check.

  70. Well it is quite simple by McNihil · · Score: 1

    Be like oil in the machinery rather than molasses. The best teams need the least managerial intervention. And oh yeah NEVER EVER micro manage.

  71. Help them be productive by Tomster · · Score: 2, Informative

    What you're responsible for is what they produce, not the people. If your team is composed of professionals, they will be self-motivated already. So focus on helping them produce. This means looking for what's hampering them and working to minimize/eliminate it, and looking for what could make them more productive and working to provide that. If you don't know -- ask. Talk to them, as a group or one-on-one, and find out what their "pain points" are or what they want to see done.

    Never forget they are people, not "human resources", and treating them with respect and consideration will earn you major props.

    Thomas

  72. first, always assume they're right by markhahn · · Score: 1

    try this: start every interaction by assuming you know nothing and that they're right. they probably _are_ in most cases, but finding out is the problem. taking this stance will give you a better chance of engaging them. you have a little knowledge in their domain, so strive to keep it from being dangerous. sure, you have other knowledge (and constraints and commitments) but everyone is better off with a cooperation rather than hierarchy. hierarchy inevitably breeds resistance, ignorance, conflict, etc.

  73. show respect and don't b/s by petes_PoV · · Score: 1
    just as you would / should every other person who works with or for you. Hopefully this isn't news.

    You probably also have people working for you who are more intelligent than you are - statistically speaking, it's likely. I would expect you have the experience and maturity to deal with that situation, too.

    --
    politicians are like babies' nappies: they should both be changed regularly and for the same reasons
  74. The short answer by Anonymous Coward · · Score: 1

    The short answer is: stay out of their way and let them do what their good at. Be sure they have what they need and go to bat for them when needed. At the same time stick to goals and milestones of the project.

    Honestly I think this advice is applicable to most teams and managers. Good luck!

  75. simple answer by Anonymous Coward · · Score: 0

    is don't take the piss , don't let them take the piss and talk normally. Only pull being manager when you have to. Treat it as though you are all in it together and you are there to filter the crap out and make sure they are doing what the business needs.

  76. Or you could make things easy on yourself... by Brain-Fu · · Score: 4, Interesting

    ...and use Agile. Here is the best book in the world: Agile estimation and planning

    To micro-manage them is to underutilize them (and to frustrate them). Your job is to understand the business problems and communicate them as business problems, and let the team figure out the technical solutions...they should give you some alternatives, and let you pick the right ones. After that, your job is to ensure that nothing obstructs their development, and to take action whenever they tell you that they are blocked.

    If you must be hard on deadlines, then you must be soft on requirements. Or vice versa. Being hard on both will always guarantee failure to deliver, and talent walking out the door. Usually being hard on deadlines is the choice of the day.....so being soft on requirements must be done, but *intelligently.* Some requirements are core to the usefulness of the app. Some are gold-plating. Move the gold-plating to the bottom of the priority heap. Each iteration will then represent the maximum possible business value that can be developed within the allotted time.

    You also spend a lot less time trying to stick stuff end-to-end in making a project plan and having to spend more time changing it all around after things don't go as planned halfway through the project. Micro-managers tend to hate agile, despite the fact that it is a much more realistic addressing of the realities of software development than traditional, waterfall, winds up being.

    1. Re:Or you could make things easy on yourself... by shutdown+-p+now · · Score: 4, Insightful

      Or you could make things easy on yourself and use Agile.

      I'd be careful before giving such blanket advice. Agile is not a silver bullet, and its gurus never claimed it to be. There are many projects and environments in which it doesn't work at all, or doesn't work as well as other alternatives. It can also be pretty messy when not done correctly. Most of all, it cannot be pushed onto the unwilling team - it requires full cooperation to be successful; if programmers on the team don't "feel agile", adopting the outer layers won't help you at all, and is likely to hurt you.

      I've actually seen Agile pushed in a company by upper management with programmers and managers not properly familiar with it, not used to it, and not liking it. The results were pretty bad, in my estimation (that experiment is still ongoing, just without me).

    2. Re:Or you could make things easy on yourself... by ClosedSource · · Score: 4, Funny

      "Agile is not a silver bullet, and its gurus never claimed it to be"

      Gurus never claim that their way is a silver bullet, they just claim it will bring down a werewolf or vampire with a single shot.

    3. Re:Or you could make things easy on yourself... by xero314 · · Score: 1

      Or you could make things easy on yourself and use Agile.

      I think you misunderstood the question. The Question was "How Do I Manage Seasoned Programmers?" not "How do I keep client's confused by prototypes long enough to drain all the companies capital without actually producing a usable product?"

    4. Re:Or you could make things easy on yourself... by Anonymous Coward · · Score: 0

      "Agile is not a silver bullet, and its gurus never claimed it to be"

      Gurus never claim that their way is a silver bullet, they just claim it will bring down a werewolf or vampire with a single shot.

      Actually, they only claim it works on werewolves. It's managers that promise it works on vampires too.

  77. Re:As a seasoned programmer I can easily answer th by thegnu · · Score: 1

    Doing lines off a hooker's ass is the ONLY decent delivery system for blow. I mean, come on.

    --
    Please stop stalking me, bro.
  78. Be a shit-umbrella by thockin · · Score: 4, Insightful

    The most inspiring thing a manager ever said to me, and a line which I always try to use when appropriate: That's my problem, let me handle that. Clear the landmines for them and let them run.

    1. Re:Be a shit-umbrella by WAG24601G · · Score: 1

      You must have managed in the 80s, or the 3000s...

      "Don't you worry about Planet Express, let me worry about blank."

      --
      Everything is easy when you don't understand the problem.
  79. Give them space to do their jobs by nut · · Score: 2, Informative

    I've just spent 2 years managing programmers who although not older, were generally much smarter than me, so I speak from relevant experience.

    First of all you have one huge advantage; Software developers want to do great work. Coders are generally passionate and proud about what they do.

    Your job is to make sure they have the environment they need to do that.

    Programmers tend to be task-focussed people. Their faults are typically that they don't communicate unless asked, and they forget deadlines unless they are constantly made aware of them. Obviously I'm generalising here, but the balance of your team will probably tend this way.

    So what you need to give them is clearly defined tasks, regular meetings where they talk to you and each other, and no excuse for not being aware of their targets/deadlines.

    Most people, and geeks more than most, don't like to be ordered around and will be more invested in decisions they made themselves. Therefore when you make decisions about the development process, do it in a meeting. Say something like, "We need a more structured process for development." (Programmers will generally agree, they like order and structure, that's why they're programmers.) "We could use [insert favoured methodology here], what does the team think?"

    If they have no stronger opinions, people will generally choose the one choice given to them and consider it to be their own idea from then on. If they /have/ got stronger opinions, they might well be worth listening to.

    So in short;

    Define the team methodology in as democratic manner as you can.

    Get them to sign up to the methodology and make it theirs.

    From then on enforce discipline with reference to the methodology. Your authority then proceeds from the team itself, as well as your position.

    A couple of other piece of advice; be a hard-ass about defining requirements with your clients (internal or external) and even more so about changing them. Learn everything you can about software estimation. Most projects that fall over at the end make their mistakes at the beginning.

    --
    Never trust a man in a blue trench coat, Never drive a car when you're dead
  80. Re:Sorry MOD UP by Anonymous Coward · · Score: 0

    While it's not nice, it's certainly true.

    Every coin has 2 sides you know.

  81. Most important: by Hurricane78 · · Score: 1

    They work for you, because they are seasoned experts. So ask them, and expect them to know better than you. There's no shame in it. You are the expert in your field. That way you work together instead of against each other.

    --
    Any sufficiently advanced intelligence is indistinguishable from stupidity.
  82. Your job is to help them be successful by Shimmer · · Score: 1

    Not the other way around.

    You exist in order to create and maintain an environment in which they can get their work done. The better you can do that job, the happier everyone (them, you, and your customers) will be.

    --
    The most rabid believers in American Exceptionalism are the exact same people whose policies are destroying it.
  83. their shoes by Anonymous Coward · · Score: 0

    Take time and expend the effort frequently to see things from your engineers' point of view, given the information and the incentives and the motivations and the backgrounds they have.

  84. Technical management = technical + manager by barneco · · Score: 1

    Technical management is a little tricky, especially with experienced, high-caliber resources. You HAVE to understand current technology, and solid design and architecture principles or you'll either get run over or completely alienate them, neither of which is good for business. Luckily, it sounds like you have a good start, possessing a technical background. You don't have to continue to code, but should at least be able to converse. A large part of the value of technical management is to be able to communicate technical constraints and direction to the business AND vice versa. PM is just PM...and is a given.

  85. DO NOT CYA by oGMo · · Score: 1

    Other posts have summed it up: be good at your job. The programmers are good at theirs; you should be good at yours. Being good does not mean building up an impenetrable layer of bullshit so you can CYA and point fingers. That's the primary indication of being crappy at what you do, regardless of what it is.

    If you don't know, admit it. Ask. Figure it out. RFTM, ask the right questions, take advice seriously, let people do their jobs. If these people are truly good at what they do, your job is simply to be there making sure they're working on the right project and getting them the support they need to get their job done. Be their advocate, not the representative of other groups.

    What you need to do isn't hard. You should already know these things at some level. Just do them.

    --

    Don't think of it as a flame---it's more like an argument that does 3d6 fire damage

  86. Unless your project is 100% exciting to everyone by melted · · Score: 4, Insightful

    Unless your project is 100% exciting to everyone on the team, the answer is, you won't be able to manage it without adding some junior programmers. A dude with 10 years of experience and multiple death marches under his belt will simply find hard to get excited about the mundane. That's not what he's there for. He's there to take on the big challenges, design stuff that works and implement it in a way that he's not embarrased by it five years from now.

    The corollary is either/or:
    1. Most of your project must be "exciting" to developers on the team. Very few projects qualify. In this case you can spread the shitty bits around so that people are less annoyed by them.
    2. You have to have a significant contingent of junior employees who will do the shitty bits that don't matter (but don't forget to throw them a bone and let them do something interesting as well).

    Most importantly, show appreciation for the work people do, whether they're senior or junior. I've been in the industry for well over a decade, and you won't believe how much easier it is to motivate people if you just say thanks to each of them personally every now and then, and maybe slip in a perk here and there. For reasons I don't understand, a lot of managers focus a lot more on cracking the whip. Big mistake, if you want people to stick around and actually produce something decent.

  87. Don't micro-manage by olddotter · · Score: 1

    And remember they are professionals, treat them like that.

  88. Tickets to the Star Trek movie when it comes out.. by JeffSpudrinski · · Score: 1

    Surprise tickets to the Star Trek movie when it comes out and the afternoon off to go see it as a group would probably endear most of them to you for life.

    As mentioned in another reply...they are not exotic animals or anything. Treat them as you want to be treated and be honest and respectful and they will be respectful of you as their manager.

    I'm currently working for someone younger than me for the first time in my life. However, he is a respectful manager and I respect him and enjoy working for him.

    I don't even think he minds me posting to /. occassionally...but just in case, here he comes and I'm outahere...

  89. Rands in Repose by eddy+the+lip · · Score: 1

    I only manage myself, and I'm on a deadline, so the best thing I can probably do is point you to the blog of a genuinely smart manager, Rands in Repose.

    Even though it's not really aimed at me, not being a manager, I still find at least a couple of things to take away from every entry.

    More rank and file programmers should read this guy, too. Gives you a real insight into what is involved in the bigger picture. It will make you a better developer.

    --

    This is the voice of World Control. I bring you Peace.

  90. I'm in that exact situation right now by Anonymous Coward · · Score: 0

    Substitute accounting for programming and I'm there. The pure and simple truth it leave them alone and let them do their job. They know it better than you ever will and have solved problems you have never seen. Most employees that have been around a while know what their job is and how to do it. Come up with a reporting system that helps them manage their work and gives you the information you need and then don't manage/report them or the project to death. If you do this you'll do fine. Try and manage them too much and out the door they go.

  91. do very little, well by dltaylor · · Score: 1

    I need very little from a manger, but those things are needed very much.

    Keep upper, and other, management off your team members' backs.

    Resources, particularly test resources. Whether, or not, there's a formal QA for your group's output, be sure that they have appropriate, especially correctly scaled, test beds before it goes to QA/production.

    Find out what the real desired product is, not the "wish list" of current buzz phrases that is often passed off as a requirements document.

    Once in a while, you will need to referee. Software is still much more of a craft than engineering. There may be more than one usable way to solve a problem, and if the team can't reach consensus on its own in a couple of days, then you will have to choose a path to keep things moving.

    Schedules: multiply the value by two and raise the units to the next level. "Two hours" is "four days", by the time it is properly done, rather than a "this will bite you in the ass" quick hack.

    Keep the long days for a real crisis, not lunatic PHB expectations. If your team is at all competent, you'll get those days when they count. When they happen, provide a late-evening meal on the company's bill.

  92. Seasoned programmer aka Professionals. by jellomizer · · Score: 1

    I am in a same boat as you. Except for the fact I am also a seasoned programmer myself.
    Honesty is always the best policy.
    Don't try to pretend that you know what they are talking about if you don't. Stop ask questions get informed, it is not a sign of weakness to not know everything. Even seasoned programmers don't know everything and need to learn stuff from other now and then.

    Insure you are meeting the Business Requirements. That is you main job. Make sure the programmers are moving into a direction of meeting the business requirements. They are people and sometimes stray from the business requirements and begin focus on more
    interesting things such as cross platform development and other good features and good ideas. You really need to balance these side ideas to make sure you are going in the right direction. If your app is planned to run on Windows with say Microsoft SQL Server with no plans of going to Oracle or MySQL in the next year or so. Then make sure they are not focusing on getting the product to work on Oracle just on Microsoft SQL which is the goal. If the business requirements change then we create a new projects for the change in requirements. Yes it will be cheaper in the long run if they Did both Microsoft SQL and Oracle at the same time... However if they never move to Oracle then you have wasted the money to get something that wasn't part of the requirements. Focus on the Business Requirements.

    Next is to flexibility for the Non-Business Requirements. Yes, it is a contradiction. But these people usually know what code maintenance they will need to perform in the future. And giving them some breathing room will make things run smoother. Getting the right balance is an art of its own.

    Don't micromanage. These guys are Pro's let them do their work.

    Don't let them take advantage of you. You are still the Boss if you have a feeling you are going the wrong way. Put a stop to it.

    Listen to everyone. Inside and outside meetings. Some people will fight to the bitter end for their idea. Others will be meek on them. Talk about issues in and outside formal meetings and get everyones input. Allow people anonymous contributions be anonymous.

    Learn what is easy to program. hard to program, very hard to program and impossible to program. And if there are other solutions viable. And judge the value and time it takes to do each. You may need to change you plan because the value of adding a hard to program feature isn't worth the effort in doing it.

    Learn what the guys like to program and dislike to program. Some things people enjoy doing and others they hate. Having a team try to make sure they are all doing things they love as much as possible.

    Make sure they know how to do the things they hate. Make sure there is still exposure to the parts they really dislike as they may still need to maintain it in the future.

    Give them some diversity. When working on a big project it is easy to get board with it. Try to break it up into small sections.

    All them to focus. When there is a big section don't make them feel like the gun is to their head. However let them know that it is a critical component that cant be slacked off.

    Allow them some FlexTime. If they like mornings allow them morning or let them work late if they feel like it and come in late. I am a morning person myself and managers sometimes assume that I am lazy because I leave work at 4:30pm although I got to work a 7:00am

    --
    If something is so important that you feel the need to post it on the internet... It probably isn't that important.
  93. Read Pragmatic Thinking and Learning by Anonymous Coward · · Score: 0

    Andy Hunt's Pragmatic Thinking and Learning will give you some insight into different skill levels and how people at those levels go about doing their work.

  94. No micromanaging by Is0m0rph · · Score: 1

    As a long time programmer I don't want somebody that doesn't have nearly as much development knowledge as me trying to lead me by the hand. Leave me alone and make sure the specs and requirements are good (something severally lacking usually) and I'll make my milestones.

  95. Simple answer: NOT by guruevi · · Score: 1

    That's what my boss does. Nobody 'manages' me. I am expected to do my job and if somebody in the environment doesn't do it's job according to what is demanded, they get talked to and eventually fired. You are 'managing' 5 programmers? That's more like micromanaging to me and it brings only pointless meetings, cruft and endless delays in projects. What a programmer's manager does (what my boss does) is to keep me from having to deal with stupid people (upper management and HR) keep me from having to distract myself from my job for no good reason (support calls that get escalated etc.) and to keep me supplied with what I need (office supplies, budget and paycheck).

    Just start out by making some coding guidelines (function and class namings, documentation, overview etc.) and then let them do their job. If they really are seasoned, they won't need much handholding if any. If you're in charge of a group of fresh programmers, you might have some more stuff to do with them and have a bit more meetings but in general once they get to know one another and get used to a certain regiment, they will 'grow up'.

    And yes, programmers play a lot, they have a lot of fun, they're not always working while they actually could work, but we're like artists and you have to accept us the way we are, you don't rush us and do your job managing the managers (set reasonable deadlines and stuff) eventually you'll get a masterpiece. All you need to know is that it's going to be done when it's going to be done and maybe a status update once in a while. Just trust us that we know what we're doing.

    --
    Custom electronics and digital signage for your business: www.evcircuits.com
  96. A koan by Palestrina · · Score: 1

    How to manage seasoned programmers? First, become a seasoned manager. Then act naturally.

  97. Don't be condescending by mswhippingboy · · Score: 1

    Don't assume that because they are programmers, they don't understand business or the big picture. If they are truly seasoned then they have probably done a stint in management at one time or another and chose to go back to development. Perhaps the best advice I can give is listen - you might just learn from them. After many years of taking upper management's great new ideas and trying to shoehorn them into the way the business actually works though carefully crafted software, there's a good chance they know more about the business than anyone else.

    --
    Sometimes the light at the end of the tunnel is the headlight of an oncoming train.
  98. Re:As a seasoned programmer I can easily answer th by Greyfox · · Score: 1
    He can keep higher level management out of their hair. A good manager will handle the schedule crap with the higher ups (or the customer) so that the programmers don't have to mess with it. The customer tells the manager, "We need this feature," the manager asks his guys to estimate how long it will take to implement and convey that to the customer. The manager will work with the customer to make sure the list of features is prioritized correctly. The manager will make sure that there are enough people to handle the list of tasks in a reasonable amount of time, or ask for more people if the task list is out of hand. The manager will make sure that if his team says they need more time on a specific feature, that the correct features are pushed out to another cycle.

    Good luck with that. I've had one good manager in the past 20 years.

    --

    I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

  99. Manage, don't Direct. by Anonymous Coward · · Score: 0

    As a manager, MANAGE stuff. Don't attempt to DIRECT the project and people.

    That means listening to your team, gathering information for them, from them.

    You may understand programming, but don't claim to "know" what they know. Wisdom is learned from experience.

  100. At least you have covered one of the bases already by HerculesMO · · Score: 1

    You know who Bill Lumbergh is, and obviously have watched "Office Space."

    Half the battle is already over.

    --
    The price is always right if someone else is paying.
  101. Easy... by Natetheinfamous · · Score: 1

    Simply point out the fact that this post has made it to the /. front page. That alone should give you sufficient geek cred that they will respect your judgments and understand that you are trying to to what's best for the project, from both sides (Development AND Business).

    --
    "To invent, you need a good imagination and a pile of junk." - Thomas A. Edison
  102. Remember YOU work for THEM by boristdog · · Score: 1

    Any technical manager's job is to:

    Keep them supplied with work
      - make sure the work makes sense
      - try to keep it challenging
    Keep other people off their backs
      - from above AND below
      - don't let them be constantly interrupted
    Keep them on track
      - be available for questions
      - meetings no more than twice a week, no less than once a week
      - keep all meetings short and concise
    Reward hard work
      - small things like buying them pizza once a week is nice, even if your programmers all make 6 figures
      - push for bonuses and awards for those who do a great job, and not phony certificates - CASH awards
      - allow flexible working hours

  103. Dude...if you have to ask, you'll never know. by murphyd311 · · Score: 1

    eom.

  104. I mean for this to come as nicely as possible. by Anonymous Coward · · Score: 0

    Do not call them older. The wiser part is appreciated by them, I'm sure. Still under no circumstances should they be addressed as older. To keep them motivated, provide. Provide coffee, healthy snacks, and rewards for work done well. Make sure that their needs are met, both financially and mentally. Make sure they check slashdot, or other posts as a group. It will be a good team building experience to talk about the news of the day. Remember, that bringing people together is much easier than you think. All you have to do is keep a positive attitude dressed in a smile. Be professional first, but keep kindness in there someplace too.

  105. Be a friend first. Informal meetings, free food. by Khopesh · · Score: 5, Informative

    Assuming you're all in the same office...

    One-on-one meetings in a comfortable and somewhat informal manner. Make it regular (twice a week or so?) and find some way to give them advanced notice indirectly, like doing it at the same time every week or passing by their office/cubes a few minutes before jumping in to ask for the informal report. If you startle them, leave and come back in a few minutes (really!). Their desks should be oriented in a manner that makes it hard to sneak up on them; if that's not the case, buy a mirror for their monitor.

    Group meetings at a less often interval (weekly or every other week) where everybody talks about what they're doing, and you reveal the long-term strategies, etc. Doing this over a free lunch or end-of-day beers (5:30p is "beer thirty" on "frosty friday" or "thirsty thursday," etc.) is always a winner. You already know most of the answers, so this is actually all for their benefit; this is when you report to them and they report to each other. This helps emphasize the philosophy that when co-workers are all friends, more work gets done with less apparent effort.

    Never criticize them for something you also fail at. Instead, announce that you're looking to improve that aspect in yourself and they'll get the message.

    You read Slashdot, so you're probably very IT-savvy ... older software engineers are a bit removed from that, so be careful about introducing new services (e.g. software services for bug tracking, wiki, source control, project management, social networking). When you do such introductions, make sure they are walked through, and the installation process is trivialized (all the above examples are web-based to eliminate client-side installation).

    Finally, pick up a book on agile development practice and consider migrating the team to a scrum cycle. Even if you decide it's not the right idea (or if you're already doing it), it will give you some management insight.

    --
    Use my userscript to add story images to Slashdot. There's no going back.
  106. programming != managing by James+McP · · Score: 4, Insightful

    Your first post was possibly funny. Now you've proven you're either a troll or a bitter, jaded individual who was probably passed over for good reason.

    It was actually a *mistake* that the only advancement path for most exceptional skilled workers was to become a manager that didn't use their exceptional skills. Project management has always been a specialized skillset. For some unknown reason, it was assumed that people who learned how to build things could also supervise other builders. I call shenanigans.

    The military figured this out years ago. Commissioned officers make plans, non-coms implement the plan, and specialists do the work. Each butterbar junior officer goes through a fairly rigorous training course to give them the concepts and then they get to actually learn the job once they get assigned to their unit where their captain and sargeant finish up the training.

    When the engineering company I used to work at introduced a "technical expert" path as well as a "project management" path I was overjoyed. Finally, the best do-ers could keep do-ing without being forced into managing. Plus, theoretically, the project managers would *finally* know how to manage.

    None of that happened, unfortunately, so I jumped ship. Last I heard they were closing offices. The place I work at now does have various technical grades that provide a pretty wide salary band and it's doing fine.

    --
    I've been on slashdot so long I'm starting to get out of touch with the cool stuff if it ain't on slashdot.
    1. Re:programming != managing by binarylarry · · Score: 2, Insightful

      Sorry Jamie, not the case here.

      You make a false assumption with your title. Programmers aren't necessarily managers, but to manage a programming project, the manager HAS to be a programmer and a manager. This is a common mistake many people make, it's a popular meme that "with the right management skills, you can manage anything." But it's simply not the case. Look at Big 3 as a great example. They've been run by accountants/manager types for years and look where they've gotten.

      Look at any company that got rid of the product guys and replaced them with management guys. It almost guarantees poor products, leading to decline sales and bankruptcy.

      Ever heard of Apple? Look what happened when a pure manager took over there.... they tanked until Steve Jobs took over. Or hey, what about Microsoft? Oh right, since Steve Ballmer took over, Microsoft's marketshare has eroded to less than 90%.

      I could go on, but I think you've realized your mistake already.

      The worlds need geeks. Not management tools.

      --
      Mod me down, my New Earth Global Warmingist friends!
    2. Re:programming != managing by russotto · · Score: 1

      It was actually a *mistake* that the only advancement path for most exceptional skilled workers was to become a manager that didn't use their exceptional skills.

      On the other hand, now there's no advancement path at all. Which probably accounts for some of the difficulties in managing such people... you've got no carrot, and they're too stubborn for the stick.

    3. Re:programming != managing by codepunk · · Score: 1

      I had a boss one time tell me that he wanted me to stay on a technical path. What
      he really wanted was, not to have try to find someone to replace me. I called him
      about a hour later and told him nobody dictates my career path but me, I walked out
      the door 5 minutes later.

      You don't owe your career path to no one, if someone attempt to put a limit on your
      career like this pack up and leave immediately.

      --


      Got Code?
    4. Re:programming != managing by James+McP · · Score: 1

      Yeah, I'm calling shenanigans again.

      Steve Jobs was never a programmer or an engineer. Woz did all the coding and system design. At best he was a technician who assembled boards following Woz's directions.

      Jobs is, to use a dilbertism, an idea rat, a concept guy and, I hate to say it, a visionary. A great idea rat, but still an idea rat. It's doubtable that he's a great manager because part of the reason he was ousted from Apple was that his ideas were grander than the company's ability to execute. The Newton was great but it was too soon so it was too big and too expensive. The Palm Pilot was the right time at the right price.

      When he was ousted in '85 Apple traded at $2 a share. When he came back in '97 it traded at $5 a share. Even given inflation, it was worth more when he returned than when he left. The managers did not run it into the ground but they did not innovate.

      Product companies need innovators to keep up demand. They also need managers to ensure things get built efficiently. They also need technical types so the innovative products that get built are functional.

      Gates? Gates is a programmer but there's no indication he was anything exceptional as a programmer. Gates is an exceptional business strategist and given that he ramped up the size of MS far more than Jobs ever did at Apple, I'd say Gates was a pretty good, possibly exceptional, manager.

      Gates was not, however, an innovator. He was a good enough business strategist that he could recognize them. And being a genius of business strategy, he developed the embrace-extend strategy that allowed MS to leech off of innovators without taking as much innovative risk.

      Good managers don't need to be particularly good at what they manage. They do have to *understand* it.

      The phrase "with the right management skills, you can manage anything" is misconstrued to be "with the right management skills and only management skills, you can manage anything." One of the definitions of "right" is "fitting or appropriate; suitable." One of the "right" skills is the ability to learn and comprehend.

      By definition, someone with the "right" management skills will expend the time and effort required to learn what it is their people do, the underlying concepts, and the generally accepted best practices for that industry.

      The best PMs I had at the engineering company couldn't build my system models or even directly interact with them but they understood what it was they did and the underlying logic of how they did it. They could tell if I was starting to drift from the project goals or overcomplicating the situation. They understood what the client's needs were as well as the constraints I worked under.

      --
      I've been on slashdot so long I'm starting to get out of touch with the cool stuff if it ain't on slashdot.
    5. Re:programming != managing by Anonymous Coward · · Score: 0

      as an active duty major, I think it's safe to say that the military does NOT have this figured out. Nowhere close.

      In general, the military is so undermanned that the contractor makes the plans. the military "project managers" are so undermanned and overworked that they have no recourse but to generally agree with the contractors. This usually leads to projects that are years and years behind schedule and come in at 4x the price that congress agreed to.

      But that's OK, because we force-shaped half of our 63A lieutenants out 2 years ago in order to maintain halliburton's profit margins. Thank goodness we saved pennies in order to spend pounds.

  107. Rush by ifakemyadd · · Score: 1

    and lots of it.

  108. I always like... by Anonymous Coward · · Score: 0

    No pants Friday!

  109. Nobody cares what your age is by WillAffleckUW · · Score: 1

    What they care about is how good a job you'll do protecting them from all the usual political garbage that has zilch to do with them completing projects, and standing up for them when other groups demand unreasonable changes at the last minute for free.

    Just be crystal with them.

    --
    -- Tigger warning: This post may contain tiggers! --
  110. Suggestions by ralphweaver · · Score: 1

    1) Don't attempt to babysit them or micro-manage them.

    2) Ask them for what they prefer to deal with specifically with in projects and attempt to assign them tasks within those areas first.

    3) Have them give you a weekly status report on progress made and status of projects.

    4) Let them do what they're good at without interference.

    Don't make assumptions about their knowledge of business just because they choose to stick to programming. Experience and time in business is worth every bit as much as management experience, and some people just don't want to manage others period no matter what their level of business understanding is.

    --
    Pantek, Inc. - http://www.pantek.com/ - info@pantek.com
    +1-877-LINUX-FIX - Expert Open Source Support
  111. try scrum by Anonymous Coward · · Score: 0

    http://www.youtube.com/watch?v=TvYqhYEaqMs

    http://en.wikipedia.org/wiki/Scrum_(development)

    Not any particular hint for seasoned programmers. Just do it well and it will be OK for juniors and seniors.

  112. Rule! by freeplatypus · · Score: 1

    1. Don't pretend that you understand all technical stuff.
    2. Don't question developers estimates. If they say that something takes given amount of time, then it does.
    3. Be boss. Your ass is on the line. Developers know that company won't be loyal to them, and they won't be either. Everyone is (should be) covering their own ass.
    4. Head count is important, but 4 developer does not equal 4 developers. Firing one guy and employing different one, does not mean that your project is on track.
    5. Other than that? Manage, keep track how things are going. Don't be afraid to ask how things are going. Usual stuff.

  113. They shouldn't be reporting to you... by Assmasher · · Score: 1

    ...they should be reporting to a lead, who is a technical person - the lead should report to you depending upon your position.

    In all honesty, you should not be in their hierarchy at all if you're business oriented.

    For example, I am the CTO at my current company, where I've been in this position for 4 years. There are technical people in two groups at our company: (1)Development and (2)Services

    Development creates products - this is not to be confused with creating 'solutions.'
    Services create solutions - this is not to be confused with creating 'products.' ;)

    The development team reports to someone who is a direct report to me.
    The services team reports to the Director of Services who is a direct report to me for technical matters (what product/tools/technologies for providing a solution) and to the President (I report to the CEO and the Board.)

    The services team would remain entirely in engineering were it not for the fact that we're too small to have a separate technical support group and/or sales engineeering staff; ergo, Services handles all of these issues on a 'first tier support' basis.

    The organization should differ based upon whether your an ISV (that may/not supply services work) or a services company. In either case, 3 developers shouldn't be directly reporting to someone in a business position.

    --
    Loading...
  114. Make them want to work for you by CR0 · · Score: 1

    First, don't approach this backwards.

    Don't think, "What can I do to/for them?" because that puts you one one side and them on the other. If you are part of the team then they will want to work for you because you are one of them.

    Becoming part of the team doesn't mean doing their job. That is their role. Play your own. As a manager you fight for your guys in any discussion with the rest of the organization. And let your team see it. Defend their flexible time, their choice of desk decoration, whatever. Then eat where they eat and generally be around for them.

    They will be motivated to work for you if they want you to be a part of their team.

  115. Loop them in. by Dogun · · Score: 2, Insightful

    Don't leave your developers out of your design discussions and brainstorming.

    1. Re:Loop them in. by leabre · · Score: 1

      As a software architect for a large company you've all heard of (though not a software company), I will have to agree with this 100%. Most engineers respect the company architects (and some even aspire to become one in the future). Being a relatively new architect myself (2 years) I understand. Our engineers really only have time to focus on their task and as per the structure of our company, often have to follow the blueprints, guidelines, end examples the architecture team produces. They don't get to do much research and experimenting with complex technologies and implementations, we take care of that for them. So otherwise exciting tasks become mundane when there isn't much for them to solve and also when they aren't learning about the "why's" of it all.

      When I bring the engineer(s) into our higher level architectural meetings and discussions (usually as a fly on the wall but often they'll participate with great insights), suddenly opens up a whole new world to them (I'm the only architect on our team of 5 that does this, BTW). They now see the business perspective, what problems are being solved, when there are 20 different projects going on that they are not even aware of, they can see now how it all ties together, and most importantly, they learn. There is nothing better you can do to motivate a bored (or happy) engineer to even higher levels than by allowing them to participate in some way with design discussions. On occasion, when I'm feeling lazy or have already been-there-done-that (the selfish in me), I'll delegate some design tasks to an engineer that participated (usually if that engineer wants to become an architect in the future, not all of them feel they are "worthy" or care), that also helps as a great motivator. When I do that, I merely "stay in the loop" and more or less mentor them, but otherwise stay out of their way unless there is a good reason to take a course change. Only experience and exposure can teach a developer about good design (when you must support 100 million+ financial transactions and complex computations daily) and most developers who haven't been exposed to such reliability and high-volume requirements won't have a clue what truly works.

      I had only worked with ~35k daily peak volume previous to becoming an architect in this company and everything I thought about what works and does not changed when I had to produce designs and implementations that can scale to ~400 million daily peak and ~100 million "typical" volume.

      I only understand that now as an architect. At the companies where I was an engineer or even Sr. engineer, it wasn't the company's culture to allow developers/coders to participate in any meetings except the ones where they are handed a new task. That'll sap the life out of a good engineer very quickly.

  116. You're a janitor by gorbachev · · Score: 1

    I once had a manager, a very good one, who told me his job is to remove any obstacles I may have so that I can do what I do best.

    I think that was a great way of summarizing what great managers do day-to-day to help their teams be successful.

    --
    In Soviet Russia, I ruled you
  117. Re:As a seasoned programmer I can easily answer th by Anonymous Coward · · Score: 0

    Amen.

  118. What I saw as good by Alioth · · Score: 2, Insightful

    On my last project for an extremely large customer (with an equally huge project), the good line managers were our (the developers) advocates, they took the bullshit so we didn't have to, and determined the "big picture". They didn't manage who was doing which particular piece of code - that was down to the developers to organize themselves. Managing the development team was less about managing the people in it (the developers could organize themselves) but being an advocate for the team, and making sure that the people who knew how to do the stuff were fully involved in decisions affecting them. Developers were not merely involved but critical to things such as sizing parts of the project, so that unrealistic schedules were not set. The line manager's job was in this case often to tell upper management "this is why it's going to take this long" in terms they could understand, and persuade upper management not to cause a disaster by compressing schedules or adding more work.

    It resulted in a productive development team which did not have to do unpaid overtime, and delivered a quality product to the customer - earning a very large sum of money for the company.

  119. Enable them to do their jobs by c0d3r · · Score: 1

    The best thing a manager can do is enabled engineers to do their jobs, don't disable them. Don't make technical descions. Descions should be made when dev's disagree, or present the cases for decisions to be made. Also budget should be your main constraint.

  120. Do not teach LISP by Antique+Geekmeister · · Score: 1

    Or rather, do not engage in the 'layers of abstraction' model of LISP where each layer is entirely cordoned off from the others, and only information about official, authorized practices is allowed to be shared among different levels, and the different layers are forbidden from seeing the other layers. It's one of the worst programming practices I've ever been shown, and it's death to managing competent people. Your people will perform better if they're aware of other groups as part of their company, part of their group, with whom they share goals and resources.

    Far too many managers are taught to segment their group away from others, to protect their turf and 'husband their resources'. The resulting isolation is devastating technologically, and socially, to a programming group creating products or an IT group providing services.

  121. Linus' on Kernel Management style by slashdotmsiriv · · Score: 1

    you can start from here:

    http://lwn.net/Articles/105375/

  122. Schedule more meetings and make them long by WillAffleckUW · · Score: 1

    First thing I'd do is:

    1. Schedule more meetings and make them long, with everyone in attendance, even if what they're working on has nothing to do with the agenda.

    2. Count how many lines of code they write, and count things like assignment statements as if they're as valuable as complex decisions.

    3. Every time another manager says they didn't deliver what the manager wanted, march in and attack them, and take the other managers side. ... oh, wait, you wanted to be a good manager?

    Then do the exact opposite of what I said.

    --
    -- Tigger warning: This post may contain tiggers! --
  123. Ask not by Anonymous Coward · · Score: 1, Insightful

    Ask not what they can do for you, ask what you can do for them.

    Don't kiss up and kick down. Or vice versa.

    Everyone needs to move in the same general direction. The direction needs to be informed from above and from below. Figure out where you're going and communicate your destination clearly.

    Be ethical.

    Don't play favorites.

    Respect expertise, but don't tolerate rank insubordination.

    It's not your job to be everyone's best buddy. Don't be an asshole either.

    Protect your workers from needless distractions (e.g. meetings) so that they have the dedicated time they need to focus.

    Be a good example.

    Try to align your worker's goals with the company's goals. Help them reach their goals, and they'll help you reach yours.

    If possible, keep people with very similar skills on different teams, so that they don't step on each other's toes. Value diversity over homogeneity.

    Bring a hooker to the office every other Thursday. (Just checking to see if you're asleep.)

  124. Keep the politics away from them by Channing · · Score: 1

    Do not allow politics (childish posturing by senior management) to force technical decisions on the team. Seasoned programmers don't suffer such nonsense and will leave - I've seen it on several teams.

  125. Steps to manage by Anonymous Coward · · Score: 0

    1. Hire smart people who get things done. Look up in their resume if they finished school and if they have finished many interesting projects. Make them do tests or otherwise ask for certifications.
    2. Install subversion.
    3. Ask them to use maven 2 and then install Luntbuild on a build machine. Create Development, Staging, QA, Production machines.
    4. Use archiva.
    5. Use Jira or another tool for task tracking.
    6. Set predefined delivery dates called iterations. Short iterations of about 2 weeks will do.
    7. Scrub requirements until you know for sure they are really good requirements. Number requirements and then prioritize.
    8. Prioritize work. This is management's job.
    9. Developers estimate each Jira issue.
    10. Create a meaningful release in the first iteration. Continue adding features on later iterations until done.
    11. Use automated unit tests.
    12. Use automated functional tests.
    13. Each abstraction layer is run by a seasoned programmer (team leader). Helper programmers follow the seasoned programmer's instructions.
    14. Team leaders do code reviews before check-in.

  126. Have no ego by bill_kress · · Score: 1

    You seem to be pretty good at that, keep it up. Really what destroys good engineering teams is managers with other interests (such as forwarding their own career). If you put the team ahead of yourself--even stand up for them at the risk of being fired, you'll have a productive team and you'll be the most remembered boss on the unemployment line :)

  127. Try talking to them. by zullnero · · Score: 3, Insightful

    Seriously, it sounds obvious, but it's a start. Figure out what their interests are, where their passions are in regards to their work, and determine if this is a person that you can put in charge of a piece of your project, or if this is someone who is only working for a paycheck. I've had my best results (and I picked this up from working in successful teams like this) by giving those who had stronger interests a degree of responsibility over a particular section of code, and had the "paycheck" guys work on all the other tasks that needed to get done.

    This approach works fine for both Agile and Waterfall, if you really "get" both methodologies. When you're working with seasoned developers, you're probably working with guys and ladies who've developed strong interests in particular niches by this point in their careers. If you can find a section of your project that jibes with those interests, you'll probably get fantastic results out of those folks. People who tell you that it's better to stay super generalized and constantly switch tasks without respecting those interests don't understand that if you're not passionate about something in your job, you'll most likely start looking for another job.

    And hey, if you have some seasoned guys who don't care either way, and just like that paycheck, those guys come in handy, too. They're like handymen, you can assign all the other tasks to them and they'll probably do them well enough. Saves you some time from trying to find contractors to do the work.

  128. It's usually pretty simple by caywen · · Score: 1

    With an older, more experienced team, I would stay focused on constantly thinking and discussing things in the context of what's good for the team. Never make it about right and wrong, but always frame it in the context of moving forward. When two team members conflict in their technical views, they can either choose to take it personally or not. If you hear them both out and give them both a sense that their views were well considered, then the loser (for lack of a better term) can choose to either respect your decision or not. The only tricky part comes when a team member chooses to start sabotaging your role. This often takes form of saying nasty things about you during lunches you're not invited to, and constant disagreement with anything you say. In that case, you're actually dealing with a very inexperienced developer pretending to be experienced. At that point, you've got to go through the 3-step: warn, document, then fire.

  129. The best boss I ever had did these things... by MpVpRb · · Score: 1

    Assigned a guy to handle schedule and budget, so I didn't have to.

    Took care of the company politics, so they wouldn't affect me.

    Created an environment where I could concentrate on my project.

    Paid well.

    Didn't require a lot of paperwork.

    Didn't wast our time in meetings.

    Approved the purchase of necessary tools.

    Left the technical details to me.

    Required excellence, rewarded success and dealt harshly with those who failed to deliver.

    And no...this isn't a fantasy, it really happened.

  130. Read Peopleware by Anonymous Coward · · Score: 0

    from Tom DeMarco

  131. push them to the limit! by Anonymous Coward · · Score: 0

    First thing to know is that all programmers thing they're pretty good, but reality is 95% are utterly wrong.
    Second, if you treat them as if they were commanding you instead of the opposite, you'll get in trouble, they only see code and technology, they don't care about business most of the time.
    So first thing is: get real taugh on making them understand what they're building is something that someone is paying for, they expect to get that investment back and this is the reason they get paid. Not because they know how to write keywords in a geeky text editor.
    Second: the only people I know who can transform technology into business value are those who are experts in both. So if you consider yourself a "business guy" get another job, you ain't gonna make it too far. For experts to respect you, you're going to need to be an expert too.
    Third: on the personal daily job there's only one trick, which sums up the previous points:
    - be passionate about what you do
    - be the best at what you do
    - be an expert
    engineers are going to respect such a guy. (unless you're a extreme case of assholeness).

    And don't forget to push your team to their limits, sometimes they'll be happy sometimes not. But that's the only way to get the most out of the people.

  132. As an older Java programmer by R3d+Jack · · Score: 1

    I understand why you are asking. A couple of things, without the sarcasm. Listen when they raise issues or offer solutions. Be straight with them if you can't go along with with they want, and let them know why. Let them set the direction when you get outside your realm of expertise. Don't hover. Don't set ridiculous deadlines and then constantly ask when things will get done. Don't have constant meetings in which they have no input. Stand up for them when needed.

  133. Find out what works, be flexible. by californication · · Score: 0

    Find out what works best for each of your engineers and be flexible. Is this person more productive when they work with a team, or when they work alone? Is this person more productive when you handle some of the organization responsibilities and let them focus on coding, or should you let them handle project planning themselves? Does this person like to have a more personal relationship with their manager (ex. happy hour) or would they rather come in, do their work, and go home at the end of the day?

    See what works and what doesn't with each person. Chances are you'll be doing very little oversight, because you'll be busy fighting the pressure from the top down, but be ready to act as a decision maker for your team when asked.

  134. What NOT to Do by PollyAnna · · Score: 1

    http://positivesharing.com/2006/03/how-not-to-lead-geeks/ I sent this to my ex-boss once - I don't think she read it. By the way, there are many websites dedicated to this subject if you do a search for something like "how to manage geeks (programmers, technical people, etc.).

  135. Humbele by Anonymous Coward · · Score: 0

    Take a humble approach, Start by seeing what each person works on and remember things worked before you came. Don't start making changes right off the bat. Also remember that you have two options as manager, Option 1 keep those that you manage happy (this goes along with the comment of being the sandwich) Option 2 Keep your Boss happy. Personally if you do Option 2 your boss will eventually be happy because remember those that you manage have the power to let you swim or sink. It is very difficult to do both but if you do write a book and let every one know.

    Oh and for the record if you ask some one to come in on Saturday make sure you are there to help them out...and buy them pizza or what ever.

  136. Show them this question on slashdot: by DamnStupidElf · · Score: 1

    They will point out the comments they left for you here, and everything will be pretty peachy from then on.

  137. Don't. by chaeron · · Score: 1

    You can't. Manage that is.

    Managing techies is an oxymoron.

    You can lead them, if you're good, you have leadership skills and are lucky.

    Try to "manage" them and you'll be well on your way to being yet another PHM.

    Read some good books on leadership, and pray you learn something about it before your team writes you off.

    --
    .....Andrzej

    Chaeron Corporation
  138. Not all that hard by rossz · · Score: 1

    Seasoned programmers are uber geeks. They don't have much of a life so you can easily get on their good side. Make sure they get at least one good meal while at work. Allow them to drink beer on the job. Most geeks don't actually like beer, so you won't have much to worry about. They just want to be able to brag that they can drink at work. Most importantly, geeks have no social life. So once a week or so take them to a nudie bar.

    Oh, you said "manage". I thought you said "manipulate". My bad.

    --
    -- Will program for bandwidth
  139. You should be the ring leader by Anonymous Coward · · Score: 0

    I guess I'd be one of those older guys working or you...

    Just do one thing: Be sure you KNOW what the software is to do and have some nailed down requirements. Go over these with the end user(s) untill they know what they are getting. The worst thing is "requirements drift".

    Then you have the team make a plan. And your job is to make sure the plan is reasonable. By that it has critical reviews and various points. Make sure it has a design review before code starts and planty of time for quality testing. A plan that is "all coding" is doomed to fail. Have them make the plan then your job is to track progess and be the ring leader.

    A really good software manager will make the rounds and talk to everyone and thereby prevent or reduce the need for meetings.

  140. Establish Your Dominance by awitod · · Score: 1

    On the first day, figure out which one the others follow and then pick a fight. He'll probably be surprised by this behavior and try to back down, but don't let him. Deliberately misconstrue anything he says and then beat him soundly with his own keyboard.

    The rest will have no choice but to bow down before you!!!

  141. How to manage cats^H^H^Hprogrammers by WScottC · · Score: 1

    1. Keep them sheltered. Be a good buffer and facilitator.
    2. Keep them informed; even of things you are buffering them from.
    3. Give them input into decisions.
    4. Allow them to choose/recommend the appropriate tools.

  142. Re:As a seasoned programmer I can easily answer th by JaredOfEuropa · · Score: 2, Insightful

    You don't have to. You are redundant.

    I've found that seasoned programmers, even so-called "agile" ones, often miss the big picture when it comes to changing business needs, shifting priorities, budget cuts, politics, etc. Some programmers exhibit the same attitude as Dante Hicks in "Clerks": "You know, this job would be great if it wasn't for the fucking customers". Others listen to the customer too much, when it should be clear that the customer doesn't really know (yet) what he wants. Programmers may not have the aptitude, remit or time to deal with all this, or (more often than not) they simply aren't interested.

    And that is fine: that's where the team lead or project manager comes in. If some manager is being an arse about requirements or timelines, make sure he talks to you instead of your team. And also make sure that you know how to handle that manager. Can you convince him he's wrong, can you find someone who can, or can you discuss this with the project's steering committee or sponsor? Many, many incorrect decisions and false assumptions will be made. As a techie with a bit of business experience, you stand a fair chance of spotting these. And as a project lead, it is your job to steer the ship away from disaster and back on course. That's where your added value lies.

    In my opinion the Parent's statement quoted above is only half right. If you have a team of seasoned and competent programmers, your challenges will indeed not arise from your team, but from the business side. Which means you are anything but redundant.

    --
    If construction was anything like programming, an incorrectly fitted lock would bring down the entire building...
  143. Read Managing Humans by jeblucas · · Score: 1
    The best "Holy crap I need to manage nerds!" book I've seen is Managing Humans by Michael Lopp* of Rands in Repose fame. He's been on both sides of the equations and knows where the problems are.

    Here's a good start, the Nerd Handbook.

    --
    *An associate's link! I stand to make hundreds of microcents if you use it!

    --
    blarg.
  144. Quality - motivation by nadador · · Score: 1

    "... team stays motivated while reporting to me ..."

    Most of the replies I see so far are really answering the question 'What makes a good manager?'. 'How do I keep experienced people motivated?' is an entirely different question.

    When I was young, I didn't need anything from my manager(s) to be motivated. It happened naturally because I wasn't yet jaded or cynical. I hadn't seen one hundred page coding standards, TQM, Six Sigma, or AS9100A, and I hadn't been forced to repeatedly take training on how to avoid stabbing myself with writing utensils. The newness of any challenge was enough to make me excited.

    Now that I'm older, what I need most to be motivated is to know that the people who manage my work (and rarely understand what I do) care about the quality of the product we produce. If you actually care about the quality of the software you deliver, then you will do lots of things that others have suggested. Its important, however, that you communicate that you're doing it because you actually care about delivering a quality product.

    You'll fight for reasonable schedules and budgets. You'll offer your people ways to grow technically and organizationally. You'll value technical skill and put up with a little bit of personality shenanigans in order to keep good people on your team. You won't let your process slide, but you also won't pretend that a well-written TPS report is your actual product.

    The most important thing is that a desire for quality is a motivation that managers can share with the people they manage. A junior programmer (no matter how old) may have a hard time understanding the business drivers that influence what you do, but that programmer does want to have his/her work appreciated. As a manager, you probably don't care that some feature of Java EE 5 makes your code so much more elegant the way that your programmers will, but if you understand that its increasing the quality of your code, you can appreciate it, too.

    My advice to you, as a 'seasoned' software engineer, is to actually care about quality and tell your team that you do.

    By the way, take some of the advice you're being given with a grain of salt. People with 11-digit slashdot IDs are not 'seasoned'. They're brand new :)

    --

    Outside of a dog, a book is a man's best friend. Inside a dog, its too dark to read.
  145. MBTI by Anonymous Coward · · Score: 0

    As a 36 year old Technical Manager with no direct reports younger than me I can feel your pain. How do I tell people who have been doing their job for 10-15 years how to do their job???

    I have always taken the roll of being an advocate for my team pushing upwards and an advocate for upper management pushing downwards. Not always easy. Basically, I make sure my team clearly understands the goals and when needed the who, what, when , where and why's. They need clearly defined goals and dead-lines .. and me off of their @sses while they do it. Weekly/Monthly progress checklists help them keep on track and make it seem like I am not riding their butts.

    One thing that helped our team communicate A LOT (I can't stress how much this really helped) is the Myers-Briggs Type Indicator. This little team builder exercise showed us how each other communicates and interacts with the team. My boss is intuition and feeling while my director and I are sensing and thinking. This means what my director tells my boss gets changed from the way she puts it into the way my boss hears it and then I don't get what I need from the info. It sounds kinda odd, but it really helped us as a team to learn why someone seems a little grouchy and the other a little sensitive AND how to work together.

    Good luck, I hope any of this helps!

  146. The cluestick for every MBA type by 0xdeadbeef · · Score: 1

    Your job isn't to tell developers how to do their jobs. Your job is to tell them what goal needs to be accomplished or what problem needs to be solved, and then get the hell out of the way. Your contribution is to remove impediments to the work, not direct it. When you direct it, you are an impediment.

  147. Missing some very important points by Anonymous Coward · · Score: 0

    I'm surprised that most haven't mentioned what I would consider a couple of the most important points:

    1. Don't EVER micromanage.
    2. Make priorities clear.
    3. Be accessible.

    Expanding a bit:

    1. Tell them what needs to be done, when it needs to be ready, ask for concerns and suggestions, and make sure that they understood this. And then get out of the way (trust that it will be done by then). You'll need to check ocationally, but not every hour :), you'll need to give them updates if the requirements, dates of priorities change, but other than that: stay away.

    2. Explain clearly the relative priorities of different projects, and let them handle it. Don't try to tell them how to manage their time.

    3. Make sure they know they that they must update you if something can impact their schedule or requirements and deal with it. Really be open to their suggestions and concerns, and do something about them. Make yourself available so they can come to you when needed, and make sure to let them know they can do so.

  148. Make them talk to each other by Lalo+Martins · · Score: 1

    One problem you're likely to encounter is that they think their experience is more valuable than it actually is. While it is very valuable, in some areas it just won't apply. And they won't want to listen to you because you're a noob.

    So make them talk to each other. In case of disagreement, call a meeting with "your senior advisory team". Make a point of listening to people who disagree with each other. If they're really good, the best solution will emerge naturally.

  149. What I like by Anonymous Coward · · Score: 0

    I'm not a programmer, but here's what I like as a human being in an IT organization.

    * Don't lie to your employees

    Especially the "everything is OK" when you really mean "everything will be OK after you're let go Friday" or "everything will be OK for ME because I'm cashing out my stock and running".

    * Remind them that they are valuable to the team

    Point out to each member what they bring. While teams can cover for each other, it's their unique skills/knowledge that got them hired.

    * Information

    Keep them informed on the product they're developing, how the company is doing, how they're doing, and most importantly, what they can do better.

    * Bacon

    Once a month my boss cooks our team several pounds of bacon along side other breakfast food. It doesn't make us more productive, but it's a great way to show appreciation.

    * Let them work

    You don't need to tell them how to do their job. There's a great quote, "people like to be LED, not managed". Tell your team what needs to be done, offer help on how to do it, but they're smarter than you. If they're producing good code, stand back, let them code, and be accessible when they need help.

    * Don't harp

    If you have an employee who's slacking, writing shitty code, or something else unproductive, bring it to their attention in a calm manner and help them correct it. Harping is for a truly broken employee. Guidance is to help good people stay good. We all screw up, off, and otherwise. We're human. Remind us that we're expected to make mistakes, and we can correct that hich is correctable.

  150. They don't work for you; you work for them... by Saint+Ego · · Score: 0

    You are a "manager", and you need to understand that you are not a "supervisor", mostly because your staff won't necessarily need supervision.

    As a manager, you do not work for the company. You work for your staff. You are only PAID by the company. Your job is to make sure that THEY can do THEIR jobs. You are the liaison between your staff and the company. As such, your responsibility is to discover the needs of your staff and do what is in your power to cater to those needs in an effort to maximize the productivity of your staff.

    A programmer with concerns about his pay or his vacation time, etc, is going to be much less productive. As a manager, your job is to manage that problem by finding answers and pursuing solutions to problems that exist outside of the production environment.

    Think of yourself more as a "coach" who needs to train a team to be as effective as possible... because that is what you are.

    Just like most programmers, you will likely be most effective at your job in ways that are virtually invisible to everyone else; your associates will only be aware of what you do when you don't do very well at it.

    Keep that in mind too, and realize that your (in all likelyhood) under-appreciated staff will benefit from being recognized for doing their jobs correctly once in a while.

    Just keep in mind: they don't work for you, you work for them. They work for the company. It will keep you in perspective.

    --
    Reality is prettier inside my head...
  151. Seasoned engineer by shadeyk · · Score: 1

    if you're not using a methodology like Agile Scrum, or some such that can manage spec's and produce on going working prototypes that allows everyone to get a sense that something is taking shape, then you'll end up doing something like waterfall. And then that's the end of that. Season programmers have been through all the scope creep scenarios w/o being able to get anything up to prototype state of execution. At least things like Scrum allow you to have 10-20min standup where you get your status reports and developers don't have to remember to email them to you and the end of day/week. Agile is actually rather good at getting individuals motivated and satisfied. Scrum is what is used here at where I'm working. As a seasoned vet myself, all I want is to see code+unit_tests(passing)+releases that show me that we're being productive as a team.

  152. Have a Backbone by Xtravar · · Score: 1

    Congratulations on making it to middle management! You have successfully demonstrated your ability to offend the least amount of people and an uncanny inability to say "no".

    Now that you have this position, it's time to start forming your own thoughts and opinions again before your underlings figure this out.

    As a manager, you should be a leader. You should have opinions and be intelligent. But you should delegate important tasks to people wiser than you. You should respect them, even though they might have edgier personalities than you (you cool cool cat)!

    Because the moment they find out that you have no backbone and no power, they're going to write you off as irrelevant. Which you are, but you must keep up their illusion. It's a tough line to walk, over that abyss of hopelessness, isn't it?

    --
    Buckle your ROFL belt, we're in for some LOLs.
  153. read jPod by Sfing_ter · · Score: 1

    jPod by douglas coupland would be good for you.

    --
    A computer once beat me at chess, but it was no match for me at kick boxing. Emo Philips
  154. Respect by Anonymous Coward · · Score: 0

    I am in exactly the same situation. Going over to the business side is a tough transition.

    Becoming a real project manager means you have really document what's happening, and you have to forecast things that are impossible to accurately forecast. Just do your best to make sure everyone is on the same page.

    Managing developers means not micro-managing. Coming from a tech background myself, I found it extremely hard not to do this. Step back, and let them do their job. Give them clear rules and structure, and they will thrive in this kind of environment.

    If there's a conflict, then you really have to get down to making tough decisions. The hand that feeds you (the client) is the bottom line. If the personnel issues affect the clients directly or indirectly, it's time to start thinking about firing or transitioning someone. If not, then it's time to really get down to the problem and perhaps have more open talks with your employees. More communication can never hurt.

    And finally, the biggest golden rule of them all: RESPECT YOUR EMPLOYEES, ALWAYS

  155. Java programmers? by dlmarti · · Score: 1

    Since when do we call Java writers, programmers?

  156. You don't herd cats - you just put them.... by glamb · · Score: 2, Insightful

    You don't herd cats, you just put them near the mice and they turn into a ruthless and efficient killing machine!

  157. Be a unifiying and cultural force by Anonymous Coward · · Score: 0

    As a first level manager of developers, you are...

    • Partially an impedance transformer. Face it, individual developers are often a bit quirky and are more interested in technical problems than business needs. In any group of developers, the individual quirks will be different. Most quirky developers want to be that way. You are a manager in part because someone thought you could translate between quirky and business - do it!
    • Partially a conductor. Every developer in your group has skills, sometimes unique, and it's your job to figure out how to get them all playing the same piece in the same key at the correct tempo. It's your job to recruit new musicians. It's your job to figure out if one of the bassoonists isn't up to the task -- and, more importantly, figure out how to get them to improve or, for the sake of the production, show them the door. It's also your job to set the tone of the piece at a high level.
    • Partially a mentor and adviser. You owe it to your developers to tell them (privately of course) about areas they could improve in. If they agree, you then owe it to them to try to help them do so (such as by varying their assignments). If they disagree, you then need to figure out how to minimize the impact of their weaknesses on the rest of the group. In extreme cases, this may require replacing the developer with someone better suited to the job - this also can help the the developer as they can then find a position that is a better match and likely less stressful for them.
    • Partially a (sincere) cheerleader. Be careful here though, the best engineers can smell a fake a mile away (and, sometimes smell a fake even when they are actually looking at the real McCoy).
    • Partially a sacrificial anode when appropriate. If the group and/or individual developer did the right thing (or, even, did the wrong but reasonable thing from time to time) but the outcome was not as desired, throw yourself between the group and/or individual developer and your management to protect your people -- sometimes it's painful, but it's important if you're going to keep the respect of your people (and, five years from now, you may want to recruit the best of those people to a new team!)
    • Partially a referee. There will be technical and personal differences in your group. It's critical to the health of the group that these be resolved both effectively and sensitively as possible. Note that "effectively" must take priority over "sensitively" - occasionally you may have to dismiss someone who is actually a good technical programmer but is a complete jerk (to you and/or others).
    • Partially an auto mechanic. You need to, if possible, get your hands into the technical aspects a bit (and I had to get a car analogy in here since this is /.).

    [Posting as AC to avoid reversing my mods]

  158. the most important thing! by Anonymous Coward · · Score: 0

    Two words:
    quality staplers.

  159. Seasoned Programmers by BlueFigToast · · Score: 1

    You have 3 choices in programming. 1. Good 2. Cheap 3. Fast Pick 2. Remember that. Wayno

  160. What not to do by Anonymous Coward · · Score: 0

    Coming from a seasoned programmer (if 'seasoned' means grays):

    * Don't do bullshit 'hi I'm your friend' crap. Like for instance buying them some token gift and saying 'hey look I'm so cool I got you this junk'. Even if it's expensive junk. This just makes you look like a tool and you'll probably never get their respect back. Buying a lunch is ok, only if it's on the company dime.

    * Keep if professional. If you're a republican, never talk at lunch or water cooler about how awesome Bush is. If they ask you don't tell them. Nobody trusts you to do an honest review or work or salary, argue up the chain on your behalf, etc if they already know you're a retard.

    * Don't try to act more knowledgeable that you are... you'll look like an idiot and a poser. I had a manager that would come in and in a conversation about work go off on a tangent like 'well you know they did that because...' some technical reason that was wrong. Since he's already lost any respect earlier (and he had no influence on my salary) I would correct him every time. But even if the guys don't correct you, trying to better them on tech is a bad move.

    * Be rational. A manager I had would say he'd never let anything be done in Python because he doesn't like languages where whitespace is important. I'm not a fan of Python syntax either, but 'fu'. If Python is the right tool then use it.

  161. 2 things by readin · · Score: 1

    Listen to the seasoned programmers. Find out about the successful programs they've delivered and what made the effort successful. Trust their judgments on technical matters. If you have to overrule them, make sure you've heard them out first and explain your decision. Even if the decision doesn't go their way they'll feel better about it if they believe they've had input.

    Go to bat for them. They're programmers, not persuaders. You're the guy who has to make the cases for their technical decisions and judgments to upper management, and protect them from poor decisions made by upper management.

    --
    I often don't like the choices people make, but I like the fact that people make choices. That's why I'm a conservative.
  162. Don't ask slashdot by Anonymous Coward · · Score: 0

    For starters, probably not the best idea to ask developers how to manage other developers. That's somewhat like asking a waiter how to manage a restaurant.

    If you're talking about running an efficient software project, I recommend reading "Head First Software Development" and "The Mythical Man Month".

    Just because they're seasoned software developers doesn't mean they have a sense of the trade-offs between scope, budget, and time. They also may or may not have much sense of how to prioritize things according to the business goals.

    If you follow the process in the Head First book on Software Development, you should be off to a good start. You'll probably want to share the book with your developers to make sure they buy into it as well before implementing it, once you're agreed more or less on the process for the project you should be in good shape.

  163. Be a communication channel by Mutatis+Mutandis · · Score: 1

    I think the biggest task you have is to translate between the business side and the technical side. In many poor workplaces, the problem is that the programmers don't understand the business purpose they are supposed to serve, and the business people don't understand the technical limitations and practicalities of the software system. As the manager, your job entails putting business goals in understandable language for the programmers, and explaining to business managers what the programmers are doing.

    This can be a surprisingly though job, because the two groups of people often talk very different languages, and sometimes even show mutual contempt. But if you don't do it properly, you will see software design done by business managers, and/or business strategy made by programmers -- neither is a particularly good idea.

    Your second major task is to stimulate your team to learn and improve, and to give them the opportunity to do so. Your programmers may be 'seasoned', but I don't know whether that means that they are very experienced or smart, or just that they are very experienced and stuck in mind-numbing routine. Anyway, there is always more to learn and good programmers really like to do so. You should protect your team against being so overloaded that there isn't any time to explore new things, and guide them in the direction of exploring something potentially useful.

  164. spork! by Cyko_01 · · Score: 1

    I recommend the spork, or for the really stubborn ones, a fork and knife. this approach may also work other employees

    1. Re:spork! by Cyko_01 · · Score: 1

      that should be work with other employees

  165. And first of all by dindi · · Score: 1

    Besides all that....

    KNOW how a specification should look like, act for your team as the XYZ department was your client:

    1. require a specification
    2. provide a quote ($$ or man hours)
    3. Write a contract (terms and conditions)

    4. enforce it these !

    when XYZ walks in, and tries to change stuff, point them to the project/ticker system, and ensure your team that the change WILL effect deadlines and not effect THEIR free time/holidays.

    OR: they will start to freelance, leave you and enforce these themselves

    OR: find a company with a manager who does all that.....

  166. Managing seasoned programmers is easy! by erroneus · · Score: 1

    Just go easy on the salt!

    Actually, I would draft a lieutenant or two from among the ranks of other programmers. This lieutenant should be well respected and trusted among the group. He should be someone that people should be able to go through or go to in order to appeal an unpopular decision you may make at one point or another. You should be their boss and their leader, not their friend.... the role of the lieutenant should be their friend... and the lieutenant should also be aware of his role in all of this and be smart enough to not ever express this to the group. A lieutenant is important for so many reasons beyond the simple "good-cop-bad-cop" thing... someone needs to be able to manage and keep up with stuff when you are on vacation!!!! Otherwise, you won't HAVE any vacation.

    Theoretically, seasoned programmers should also be self-driven and directed and mature enough to make their deadlines or give a practical and level-headed reason why it cannot be done. If you find yourself needing to "motivate" seasoned professionals, you need to start looking for more people who don't need motivating because they are the wrong people for the job.

  167. Add some hunger to the team! by bi$hop · · Score: 0

    If you eventually have any openings on your team, hire programmers that are hungry to code and enthusiastic about the opportunity to work for you. You may even consider taking a chance on someone who is not quite as skilled/experienced as other candidates. I recently advanced in my current job to a team of experienced programmers who sometimes seemed to lack motivation/desire. I have definitely benefited from the experience and know-how of the "old guys", while I think they have benefited from my youthful exuberance to work on any piece of code I can get my hands on.

  168. How many are you directly supervising? by HiThere · · Score: 1

    The question "How many are you directly supervising?" is a very important one. If it's more than about four, you may be in trouble. (I'm assuming that the department also has a secretary, and that you are directly supervising the secretary.)

    One way to handle this is to structure supervision so that you aren't *directly* supervising too many people. You also need to be able to delegate tasks with a due date. (Here I'm assuming that this isn't just one large project. If it is, see if you can refactor it.)

    Get to know your people. This can be difficult, but is important. You need to know who you can trust in which situation, and different people are very different. It's got to be OK for people to say that they don't want to do that part, they'd rather do the other, but they also have to be willing to accept that somebody's got to do the unpleasant stuff, and this time it's your turn.

    --

    I think we've pushed this "anyone can grow up to be president" thing too far.
  169. It's not the seasoned guys I would worry about.. by Anonymous+MadCoe · · Score: 1

    A seasoned good programmer will be easy to manage. They'll do the job and keep you up-to-date on things.

    It's the young less experienced guys or the not-so-good programmers I would worry about. These are the types that are supposed to be "creative people" and refuse to be managed...

  170. go back to University and get a PhD degree. by Anonymous Coward · · Score: 0

    Or at least an Engineering degree so people can respect you.

  171. Manage means to train with your hands by faronem · · Score: 1

    Well, having been in the same spot, here is my FWIW contribution.
    1. Treat your people like the people first. Some of the most interesting people I've met are complete assholes at work.
    2. Know when they work for you, and make sure they know when you work for them.
    3. Get them the tools they need to get your job done.
    4. It's all your jobs, not yours--it's a team. That's why it's not just you or 1 programmer working.
    5. Demand transparency within the team at all times. Obfuscation within the team should be cause for a pink slip.
    6. Encourage a culture of admitting how you fucked it up, then helping everyone not do the same thing.
    7. Dont say yes or no, say how.
    8. Set a simple vision for what your group needs to accomplish, not just individuals. Good tacticians will find a way to provide value when they understand the point.
    9. Meetings have a purpose or they're over. Whoever's late, including you, stands the rest of the meeting and at the next appropriate opportunity buys the next round of drinks.
    10. And, for gawd's sake, avoid all management advice which is based on an ordered list.

  172. Easy. Tell them you'll be expecting them to work with Ruby on Rails, AJAX, Extreme Programming, Web 2.0, Web 3.0, heck, why not Web 4.0 too (just keep adding numbers as you need). Wait for the blood to drain from their faces. Then suggest whatever you like, they'll do anything else you say at this point.

    More seriously, find out the problems they like to solve. If you have any good ones, you won't be able to shut them up after you ask this. You might need to give them time to think it over, though. If none respond, you don't have a strong team, and I have no advice to offer. If you have one or more, see if you can figure out where to place them in whatever grand design you are managing, based on their preferences. Get their input- and they will have input- about the problem you are trying to solve. Break off problems to solve from the main design for the good ones, and break off specific tasks for the weaker ones. If people run with their tasks and go above and beyond, shift more of the problem solving onto them, and reduce the amount of management. If you have any very good ones, they'll eventually manage themselves, you'll just have to give them a stream of problems to solve. If they are not as capable, pay more attention, turn more problems into specific tasks. Get the input of the stronger ones. For the ones that demonstrate their ability to take a problem and solve it, act quickly on their input. Once they see that better work leads to more independence and greater input, they'll have a reason to strive.

    There's a fair few more things to cover, especially the knowledge gap from being in a business stream *and* younger, but this'll have to do for now.

  173. Simple: +Bandwidth -filters -logging by Anonymous Coward · · Score: 0

    Just make sure they have plenty of bandwidth with no filters or logging.

  174. Irregardless is a word! Pedantry is useless! by Cassander · · Score: 0, Flamebait

    Dude, chill out and let the language evolve. Like it or not, "irregardless" has already made its way into the common vernacular. At this point, trying to put that genie back in the bottle is just a waste of time. Just accept it and move on. Nobody's forcing you to use it yourself, and its definition is unambiguous, so, really, what's the problem?

    --
    Knowledge != Intelligence
    1. Re:Irregardless is a word! Pedantry is useless! by he-sk · · Score: 1

      Amen, brother! I couldn't agree more.

      --
      Free Manning, jail Obama.
    2. Re:Irregardless is a word! Pedantry is useless! by Anonymous Coward · · Score: 0

      IOW: irregardless would mean "regarding". !!b == b, after all.

      More accurately, "irregardless" means "without lack of regard" - it's a bit more specific than "regarding".

    3. Re:Irregardless is a word! Pedantry is useless! by Bobby+Mahoney · · Score: 1
      My problem, is that it means the opposite (or close to opposite, kind of like ambiguous vs. UNambiguous) of what people who use it think it means.

      I don't care if people use it. I don't even care all that much if it's used incorrectly, because it's a pretty common thing for an average person to use a word incorrectly. But when the word means the opposite of the intended meaning, I tend to point it out, and/or break a door. Partly out of hopelesness for society. Partly because the prefix IR is right in front of the word in question.

      But aside from all that, I must digress.... I hope that most- even yourself- would agree that the simple fact that a phenomenon has oozed it's way into our culture... of extremely high academic and intellectual standards... is a really bad way to judge it's acceptability or quality. Maybe I'm wrong... Maybe the masses really were right after all about Vanilla Ice, Paris Hilton and George Dubya.

      We may never know.

      --
      !#&*
    4. Re:Irregardless is a word! Pedantry is useless! by Cassander · · Score: 1

      Like it or not, "irregardless" has already made its way into the common vernacular. [snip]...[snip] and its definition is unambiguous, so, really, what's the problem?

      Unambiguous. You use that word all the time. I don't think that word means what you think it means.

      IOW: irregardless would mean "regarding".
      !!b == b, after all. I don't give a flying fuck about neologisms, as long as they are meaningful. "Irregardless" is just idiotic.

      Anonymous because I have already used mod points in this page.

      I appreciate Princess Bride references as much as any other child of the 80's, but I don't know why you say I use the word "unambiguous" all the time. I don't even post on Slashdot often enough for the phrase "all the time" to apply. For the record, I understand it to mean "clear, easy to understand, and free of dual meanings".

      I concede that if you pedantically dissect "irregardless" it means something along the lines of "regarding," but you are ignoring context, which clearly establishes it as a synonym for "regardless".

      P.S. I don't use the word "irregardless" myself, but as I am fully capable of parsing its meaning, I think the energy spent trying to "correct" it would be better spent on, well, damn near anything else.

      --
      Knowledge != Intelligence
    5. Re:Irregardless is a word! Pedantry is useless! by Cassander · · Score: 1

      I don't care if people use it. I don't even care all that much if it's used incorrectly, because it's a pretty common thing for an average person to use a word incorrectly. But when the word means the opposite of the intended meaning, I tend to point it out, and/or break a door.

      At what point does popular (mis)usage create an acceptable (or even preferred) alternate definition? I presume you don't go around correcting people who use the word "nice" to mean something other than "foolish", for example.

      Furthermore, the INTENDED meaning of "irregardless" IS as a synonym for "regardless", despite the (mis)use of the ir- prefix.

      I hope that most- even yourself- would agree that the simple fact that a phenomenon has oozed it's way into our culture... of extremely high academic and intellectual standards... is a really bad way to judge it's acceptability or quality.

      Actually I would have to say that successfully becoming part of our culture is fundamentally the ONLY reasonable metric by which to judge acceptability.

      Quality is another issue entirely, but try not to forget that it's purely subjective. (Although I believe we are in agreement on the subjective point that "irregardless" is a poor-quality word).

      --
      Knowledge != Intelligence
    6. Re:Irregardless is a word! Pedantry is useless! by babyrat · · Score: 1

      Why would you assume the "ir-" means what you think it means?

      I mean if you are incapable (not capable) of recognizing the futility of the english language, then you will probably pour something inflammable (not flammable) on a fire in order to extinguish (outside of inguish, used to be inguish?)

      Of course Dr Nick would tell us that it would be a mistake to do so.

      I'm just saying that if people are going to invent a new word they might as well invent the meaning of it as well.

    7. Re:Irregardless is a word! Pedantry is useless! by Anonymous Coward · · Score: 0

      I think the energy spent trying to "correct" it would be better spent on, well, damn near anything else.
      Like teaching those same people how to pronounce "nuclear"?

  175. entrenchment by vainvanevein · · Score: 1

    I assume by "seasoned" programmers, you mean ones that are entrenched at their current company. If so, then you must realize that they are there, because they are making more money then they deserve. They will mostly try to discredit their fellow employees in everything they do. Because, a discredited peer is one that won't be stealing their raise. You will be hearing lots of phrases with "since the beginning" and "experience" in them.

    What you must do is to show no favor to one or the other. That way they will continue fight for a competitive advantage for review time. I'd also advise bringing in some extremely young programmer and sing his or her praises. Call the young programmer "hotshot" and "guru". There is nothing more that they will hate than this programmer. You can use this hate to blackmail them into working more. You may be able to even get them to do some overtime.

  176. Easy by pvera · · Score: 2, Insightful

    I totally feel your pain, I served a tour as a lead programmer, then technical manager, then director, then back to lead. Here's some of the things that I learned that weren't the most obvious to my fellow managers in other departments:

    1. Protect them. Put a programmer in a position in which he reports to just ONE boss and he'll follow you into hell. If the manager does his job, his programmers can actually spend the time programming instead of getting sucked into a reporting system where they have 8 bosses.

    2. Don't waste their time. Corporate is always adding stupid crap that all it ends up doing is slowing down the personnel that are actually producing. Try to cut down on redundant and/or useless reports, non-project/deliverable meetings, etc. Your goal here is to have your people spend as much time as possible billing to a project instead of burning overhead.

    3. Detach yourself a little bit. You are not their friend, you are their boss. You don't have to be an ass about it, but you can't hang out with them unless you take out the whole team for food, drinks, whatever. If you want to hang out with people in the same company, find other managers.

    4. You can rule with an iron hand, but try not to humiliate people in public. If one of your guys screws up, pull him aside and deal with it in private. Just because you have to adjust the employee doesn't mean you have to add humiliation to the mix. I know too many managers that simply can't understand how crucial this is.

    5. Don't obsess over the minutiae that is out of your control. The whole idea of having these senior guys is to have them do the heavy lifting for you, while you steer them in a general direction. Don't bother catching up to whatever technology they are dealing with. You do need to understand its capabilities and its limitations, but you don't need to know how to type the damn code yourself. Again, I know plenty of managers that refuse to let go and end up as horrible micromanagers.

    The best way to handle senior people is to tell them what you expect them to deliver, with broad guidance, plus whatever constraints are in place and out of your control. Let them do the work, try not to stand on their way and protect them from people that won't hesitate to make them waste their time.

    --
    Pedro
    ----
    The Insomniac Coder
  177. Seasoned doesn't mean what you think it means! by fuzzylollipop · · Score: 1

    I think by "seasoned" he means stuck in a rut that they know best because they have been doing the same thing for years. Those are the worst kinds of shops to have to manage. Read about SCRUM, that will give you some visibility into who actually knows what and does what.

  178. be them by tlord · · Score: 1

    Strive to make sure that if any one member of your team were to be, goodness forbid, struck by a bus -- that you could fill there job with at least barely enough efficiency to still have a chance.

    Then deal with the business side as if that is the expected outcome.

    If you lack the empathic capacity or technical smarts for this, quit your job and go back to programming.

    -t

    1. Re:be them by Darkn3ss · · Score: 1

      This is definitely the best advise (other than mine) in this thread. The best managers manage by doing, whether they do 1%, 10%, or 50%, if you do some, they will respect you. The problem with seasoned programmers though is the inability to learn new things. I would first start by analyzing the code that they have written, and suggest improvements to them where applicable. You can stay on the business side of things (everyone who switches there does it because it's easier than programming) because that will give you maybe 10 hours of real work a week, and then do another 10 hours of programming a week, and you'll still live up to your manager title by not doing anything for 20 hours or more a week. Best of luck friend, you'll need it. To me, seasoned typically means, head in ass and scared of ideas they didn't think of themselves.

  179. Befriend the Architect by heironymous · · Score: 1

    Have frequent one-on-ones with the architect (or tech. lead). Be frank.

    Defer to the architect on technical matters, in the same way you would expect her to defer to you on matters of scheduling and task assignments.

    Conflicts are inevitable. Whatever you do, don't let them fester. As the leader, communication failures are your fault by definition. Remember that humility is a virtue.

  180. well they're old enough.. by PermanentMarker · · Score: 1

    I'm neither a programmer or manager.
    But you know, most people forget that they work with highly educated people.
    And well to be true, they are made lazy by poor management in most companies.
    Simply ASK THEM how they would improve their job, their taks group etc.
    What would contribute to it?, then make it goals for the whole team.
    But dont be to strict in it, let them addapt, let them give control, or at least that feeling.
    Be clear about costs whats goes in, and what goes out, of the balance, and their group impact on it.
    Ask them for ideas to improve it, make them part of your decisions.
    It is not all blablabla management show that decissions are for the group, to make your group better.

    So lesson one would be to listen to them, but dont become their psychiater, you're there for the group
    But if they keep complaining about things tell them to stop and work it out, as they're old enough to do that.
    Your 30 and even you can do that.

    Keep always in intresting ear to them, to their work, and then next to their personal live. (work 1st)
    Try to find group activities, just fun activities outdoors, go to a movie or so with them once in a while.
    This will connect the group, maybe if your good you might be able to inspire them.

    Also if some person X is making trouble for the rest, let him now that, tell him about his lack of responsibility and how it negativly impacts proction, that the other people have to work harder because of it.
    Also dont push people to much, or they backfire at you; and the end result is negative, threat them as if they where your friends, and maybe they even might become that.

    --
    I know you're out there. I can feel you now. I know that you're afraid. You're afraid of us. You're afraid of change.
  181. economics vs creativity by Anonymous Coward · · Score: 0

    I've found one of the chief differences between managers and programmers is the way that each group views a problem statement. For example, let's say you asked a typical, profit driven manager to make a calculator, and that in return you would give $100. A profit seeking person would attempt to maximize profit and deliver that would barely meets the requirements. Now if you asked the typical creative programmer to build a calculator in return for $100 the outcome would be different. It is highly likely that the creative person would use the entire $100 to develop a great product, perhaps with features that were not specified. I'm not saying that one approach is better than the other, just different ways of viewing the same problem.

  182. The Feiner Points of Leadership, Corps Business... by Anonymous Coward · · Score: 0

    http://www.amazon.com/Feiner-Points-Leadership-People-Perform/dp/0446695750/

    http://www.amazon.com/Corps-Business-Management-Principles-Marines/dp/0066619793/

    They've earned enough freedom to work in, you've got only to work WITH 'em, to make the results engage the rest of the enterprise the way it needs to, and to arrange the leverage they need.

    http://www.amazon.com/Rapid-Development-Taming-Software-Schedules/dp/1556159005/ for excellent learning in the difference between effective management & ineffective.

    Also, take a look at http://www.taskjuggler.org/ , and do some learning in some GOOD project management books.

    Good luck, Good work, and Good living to ye.

    Cheerses,

        -Antryg

  183. Do scrum? by angel'o'sphere · · Score: 1

    Look into how scrum works: www.scrumalliance.org

    --
    Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  184. Re:As a seasoned programmer I can easily answer th by Khazunga · · Score: 1
    You're referring to teams in the Performing stage. This is the hallmark of an excellent manager. It only happens on a residual number of teams, though. Most teams get stuck in Norming, and a lot of badly managed teams get stuck in Storming:

    http://en.wikipedia.org/wiki/Forming-storming-norming-performing

    Now that I'm at it, team phases require different leadership styles. Goleman is a good reference:

    http://www.collaborativenetworks.net/jeff/downloads/htm/handout.htm

    --
    If at first you don't succeed, skydiving is not for you
  185. Simple... by ravyne · · Score: 1

    Its simple really, I think the two biggest parts are:

    1 - Listen to the tech-side of the staff and have them involved in planning. Its too easy to claim you can meet every need of the customer and then throw it on the devs to figure out. If its iffy, a consult is in order. If you promise to deliver something really impossible, or difficult but underestimate (and under-bill) based on your mis-assumptions, its going to breed resentment with the dev staff that has to clean up your mess.

    2 - Admit when you are wrong and accept responsibility. My very first project from my very first PM was underspecced because they failed to examine the databases we were unifying to ensure that there was enough info present to link all the records together. This caused us to take much more time since we had to discover and implement our own mapping based on desperate identifiers which, as you can also imagine, was a much less reliable method as well. We ran long, and were unable to deliver to the full accuracy we originally quoted, and it all could have been avoided with a little more care on their part. Combined with the fact that our usual margins were only about 20%, and that they were even lower because this particular contract was from another software solution outfit which couldn't do the job, we actually *lost* money on that gig... Guess who caught the blame from the big-whigs, even though they had admitted their fault to me in private? By the way, my "inability to meet deadlines" was cited when they "released me"... Not that I cared, I was glad to be free, got two weeks severance, and had a job that paid 25% more in 3 weeks time, and which led to the subsequent gig with a further 80% increase in pay the next year.

    To the unnamed PM -- Haha! I made more than you last year!

  186. Relationship by menion · · Score: 1

    I think that you would be best advised to form relationships with all involved. Your working relationship must be such that you have the courage to do what is required for all parties involved.

    I don't know anything about you, your programmers, or your company. I would focus on learning about them, and serving them and your company. Not everyone will ever workout in a situation. If you know them, you'll be able to build trust and reliance. In short, a team. Overuse of authority, or authoritarian means will kill you. A bad understanding of relationships will kill you. It depends much on your company.

    If you can find the courage to be a real human and engage them at a human-relational level, then you will have the ability to manage all other pieces of your job function. A weak/broken individual will mange with threats and manipulation or not manage at all. Some people believe it's either "tool" or "user".

    Learn to know them all, learn to use thier strengths for the purposes of the team and company, and you'll go far with them.

  187. One-sided advice. by Anonymous Coward · · Score: 0

    So you asked how to handle programmers on a forum where programmers hang out. The answer you got is: GAAAH BLAH BLAH BLAH don't bother me BLAH BLAH I'm the best programmer in the universe leave me alone BLAH BLAH what's that? status reports? I'm waaay too good for status reports BLAH BLAH oh, btw, buy me all this stuff because you should BLAH BLAH BLAH I don't wanna hear about anything that doesn't affect me personally all that "business" mumbo-jumbo bores me to death just sign my fat paycheck already

    How unsurprising... And one-sided.

    Somehow, I get the feeling that the answers would have been different if you had posted your question on a forum where managers hang out (if there is such a thing).

    I'm not a manager myself but knowing that it could happen one day and because I like to read what people have to say about my industry and their ideas on how to make it better, I have read a couple books from Joel's and Jeff's reading lists.

    So should you.

  188. Bologna. by Weaselmancer · · Score: 2, Interesting

    And you treat your kids like they're your friends rather than your kids?

    A poor metaphor. You and your children are not equals. Not in any way. Not legally, not in terms of experience, nada. They need stern guidance. Most grown-ups (meaning both engineers and managers) do not. If they do, they need fired, not managed.

    That being said, I do my best to be a friend to my son. 99% of the time a kind word works as well (or better) than punishment. I won't hold back though if punishment is called for though. I'm not soft. Just thoughtful.

    Your statement about status reports would come across as BSing to me.

    If you're incapable of responding to adult conversation and honest communication, that's your problem not mine.

    Status reports help engineers focus their minds and keep their attention on track of what they need or have agreed to do.

    Maybe if you have ADD it does. I know what my tasks are without having to explain them to someone every other day.

    For the managers they help reassure them that they've understood that the engineers understand the requirements and direction

    Only if the engineers you've hired are morons who have to have things explained to them over and over and over. If that is the case, go to careerbuilder and hire yourself a new batch of engineers. What you've got there aren't engineers, they're idiots.

    They still have to talk to each other between reports though.

    If you have motivated adult workers, this is certainly enough. Reports gathered from engineers who don't respect you won't add up to jack. I know this for a fact.

    I once had a job where - for reasons too complicated to get into - the head of engineering had me working on a secret project. It was something we were working on, his boss said to stop it, but he told me to keep going on it. That meant I had to falsify status reports every week.

    Yes, I was paid to lie. And from that experience, I learned two things.

    1) You can lie your ass off on status reports. Either nobody reads them, or nobody understands them. My boss eventually admitted it was the first case. Too much work to babysit everyone. It's a psychological trick to make you work harder because you think you're being watched. Odds are, you aren't.

    2) Because nobody is getting anything of value from them, they are generally useless.

    I'm sure there are exceptions to this, and there may be a manager out there who actually reads his team's status reports. Probably as rare as hen's teeth, and I've never met one, but it's not impossible.

    --
    Weaselmancer
    rediculous.
  189. Listen, listen, listen by Anonymous Coward · · Score: 0

    1.) Listen to the team
    2.) No really, Listen to the team
    3.) Listen to the team, its surprisingly hard to do well.
    4.) Never say "I used to be a developer so..." If you do that you have lost.
    5.) Never say "I am the manager so..." again this just shows how weak you are intellectually.
    6.) Accept that you are not and never will be accepted by the team.
            Let the team self-organize. You should not be deciding who leads, which architecture, etc. Let the team do that because that is their passion. They are just as motivated, if not more, to pick the right person, right technology, right design. If you can't trust the team then you need a new team.
    7.) Give clear requirements, clear acceptance criteria.
            Good requirements are above and beyong everything else testable. If you can't determine how to test the requirement don't bother you team with it because how do they code something you can't explain how to test?!
            Give clear expectations (Ex: We will use version control with features x,y,and z. Now you decide how and which one.)
            Giving clear requirements and listening are really the heart of being a good manager. Listening and giving clear direction are also the hardest things to do.
            The reason most managers suck is that listening and giving good direction are very very hard to do well and its far easier to just play political games.

    8.) Let the team create their own inspection list for requirements acceptance. Example: Testability is a great inspection criteria.
              a.) Team creates inspection list of things the requirements must do.
              b.) Manager uses checklist to pre-inspect the requirements before giving them back to the team. This greatly reduces churn.
              c.) Team inspects the requirements using checklist and provides written reasoning for rejections.
              d.) Team updates inspection criteria as needed. Changes must be communicated.
    9. Don't be afraid to say "I don't know, what do you think we should do?" And "nobody knows everything" should also be heard.

  190. Same thing we always do Pinkie... by rigorrogue · · Score: 1

    Do the stuff they don't want to do. And take over the world. These are talented, experienced programmers; the idea is to give them well-defined problems, easy communication, sufficient kit, timetables, and freedom from distraction. This sounds like your job. And like anyone, they appreciate good company. Pun intended. We nerds gotta realise we're not that different to other folk, apart from the facts that we reckon OS choice is a character trait, pizza is a foodgroup, and yes we need to get out more. Of course I wish other folk took these sorts of things so seriously. Go Meme!

    --
    science in government
  191. Get obstacles out of the way. by technomom · · Score: 1

    The best managers I ever had were people that excelled in one thing: getting obstacles out of the way of getting work done.

    They told marketing people, "No you can't borrow so-and-so for 2 days so she can drive Powerpoint for you.".

    They told upper management, "No, we're not changing to the latest buzzword technology just because you read it in a magazine."

    They said, "Yes, you can stay at a decent hotel that has more than paper-thin walls when working 14 hour days for an onsite installation."

    Mostly they said, "Don't worry about the TPF reports, I'll do those, you get the code through test."

    The best managers I've ever had also understood that it's easier to get forgiveness than permission. In general, if we did something risky but worthwhile, they ensured that we had a contingency plan and took the heat from above.

    Good tech managers are very hard to find, but I know from experience that you'll walk through a hail of virtual bullets for one if you have one.

  192. obl Simpsons quote by BigGerman · · Score: 1

    Donuts and possibility of more donuts to come.

  193. Speak softly and carry a big stick by Atrox666 · · Score: 1

    When ever they start getting out of line start talking about the latest version of .Net

    Fortunately java coders are a dime a dozen so you can always kill one and rub their blood on the cubicle walls to make the others fall in line.

    You do know you can get all this done cheaper from an Indian company.

  194. Treat them with respect by Anonymous Coward · · Score: 0

    Treat your employees with respect, and try to "do what's right" in dealing with them.

    Don't worry about the rest.

  195. Building teams by KrispyCritter · · Score: 1

    I highly recommend the book "The FIVE Dysfunctions of a TEAM" by Patrick Lencioni. Having been in your shoes in the past, I found the principles in this book very helpful, and in my opinion, dead on. They reflect many of the comments posted to date, reflecting honesty, respect, etc. Another suggestion, just from my own experiences, I have always tried to manage in a flat management style, as opposed to a hierarchical org. I define the manager position as just another team member, with specific tasks and responsibilities; just as everyone else does. The main principle I have always driven home is that the manager is an employee, just the same as everyone, no more important, and can be talked to 100% honestly by his fellow team members. By and large it has worked well as long as remembered that pledge to my fellow team members. Where it went wrong was the few times I thought too much of myself and did not hold to the pledge to acting as just a team member. And, I regretted it.

  196. Rands in Repose by DanTheLewis · · Score: 1

    This is a great collection of software management thought, very practical stuff with jokes. (just read the ones tagged "tech life" and "management")

    http://www.randsinrepose.com/archives.html

    --

    Q: What did the comedian say to the crowd?
    A: If I knew, this joke would be funny.
  197. your commander's rank by Anonymous Coward · · Score: 0

    Never wear your boss's title when you have to bring bad news. It makes you look like a coward.
    Like me.
    Posting here.
    As a coward.

  198. What would Machiavelli do? by jawahar · · Score: 1

    Long answer is you and your team need to understand that you are administering and not leading or managing the project.
    Short answer is learn how to manipulate and use people.

  199. Money. by Dawn+Keyhotie · · Score: 1

    Cash, check, money order, options, you name it. Give it to them.

    If they ask for a raise or a bonus, give it to them. They need it.

    If they don't ask for a raise or a bonus, give it to them. They need it but are afraid to ask.

    If they actually tell you they don't need or want a bonus or a raise, give it to them anyways. They need it and don't know it.

    If you do all that and they are still not happy, then obviously you are still not paying them enough.

    Now. What was the name of your company again? I need to apply there...

    --
    "The only good windmill is a tilted windmill."
  200. Advice by Anonymous Coward · · Score: 0

    The best technical mgr I had was smarter than me and worked harder than me, and was happy to share his knowledge. He kept upper level mgt away and motivated by example (and some competition). He also knew exactly what was going on and what needed to happen. Strange, but you typically want your mgr to actually understand what he's managing! In reality, combination geek-politicos are very hard to find, unfortunately.

  201. Study general management theory by definate · · Score: 1

    If you haven't studied general management theory, you're most likely working with a warped ideology of what management is about. This is basically the Dilbert style of management, which nobody who has studied and understands modern management theory, would actually do.

    For instance, you're looking to motivate while controlling costs.

    I suggest you look at developing a strategic planning process which defines the relationship between the employees, the company and their performance.

    I suggest you choose the most influential person in the group, who wants to exceed in the business, and define them as the lead/senior developer. Use this person to handle all of the project specific details.

    Remember, a manager's (I prefer to say leader) job is to help other people work. This does not imply that you walk them through their job.

    This brings me to leadership theory. You need to understand that during change people tend towards uncertainty, it's your job to quell that uncertainty, and help them get independent again. For instance if we're using the situational leadership theory, we're looking to bring someone from an R1 state to an R4 state.

    Don't control what they do, unless they abdicate to you, however never do their work for them.

    If you want more information on this sort of thing, I suggest you either start studying an MBA in your part time, or get some business journals and start reading. I really like the harvard business review, and specifically you might like the "HBR Answers" it's a bunch of topic and associated articles which give you a good perspective on those topics.

    Either way, if you want feel free to email me if you'd like to talk about this more, or reply to this post.

    --
    This is my footer. There are many like it, but this one is mine.
  202. Don't be an obstacle!!! by Anonymous Coward · · Score: 0

    Step aside and don't get in their way.... sometimes the best manager is the one that knows when to keep his mouth shut and let his/her team just get on with what they need to do.

  203. Business Requirements by BlueBoxSW.com · · Score: 1

    1) Keep the clients focused on the business requirements, not their personal whims.

    2) Keep the techies focused on the business requirements, not their personal whims.

    3) Profit.

  204. How to mange programmers by unlametheweak · · Score: 1

    How Do I Manage Seasoned Programmers?

    The best way to manage programmers is to make sure their coffee cups are always full and that their are plenty of healthy (and free as in beer) snacks lying around in convenient locations. Make sure there are real plants in the office and make sure they are taken care of. Other than that keep out of their way, keep quiet and only speak to them when you are spoken to.

  205. More suggested reading material by DaveAtFraud · · Score: 2, Insightful

    I'll also recommend Peopleware and follow the advice in the "Oh for crying out loud" post that this reply is under. I was going to post essentially the same advice.

    I once managed a software development group that had several Ph.Ds, some people with Masters degrees (I have an M.Sc. in Math) and most of the rest with B.Sc.s in computer science. We were developing software for a radar project and most of the Ph.Ds had degrees that were applicable in fields like high energy physics and atmospheric physics, etc. They all came to the same conclusion that they couldn't do what I did which was serve as the communications channel between my group and upper management. All I had to do was make sure thet they knew that I knew that they had the answers. They even had to help me with the questions some times.

    The key was that I didn't have a problem with this situation. It would have been a problem if I had pretended to know or had ignored the fact that they knew more about the subject than me. Instead, we became a team that solved the problem (almost on time and very close to within budget on a cost plus contract).

    The people working for you (hopefully) want to solve the problems you bring to them. Work with them to understand the problem and keep the part that they are trying to solve within the realm of technology. Do your best to keep company politics from disrupting them. Likewise, learn to spot when someone is trying to have your team create a technical fix to what is essentially a political problem. That's usually a recipe for disaster. The better you are able to keep your team focused on technical issues, the happier, more successful and more productive they will be.

    One last thing to remember. You mentioned that your team is older than you. Keep in mind that most if not all of them made a conscious decision NOT to go into management at some point in their career. They don't want to deal with management/company politics stuff. That's your job and they will be happy to let you do it so long as they can keep coding.

    Cheers,
    Dave

    --
    They that can give up essential liberty to obtain a little temporary safety deserve neither safety nor liberty.
    Ben
  206. Ask them what they're good at and what they enjoy by Anonymous Coward · · Score: 0

    Make sure they get to do fun stuff and they'll be happy to do the grunt work.

  207. RE: how do I manage programmers smarter than me by Anonymous Coward · · Score: 0

    1 Shut up
    2 Listen
    3 Learn
    4 Do not guide, let them guide you.
    5 Find each persons strengths and weakness and pair them in tandem with someone who compliments or gets along with them.
    6 Don't be an ass.
    7 Solve their bottlenecks and make sure they know you are working for their benefit.
    8 Earn your worth.

    Many programmers do not wish to be on the business side. So they will respond nicely to someone who seems smart like them but has taken on the burden and is open to their cause.
    Meaning it's really not that hard to manage them if they respect you.

    The key is them respecting you.
    You by default have to respect them because lets face it, they have more knowledge than you so to not respect them makes you look stupid and naive.

    Take my advice and you will have a team that doesn't care how many days you take off, is more productive than other teams in the company and if you in turn add flexibility to their schedules and base your rewards only on merit and productivity you will make your team grow even further.

  208. Let them do their work by Troberg · · Score: 1

    Programmers love programming and hate paperwork. Try to shield them from practical details of the daily office life, and give them as much room as possible to do what they love and what they were hired to do: programming. Also, try to make it interesting. The programming tasks needs to compete with other stuff that wants attention, such as the internet. When a programmer finds his task interesting, he is extremely productive, but when it gets boring, productivity immediately drops. One way to accomplish this is to allow them to divide the tasks between then as they see fit. Also, give them a certain creative control. Make sure they learn about how the product is to be used (most likely, most of them already knows more about the subject than the users...) and allow them to make design decisions and suggest future development. Listen to them.

  209. whip em! by wein0 · · Score: 1

    All this "be their friend" business is nauseating. Keep making outsource to -insert favorite 3rd world country here- jokes should they express an opinion. And watch the office for inspirational speeches.

  210. TO be managed by Anonymous Coward · · Score: 0

    1. You are in charge of the business. They are in charge of the programs. Stick to this
    2. Dont be authoritative whithout a good reason.
    If you must, explain why.
    3. The problem ist not to motivate, but to avoid to demotivate. This ist very serious!
    4. They may have a family and children. This requires a good deal of energy and flexiblility, more than any business type without children can imagine. It pays off in loyality if you consider this.
    5. Listen carefully.
    6. Dont be over sensitive to a rough tone and dont over emphasize "professionality". These are professionels in their field.
    7. If you use their errors as a tool of authority it will used against you as well one day.Management does not immunity to errors.
    8. A management position doesnt make you more clever.
    9. Listen carefully.

  211. Hey ...what did you do with my stapler??? by Tuna_Shooter · · Score: 1

    don't ask them to file TPA reports .......

    --
    *--- Sometimes a majority only means that all the fools are on the same side. ---*
  212. Obviously... by Anonymous Coward · · Score: 0

    Dev here. Pay them double. it would work for me.

  213. Right level by SpaghettiPattern · · Score: 1

    Firstly, older/mature/seasoned techies are not per-se good at their job. Usually the crappy ones will become formal when threatened. You should divide the wheat from the chaff. Can you do that?

    Who is an application programmers that duct-tapes stuff together but give you a "good feeling"? Who can program software libraries to be used by former which requires strong overview, discipline and a huge load of experience?

    Can you divide work according to skills? (Admin tasks to the crappy lot. Responsible tasks to the good guys.)

    How log will you stay? Can you commit to manage them for a longer period and command respect? If Older/mature/seasoned techies magically sense if you'll soon be gone.

    And don't be patronizing. Just don't. Tough call for a youngish manager.

    --

    I hadn't the slightest objection to his spending his time planning massacres for the bourgeoisie... (P.G. Wodehouse)
  214. Dry humping by Anonymous Coward · · Score: 0

    Also, dry humping them is a sure fire way to express your dominance over them.

    The Managing Director used to dry-hump the development team at one web shop in England.

    I was let off the hook because I was new.

  215. Simple solution by Anonymous Coward · · Score: 0

    The day you start - meet with everyone individually for 5 minutes. Ask them:

    * What do you like to do?

    * What do you hate to do? This is so you know, and then try not to give them that if you can help it. Chances are someone else will like what another hates...

    * Tell them you have an open cube policy - if they need something, come ask.

    * Tell them all meetings will be short. Schedule them for whatever the corporate std is, then have them last about 7 minutes. Require everyone to be on-time. When they sit down, go around the table: Here's the agenda, this is blah blah blah... Anyone got anything for me? If it affects everyone, we'll talk about it here, if not, we'll do it off-line... They will LOVE you for this...

    * Tell them you trust them - they're all experienced professionals. They know how to handle their job. You'll give them projects, they'll do them. They'll update you on the status well enough in advance that you can advise your boss. Tell them you're not out to micromanage them.

    * Tell them flat out - your job is to make me, and my boss look good. Do that, and you have no problems with me, and where I can cut you slack, I will.

  216. A couple of rules of thumb by Aceticon · · Score: 1
    • Ask for their advice when there is a technical question/problem to sort out
    • Actually listen and seriously conjsider their responses. Do not assume that your technial expertise from X years ago makes your able to know the best solutions all the time
    • Challenge their assumptions - have them explain why do they think their solution is better
    • Let people know the business reasons for why a technically inferior solution was chosen
  217. Re:Be a friend first. Informal meetings, free food by Fred_A · · Score: 2, Funny

    One-on-one meetings in a comfortable and somewhat informal manner. Make it regular (twice a week or so?) and find some way to give them advanced notice indirectly, like doing it at the same time every week or passing by their office/cubes a few minutes before jumping in to ask for the informal report. If you startle them, leave and come back in a few minutes (really!). Their desks should be oriented in a manner that makes it hard to sneak up on them; if that's not the case, buy a mirror for their monitor.

    Wait, is this still about the glowing red ass thing ?

    --

    May contain traces of nut.
    Made from the freshest electrons.
  218. My tips as a seasoned programmer and manager. by agoliveira · · Score: 1

    1) Give them tasks and get out of the way.
    2) Don't micromanage.
    3) Tell them to come to you if there's a problem. If not, go to 1.
    4) Pay well, with bonus for tasks or projects completed in time and with quality.
    5) Be flexible regarding times and work hours.
    6) Try to keep the paperwork out of their way.
    7) Always have someone else to do documentation. Same for QA.
    8) Be open to feedback.

    --
    Scientia est Potentia
  219. like high educated experienced specialists by Device666 · · Score: 1

    Just like any other high educated specialists, challenge them and reward them with more knowledge and responsibility (if they are up to it). I am will play the advocate of the devil, but please note I am a developer also. I think it's very important not to treat them like hero's with power tools, it will be killing for teamwork and spoils the corporate athmosphere. There goes my karma.

    The worst thing you could do it treat programmers like prima donna's. If you would take the ego of most programmers as a measure of skill, then there are simply way too many talents in this world. There is also no need to treat them like prima donna's, especially since it is also possible to outsource stuff and get high quality stuff for it.

    Most programmers will also tell you that one very good programmer can do a better job than a whole bunch of average programmers. If you have such a programmer, then you have to respect this ability the same as you would respect any other highly talented and highly productive specialist. But it's important to reward this behaviour more with training, courses and responsibility (if they are real teamplayers) than it is important to pay more money. Highgly intelligent programmers like to stay challenged and learn in a fast pace, the more stupid always want to earn more. It's good to show respect to programmers, but don't encourage their ego's too much.

  220. Rename Ask Slashdot to Tell me how to do my job by syousef · · Score: 1

    If I had a buck for every ask slashdot that basically requested a tutorial on how to do a high level job, I'd be rich. If you don't have the experience or skill to do a job, don't take it on, or at least don't come to strangers with such broad questions. Get an education, get some training, or get a mentor. The last thing you need is a bunch of strangers of varying skill levels and qualifications giving very polarised opinions and telling you how to do your job when they have no stake it in whether you do well.

    --
    These posts express my own personal views, not those of my employer
  221. No free food, thanks by Anonymous Coward · · Score: 0

    > Doing this over a free lunch or end-of-day beers
    > (5:30p is "beer thirty" on "frosty friday" or
    > "thirsty thursday," etc.) is always a winner.

    OTOH having to waste free time with the manager is not necessarily a winner with anyone that happens to have a life outside the workplace.

    I've had a boss who did the beer and lunch routine; I was thoroughly unhappy with him invading and micro-managing my eating schedule. Dude, I have dinner plans; all I want is a sandwich at my desk, not to fill up with lunch and beer. And we both know you'll sulk for days whenever I decline your invitation.

    1. Re:No free food, thanks by Khopesh · · Score: 1

      OTOH having to waste free time with the manager is not necessarily a winner with anyone that happens to have a life outside the workplace.

      I've had a boss who did the beer and lunch routine; I was thoroughly unhappy with him invading and micro-managing my eating schedule. Dude, I have dinner plans; all I want is a sandwich at my desk, not to fill up with lunch and beer. And we both know you'll sulk for days whenever I decline your invitation.

      Uh, first off, it can't work unless it is optional (some people never attend beer events), and it has to be at a convenient and infrequent time ... you really have so strict a schedule that you can't spare thirty minutes or so after the work day once a week? At my last two companies, it's been typically a third of the company, some sticking around for only 15 minutes, others lingering for up to an hour or two. I'm usually half an hour late to the thing.

      As to the lunch, which is not optional, it's still just another meeting, just a little more casual. You can still bring your own food if you dislike the pizza provided (my current employer buys salads to accommodate the pizza-haters). My previous employer had the exact same weekly meeting sans food. I think that food makes us more relaxed and helps us mingle with stories about non-work activities while eating (the phone conference attendants have asked that we stop eating while doing the meeting portion, so the format's a little changed now, and the non-work talk is now an official part of the shindig).

      --
      Use my userscript to add story images to Slashdot. There's no going back.
  222. A little exercise for the manager of techies by AG+the+other · · Score: 1

    How about reading the last 5 years of Dilbert and not doing what the pointy haired boss does? AG

    --
    Non bene pro toto libertas venditur auro
  223. Yes, of course. by tkrotchko · · Score: 1

    "lawyers, doctors, talent agents, sitcom writers, fighter pilots, traders, salespeople etc, fill out status reports?"

    Yes, actually they do. Lawyers need to document what they do to bill their clients. Doctors need to write down everything they do for patient treatments and for insurance companies. You don't think a military fighter pilot has to fill out paperwork on what they do in flight? You think the military lets just lets guys buzz around in the sky with no explanation? Salespeople have to fill out sales reports. Those are all status reports.

    Everybody fills out some sort of paperwork for what they do. It varies, but it inevitably is something that tell their boss (customer, person they report to, some company they do business with) what they did to deserve to be paid. If your boss isn't asking your for a status report, you should do one anyway and send it to him as a reminder of the value you add every day to your company.

    --
    You were mistaken. Which is odd, since memory shouldn't be a problem for you
    1. Re:Yes, of course. by Gorobei · · Score: 1

      Well, paperwork does get created, just not by the professionals - that's why God gave us admins and junior employees.

      This I know because I sometimes get email about an expense report or timesheet that I supposedly submitted. Then, a half hour later, I get another email thanking me for fixing the problem.

  224. Seconded by golodh · · Score: 1
    Err ... could someone please consider modding the parent up? His comments are on the mark.

    A team of programmers generally needs a lead programmer, someone who is respected for his technical expertise, who is responsible for the system as a whole and who has the authority to make technical decisions.

    From the article I gather that you aren't taking the role as technical lead, so someone else needs to. And he reports to you. If all programmers report to you separately, then who is responsible for overall systems design (supposing all programmers are working on the same project)? By default that's going to be you, and you probably don't want that.

    Apart from that, the most general piece of advice I can give is to extend the maximum amount of trust you can. And know your people. Think of the management quadrant. There may be employee files and some project documentation on who did what and with what result. Be sure to read that sort of stuff (if available) even before you talk to them and provisionally peg them. Ideally all of your programmers are software engineers (quadrant 4 people) and really don't need managing. Just some muppet who's job it is to interface with the rest of the organization, negotiate tasks and budgets, fight their corner when it comes to pay scales and perks, tell them where they stand with the company in the annual evaluation talks, look out for career opportunities for them, ensure that facilities are up to scratch, and take care of the paperwork (i.e. you). But sometimes you get people from other quadrants (even when they're 50 years of age). It happens, and as boss it's your duty to spot that and to act appropriately. If you fail to be firm when needed, you fail just as badly as when you are needlessly directive.

    Of course you also have a role in safeguarding budget and deadlines, so you must have some checks. If those programmers are experienced, they will know that. And they will generally be able to suggest some good way of measuring progress and guarding against calamities. If they do, adopt it.

    So my general advice is: treat those people as adults and professionals (unless they prove they can't bear that responsibility), trust them to do their job, but ensure that there are checks.

    In addition, *ask* them if e.g. they would like to have lunch with you as a group. Or dinner. Or Pizza. But half an hour isn't much.

  225. Leadership by tacocat · · Score: 1

    You need to understand the difference between Management and Leadership.

    In the past three years I have had different bosses and they have demonstrated to me the difference and value of Leadership over Management. Leadership is much harder to master and is pretty much a life long study. But it will also make you far more valuable than as a programmer because you will be able to gather multiple programmers with effectiveness.

    Management can be defined is doing things the right way. Leadership can be defined as doing the right thing. Having people do the wrong thing, or in the wrong way, is a sure method to end up isolated with an ineffective workforce.

  226. home-working by wikinerd · · Score: 1

    Most seasoned programmers can self-manage, so just tell them what the objective is and let them work in any way they like, preferably at their homes.

  227. Simplification by Rambo+Tribble · · Score: 1

    Once your programmers are properly seasoned, the only things you have to manage are temperature and cooking duration.

  228. Make your role clear by talexb · · Score: 1

    Make sure that the Java programmers (who sound like they're the same vintage as me -- 20+ years experience) understand that you're *not* the alpha male Java programmer. Instead, they should understand that you're the one going to all of those boring meetings and protecting them from the torrent of management E-Mails. They get to do the fun stuff, and deliver good quality, working, tested Java code.

  229. simple! by Meech · · Score: 1

    This is simple. First, realize that they have been doing this for a long time and it is your job to work for them . A good manager works for his/her employees while at the same time moves the group toward the goals of the organization. If you stand up for them and respect them, they will respect you.

  230. Beer by alfredo · · Score: 1

    snacks, and porn.

    --
    photosMy Photostream
  231. The answer is staring right at you by monoatomic · · Score: 1

    Read more Slashdot and take note what the programmers here are saying.

    If that is not enough for you to solve the puzzle, you should really ask yourself if management job is the right thing.

    Remember the Golden Rule -- never impose on others what you would not choose for yourself.

  232. Don't motivate - Remove impediments. by SWestrup · · Score: 1

    The first mistake is assuming you have to motivate them. These are creative types. They probably already have all the motivation they need. What you have to do is protect them from the myriad DEmotivational elements of a typical business bureaucracy. That includes arbitrary rules, useless reports, endless meetings, unstable management, constant interruptions, and so on. The list is virtually endless, but just ask your staff and I'm sure they can easily tell you what the most demotivational element is in your office.

  233. Remove obsticles by Douglas+Goodall · · Score: 1

    After many years of trying to understand how programmers and managers interact, I am reminded of something I learned in the service. Called the Theory of Completed Staff Work, the paper stated that managers delegate work, expect it to be completed, and want to hear I am done, or I need more resources. Real life development is much more complicated than this but most seasoned programmers want in their hearts to do a good job and provide what is needed. Incomplete specifications, creeping functionality, and unreasonable schedules, negotiated schedules where estimated ones would have been more appropriate. are the main hurdles to successful programmer management.

  234. Peopleware, Mythical Man Month, & other though by LongestPrefix · · Score: 1
    I'll second recommendations to read "Peopleware" and "Mythical Man Month". Both give a lot of insight here.

    Hopefully, your team is a profit center, and not a cost center. If your team is generating the profit, then the people who make the products are Kings. All stars. You should have the goal of making the finest systems possible -- under your constraints of time and budget.

    Expect the developers to keep learning; "We don't have expertise in that," should be replaced with, "we should explore XYZ".

    Plan on three versions of any important system: Force them to develop prototypes; demand basic functionality within a month of starting. Then revise and replace that prototype with another, better prototype. Then plan on a final version (The Third System) that discards the stuff you didn't need.

    Work to avoid heavy-weight programming. I was once hired at $240/hour to write code for a company that had a large team of developers already. I knew only slightly more about the domain than they did. Their problem: this company had allowed the developers to just examine everything to death. They hired me to help because I could actually deliver within rough deadlines.

    I disagree with the concept of hiring junior programmers, unless they're just apprentices. Do you want to hire a junior surgeon to do your operation? Or hire a junior Engineer to build the bridge your wife drives? No: senior people do important work. Junior people learn how, and do less critical, separate projects.

    Good, adult programmer/engineers don't need much managing, but you need them to make the product. They do need somebody to help them see the bigger picture -- but any team of two engineers can do that for each other in turn. So you're really there to service them.

    Fire the jerks. Develop some standard of productivity -- even if it's lines of code + group source code reviews -- and fire the people who are clearly not fitting in.

  235. Remove testicles!?! by aquatone282 · · Score: 1

    Oh, obstacles.

    Sorry about that.

    --
    What?
  236. Who works for whom? by MojoSF · · Score: 1

    I'm one of those seasoned programmers, who has explicitly avoided moving into management. I know where my strengths are and are not.

    My approach is that my managers work for me. They take care of all the things that would normally get in my way: schedules, resources, setting priorities, communicating across departments and coordinating with other managers.

    The best managers I've had excelled at those things, and made work very pleasurable. They also tend to see their role much as I do, and appreciate the irony of it. :)

  237. Dont be a manager, be an enabler by Anonymous Coward · · Score: 0

    I used to produce broadcast media (intentionally vague), and was skilled at most of the tasks I had to hire specialists for, although like you, not always as skilled as they are.

    Here is what I learned:

    A) give them the whole big picture, not just the bits they need to work on. It's the dfference between a team of architects and a construction crew.

    B) your job will be to elminate obstacles. Think of ways to make your programmers life easier. If they hit a roadblock they are liable to assume you can't or won't help. Make it clear you will do what you can; renegotiate specs, budgets; etc..

    C) get your hands dirty. When I was on a set and the cameraman spent an hour reading the fing manual, it was my fault because I waited the hour before I wound up showing this "seasoned pro" how his rented gear works.

    Make it clear you can tolerate errors and an iterative process, but if they want to be treated like seasoned pros they need to communicate with you when they have problems so you can help solve them instead of wasting time.

  238. understand by fatbuttlarry · · Score: 1

    First learn java and what the latest technologies are, like Groovy, Ruby, JBoss, Eclipse, Netbeans, or the like. Read some editorials on the stuff and learn the limitations of the language they use day to day. Start to understand then workarounds out there. Lumbergh, if you are ahead of the game on the technology they need, they'll appreciate your input and they'll do what you need from them. One of the biggest mistakes management makes is trying to manage first and understand second. Managing programmers often IS nagg-managing no matter how you look at it. If you run their project plans for them, they can focus on the nitty-gritty. If you can understand their frustration and the logic problems they have, they'll respect you, even if you can't do the coding yourself. If you can't understand the basics of what they do, or if you refuse to learn what they do, it will be much harder. -Tres

  239. Big ego == terrible programmer by quanticle · · Score: 1

    That is utterly and completely not true. In fact, in my experience, the best programmers I've met are some of the humblest people I know.

    Actually, I'd argue that having a big ego is a sign of a bad programmer. The fact that he or she has a big ego means that he or she is much less likely to ask for help when things go wrong. Instead, they're likely to hide and try to cover things up, which simply hurts the project in the long run.

    --
    We all know what to do, but we don't know how to get re-elected once we have done it
  240. Take the advice of professional research. by colonel · · Score: 1

    Most universities offer a 200-level course in industrial/organizational psychology, and it was, by far, the best thing I could have done for my management career. http://en.wikipedia.org/wiki/Industrial_and_organizational_psychology

    First, it doesn't matter what kind of employees you have, they're all unique individuals. Packard's 12-item list is nothing but a sound-bite introduction to the concept of a http://en.wikipedia.org/wiki/Psychological_contract

    Don't look at them as a bunch of older employees. Don't look at them as "technical," and yourself as "business." That's pigeonholing, and will do more damage than it will help. You are people, they are people, and winning relationships will come only from striving to understand the relationships.

  241. Status meetings can be helpful by quanticle · · Score: 1

    While I agree that formal status reports are silly, I disagree with our opinion about daily status meetings. On the team that I work on, every day we have a 15 minute stand-up meeting where everyone goes around and says what they're working on today. Not only does it benefit our manager, but it also benefits the entire team, as it helps us not step on each others' toes, as it were. It also helps with problem solving, as a single team member can ask about an issue, and get feedback from the entire team, rather than having to go around and ask people individually.

    --
    We all know what to do, but we don't know how to get re-elected once we have done it
  242. Big Ego == Bad Programmer by quanticle · · Score: 1

    Frankly, I think the opinion that "good programmer == big ego" is nonsense. The best programmers I know are all some of the humblest programmers as well. They know how much they don't know and are always open to feedback and potential improvement.

    As I see it, a person with a big ego is more likely to be a bad programmer. They are likely to think that their way is the best and will remain wedded to outdated techniques, leading to obsolete skill sets. Moreover, they're not likely to admit to problems without prodding, even when admitting such a thing would be better for the project as a whole.

    Finally, let's not forget the effect that big egos have on those who work with them. It doesn't matter how skilled the big-ego "superstar" programmer is if no one else can get along with him or her.

    --
    We all know what to do, but we don't know how to get re-elected once we have done it
  243. No status reports? Give me a brake. by jotaeleemeese · · Score: 1

    How are you going to know where is your project standing in respect to your deadlines?

    How are you going to learn about what your charges are doing without reports of some kind? To claim a manager is ignorant of what people are doing without spelling out how exactly he is supposed to know is ridiculous.

    Trust is all good and dandy, but I need to manage a project, I do trust you, but that does not mean I will not try to collect objective information about where we are so I can take off your back layers of management higher up in the food chain.

    A developer that can't produce a simple report of what he is doing is unprofessional and should not be developing to earn a living.

    --
    IANAL but write like a drunk one.
  244. Visit them and ask? by jotaeleemeese · · Score: 1

    You are joking, aren't you?

    Who is going to document that visit? How are you going to control the unwieldy nature of informal chats?

    Chats with your charges is a necessary but not sufficient task to keep a project running smoothly.

    Although I agree that daily reports are silly, the opposite position of not having reports at all is even sillier.

    --
    IANAL but write like a drunk one.
    1. Re:Visit them and ask? by V!NCENT · · Score: 1

      What's so wrong with a daily status report?

      Let's asume I am a programmer who creates a backend for example. Like every employe I hate to fill in all sorts of documents simply for the fact that it harms my productivity.

      However, by the end of the day typing some document that says:
      "Daily status report of John Doe
      I fixed several severe bugs that prevented us from making progress and I started working on the the plugin framework."
      isn't really that hard to do. When someone gets whiney over some daily one minute work than they realy don't belong in your company. I don't know if you live in the USA but I thought that was a country with a "Shut up and work hard" aditude.

      --
      Here be signatures
  245. Typical cavalier attitude .... by jotaeleemeese · · Score: 1

    ... of somebody that will bring problems eventually.

    Pretty much all the professions you mention have regular meetings to report work they are doing.

    Honestly, you just need to have been in a hospital ward to know doctors have regular meetings to asses the needs of the patients, and this is not only the junior doctors, senior specialists do this as well to ensure treatment is adequate and to asses possible different course of treatments, and unless I am becoming stupid and my eyes are deceiving me, they write the outcome of the report themselves and put if in the patient's file. Sorry, forgot to mention two relative of mines are doctors, just in case you thought I am talking from my derriÃre.

    And to even suggest fighter pilots don't need to be tightly controlled is so stupid that I will not even try to clarify things for you (my dad, an ex high rank soldier, say you must be mad).

    Honestly. In which planet are you living?

    --
    IANAL but write like a drunk one.
  246. It depends on your place in the food chain. by jotaeleemeese · · Score: 1

    You can have only so many cooks, one more and the broth gets spoiled.

    Part of being a team player is to understand what is your place in the machinery of your team and then work efficiently there, if other people are tasked with designing something and you are tasked with implementing it, your snipping to the design may be counter-productive.

    --
    IANAL but write like a drunk one.
  247. What a lot of contradictions. by jotaeleemeese · · Score: 1

    If you are managing (look up the word in a dictionary) you can't just let people do whatever they want.

    If I need a project in Java and one of the divas in my team starts to do the damn thing in Python he will get a piece of my mind or worst.

    This mindset that managers have to accommodate their teams and roll over is nonsensical.

    There should be a degree of accommodation for sure, but there is a point where you have to draw lines in the sand, otherwise the situation could get out of hand. That is part of your job as a manager. It is not pretty or pleasant but needs doing, then do it properly.

    As for this namby-pamby "we are all equals in a team" I could not disagree more. The chunk of responsibility somebody managing a team is much bigger than the one of one individual developer, we all know this, to pretend otherwise is unrealistic.

    There should be a relationship of trust and respect, but a good manager knows that he has responsibilities for all the team and the layer of management above him (which means other teams may be waiting for his team to work efficiently).

    If a developer starts to go all primadona then it is much easier to contain the problem right there, even if that means the difficult developer will hate the managerial guts of his boss.

    If the conflict is completely unsolvable sometimes is much easier and better to build a team from scratch than to waste time agreeing to disagree. Good developers normally understand this and can get along, the guy that thinks is Linus Torvalds incarnation may need to go and play with his penguins elsewhere.

    Life is tough and sometimes is not pretty, as simple as that.

    --
    IANAL but write like a drunk one.
  248. Have heard this many times. by jotaeleemeese · · Score: 1

    Then when the business people or people higer up in the chain food show up the developers all of the sudden need their manager to clean the mess they left behind.

    Many developers that think they are stars are nowhere to be seen when they overlook something and the ship starts sinking.

    You can't have it both ways, if you want to have a manager between you and the people that is going to put pressure on your team you will have to allow this person to do his mangement job, even if you don't always agree.

    Otherwise, step up to the plate and lets see how long you last. It may be shorter than you think.

    --
    IANAL but write like a drunk one.
  249. morning standup/status check-up with a tech lead by fortapocalypse · · Score: 1

    Having daily morning standups/status updates with a tech lead where the developer tells the team/tech lead what they did yesterday and what they are doing today. Then make sure that you have the complete loyalty of that tech lead and that you are on the same page everyday. If there is no single alpha-dog tech lead loyal to you, there will be trouble.

  250. 2 things to motivate by Anonymous Coward · · Score: 0

    cocaine and strippers.

  251. you may not need to manage much by Anonymous Coward · · Score: 0

    if indeed your team is made of seasoned professionals. Your job focus would be in communication, prioritization, coordination and less about having to motivate or encourage ones to work. Obviously you should be a shining exemplar of optimism in a practical way!

    With regards, to the status reports that people seem to have been so focused on in the replies: as some one whose starting on his 14th year in the industry I would have no issues filling reports for status if we as a team determine that is the right sensible process for getting our jobs done.

    By the way - work hard or else your job will be shipped abroad!

  252. without reading what everyone said... by Anonymous Coward · · Score: 0

    The only way you can manage more seasoned programmers is by NOT managing them. Follow them instead. Pretend that you are their secretary. Don't tell them what to do, and don't make decisions without identifying and talking to the expert in the group on the topic and aligning yourself with his opinion. Ask others too, but hopefully your experienced enough to recognize the export.

    Bottom line is, seasoned people rarely need a manager, you need them. Also, don't pretend that their all at the same level. Figure out the pecking order.

  253. I've seen both sides... by stonewolf · · Score: 1

    I've worked for some wonderful managers and some terrible managers and I have managed a team of programmers. I love programming, I dislike managing, but I will do it if I must... (BTW, I have always gotten excellent ratings as a manager and as a programmer.)

    The manager has a lot of jobs. Perhaps the most important is communicating. Nobody over the age of 12 should ever be expected to accept "because I said so" as reason.

    The manager must make sure the programmers understand why they are working on the projects they are working on. They must explain the business needs for what they are doing. Programmers will achieve amazing things if they understand why they are important. But, only if they honestly believe they understand the risks and will participate in the reward.

    The worst thing you can do is lie. If you have told me something and it turns out not to be true I will find out why it is not true. If it is untrue because of things out of your control changed, then OK. So long as you tell *when* they change. But, let me catch you just once in a lie and you will never be trusted again. Fact is, you will have lost your group. Programmers value honesty and we tend to see things in black and white. This goes back to communication, keep us informed. Make sure we know when and why things have changed. If I find out (as I have in the past) that a schedule was changed so a VP could get an extra $500,000 bonus, don't expect that schedule to be met unless you are willing to spread an extra %500,000 in bonuses around the group.

    The manager must be seen as someone who clears the trail. The manager must foresee problems and clear them before the programmers are slowed down by them. In the cases that the manager can not clear the trail in advance then the manager must take action as soon as possible. It is your job to provide the resources I need to get a job done. When the MTBF of the build server is less than the mean time to complete a build, you better fix it. I might be willing, once, to waste an evening or a week end because you didn't provide the facilities needed to do the job. I won't do it twice.

    Don't play games with schedules. If I sign off on the schedule I will work as many hours as I must to meet that schedule. If you write the schedule with no input from me I have no reason the pay any attention to it. If your schedule can only be met by my working evenings and weekends, expect to negotiate with me over how much you are going to pay me for that time. You want me to work more than 40 hours/week most weeks with the *occasional* 50+ hour week you better plan on paying by the hour and yes, I expect time and a half for over time. The law might say I am an exempt employee who is not entitled to overtime pay, guess what, fuck that law. I don't work for free.

    OTOH, require status reports, I always hated writing the things and I hated reading them. But, how else do I know what you are doing? As a manager I have a schedule to manage. I have to know what milestones have been met and which are being delayed. No matter who wrote the schedule it is there to make sure that the resources allocated to the project are sufficient for the project. If the schedule can not be met then the resources have to be adjusted and if that means the cost of the project exceeds the value of the project the project must be changed or terminated. I've never found a way to manage a project except to measure progress against a schedule.

    Require status reports, I like to see a weekly plan turned in Monday morning. This is the plan for the week and doesn't need to be more than 4 or 5 lines long. Just a list of milestones you are working toward, reminders to the manager of up coming resource needs, and anything that is slowing you down. On Friday afternoon, I want another version of the same report telling me which milestones you met and what kept you from meeting the rest of them. OF course, you have to be willing to stay late on Friday to read both sets of reports. But, hey you are a manager, that is part of th

  254. Surgeons by jawahar · · Score: 1

    Assume you are an Engineer. Then think...
    How would you lead a team of surgeons in a hospital?

  255. You don't. by Anonymous Coward · · Score: 0

    Seasoned and talented programmers don't need managers. Stay out of their way, unobtrusively maintaining the farce you are 'managing'. They know the game and will maintain the farce as well.

    Keep other managers away from them as well.

    Linux was written without a single manager. Vista had hundreds.

    Don't despair that your life is without purpose. You are free to think about the Next Thing, and can mediate if there's a conflict.