Slashdot Mirror


What Kind of PHB Do You Want?

the_radix asks: "I'm not a great coder, but I love computers and especially programming. Those professional programmers that I know often complain of their managers not understanding the coding process and having unrealistic expectations of programmers. As such, I am considering a new career path: management. Since middle management is all about balancing, I'm looking for pointers before I start looking for positions. What do you, as coders and programmers, want from your immediate manager? If there are any geeks out there in upper management, what do you want from your lower-level managers who keep the techs in line? I'm not asking for the basic 'stand-up-for-your-subordinates' advice, but rather requests from a coder's standpoint. Geeks have special needs, and accommodating those needs (and 'odd' behaviors) is a good idea all around, for both employee morale and department output." I think many of us would rather like one who listened or who would at least take advice from the technical staff to heart. Many times managers will not consult their coders when they make plans, they'll make the plans first and tell their coding staff later, and this causes all kinds of problems. Generally, a superior with less "pointy hair" is something we'd all appreciate, but I'm sure the rest of you can expand what I'm trying to say here, or even say it better than I can.

486 comments

  1. Comical by benjaminbishop · · Score: 1, Flamebait

    This seems almost dilbert-esque. You are not able to cut it as a programmer, so the only obvious path is to advance to management.

    1. Re:Comical by ackthpt · · Score: 2, Interesting
      This seems almost dilbert-esque.

      Ah, like,

      Those who can't do, teach

      Those who can't teach, manage

      Yeah, I'm in stitches. I've been through periods where I couldnt' even read Dilbert because it was actually too close to the bone. Give the guy a chance, tho.

      My dad worked 38 years at Dow Chemical, as a ChemE, and during much of that time it was a great place, because at all levels of management were people who started as engineers, and understood. Now the company is run by business people and, well, I don't hear a lot of good things anymore.

      --

      A feeling of having made the same mistake before: Deja Foobar
    2. Re:Comical by PyroMosh · · Score: 2

      I think you may have misunderstood. I'm not sure the poster is saying he's a professional programmer. It's not very clearly written, but I believe he's just an amateur coder who works with professional programmers and sees an opportunity to advance to management because no managers seem to understand coders at all. I don't see the problem there.

      Ever read The Cuckoo's Egg? It's about an astronomer who finds a $0.75 accounting error on billing time on a mainframe. Since he's got some coding experience and management doesn't realize the scope of the problem at first (it was a cracker screwing up covering his tracks), they assign him to track down the problem since he's the one that first noticed it and opened his mouth about it.

      To paraphrase his own words "The coders I work with say 'He's not much of a coder, but what a great astronomer!' while the other astronomers I know all say, 'He's not the best astronomer, but what a great programmer!'"

      Just because someone isn't an expert in a job doesn't (always) mean they can't manage it. Especially true if one is managing workers in multiple fields. A good understanding of the job(s) is necessary, but I'm not sure the poster is seeking management because he "can't hack it" (sorry for the pun) as a coder.

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

      That comment shouldn't have been modded as flamebait. It's essentially correct as far as I'm concerned. I'm a network programmer with about twenty years of experience (lots of serial stuff and UARTs in the early days, until it was all supplanted by ethernet), and I have no intention of ever becoming a manager because I get far too much enjoyment (and money) from coding.

      In my experience, the best managers were those who became managers not because of any deficiencies in their coding abilities, but because of an unexercised surplus in their management abilities. The worst managers were those who didn't have a deep understanding of the technology, and the pretty mediocre ones tended to be people who couldn't quite cut it developing technology but didn't want to go find something else to do.

      I've seen too many cases where management was the backup career plan, and I thought it was almost always a suboptimal thing for the manager, the people being managed, and the company that the situation existed in.

      How's that for a flame?

  2. Three things by jACL · · Score: 5, Insightful

    - Listen to us, not to the consultants
    - Decide on the plan, stand back, and let us implement
    - Act as a filter for the politics

    --
    "It remains to be seen if the human brain is powerful enough to solve the problems it has created." Dr. Richard Wallace
    1. Re:Three things by spectecjr · · Score: 4, Insightful

      - Listen to us, not to the consultants
      - Decide on the plan, stand back, and let us implement
      - Act as a filter for the politics


      Number 2 on your list isn't ever going to happen -- things change too much for that. That's why it's called Life. Because it's a changey kind of thing. Death is where it doesn't change much (for the participant) any more.

      Simon

      --
      Coming soon - pyrogyra
    2. Re:Three things by H310iSe · · Score: 5, Insightful

      as to 2) filter the politics - can't stress that enough. I don't think this falls under "stand up for your subordinates, it's more a managers job to act as a baffle and keep the geek pool very still and calm so they (we) can focus on what we're doing and not get distracted by all the social-political bullshit. Every good manager I've had has completely isolated the geeks from the politics, kept the situation calm and left [the] room for people to work in whatever way they choose w/o any of the corporate environment slipping in. That, and, of course, set the project up, aim well, and shoot - as much as possible never let anyone come down half way through the project and 'give their input'. Never, ever, let *anyone* from marketing near the geek pool. If anyone wants to see anything, you, the manager, show them and if anyone wants to talk to anyone you the manager relays the information along for them.

      It's that simple. And that's why I'm no longer a manager, I hate doing all the things a good geek manager should do.

      --
      closed minded is as closed minded does
    3. Re:Three things by micromoog · · Score: 2

      Point 1 will also never happen. The consultants talk to the customers. The customers give the company money. The money pays your salary.

    4. Re:Three things by Anonymous Coward · · Score: 2, Interesting

      As a consultant I have some trouble with your item #1 suggestion. On my last gig nobody listened to me and they produced a distributed SQL Server database that didn't use transactions and did use "SELECT *" all over the place; I ended up quitting because I couldn't convince them of the utter stupidity of their ways...

      But on the other hand my current gig is a nightmare because they DID listen to their consultant --> these people used Rational Rose to generate code {blekk!} and even worse they believed that their OOP guru knew what he was doing. These people now have to maintain more than 7,000 classes all of which have one or two {sometimes none} meaningful methods in them. None of the 7,000 classes in any way represents a meaningful problem domain entity...

    5. Re:Three things by shawnmelliott · · Score: 4, Interesting

      I'm fortunate enough to work for a person who understands that she doesn't fully understand everything. However, just because she doesn't understand everything doesn't mean she doesn't want to know what's going on. When it comes to technical she asks us... We tell her our honest opinion / timeframe and she doubles it. As for the politics she handles it for us. We code. She keeps balance. it's a perfect relationship.

      I know this is more of a statement of my scenario than of what to do. But if you can do what she does then you're sure to do good. Not to mention that only techies can make good middle-management as long as those non-techies understand that they don't have to understand or fake understanding everything.

    6. Re:Three things by NecroPuppy · · Score: 3, Interesting

      I believe it's more of a, "If the consultant says it should be done, but the tech staff says it can't be done" listen to the tech staff.

      FREX, at my last job, we had a consultant come in and tell us to "Do X to the database", and our Oracle Admin said that we couldn't. (Something about Oracle 7, which we had, vs Oracle 8i, which we told the consultant we didn't have, multiple times.)

      The bosses listened to the consultant.

      Loads of fun... In addition to paying the consultant, we ended up paying for the upgrade to 8i....

      --
      I like you, Stuart. You're not like everyone else, here, at Slashdot.
    7. Re:Three things by bwalling · · Score: 1

      I'm not sure in what context you used the word 'consultant'. If you mean consultants that offer services from your company to your customers, then it is very important to listen to them. They are the ones who interface the customer and the software. They are the ones who hear what the customers want and don't want. It is your customers that you have to satisfy, not your coders.

    8. Re:Three things by ackthpt · · Score: 1
      - Listen to us, not the consultants

      Easier said than done, as consultants, when they are evil, already know how to undermine opposition and will paint you with a red brush. Fight to give your staffers a chance to review and voice opions on what consultants or sales people say. Though, it's often a done deal before they, or you even get a chance. Seen that one too many times.

      --

      A feeling of having made the same mistake before: Deja Foobar
    9. Re:Three things by the_2nd_coming · · Score: 1

      probably after the DB was broken.

      --



      I am the Alpha and the Omega-3
    10. Re:Three things by NecroPuppy · · Score: 2

      Actually, it was after the Admin told the PHBs that we couldn't do "X" under Oracle 7 and that they should just forget about the consultant's ideas.

      They asked what it would take to get the consultant's ideas to work. The reply Oracle 8i.

      That's when we upgraded.

      Of course, a short time later, the company began a series of layoffs, including me, so it doesn't matter too much to me anymore.

      --
      I like you, Stuart. You're not like everyone else, here, at Slashdot.
    11. Re:Three things by Anonymous Coward · · Score: 2, Insightful

      Exactly.

      People have to remember, it's not us VS. them. If consultants and programmers were both contributing, the results would be great. What the original poster should've said was:

      Listen to us, AND the consultants.

    12. Re:Three things by Anonymous Coward · · Score: 3, Informative

      How to Manage Geeks (http://www.fastcompany.com/online/25/geeks.html)
      from June '99 is still pretty good, IMO. I printed it and left it on my manager's desk. Then he got fired.

    13. Re:Three things by kilroy_hau · · Score: 3, Interesting

      Point 1 will also never happen. The consultants talk to the customers. The customers give the company money. The money pays your salary.

      A common error of my (ex)employers is assuming that, just because the customer pays, that means the customer is always right. That's not always the case.

      In our web development area, we had to make stupid changes of design, make slow, unnavigable or ugly web pages, but "The client asked it that way". We are supposed to be experts, we KNOW what works and what doesn't. If the customer to knew how to solve his problems he wouldn't have the need for us.

      Imagine you are a doctor and you have a patient that has cancer, but he wants an aspirin based treatment. You could give it to him and cash the check or you could try to convince him of what he really needs, even if it costs more.

      --


      Kilroy was here!
    14. Re:Three things by mbrod · · Score: 1

      I found a recent Slashdot article very informative about what coders look for in a manager. This survey in that article contains a slide that shows what I believe to be a very good detail of what coders want.

    15. Re:Three things by haruharaharu · · Score: 5, Insightful

      Number 2 on your list isn't ever going to happen

      It's a continuum - i don't expect to fully define the system before beginning, but having requirements change every damn day makes it impossible to work.

      --
      Reboot macht Frei.
    16. Re:Three things by sockmonkeybob · · Score: 1

      I think that you will find that even the middle manager faces an uphill battle. Generally, it is not middle management pressing the buttons of the developers. It is his {middle managers} boss and various others that are applying the pressure.

      Unfortunately, office politics exist everywhere. No-one is immune. I have found that the best thing a manager can do is always keep the door open. If you have a problem, want to rant, etc. He lets you do it in a private and safe way. This keeps chatter out of the dev pool and therefore doesnt kill the morale of a troubled project.

      I think you will also find that change is the only thing that you can count on in a project. It sucks, but it happens. The best thing you can do there is have some fail-safes in place. REQUIREMENTS in writing, a sold develpment cycle (eXtreme programming, agile, etc) laid out, and the confidence to try some possibly ANTI-CULTURE actions in order to get a high quality product out the door without burning out you dev core.

      Other than that, keep snacks handy... Good luck rpr

    17. Re:Three things by envelope · · Score: 1

      Number 3 is oh so important.

      The worst manager I ever had was consumed with politics and scheming. Made my life miserable, because those of us on his team were the pawns in his game.

      --

      appended to the end of comments you post, 120 chars
    18. Re:Three things by Psmylie · · Score: 2

      I think the main point to listening to techs over consultants is that the resident staff usually has to live with the decisions made a lot longer then the consultants do. The example you made with the SQL server database is a good example... Let them live with their own mistakes, but not with yours.

      --

      psmylie's dictionary: Godzillion (noun) Any number large enough to destroy Tokyo

    19. Re:Three things by kin_korn_karn · · Score: 2


      Imagine you are a doctor and you have a patient that has cancer, but he wants an aspirin based treatment. You could give it to him and cash the check or you could try to convince him of what he really needs, even if it costs more


      1) Doctors are responsible for human lives. this is software. excepting the code that keeps planes in the air, missiles on target, and other obvious shit, nobody dies from a poorly-written, ugly piece of software. If you are writing those things and your customer is the DoD, remind me to be scared.

      2) They're paying your salary. The customer is always right.

      3) Doctors only have that choice if the customer is incapacitated. Doctors are not bound to their customer. if the customer doesn't like the treatment that s/he gets from the doctor, they can go to another one or treat themselves. The doctor is required by the oath of the AMA to recommend the best treatment. Other than that it's up to the consumer (I'm using the business terms deliberately]

    20. Re:Three things by McMagnus · · Score: 2, Insightful

      I would add
      4) Know your people.
      As someone who is currently in this role, I find that it is important to know the strengths and weaknesses of your employees. Some of my coders actually have very good people skills. I feel very confident that they can handle relating to the outside world. Others are not as socially savvy and need to be shielded from the outside world.
      Some are very creative and free thinking and can take an idea and make it happen, while others need to have a well thought out plan before any coding can be done.
      I am not saying that any one personality type is better than the other, but as a manager, you need to know how to get the best out of all of them.
      5)Know you business
      You should know some about the technical details of what you are doing. You should now a lot about the business that you are in. You need to have an intimate understanding of wht the business is expecting of your group, as well as where the business is going. You need to be able to filter that information and pass the relevenat bits to your technical people.

    21. Re:Three things by dillon_rinker · · Score: 3, Interesting

      Were they utterly stupid, or did you utterly misunderstand their requirements?

      Did your beautiful initial structure (which you wouldn't have to maintain, report against, etc.) have the potential to cause problems down the road?

      Most consultants I have dealt with were carpetbaggers. It's the nature of the job...you come in, you recommend the setup you've recommended for the last fifteen jobs, and you leave before the dust settles. Those on the job are left to deal with the consequences.

      Consultants, like everyone else, fit a bell curve - some horrible, some incredible, and most about average. The average guy doesn't understand the implication of what everyone is doing. Over time, those of us on staff learn that a consultant might have some good ideas and suggestions, but generally DOES NOT and CAN NOT have the big picture. We have the fractal view, from the smallest detail to the largest project. The consultant sees only a single project. The consultant does not contain within his head all the interconnections and potentials for problems.

      It's entirely possible that the people you dealt with simply weren't as smart as you are (and I'm completely serious). They saw what you suggested and didn't understand how to maintain it. Maintaining 7,000 trivial objects, on the other hand, is simple...just tedious and time consuming. It's good for people to know their limits. And don't go suggesting that maybe they should quit or the company should hire someone smarter - there's only so much talent to go around and it can't work everywhere.

    22. Re:Three things by kilroy_hau · · Score: 1

      Ok, that doctor thing was a extreme example. But as you said, the doctor is required by oath to recomend the best treatment. That was my point. A professional should be obliged to recomend the best solution. And the best solution rarely, if ever, comes from the customer. That's when the boss should hear the programmers over the customer.

      And about the "They're paying your salary. The customer is always right.", my ex-employers were denied payment on a site, on the basis that it was slow. Of course it was slow, those same customers asked for a Giant jpeg on the back of every page (a 800x600 jpeg, not a 1x1 mosaic). On our network it was slow, on a modem was imposible. That's the kind of thing that could be avoided from the beginning telling the customers about his bad ideas.

      --


      Kilroy was here!
    23. Re:Three things by TXG1112 · · Score: 2, Insightful

      I have a problem with No. 1. I am a software consultant, meaning I install, configure and customize server monitoring software. I don't work for the software manufacturer and I work with several different monitoring packages and all flavors of OS. In my experience it is the employees of these companies that are complete idiots. (I will admit I have met some moron consultants as well.) I generally don't deal with developers, but the ones I meet are generally pretty savvy. I can't tell you how many clueless Admins I have had to deal with.

      With regards to the management question, I manage people and projects as a techie. This is my advice:

      Outline projects before they start, do not allow projects to become nebulous, or they will never get finished.
      Everyone involved (from upper mgt. to the programmers) should have the same expectations regarding projects. This is critical. If everyone is on the same page, all the features get implemented they way they're supposed to, and deadlines are met.

      Push your employees to do their best work. Don't let them slack (too much). The best manager I ever had knew exactly where my limits were and constantly pushed me to do great work. I was always busy, and was constantly learning new things. Under him we were always on time and almost always under budget, and I got more and more productive the longer I worked for him. I rarely had to work overtime and was never stressed.

      --
      I will not be pushed, filed, stamped, indexed, briefed, debriefed, or numbered. My life is my own.
    24. Re:Three things by Chaswell · · Score: 1

      - Listen to us, not to the consultants
      - Decide on the plan, stand back, and let us implement
      - Act as a filter for the politics


      Those were nearly my exact goals 12 months ago, when I dove in to Project Management, our middle tier management. I thought I could be that geek sensitive manager that we all dream about. And it really did start that way! But our company is heavily pushed on the Biz side and I was being pressured to get things done by their terms. And those terms change, and biz priorities change. And they layed off a key member and still needed everything done....Look around at your company and see if you really can make a difference or not

      I have now gone back to System's Engineer/Lead Troubleshooter and will shortly get back into coding.

      I wish you more luck then I had...

    25. Re:Three things by SharpNose · · Score: 2, Interesting

      Do a Google search on "Extreme Programming." It's a lightweight methodology that actually presumes requirements will change as you go and allows for it.

      It's probably the most sensible thing I've seen in this line of work.

    26. Re:Three things by Anonymous Coward · · Score: 0
      look at it a different way: the majority of highly successful companies are run by people (even if they techies) who can mix and mingle with marketers and MBAs. yeah, marketers and MBAs preside over most of the disasters, but that's because they preside over most of everything.

      so, the PHBs who were most influential in my career have been those that were able to articulate and teach the marketing and MBA reasoning in geek terms. they can't learn what we know, but we can learn what they know. it brings the all the halves ;) of the company together.

      ya gotta shower, though.

    27. Re:Three things by haruharaharu · · Score: 2

      I know about XP - it won't help you when the people handling requirements don't know what they want.

      --
      Reboot macht Frei.
    28. Re:Three things by Anonymous Coward · · Score: 0

      Why should you know more about programming and software management than people who studied a lot about this subject, have tons of experience, and most important have the talent to do the job.

      I'm wondering why all those zillion companies are paying consultants 3 to 4 times your salary if they don't know it better then you? Why? :)

    29. Re:Three things by Anonymous Coward · · Score: 0

      So to oversimplify:
      Software developers takes care of the implementation.
      Managers takes care of the interface.

      And no, this does not mean the manager should be a GUI expert...

      -cmh

    30. Re:Three things by Lemmy+Caution · · Score: 2

      Worse managers are those who can't play the politics game, and so your department runs out of resources and projects, and gets hit with disproportionate layoffs, because your management didn't know how to fight for your best interests and represent you well.

    31. Re:Three things by __past__ · · Score: 1
      1) Doctors are responsible for human lives. this is software. excepting the code that keeps planes in the air, missiles on target, and other obvious shit, nobody dies from a poorly-written, ugly piece of software.

      Well, poorly written software to keep missiles on target would of course prevent people from dying...

    32. Re:Three things by __past__ · · Score: 0, Troll

      You don't work much with consultants, do you?

    33. Re:Three things by haruharaharu · · Score: 2

      Were they utterly stupid, or did you utterly misunderstand their requirements?

      They implemented a distributed SQL DB with no transactions, used SELECT *, and probably accessed resultsets by column index. No doubt about it, they were utterly stupid.

      How are you ever going to maintain that pig? never mind if you have a joined query with 8k/row and 1000 results - how long will that take to load across the network, and how long should it take?

      --
      Reboot macht Frei.
    34. Re:Three things by spectecjr · · Score: 2

      I know about XP - it won't help you when the people handling requirements don't know what they want.

      That's where social engineering comes into play; you tell them what you want to make, and what the risks are. You tell them what it will cost. And how much it'll save them down the line. Then they work with you to work out what they think they need.

      Phrasing everything in terms of "Will you be willing to slip the project to get this feature in? It'll slip us by X months" helps as well. That's design change control.

      Si

      --
      Coming soon - pyrogyra
    35. Re:Three things by nicodaemos · · Score: 1

      Add a fourth, which is what my staff kept asking from me: hire some good looking females for the department. Eye candy boosts morale and results in higher productivity ... or at least, that's what they said.

    36. Re:Three things by Dix · · Score: 1

      Don't blame the consultants!
      They just respond to different stimuli since they are not employed by their client. Leverage their niche skills. Audit their work. Such an environment will only make them more productive and less paranoid. I'm a consultant, I know the fear an unstructured environment garners.

      Sorry, but consultants are usually just better programmers ...

    37. Re:Three things by cvanaver · · Score: 1

      IMHO, what you're describing is a contractor, not a consultant. A consultant's job is to give advice, based on a broad-based experience of what works and what is in the best interests of the company as a whole. It doesn't always work that way and a lot of 'consultants' out there are just in the game to milk companies. It is unfortunate. There are a lot of hacks out there, in both consulting and industry. I say this with a disclaimer that I am a consultant...but I'm not in it for the short term. I've been developling a huge resuable middleware application for an international bank for almost 2 years. The client, while never completely happy, has acknowledged that it is the closest thing to a complete solution to a infinitely complex problem that has ever been delivered to a company in this industry. I am a consultant. I don't give a damn about this company, but I deliver because I want to build something good, sometimes in spite of what the client's short-term interests are. As for the client being right: the business people (users) have little vision and don't know how to extrapolate outside their own narrow needs, and the technical clients are either straight out of college or completely grounded in small-time projects they have done in the past. Perhaps this is the exception to the rule, but I believe that, in this case, consultants can deliver that which internal resources would never be able to deliver (if for no other reason than than the qualified architects from the client work at such a high level that they cannot involve themselves in the details of a specific project). There is a time and place for consultants, but, unfortunately, consulting is pushed onto a client in too many situations where it is not needed. Don't blame all the consultants, however, just blame the sales guys.

      Now, to answer the question at hand: A good tech manager falls into one of two categories (this coming from an experience pool of around 15 managers,,,and myself being one occasionally....though I'm not a particularly great manager myself), either they are the best tech person in the room, or they understand tech at a medium level, know how to abstract the relevent political and planning logic and can protect the geeks from PHBes. I've never found the former, but the latter I have experienced and there are few people I respect more.

    38. Re:Three things by UncleFluffy · · Score: 1

      A slightly different three things:

      If x=time, y=features/quality and z=resources

      Please realise that at least one of these has to be a variable. 90% of my
      grievances with management usually come down to them presenting us
      with a spec where all 3 are constants.

      --

      What would Lemmy do?

    39. Re:Three things by Anonymous Coward · · Score: 0
      - treat everyone who works for you with the same respect.

      Geeks don't have any more special needs than any groups of workers. Treat everyone with respect, take on board the spirit of the above three things.

      Remember when one of the nerd herd acts like a prima-donna you can almost certainly get someone with the same skills and a better attitude.

    40. Re:Three things by Eric+E.+Coe · · Score: 1
      Beacuse consultants generally come out of a different budget, and don't affect the employee headcount.

      Also, in some companies, the market rate for hiring a competent developer is above the salary range permitted for the position. So, a semi-permanent consultant is used instead - at 3 or 4 times the cost.

      I experienced this myself when I did a stint of consulting - the customer (my site boss) wanted to hire me permanently, but backed off when it was realized my salary (from the consulting company, which was a good bit less than what the client was paying) translated into a position *above* his in the (rather rigid) salary structure of the client company. So nothing changed, and the next time a mass purge of consultants occurred (a regular happening at this company, where it was used as a substitute for real efforts at controlling costs) I, and the rest of the consultants working on our project (80% of the team) were forced out, taking our hard-earned knowledge with us.

      --
      An esoteric scratched itch:
      Homeworld Map Maker Tool
    41. Re:Three things by Anonymous Coward · · Score: 0
      i don't expect to fully define the system before beginning, but having requirements change every damn day makes it impossible to work.

      Hear, hear. I have been working on a large project for a couple of years now. My immediate manager, himself a senior developer as well as having management responsibilities, was always pretty pragmatic about things. He didn't place much value in procedures if those procedures didn't offer any value back. Instead, he kept his feet on the ground, and for two years, we did more work between us than the rest of the team put together.

      Unfortunately, that person has now moved on, and the project has been left in the hands of the beaurocrats. Procedures are now exhalted above all else, to the point where seven key people involved are stuck in a meeting for half an hour while two of them discuss whether to change one word here into two similar words there in the UI (real example). The key requirements documents used to be fixed for several months; the inevitable occasional changes to requirements were logged separately and systematically. Now, the core documents are reissued every five minutes. The decision to do this was actually deliberate on the part of the new management team.

      The project development rate has slowed to a crawl, the company is going down the pan, and everyone (literally, I think) on the development team is now seeking employment elsewhere.

      (AC for obvious reasons.)

    42. Re:Three things by Anonymous Coward · · Score: 0

      And I would add
      1) Know your job.

    43. Re:Three things by Etyenne · · Score: 2

      - Decide on the plan, stand back, and let us implement

      The problem with this point is that it assume that the coder are competent and have good judgement. I had been on a project where it was'nt the case. Not only was it doomed from the start (since the people involved did'nt had what it take to complete it), but some early technology choices made maintenance and improvement a nightmare. An experienced manager with some insight in database design and programming tools could have vetoed the most blatantly stupid choice early programmer made.

      --
      :wq
    44. Re:Three things by HamNRye · · Score: 1

      No, It requires a proper plan.

      WE need a content management system that allows us to create web site.

      - is different from -

      We need to find out how to use Oracle, why don't you write a Content Managenment System in VB that will interact with our Oracle DB. Oh, and make sure it uses SOAP or XML or .NET or something.

      - Or my favorite -

      Can't you write that program (stand-alone executable) in JavaScript??

      I have always told my bosses I am output only. I don't accept input.

      You tell me waht the program is suppoed to do, not what language to write it in, and it needs a "relational database" and should be a "net service". I am the programmer, I determine if we need a relational database.

      The worst thing about programming is always being Buzzword compliant.

      And then all the "Souldn't that say 'Associate' instead of 'employee'". "The mission statement doesn't include the word dynamic..."

      Changes.... That's why it's called version 2.0 The point releases is where it doesn't change much for the programmer.

      ~Hammy
      "Shibby"

    45. Re:Three things by tpv · · Score: 1
      I consider myself a professional. I'm not hired to turn stupid ideas into a non-functioning reality.
      If you want to keep the geeks happy, then expect and allow them to be professional.

      When my customers come and say "we want you to do this, and you should do it like that, and just do it as fast as you can without worrying about the future", I say "no". It's not worth my time to slave away on your project when I know that it's not going to work, and in 3 months time you're going to come back and complain to me that I just wasted your money.

      I know more about the tech than my customers, I know what will/won't work. If they don't respect my advice on those matters then my job satisfaction goes way down low, and that becomes my manager's problem to deal with. If this person wants to be a good boss, then they need to prevent that from happening.

      --
      Read more of this story at Slashdot.Read more of this story at Slashdot.Read more of this story at Slashdot.
    46. Re:Three things by kin_korn_karn · · Score: 1

      are you actually capable of having that attitude and still feeding yourself? if so, congratulations. I've never seen a development shop that allowed programmers to refuse to hang their asses out on something like that. It's either work on our project, or starve.

    47. Re:Three things by tpv · · Score: 1
      Yes.

      It's all a matter of learning how to manage your customers.
      Once you know how how they think, it becomes possible to convince them that their idea isn't going to fly.

      My customers care about risk + reputation. If I can show them that doing the project the way they want is going to put them in a high risk situation, where they're going to look like idiots, then they won't do it.

      I'd like them to listen to me more.
      I'd like to be able to tell them that it isn't going to fly without having to spend 3 days preparing a discussion paper.
      But when they have stupid ideas, I can usually get them to change them.

      In fact it works exactly the opposite of the way you suggest. If I didn't ahve this attitude then I'd be out of a job.
      The customer's ideas are not deliverable. After failing to deliver a number projects, and wasting millions of dollars, I'd be gone.

      I have to be able to provide my customers with real value, and to do that, I need to tell them when they have bad ideas.

      --
      Read more of this story at Slashdot.Read more of this story at Slashdot.Read more of this story at Slashdot.
  3. Food for thought. by FreeLinux · · Score: 3, Insightful

    While some of what you say or suggest is true, the fact is that *everyone* here feels that they are more qualified to make the decisions than their PHB. But, when we look at the many posts to follow this one, we realize that regarless of what they think, many of these people aren't qualified to make any form of decision at all.

    So, are you sure that you know it all?

    1. Re:Food for thought. by Jucius+Maximus · · Score: 1

      For a good anthology of advice, go get the book 'Dilbert Gives You The Business' and read the section on bosses. It is enlightening. :-) There are also sections about programmers, engineers, secretaries, HR, marketing, sales, and tonnes more. I love this book. It is great!

    2. Re:Food for thought. by gmack · · Score: 1

      That depends on the decisions. Personally I'm good at knowing what to buy and knowing how much to spend on it. But I totally suck at buisness decisions. And it also helps to have someone who asks "do we really need to spend that much on this?"

      I need a boss who knows what I don't know/don't care about. I'm a good sysadmin but a sucky buisnessman and I'm not afraid to admit it.

      What I don't like is being overuled on every last purchase request. I *do* need to have a boss that listens to me. A former employer waffed on the purchase on a new drive "but SCSI drives are expensive" Until after the old one crapped out resulting in 6 hours work instead of 30 mins.

  4. even? by eries · · Score: 2
    or even say it better than I can

    No, not possible. Never happen.

  5. umm.. by raindog151 · · Score: 1

    praise once a year would be nice.

    --
    your jesus is another mans xebu. chew on that hypocrites.
  6. What I've had in the past... by BranMan · · Score: 3, Funny

    A manager that reads Slashdot!

  7. incentives by Mr.+Eradicator · · Score: 2, Funny

    Encourage hourly pr0n breaks. Tell your management you're billing it as "administrative stress-management" time.

    --

    That's Mr. Eradicator to you.

    trance-port
    1. Re:incentives by Anonymous Coward · · Score: 0

      put one of these in the breakroom ...

      CHEAP ENTERTAINMENT!

      $110 bucks for a dvd/vcd/mp3/cd player? not too bad at all.

      "raise morale", keep everyone happy, just make sure it doesnt get used except during lunch and legitimate breaks.

    2. Re:incentives by Anonymous Coward · · Score: 0

      EEEEEEEEEEEEEEradicator! (Sorry, couldn't resist)

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

      and plenty of paper towels to clean up the JIZM!

      ChrisWeeks

    4. Re:incentives by Mojo+Geek · · Score: 1

      An occasional crack ho might be nice. Bill her as a "message therapist".

  8. Ex-programmers by Shagg · · Score: 2

    The best technical managers I've always had were ones that started out as developers themselves, and moved up into management.

    --
    Unix is user friendly, it's just selective about who its friends are.
    1. Re:Ex-programmers by LordNimon · · Score: 1

      That works as long as the Peter Principle doesn't apply.

      --
      And the men who hold high places must be the ones who start
      To mold a new reality... closer to the heart
    2. Re:Ex-programmers by haruharaharu · · Score: 2

      I'll bet that your worst were ex-engineers that knew development but had zero people skills.

      --
      Reboot macht Frei.
  9. Read the Mythical Man Month by mfos.org · · Score: 2

    It is a must read for any one involved in computer engineering. They reviewed it on slashdot a while back.

  10. Personally I prefer the 2nd edition PHB by Anonymous Coward · · Score: 1, Funny

    but I understand the 3rd edition Players Handbook is nice also.

    1. Re:Personally I prefer the 2nd edition PHB by IAgreeWithThisPost · · Score: 0

      haha 2nd ed was the best

      --
      security through obscurity = modding down anti-linux posts so maybe noone will see them
  11. What? by IAgreeWithThisPost · · Score: 2

    What kind of GHB do I want? It's drug talk time on slashdot!

    In other news, i'm at -5 karma, please mod me offtopic -1 so I can be back into troll land. Though I appreciate those who have dutifuly brought me from -14 to -5 karma, I regret that I will not last long at a 0 score.

    --
    security through obscurity = modding down anti-linux posts so maybe noone will see them
  12. Manager's job by Anonymous Coward · · Score: 3, Insightful

    Prevent higher up management from talking to me directly. Provide a buffer between upper management and me.

    Make sure I have enough hardware.

    Make sure I know where I can get required software.

    Inform me quietly that you know about future layoffs. Stand up for me when the ax swings by.

    1. Re:Manager's job by rlangis · · Score: 1

      This is the main problem with middle management. When the axe DOES swing by, they're usually the first to get cut. Mainly because the job they do is nearly wholly REDUNDANT.

      I considered going into management, but I'd much rather have my fingers on the pulse of the company than be the odd hair that gets shaved off.

      --
      GIR: I'm going to sing the Doom song now. Doom doom doom doom doom doom de-doom doom doom doom doom doom doom...
    2. Re:Manager's job by TopShelf · · Score: 1, Interesting
      Perhaps if you want to stay shuttered away in a corner responding to requests slipped under the door, that's the way to go.

      For myself, I greatly appreciated the manager who brought me along to meet with higher-ups as we headed into major projects, both to be exposed to their concerns as well as to offer insight that headed off "snipe hunts" early on. Many geeks who bitch about management are in the same boat as non-voters who bitch about Bush winning the election. If you actually have an opinion, be open to getting involved and make a difference!

      --
      Stop by my site where I write about ERP systems & more
    3. Re:Manager's job by Anonymous Coward · · Score: 0

      The manager should have a much broader understanding of the project than any individual engineer. Engineers need to be involved in the design and implementation of the project. Their manager should be involved in the project vision and design of the project. Higher ups should be involved in the company vision (which includes project vision at a certain level).

      Once higher ups start meddling with programmers, the project is in trouble. The manager hasn't done a good job of keeping the higher ups up-to-date and hasn't kept the engineers shielded enough to allow them to do their best work. Without providing the buffer, the manager has made himself redundant and useless.

    4. Re:Manager's job by Anonymous Coward · · Score: 0

      as my first boss out of grad school said: "you
      think my job is to tell you what to do; you are wrong. My job is to keep anyone else from telling you what to do; you decide what to do."

      As someone who is/was an excellent programmer and is now a senior manager, my advice is never bluff. Programmers will accept non technical folks who are honest, but non technical folks who bluff are always found out, and it makes them ineffective.

  13. Suggestions... by Maddog_Delphi97 · · Score: 3, Insightful

    Maybe once a month, or once a week, encourage geeks to stay home (and telecommute) for their jobs... saves wear and tear on them if they can code in their most natural environment once in a while..

    Another thing that geeks like (at least I do), is PEACE AND QUIET... get them an office of their own, one that's soundproof.

    Let them take older hardware/computers home, so they can have something to play with without fear of destroying it. Chances are, it will become a server of some kind in their home.

    Don't know how feasible these ideas are, but at least there's a couple of good suggestions.

    1. Re:Suggestions... by Random+Feature · · Score: 4, Interesting

      The entire office thing is important. Cube farms are NOT a productive environment to work in. And if you're going to force geeks into cube farms, at least make sure they have some breathing room.

      I've had a cube so small I couldn't turn around in and it was stifling and made being productive difficult. An office is ideal, but unfortunately not too practical for most organizations, so at least give us some room to breathe.

      Telecommuting isn't so important to me, but being flexible in work hours is very important. If I'm caught up or ahead of the game - don't get upset if I leave 2 hours early or come in two hours late. Believe me, if I'm behind or something is wrong I'll be there all night if necessary. But when it's slow, relax.

      And stop being so damned serious. The end of the world will not come about if we don't do X, Y or Z right this minute. Give us a little slack once in a while. Those rubber bands and nerf guns aren't going to hurt anyone. At least not seriously.

      --
      I don't have a solution, but I certainly admire the problem.
    2. Re:Suggestions... by saider · · Score: 2, Funny

      As a parent of a two-year old and a newborn, telecommuting is not an option. I come to work to get away from my family. Work is so serene and peaceful, even when we have a code freeze tomorrow.

      In my case telecommuting is not really an option because I do work that ends up on some big-ass equipment that I just cannot take home. I am usually in our lab for a couple hours a day doing testing. But the option to stay at home once and a while and do documentation or paperwork would be nice.

      Our company also has a computer purchase program where you can buy older computers that are being rotated out. They are typically nothing special, but make good little experiment boxes or charity donations.

      Also, encouraging side projects while at work can provide a well needed diversion while letting the employee explore something new. The company may find that a linux-controlled squirrel-navigated dune buggy has some useful code snippets.

      --


      Remember, You are unique...just like everyone else.
    3. Re:Suggestions... by JordanH · · Score: 5, Interesting
      • Another thing that geeks like (at least I do), is PEACE AND QUIET... get them an office of their own, one that's soundproof.

      Whatever happened to offices? Some years ago, you always heard how much productivity of Engineering staff was enhanced by offices, but now, all you hear about is that "open" workspaces encourage collaboration.

      Personally, I much prefer collaborating passing documents back and forth. Collaborating face to face has it's place, but to build anything of value, it's best to get all the ideas and opinions down in writing and diagrams, so they can be studied objectively. Usually when technical decisions are made in meetings, even informal drop-by-the cube or office meetings without anything written down, I find that they are poorly thought out.

      That's what I want from management. An environment that values my ideas, but also READS and tries to understand the issues. Shoot from the hip environments are generally poor for a number of reasons, in my experience:

      • Forceful personalities who can get away with interrupting and talking loud get more weight.
      • Decisions are made without much thought.
      • The politics are ultimately worse, because it's like you are performing in front of people all the time, so it encourages sucking up and group think.

      That being said, I do want to point out that there are a lot of comments in this thread about how good management insulates technical staff from politics. I agree with this, but I want to add that good workers who have management that does what they can to insulate workers from good management have a responsibility to do what they can to insulate their management from politics also. The corporate edicts may be stupid, but most middle management is powerless to fight a lot of these things. It's best to stand up and do what needs to be done to protect your (good) managers from feeling the heat if the edicts aren't followed.

      Sometimes, like schedules dictated on high, it's not always possible, but at least give your boss lots of good technical reasons (not just whining) as to why the schedules can't be met.

      Just my 2 cents.

    4. Re:Suggestions... by Pfhreakaz0id · · Score: 2

      geez. I loved it at my old job when my son was sick and I had a chance to telecomute. It's not like I needed to code 8 hours to have the same productivity, since a typical day was 3 hours coding max, after all interruptions taken into account.

    5. Re:Suggestions... by LinSux · · Score: 0

      I wouldn't want to work around a 2 year old either. Telecommuting should be optional, not a requirement.

      er, did I just make an intellegent post? Shame on me!

      --
      Slashdot. News for Zealots, Stuff that matters (if you're a linux zealot!)
    6. Re:Suggestions... by Paracelcus · · Score: 0

      My all time favorite office is the server room!
      It's cold, and all the roar seems to me like a "white noise" drowning out all the distractions, while the cold keeps out all the nosey little peckerwoods that want to know what your doing.

      They don't need to know that almost everything is scripted, and that you spend most of the day entertaining yourself! Telecommuting would be fine if broadband would ever be available in my area.

      --
      I killed da wabbit -Elmer Fudd
    7. Re:Suggestions... by PhotoGuy · · Score: 3, Informative
      Whatever happened to offices? Some years ago, you always heard how much productivity of Engineering staff was enhanced by offices, but now, all you hear about is that "open" workspaces encourage collaboration.
      Two factors, I'd say. One is cost. You can set up people in cubies far more cost effectively, and more densely (yet still reasonable) than with offices requiring studs, drywall, windows, frames, doors, in-wall wiring, and so on.

      Plus, cubies aren't a "leasehold improvement" that creating many offices would be, when getting into a lease. Furniture has more flexibility this way, and can be taken with you. Leaseholds can't.

      And as you mention collaboration is another point. It's not just an excuse, but a reality, in my experience. I've worked with the same group of people (in the same company) in offices, and then later in cubies, and there was far more interaction and communication in the latter. A company should provide ample meeting rooms for when a group needs to get together to discuss something (without bothering their cubie neighbors), or to make certain phone calls, or whatever.

      Independant of the cost factor, if I were to create an office from scratch, I'd use cubies (errr, workstations) rather than offices for all.

      Of course, it does depend upon the nature of the work. Web-related programming generally works well with lots of collaboration. Cranking out the latest encryption technology or MPEG5 encoding algorithm, is probably something a programmer would best do in a quiet office.

      -me
      --
      Love many, trust a few, do harm to none.
    8. Re:Suggestions... by Anonymous Coward · · Score: 0

      First two are excellent ideas, don't know about the last one...it makes sense from a technical point-of-view, but the accountants wouldn't go for it - it will probably mess up their capital/asset plan.

      I don't understand how capital budgeting works yet...it rarely makes sense. I have worked for a place (early 90's) that decided to save a few thousand by not getting Cdroms in their PC (talking about $100 a piece or so)...so developers end up going to instal some bloated dev tools over the network...and it takes 'em over day to get it done (at ~ $200+/day for developer)

    9. Re:Suggestions... by adamjudson · · Score: 1

      Maybe once a month, or once a week, encourage geeks to stay home (and telecommute) for their jobs... saves wear and tear on them if they can code in their most natural environment once in a while..

      No No No.

      If your job doesn't involve interacting with your co-workers 50% of the time, your team can get by without you. Permanently.

      If it does then a day at home is a day off.

      A nice reward maybe, but of no value to the team.

      -A.

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

      Holy shit dude, which member of your team holds your dick when you take a leak? Do you require constant attention to work? No wonder you never get promoted.

    11. Re:Suggestions... by adamjudson · · Score: 1

      It takes more than one...

      s/w development is a social activity, interaction is the only way to build a good product.

      A.

    12. Re:Suggestions... by DrJolt · · Score: 0

      > Whatever happened to offices?

      Somebody figured out it was cheaper not to have them.

    13. Re:Suggestions... by elmetatron · · Score: 1

      I don't think that a Cube Farm, telecommuting or private offices are the way to go. I prefer a common work area. When I was first brought on to my current job they sat me in a workroom with about 3 other people. I was amazed at how quickly I was brought up to speed on the project. By having the knowledgeable people right there to answer my questions, I received the answers quickly and correctly. With telecommuting, the e-mail string answering a simple question could take half of a day. Also private offices tend to seclude people from the team while cubicles, in my opinion, are just too impersonal...nothing like a big gray wall and a monitor to start out my day.

      --
      Just another idiot with mod points.
    14. Re:Suggestions... by Random+Feature · · Score: 1

      I did the common work area twice. The enterprise common work environment was bad. Maybe it was just the company or the people, but it just didn't work well.

      I did it again later when working on the code for cell phones and a commercial GIS product. It worked REALLY well then - and we had a lot of fun at the same time. We got things done - as you said, the people you needed to be working with were right there so it was great.

      Maybe it was just the project the first time - haven't figured it out. Something went right the second time, so it isn't a bad idea but I think you have to really click with the people you're working with for it to work. And I'm not a very good enterprise developer - too many politics no matter what the PHB does and too many people who are just there 8-5 for the paycheck. For me it's who I am, not just what I do. I think that's what made the second project so great. Everyone in the common area was a hard core coder and really bought into the project.

      Telecommunication is how I work now and it's great, but the lack of feedback and - as you point out - the speed of response to e-mail is frustrating at times.

      --
      I don't have a solution, but I certainly admire the problem.
  14. The Perfect PHB: by soulsteal · · Score: 2, Funny

    A beautiful deaf, blind, mute nymphomaniac who owns a liquor store.

    'Nuff said!

    1. Re:The Perfect PHB: by Anonymous Coward · · Score: 0

      how ya gonna tell the bitch to get you a beer if she's deaf? stupid fucker.

    2. Re:The Perfect PHB: by Anonymous Coward · · Score: 0

      No I didn't. ;-)

      soulsteal

    3. Re:The Perfect PHB: by soulsteal · · Score: 2

      Impostor!

    4. Re:The Perfect PHB: by Anonymous Coward · · Score: 0

      You forgot (or never knew) what a nymphomaniac is.

    5. Re:The Perfect PHB: by LadyLucky · · Score: 1
      beautiful deaf, blind, mute nymphomaniac who owns a liquor store

      But the pointy hair? doesnt that kinda detract?

      --
      dominionrd.blogspot.com - Restaurants on
    6. Re:The Perfect PHB: by Anonymous Coward · · Score: 0

      How would you know she's a nympho?

  15. If you need to ask... by Anonymous Coward · · Score: 1, Funny

    you shouldnt be a manager. Since you admittedly know little about software development or management, I suggest you stay out of both and go into the custodial arts.

  16. I want a smart boss! by 72beetle · · Score: 5, Insightful

    The single most annoying thing for me (back when I could actually find work as a programmer) was the unrealistic expectations laid down by a management that had no concept of what goes into development. A former/aspiring programmer as a manager would be able to at least consider these factors when making project timelines and resource allocations. I would have also appreciated code reviews from my superiors, but for the most part, they have been of the mindset that what we did was magic and couldn't offer a shred of technical assistance or direction.

    I applaud your choice of considering management, I'd love to work under someone that has more than the 'hey, the internet is down' mindset.

    -72

    --
    -Those who dance are considered insane by those who can't hear the music.
  17. More Involvement in Planning by DarkEdgeX · · Score: 5, Insightful

    My biggest gripe with some of my former employers was the lack of involvement in the design phase (eg: setting realistic goals, and not imaginary or impossible goals). By the same token, setting reasonable time-frames for completion of various tasks is another issue I've butted heads with management on-- a prime example is when I explicitly stated the project at hand would take 4 months to complete (longer with QA work). I was overruled and told that the entire project, with QA, could be completed in 3 months. Needless to say the project went beyond that limit and much complaining was heard from the management types (instead of realizing they were wrong, they took us aside and told us we weren't doing good enough-- somehow they thought this would speed things up).

    Development takes time, and most geeks aren't like Scotty in Star Trek-- we don't multiply our estimates by 2 to make ourselves look like miracle workers when we get it done in half the time.

    --
    All I know about Bush is I had a good job when Clinton was president.
    1. Re:More Involvement in Planning by the_2nd_coming · · Score: 2

      perhaps we should though.....it is all politics you know and when negotiating for time you should add to your estemate since managment already thinks that you have.

      --



      I am the Alpha and the Omega-3
  18. Re:Duel with the Man in the Red Hat by IAgreeWithThisPost · · Score: 0

    BOA Atm's run OS2 Warp

    --
    security through obscurity = modding down anti-linux posts so maybe noone will see them
  19. We all want a nicer boss by TrollMan+5000 · · Score: 1

    However, having someone in charge over you is always going to be a stressful relationship, since stress tends to increase as control decreases.

    I've been fortunate to "hands-off" bosses, the kind who tend to keep out of your work and let you do things as you see fit. And I've rewarded them with timely completion of tasks. Not everyone benefits from this type of business relationship, but at least it works for me.

  20. It's been asked ... by Jucius+Maximus · · Score: 1

    +5 free karma to the person who manages to dig out the old Dilbert comic that asks this question and posts a link!

    1. Re:It's been asked ... by Colin+Bayer · · Score: 1

      Heh... AFAIK, no can do. This one, IIRC, was exclusively in the book called Build a Better Life By Stealing Office Supplies".

      I'll still take the karma, tho. ;)

      --
      Want Linux games? HERE.
    2. Re:It's been asked ... by Jucius+Maximus · · Score: 1
      "Heh... AFAIK, no can do. This one, IIRC, was exclusively in the book called Build a Better Life By Stealing Office Supplies". "

      It's also in "Highly Defective People." Full colour on page 205.

    3. Re:It's been asked ... by Colin+Bayer · · Score: 1

      Ahh, w00t... I need to find my copy in that case. :)

      --
      Want Linux games? HERE.
  21. None of the Above by gmhowell · · Score: 4, Insightful

    Or, perhaps, 'No One Above'. I like to work for myself. It's harder, possibly less pay, less guarantees. But at the end of the day, I have no one to blame but myself. And no one to thank but myself.

    Be careful of PHBs who know a little programming. Kinda that "a little knowledge is a dangerous thing". Or those who know nothing "If C is good, C++ must be three times as good".

    If you can, talk to people who work at a company. Just like you are going to lie, bend the truth, and put on your best face at an interview and in a resume, so is the hiring person/manager who you talk to.

    Stay out of debt for a while. Keep driving that shitty car, and stay in that shitty apartment. You may get into a position that you hate, but be stuck in it due to debt and other responsibilities. Continue to stay flexible for a while. (That's why I'm not yet working for myself full time. F***ing mortgage.)

    Sorry. Not really on point. But I hope it helps.

    --
    Jesus was all right but his disciples were thick and ordinary. -John Lennon
    1. Re:None of the Above by Steveftoth · · Score: 2

      --quote
      Be careful of PHBs who know a little programming. Kinda that "a little knowledge is a dangerous thing". Or those who know nothing "If C is good, C++ must be three times as good".
      --end quote
      So how much programming should they know? You make it sound like no matter what you are screwed.

    2. Re:None of the Above by Anonymous Coward · · Score: 0

      He's saying the only person qualified to be a manager is Linus

    3. Re:None of the Above by Anonymous Coward · · Score: 0

      Methinks he is saying that the only good boss is one who is a fairly adept practitioner of code-fu.

    4. Re:None of the Above by gmhowell · · Score: 1
      So how much programming should they know? You make it sound like no matter what you are screwed.


      Hmm. Couldn't be intentional, could it? Or it couldn't be that it doesn't matter?

      Look at my entire comment, and you'll see that I don't think highly of management.

      --
      Jesus was all right but his disciples were thick and ordinary. -John Lennon
    5. Re:None of the Above by GunFodder · · Score: 2

      Most of the managers I have had originally did development. Most of them were also smart enough to realize that lots of their technical knowledge was out of date. This is very important; managers don't have time to keep up serious technical skills, and should leave most technical decisions to their staff.

      OTOH these managers have been working in IT for years and often know basic truths that still apply. The best managers know the difference between their out-of-date technical knowledge and the timeless truths of software development, ignore the former and use the latter.

    6. Re:None of the Above by Steveftoth · · Score: 2

      Yeah, if you have crappy management, then I can see that. What ya gonna do xcept find a new job.

  22. Trust by Anml4ixoye · · Score: 5, Insightful
    The one thing that I respect most about my manager is that he trusts us to make decisions where he doesn't fully understand what we are doing. He is a Punch Card/Fortran programmer, and we are incorporating more web-based programming that he doesn't understand the exact syntax of. He makes an effort to learn, but when it comes down to technical decisions that he doesn't grasp (or doesn't have the time to), he trusts and respects our decision to make the right choice.


    Of course, with that comes responsibility on our part to actually make the right choice, but we know if we lose that trust, life will be much harder.

  23. litlle fish eaten by bigger fish... by warmcat · · Score: 5, Funny

    The sad truth is that the PHB has an even Pointier-headed boss and so on up until we reach the Splendid Majesty of Satan who Owns The Souls Of The Workers.

    As a manager of geeks you will come under ugly, ugly pressure from the next layer of idiots forcing you to make choices against your inclination, your will, it will be like an old 1950s horror film where your right hand is moving without your volition while the Demonic Forces Of Management snicker.

    I forecast it will be under three months before you find yourself saying to the Unwashed Geeks in your charge that your Agree with their Point Of View and if it was In Your Power you would Do this Thing, But....

    1. Re:litlle fish eaten by bigger fish... by Anonymous Coward · · Score: 0


      Damn - mod this UP!

      Those are some damned words of wisdom.

    2. Re:litlle fish eaten by bigger fish... by Anonymous Coward · · Score: 0

      If you do find yourself blaming your superiors for
      unpopular decisions, you're wrong (even if it is
      true). It undermines your authority and hurts
      morale. The more you say YOUR higher up is an
      idiot when you're angry at a particular decision,
      the more your subordinates start to believe it,
      and dislike working where they do.

      Some decisions are not going to go your way. You
      may have a solid case for your side, from the
      perspective of your area of expertise, and be
      overruled because of considerations from other
      areas (marketing, etc.) Sometimes you just get
      outmaneuvered politically.

      Regardless, feel free to have a flame-fest behind
      closed doors while the decision is being made, but
      when you come out and tell the gang, it's, "This
      is what we're going to do," not, "You'll never
      guess what the latest idiocy from above is."

      Your people know you. They know you're smart, and
      they know you're not out to screw them. You don't
      have to say things like "I told them it was
      stupid, but they want to anyway." You should have
      given them a heads up long ago, let them know that
      you appreciate their concerns, and fight for them,
      but once you've lost, no sense dwelling on it.

    3. Re:litlle fish eaten by bigger fish... by Geekboy(Wizard) · · Score: 1

      My boss tells me that quite often, but she attempt to fight for our causes, even if upper management is against it. They ask us to document, and explain our situation. While it takes time away from assisting the clients (2nd level tech support), the clients will see an improvement, because we are happier, and our suggestions, are mostly to improve either productivity, or the quality of the software we support.

      She doesn't understand it, by any means, but we explain it to her, and give her details of how to cause issues, and what the problems are. We try to contribute possible solutions, or at least area's to check. While I'm not a programmer, I talk to the end user quite often, and I know what the clients are trying to do, and I try to be as helpful to the programmers as much as possible. Lots of details, how to reproduce the issue, sample data to examine, etc.

    4. Re:litlle fish eaten by bigger fish... by linzeal · · Score: 1

      Documentation makes level 2 techs worthwhile for a dynamic product in the long run and allows an option to become a tech writer for some who are highly skilled in it. If not most companies would replace you with 10 level 1 faq reading drones if the product is static long enough.

  24. in a perfect world... by Em+Emalb · · Score: 2

    your boss would listen to you, not the marketing team. Perferably, he or she would be in a position where they could not be bullied by outside forces. What would be really nice would be to be included in those nifty meetings that the managers seem to have so much fun in, so I can raise my little hand and say, excuse me, but what you suggest is not feasible, much less realistic. However, since you seem hell bent on doing this, when I realease this product, feel free to take responsibility for having pushed this project so hard.

    ok, sorry, went off a little, but it would be nice to be included in the thought process, so we can add our very important $.02.

    I wish you luck, most middle managers I know end up being told, "I don't care if the programming department says its un-realistic, just do it.

    --
    Sent from your iPad.
  25. Three things ANY IT manager needs by Anonymous Coward · · Score: 3, Interesting


    1. To be technically proficient. Perhaps he or she is not up on all of the bleeding edge technology, but he/she needs to be rooted in IT and not accounting or especially not marketing.

    2. To understand the word "flexibility." Every part of IT is all about strange hours. Some coders do their best work at 3AM on the last night before a deadline, wired on Mountain Dew and pizza. A lot of network engineer types are in at super late hours, because that's when the maintenance windows are open. Because of this, managers -familiar- with all the quirks of IT schedules are an absolute must. Which once again goes back to choosing managers with backgrounds in IT. This is true for middle managers right on up to the director-level positions. As far as CTO/CIO executive positions go.. since it's more of a political position, I could see why someone not pure-bred IT might be a better fit. But then again, I think MBAs disguised as CIOs are a big part of the reason the IT market is in its current sorry state.

    3. An even but -fair- hand. It is good to hold your people to their deadlines. It is BAD to pressure them to the point where they're rushing through their work and making mistakes for fear of not hitting a deadline and being publically lambasted by their managers. A SMART manager knows that his team's failure is HIS/HER failure as well.

  26. Understand SLACK. by Speare · · Score: 5, Insightful

    Upper managers want efficiency.

    Creative line employees want effectiveness.

    These are at odds with each other. You said it yourself, middle management is balance. Another way of stating this is that it's your job to provide the right amount of slack in the system.

    Slack: the Myth of Total Efficiency by DiMarco seems to be a good modern, complementary companion to the ever-favored The Mythical Man-Month by Brooks.

    It may not teach you anything earth-startlingly new, but it has got some good notes and ideas on how to deal with your prima-donna types, your slacker types, and your micro-managing cohorts.

    --
    [ .sig file not found ]
    1. Re:Understand SLACK. by Cheshyre · · Score: 1

      How amusing; my gut response upon seeing the thread was to recommend Tom DeMarco's (notice the spelling) book Slack. You beat me to it; so consider that recommendation to be seconded.

    2. Re:Understand SLACK. by Anonymous Coward · · Score: 0


      There is an old arsdigita article about exactly this subject that is kind of long, but very good. I especially like the part were he syas how much more effective a good coder is to a mediocre coder-

      http://www.arsdigita.com/asj/managing-software-eng ineers/

  27. Instead of looking down, look up! by GSloop · · Score: 5, Insightful

    Instead of looking at the "needs" of your subordinates, first look at the company you want to work for.

    Sure, finding out how to support the people under you is important, but not the most important question.

    The most important question, is, "what is the company/mamangement I must work under like?"

    If your company is ethical and concerned about it's people (really concerned, not just financially concerned) your job will be much easier. Then the task only becomes finding ways to help your subordinates do their jobs. You'll spend lots less time fighting management above you to actually get this priviledge. That's a huge help.

    I know this sounds simplistic, but my exp in this area is that when I am empowered by the employer/upper management, I can really focus on doing what needs to be done. Lots less time is spent on CYA, political fighting, empire building etc. Then you're happy, you can be honest and upfront with your subordinates, and gain their respect and trust. (Trust, i think, is of paramount importance!) Then they'll tell you when you're doing stuff wrong, and help you from looking like a schmuck. Then you can help them get their needs met and be productive.

    The end result!? The company runs smoother, more efficiently, and more profitably.

    Thus, see what you're empowered to do by your managers, than when it's right, figure out what the specific needs of your subordinates are. They're never the same, but the overall principals are!

    Cheers!

  28. I actualy have one of these. by Parid · · Score: 2, Insightful

    I actualy have one of these geek-tech bosses. While this wouldn't be nessisarily true about all geek-bosses, he micromanages, A LOT. Since he knows whats going on he has an opinion about how everything should be done. It is incredibly agrivating. At the same time he does understand a lot more of the problems our group encounters. He also tends to get in the trenches and tech when we need to help. That has been a real life saver some times.

    My word of warning, let your subordiant geeks do there job the way they want to. They may have a diffrent style, try to adjust to it. Good luck!

  29. Management Skills by MopOfJustice · · Score: 1

    Based on my current experience, I'd say that a manager who trusts you to make the right technology decisions is key. It's really about delegating. This is especially difficult for a person going from coding to management. For me management is about HR and resource management, not 'architecture reviews.'

    --
    ----------- Sig what?
  30. Listen. Listen. Listen. by NecroPuppy · · Score: 3

    And don't play favorites.

    Management horror story.

    Reorg happens, I get stuck in a new team, with a manager who has a favorite group, and a least favorite group. I'm in the least favorite group.

    He asks me to provide an estimate for a project. I tell him I can't until I get the necessary information from his favorite group.

    He still insists on the estimate. I explain, in nausiating detail, how I can't give a reliable estimate until I have the necessary information.

    He asks for the estimate again. So I finally give him one; as he wasn't going to go away until I did. Padded the estimate all to hell to make sure I had plenty of time, in case things got screwed up.

    His favorites finally give me the information I need, and I do the project. It comes back from testing with all kinds of issues.

    It turns out that the other group decided to change about 80% of the database after they gave me the information; but didn't tell me.

    Needless to say, I missed the deadline. But it was all my fault because I couldn't mindread the work at home crowd. Two months later, I was involunatarily looking for a new job.

    Listen to your employees.

    --
    I like you, Stuart. You're not like everyone else, here, at Slashdot.
  31. What is PHB? by Anonymous Coward · · Score: 0

    someone tell me?

    1. Re:What is PHB? by Anonymous Coward · · Score: 0

      I think it means pathetic hairlip b***h (a la Filthy) or was it pr0n hoarding bastard. Oh, I remember it is pubic hair brush.

    2. Re:What is PHB? by Anonymous Coward · · Score: 0

      Oh, I remember it is pubic hair brush.

      Oh geez. I thought it was 'public hair brush'! No wonder I've got lice now...

  32. What I Like in Managers by Brownstar · · Score: 2
    Are one's that will:
    • Not complain if I want to work from 10:00 A.M. to 7:00 P.M. (as long as it doesn't affect my customers)
    • Doesn't try to tell me how to do my job, particularily if they have little/no experiance in the language/system I'm working on
    • Will believe me when I say something will take X hours.
    • Doesn't second guess my decisions, particularily if I've been working with them for a while and have shown good judgement
    • Doesn't mind the fact that I like to listen to music when I code (and yes I use head phones so as not to distract others)
    • Let's me get my job done, and doesn't expect me to do a bunch of paperwork that I don't understand. I don't ask them, or (insert lackey), to do my coding. Don't expect me to fill out your upper level papers.


    Fortunatly where I work, my boss pretty much does all of those things.
  33. Political advocate by crow · · Score: 3, Insightful

    One critical job for a manager is political support. Many projects have the potential to step on the toes of other groups. The project's manager needs to act as an advocate for the project. If a manager tries to smooth over conflicts and act as a peacemaker, the project will suffer.

  34. i want a boss who... by gonar · · Score: 5, Interesting

    a. clearly defines my tasks
    b. clearly defines my deadlines
    c. doesn't change priorities every freakin day
    d. leaves me the hell alone to get my work done and doesn't come by every three freakin minutes asking for a status update
    e. listens to me when I tell him it can't, or shouldn't be done
    f. doesn't demand to know every single thing I know about what I am doing, but only to know the things that truly matter for him.
    g. one that trusts me to come to him if I need help.

    --
    The difference between Theory and Practice is greater in Practice than in Theory.
    1. Re:i want a boss who... by WhiteBandit · · Score: 2, Funny

      I'm sitting here reading these suggestions and thinking to myself "WOW! I have a boss just like that!" Then it kinda fills me with pride to know that he trusts me enough to leave me alone and feels I can work deligently without him behind my back constantly.

      Of course what am I doing now?

      Reading slashdot at work. :-/

    2. Re:i want a boss who... by Enonu · · Score: 4, Insightful

      A lot of the above is in conflict with one particular problem in the work place: slackers. These people come into work about 20 to 40 minutes late every day, surf the web and drink coffee for another hour, and then start work. They then do so in a hap hazard way, and pretty much try to hack their way through with no decent thought to the consequences. Then, when the boss asks for a status update, they simply say "everything is going fine." One example in particular that stands out is that I knew a consultant who was able to get away with this for 6 months. That was the end of his contract, and he had nothing workable to show for the time and money spent. There's 35k and a half year down the drain!

      There of course is a happy medium to being able to catch these slackers early without annoying those who get work done. How about code reviews once ever two weeks at least? Have the PHB be involved, but give the employees a stressless enviornment.

    3. Re:i want a boss who... by ebyrob · · Score: 1

      Most of it sounds good, my boss meets all but one criteria:

      Listens to me when I tell him it can't, or shouldn't be done.

      Of course, more than once he's shown me not only that it *can* be done, but that sometimes *it* is the right thing to do. Other times, *it* goes overbudget and never works as intended, but figuring out which is which is never easy.

    4. Re:i want a boss who... by mike_sucks · · Score: 2, Informative

      Hey, I'm consistently late, I spend at least an hour after I do get in on the Web and r/r'ing to email, and I get a shitload of work done, dammit.

      Don't go casting dispersions because you have nothing better to do at work than work!

      ^_^

      --
      -- "So, what's the deal with Auntie Gerschwitz et all?"
    5. Re:i want a boss who... by AutumnLeaf · · Score: 1

      These are all attributes I have now. I didn't have these when I started at my current position. I earned them. I earned them by proving I could be trusted. I earned them by managing my manager when he was out of line. I earned them making commitments and meeting them. I earned them by being disciplined and generating tangible results. I earned them by being an effective communicator and persuasive when necessary, both on a 1:1 basis and through delivering presentations.

      I find the "I want my boss to leave me alone and let me work and not make bad decisions" whining to be a bit trite. Well, guess who is responsible for that as much as your manager?

    6. Re:i want a boss who... by Anonymous Coward · · Score: 0

      Fair enough. However, if you are stuck with a boss who is boss becaus ehe is the senior guy rather than because he knows how to be a boss then you are pretty well S.O.L. He may not listen, even when you have shown him many times that you do, in fact know how to your job well. He may not remember that the last shit-storm was prevented because of a suggestion that you made instead of him him. Some people, not just bosses, are not particularly good at interacting with other people. When that is your boss, and they don't know that they suck at dealing with people, then your life is hell.

      Remember folks, the job market changed. Switching away froma n asshole manager is not as easy as it was in 1999.

    7. Re:i want a boss who... by Anonymous Coward · · Score: 0

      I've actually been on both sides of the fence, and I've worked for good and terrible managers. The good managers consisently are concerned about the welfare of their staff. The bad managers are consistently concerned about themselves, or at least entirely unconcerned about their staff to do anything about it.

      1: Open communication is the life-breath of any software project, and it's very hard to maintain. People get stepped on by massive egos and shut their mouths, or admit mistakes, and get blamed for delays by people covering up their own problems. The culture of arrogance where people have this need to establish a "pecking order" must be actively dealt with. Often telling someone that they're being a dick is an important showing of spine.

      2: There are people who perform consistently, there are people who perform inconsistently, and there are people who don't perform. Consistent performers expect to be rewarded and recognized. Telling people that their work is not exception when it is will guarantee that they will leave, or only perform as well as anyone else. Inconsistent performers may have personal problems that require attention (divorce, stress), may have technical "gaps", such as quality problems, or hard times beating learning curves. You should show flexibility with these people, but if they don't perform in the end, they should go. Consistent non-performers should be terminated. Don't put them in positions where their work isn't accountable (amorphous planning, coordination jobs), and for God's sake, don't put them in QA.

      3: Ensure that everyone (including yourself) is held accountable to clear goals. One person who is able to screw off is giving the finger to the rest of your team.

      4: You can either build a core system and build out with changes on the way to reflect new architecture requirements, more under the control of the programmers, or you can spec it out front, and be iron-fisted about changes. *THE* recipie for project disasters is to have someone who is not doing the work changing the spec and causing someone to redo work unneccessarily. You can have tradeoffs between initiative and discipline, but if you have someone being jerked around with spec changes during development, you'll have a revolt on your hands. People either want control of their work or to work towards clear goals. Constantly shifting targets are demoralizing at best.

      5: Little things count. If you have lunch with your staff members individually, make sure that you go with everyone balanced out (even the non-performers you're going to get rid of). If you "hang out" with one of your staffers too much, there can be a perception of favoritism. DO NOT MAKE CONDESCENDING REMARKS! This is the number one mistake of poor managers. When a programmer says something is hard, don't flippantly tell him how easy it would be for you. Don't overdo the praise, and do spend time just watching and listening at the console while the developer explains his work, or walks through a problem. Keep the meetings short and to the point. Shield your employees from the day-to-day tedium and petty things such as ordering books, equipment, remote access, core hours, external demands, etc.

    8. Re:i want a boss who... by Anonymous Coward · · Score: 0


      while(nothingBetterTodo()){
      Dispersion x = (Dispersion) thatPerson;
      }

    9. Re:i want a boss who... by Anonymous Coward · · Score: 0

      Sounds like you've built your wishlist based on bad experience in a McDonald's kitchen...

    10. Re:i want a boss who... by SpinyNorman · · Score: 2

      c. doesn't change priorities every freakin day
      d. leaves me the hell alone to get my work done and doesn't come by every three freakin minutes asking for a status update


      These are the mistakes usually made by inexperienced managers who don't have the skills or experience to create a more stable work environment.

      Effective management requires having sufficient experience to be able to set priorities properly and be willing to defend them against change, and to establish schedules and assignments that are realistic and don't need CONSTANT fretting over.

    11. Re:i want a boss who... by HamNRye · · Score: 2

      Yeah, I really wished I had a boss who micromanaged my time and was always looking over my shoulder to make sure I was working.

      Besides, you can't monitor everyone's work habits to identify slackers without being all up in the business of the good and bad employees.

      I know plenty of guys who can get their text editor up in a second and look like they've been working for hours.

      ~Hammy
      "Not a bad opinion, shame it wasn't thought out."

    12. Re:i want a boss who... by Anonymous Coward · · Score: 0

      The best way I've seen to identify slackers: give all new engineering employees small, quick projects, with correspondingly short deadlines - say, a week or so. Make sure the competent ones could get it done in that time. The ultra-competent will get it done in a fraction of the time, though they might not finish or turn it in until the deadline - fair enough; you gave them all that time. The slackers won't have anything done - and their lack of results will allow them to be identified and dismissed early. Reapply as needed if you fear an employee might be turning into a slacker. Presto, slackers taken care of without intrusive (and usually counterproductive) monitoring.

  35. Listen by the_rev_matt · · Score: 2
    Listen to the coders. Get their input on requirements, timeframes, deliverables, design, tools, technologies, and anything else that comes up.

    Listen to the developers.

    Oh, and while you're at it. Listen to the developers.

    --
    this is getting old and so are you

    blog

  36. You won't by TrollMan+5000 · · Score: 1

    The world seems to work on the Peter Principle where one is promoted to the level of their incompetence.

  37. PHB Deluxe by ackthpt · · Score: 5, Insightful
    From personal experience, particularly the worst during periods of transition, the best boss is one who doesn't just keep channels of communication open, but uses them.

    Spend time each with with your analysts and coders, even if it's informal over coffee and doughnuts. Micromanage to your own peril, ignore staff to theirs and your own. Staffers are most productive when they feel their work has purpose and value. Keep informed on projects and status, don't just show up one day asking where a project is.

    Be prepared to go to the mat for your staff, since bigwigs often are more clueless than immediate managers. Be sure you can translate, understanding each ends expectations, needs (often far different from expectations.) If your staff needs resources, you'll have to battle for them, make sure they can defend needs, because you'll probably have to relay to your manager. If cost cutting, be very careful. Damage to morale is the start of downward spirals. Fight for a training budget and for Q/A resources (i.e. people) as these are far more crucial than most senior managers are aware of.

    Don't get dragged into more committees/groups meetings than you actually have time for. Poor time management of supers is one of my biggest gripes. Be available (see first topic.)


    Best of luck

    --

    A feeling of having made the same mistake before: Deja Foobar
    1. Re:PHB Deluxe by cgleba · · Score: 2

      "Spend time each with with your analysts and coders, even if it's informal over coffee and doughnuts."

      This is important. The most effective thing that I've experienced was an occasion at a previos company called "beer day". Every Friday night all the geeks would gather together and drink beer with managment / manufacturing / support / QA and through the fun a rowdiness we all got to know each other well and when "somthing needed to get done" it was a lot smoother becaus you could "call Bob down in QA" rather then "contacting the QA department". A larger company that did this, though, it did not work well at all -- there were cliques (that's why I feel a company between 50 and 200 people is ideal, but that is a whole other topic).

      From a managment standpoint, it softened the "need to impress". Managment was not this evil faceless entity that made your life hell, but a friend named "Joe" that you culd honestly say "this project will take more time" to rather then fearing you'll get laid off for ineffciency "by the numbers".

      The only draw-back to this is some people don't understand respect. Later when I was in managment I tried that approach and a *few* underlings took the freindship approch too far into disrespect, however overall it was an excellent approach.

      Many managers subscribe to the miltary idealism of officers and enlisted -- the officers NEVER socialize with the enlisted. This works well in environments where people don't understand respect or as a manager you might have to order someone to their death and you don't want frindship interfereing with your decision. In the tech world THIS PISSES PEOPLE OFF. As long as people are mature enough to understand respect I feel the approach I mentioned above is best.

  38. No feature creep! by Styros · · Score: 2, Insightful

    The worse thing that a manager can do is start asking for more and more from the system. A good manager will recognize that the system is complete. Many managers, including mine, think of development as an on-going, never-ending process.

    1. Re:No feature creep! by Anonymous Coward · · Score: 0

      Development is an on-going, never-ended process, at least for business software (and often even more so for in-house jobs).

      It may just be the industry in which I work (very heavy on accounting and analysis), but here's why I feel development is a never ending task.

      So, if someone didn't get you the end-all list of everything they wanted, say because they didn't work there, a year ago when the project started they're SOL? Even if it's critical to the business, though you may not realize it? Even if it means your systems can't take in to account changes in the law (for, say, accounting systems) which end up putting your company in the shitter two years down the road because all of a sudden your CFO has to announce to investors that there's a huge charge coming because, "Well, our developers said the software was done before this law took effect, so we couldn't take it in to account with our systems."

      I don't like feature creep any more than anyone else, but there's a difference between productive additions and just tossing in every possible bell and whistle. Many software development projects simply cannot end, period, because the environment in which they are run is dynamic and they will always need to be adjusted, improved, fixed, etc.

      I am a developer, not a manager, but I realize that development will never stop. I don't want to come in to my office next week and announce, "Everything is complete" because I know there is more our software can do, things it can do better, and possibly some areas that need to be fixed. And I know this will be true for a long time, no matter how many more years of 70-80 hour weeks I put in to my job.

      If I were to take that kind of an attitude that it's just plain done and I won't continue to add anything, I can count to you on a single hand the number of days before they start looking for my replacement. If you are taking that attitude with your manager(s), I'd like to give you a little professional advice: change your attitude or work on your resume.

      Were I in a position to hire someone, and they said anything remotely like what you did, I can guarantee you they wouldn't even get a call back.

      This is not a justification for bloat, but your position was the other extreme. With every medium to large request for our software, a justification has to accompany it. There has to be something backing up the request for the feature that establishes it's value on the development schedule. For the larger, more complex requests, a significant potential for benefits needs to be shown to justify it consuming a large block of the schedule. For the little things (change this color, right-align that label, etc.) they just get done as a matter of course.

      Regardless, who is to decide what "done" entails? You seem to assume that it should be you. A manager's or a director's job is to run the company, a developer's job is to give everyone in the company the tools to do their jobs. So, the COO needs a new "tool" (i.e. feature) to do something new, or improve an existing process. What ground can you stand on to say, "No, I know better than you, COO, what you need to do your job, and you don't need this, no matter how much you think you do."

      I will agree wholeheartedly that many managers who oversee software development do not understand the development process. There are countless stories (I have a few myself) of managers promising the world to their bosses or clients, and then shortly before the deadline, chiming in with, "Oh, and by the way, Client A needs these thirty major design-changing features by delivery." But, that is not to say that everything out of management is pure, unadultered incompetent bufoonery.

      If you're hellbent on not doing the work, at least give them the justification for why it will not be cost effective, or why it will harm the development or other more important projects. It is not a wise career move to simply claim it's done and that nothing should ever be added.

  39. A non-manager by Anonymous Coward · · Score: 0

    - Firstly a good manager doesn't think of their team as a bunch of geeks
    - Secondly the best managers are people who, if they weren't the manager, would have the coder's job. A manager who has been there, and done that is a great asset.

  40. recent job experience by rtmfm · · Score: 2

    I recently found out I have ADHD, which made me a really good helpdesk tech. I could multitask like no other and was one of the most productive people there. I got along great with all of my coworkers and all the fulltime staff. Unfortunately, management didn't see it this way. I guess going above and beyond isn't appreciated as much as it used to be. I'm currently looking for another helpdesk job where I can geek out and fix things....and pick up some experience in the process.

  41. What kind of PHB do I want? by Ken+Broadfoot · · Score: 2


    ANY. Out of work since Sept 12th 2001.

    --
    Bitcoin pyramid: Join here: http://www.bitcoinpyramid.com/r/1427 it's FREE!
    1. Re:What kind of PHB do I want? by haruharaharu · · Score: 1

      You didn't happen to work in NYC did you?

      --
      Reboot macht Frei.
    2. Re:What kind of PHB do I want? by Anonymous Coward · · Score: 0

      Of course not, captain obvious.

  42. What we have now ... by Anonymous Coward · · Score: 0

    My job has a rather innovative idea ...

    Keep everyone happy by providing lunchtime entertainment ....

    They transformed the breakroom into a movie watching center, complete with 20" tv, this dvd/vcd/mp3/cd player, and a decent stereo....

    Cheap electronics, let people bring movies from home, everyone's happy. It actually turned out pretty well: people knew that they had to get their current progects to a break point by lunch, to watch movies, and then they had a nice break, and were ready to work again.

    1. Re:What we have now ... by Anonymous Coward · · Score: 0

      How long are your lunch breaks? Most people probably wouldn't have time to watch a movie during lunch, unless they fast-forward through half of it, or watch it over a few days.

    2. Re:What we have now ... by monkeydo · · Score: 4, Informative

      What I would like in a boss is what I have right now. He knows more about the business than me, but he knows that he'll get the technical information he needs from me. He knows the right questions to ask and knows that he can trust my answers. It is his job to synthesize the information he is getting from various sources and make the decision that is best for the company. Sometime he takes my advice, sometimes he doesn't, but I try not to second guess him. I just remind myself that I'd probably be as good at his job as he'd be at mine.

      Outside of work my boss has a life, and he recognizes I do too. He knows there wouldn't be any point in grinding me up just to get a little more productivity. I'm sure he'll never put a DVD player in the break room (although there is Cable TV) but I only work about 8 hours a day so I can watch movies at home if I want.

      I've never understood why geeks are willing to work 12 hour days to help some VC get rich as long as they get nice breakrooms, free caffine and foosball/table tennis. And dvd/vcd/mp3/cd players? Why would you need that at work? Total productivity killer. Go to work, do your job, go home. If you can't get your job done in 40hrs a week (and you aren't incompetant) then you boss should hire more people.

      Some of my best friends keep "drinking the kool-aid" (what an ironically appropriate metaphor). Only to get totaly screwed in the end. This seems to be even more prevelant in programmers than other geek type jobs.

      Someone please explain to me what is so great about foosball that it makes programmers not feel exploited by a company that expects them to work 80 hours a week?

      --
      Si vis pacem, para bellum
      The only thing more annoying than a Libertarian is an (un|mis)informed Libertarian
    3. Re:What we have now ... by TheTrunkDr. · · Score: 1
      Well I work for a company that does expect some long hours out of me, frankly most companies are expecting it from their computer people, whether it's programmer, support, admin or whatever. This is becomming the norm in the corporate world these days, am I being exploited? I don't know, I guess I could come in at 9 leave at 5, and only think of my job as nothing more than a means to money so I can live, I hope I never get that cynical. Besides it just leads to a poor relationship between you and your work, my work is my passion. If you're work isn't yours do something else. The fact is people who are expected to work longer, and need to work longer (adding more people isn't necessarily the answer, something about chefs in the kitchen?!) are much more willing to work longer if their environment is comfortable and enjoyable. It also keeps people happy when they actually enjoy where they work, and yes being happy is key to having good employees. I have no problem working hard for a company that I feel appreciates my work, and goes out of their way to make me happy and comfortable in my work environment.

      My old job was bad, and it became a 9 to 5 chore and I hated it (yes it's in the same industry, video games). So much so that I up and moved 500km for a new job. Here, I come when I want I leave when I want, there's a stack of game consoles, a pool table, and a stocked fridge. Fact is I'm here about 12 hours a day, it's 7pm and I'm still here. I enjoy it, we work here and we play here, I don't get hassled if I play a game 10 minutes after lunch is over, actually I can play whenever I want ;) I know long hours are expected of me, and longer hours will be expected in the future, but I don't care... I like being here, my work is appreciated am I exploited? I don't think so... I get to do what I love, in an environment I enjoy. You need to watch Office Space!

      --

      Good things never end "eum" they end in "MANIA" or "teria"

    4. Re:What we have now ... by AvatarADV · · Score: 2, Funny

      Well, speaking not as a programmer, I hang around longer because I'm an hourly employee with not much social life; an extra ten hours a week means my pay goes up by almost forty percent.

    5. Re:What we have now ... by Anonymous Coward · · Score: 0

      Consider this: "I work to live, not the other way around..."

      I really love my job (software engineer), but there's more to life than just the office: spouse (girlfriend/boyfriend/wife/husband), then there's the family (relatives/children), and buddies (friends). What about all the life experiences that must occur outside the office space (e.g. -- sacred experiences, meditation, etc.). IMO, it's unbelievably hard to quiet the mind in most offices...

      Often, it's difficult to see there's more than "getting this module coded" or "implementing the SAN" when you're in the middle of something, but I tend to "decompress" and "release" my thoughts from work the second I step out the door for the day.

      Anyway, I know it's a temporary thing -- after a few years, most people seem to understand this concept.

    6. Re:What we have now ... by slam+smith · · Score: 1

      Do you have a family? I've got a wife and 2 1/3 children. I find that family life sucks when you can't spend time with the family.

      Besides I enjoy my job, and it IS posible to enjoy your job and only work 8 hours a day. I love the guys who try and do thinking work while they are exhausted. And I come in the morning fresh and rested and show them thier problem in minutes. Besides of those 12+ hours a day that you work how many of them are truly effective. From your post, your work enviroment sounds more like a dorm than a business place.

      Life is an exercise in moderation. To be honest with you, I'd rather play a game of tickle with my daughters at home than a game of pool at work

    7. Re:What we have now ... by Anonymous Coward · · Score: 0

      the 100+ K a year ?

    8. Re:What we have now ... by strat · · Score: 1

      "Someone please explain to me what is so great about foosball that it makes programmers not feel exploited by a company that expects them to work 80 hours a week? "

      I think you're missing something. The stock options are what kept me from feeling exploited.
      The games and good coffee just helped me stay in the building more and closer to the task at hand.

  43. Too late for special needs by DigitalDragon · · Score: 2, Insightful

    This could've been important 2 years ago, but now nobody in management really cares about your special needs. Tough market and economy means that you either take it or leave it, my way or highway..

    Time has passed when programmers/developers were given Aeron chairs and cappuchino machines. Now we are expected to work long hours and accept any conditions for what they are.

    I am sure this is going to start a flame, but I really think so. Once you, my friend, will get into management, you will understand that your priorities will always be more important than of your developers, you will see that your decisions will make more sense to you and you'll push for that.

    --
    http://dtum.livejournal.com
    1. Re:Too late for special needs by haruharaharu · · Score: 2

      Now we are expected to work long hours and accept any conditions for what they are.

      Do you really expect that programmers will accept this sort of crap? The good ones will leave or charge by the hour, and the ones that are left won't be able to do much beyond straightforward financial apps (admittedly, a large market).

      --
      Reboot macht Frei.
  44. some developer suggestions: by kisrael · · Score: 2

    Get adequate servers for dev work. PCs are relatively cheap. If you can set up a 'playbox' for each developer, as close to the final environment as possible, that can be a big boon. Too often I'm doing development on my NT desktop for something that's ultimately going to run on Solaris...it generally works ok because it's java, but any perl components and other things are likely to be screwed up. A linux box would be very useful, even if it's not in my cube...

    ...hand in hand with this is for big projects, do regular builds, preferably on a 'virgin' machine each week. This can be useful in goal setting/making as well as trying to avoid the "well it works on *my* PC" syndrome.

    --
    SO YOU'RE GOING TO DIE: The Comic for Dealing with Death
  45. What type of PHB? by DAldredge · · Score: 1, Redundant

    3rd Edition 2nd Printing Players Hand Book...You can't beat the D20 system!

  46. How about a boss that works? by 4iedBandit · · Score: 2, Insightful

    I wasn't in management directly, but when I was lead tech whenever I had a number of tasks to do I told my team I needed one less volunteer. I always picked up the task that no one else wanted to do and ran with it myself.

    Personally I'm way more motivated when my management not only knows what I do, but can do it too. Not to realistic in today's corporate culture, but maybe it should be. At least it's true in the company I work for now.

    --
    "The avalanch has already started, it is too late for the pebbles to vote." -Kosh
  47. What does every coder want? by $0+31337 · · Score: 0

    More money (and mountain dew) dumbass!

    1. Re:What does every coder want? by Anonymous Coward · · Score: 0

      Aye! And don't think we will love the code red variety either. It's kinda gross.

  48. Only one thing can save management... by fishybell · · Score: 1
    Besides the obvious listening the only way to have really decent management is if the manager was not just a former or aspiring programmer, but a current programmer.

    Currently my "manager" is also the head programmer. Above him is the boss, who is a former programmer (also good). Apart from the eccentricity, life is good...

    --
    ><));>
  49. What I want. by bish · · Score: 2, Insightful

    I want a manager that knows what the limitations are. Banging your head for hours on a problem might not be the answer when you could have redone it from scratch the correct way. Here's an example: just today I was asked to extract data out of an embedded processor on a board. There is no interface into the processor to get it out and the hardware possess no way of displaying this data. So, why the hell was I even asked to try when this is impossible?

    1. Re:What I want. by Anonymous Coward · · Score: 0

      Get an EPROM Reader, or put it on a dev board with a monitor(I like PAULMON) and do a dump.

    2. Re:What I want. by bish · · Score: 1

      The data is located in EEPROM which isn't able to be read by a PROM reader.

  50. The perfect manager by bmw · · Score: 1, Funny

    First and foremost, she must be between the age of 18 and 25 and be strikingly beautiful. It is also absolutely imperative that she understand the benefits of having beer on top at the office. This is key. How can one expect to code anything without their trusty pitcher of Guinness by their side?

    Oh, and I guess it's nice when they listen to you too...

  51. Most important of all by TheRealFixer · · Score: 4, Interesting

    Let. Them. Code. Don't change focus on a project just after they start to get into it. Don't watch over their shoulders and make meaningless uninformed suggestions. Don't waste their time with pointless meetings. Just let them do their job.

  52. Programming knowledge by truthsearch · · Score: 2

    Background: CS degree, Full-time developer in financial compaies for over 5 years. I've worked for 2 worldwide companies with huge IT departments. I've had the opportunity to do just a little project management with consultants working for me.

    So looking at it from the bottom, I've found the best managers I've met have all been past developers, at least to a small extent. For some reason, it seems managers with no programming experience can not accept many of the statements of their programmers. One common mistake is to think the programmer's adding unneeded development time - "Oh, it can't possibly take that long" as he trims the project schedule. Maybe it's a trust issue, I'm not sure, but it sure messes up lots of projects.

    Trust your most knowledgeable developers and get rid of all incompetent ones. One incompetant developer on a team seems to drag many projects down and makes the rest feel like they're making up the work of the bad programmer. Very bad for morale.

    My biggest problem with management right now is to get them to open their eyes to all technological options. They look to MS for everything and assume they have the best solutions. They ignore more appropriate technologies because of a few senior people who are afraid of change. And the lower managers don't care about licensing costs, but their bosses sure do. The big bosses trust their managers, however, so while complaining of cost, they go right along with MS.

    ... had to stop myself before this turned into a full blown rant...

  53. What I want by DataSquid · · Score: 1

    is leadership and decision making through experience and training. Don't move up to management unless you've got the project experience behind you to know when to do what. Also, managers need to be technically detached enough to not get caught up in the details of implementation. Having been there before and knowing what causes setbacks and delays and bugs is MUCH better than being involved to the level where everything has to be rubberstamped before it's implemented.

    And you've got to have the right face to present as the representative of the group. I can't stand it if I'm working under someone who's technically able to do the job, but a total social ass-bag. You're representing the people under you to the higher-ups and outside parties, ditch the jeans and t-shirt and act the part. Spiffy up.

    I shed a tear for my now silent site linked below. Alas, I'm a continent away and she's dead, Jim.

    --

    DataSquid.net, a little about me.
  54. We want... by LeftHanded · · Score: 2

    to have a manager who actually manages, not simple a super programmer. That is, the manager should be someone who understands design processes, software architecture process, development processes, and manages the infrastucture to keep developers moving forward for whichever phase(s) they are currently working in. Technical experience is necessary, but studying management, including handling people and groups, is likewise necessary. This combination should result in a manger that doesn't make irresponsible promises (unrealistic goals). We know what happens when unrealistic goals are set: the geek corps to have to push the panic button, generally resulting in Bad Software. Reading something like Project Management : Best Practices for IT Professionals by Richard Murch (available from Barnes and Noble is a Good Idea.

    --
    I think...I think it's in my basement. Let me go upstairs and check. -M.C. Escher (1898-1972)
  55. Peopleware good book.... by Anonymous Coward · · Score: 0

    Act as a facilitator. Don't have your own agenda. Most importantly, allow individuals to define their own role. Given the choice, they will naturally choose a role that will compliment the efforts of their peers. Otherwise, don't hire them in the first place or fire them if they're already there. Peer pressure is the most important and effective form of "positive coercion", so allow people to state their projects and deadlines in the presence of their peers who will act as a witness.

  56. If you would lead ... by Anonymous Coward · · Score: 1

    As a non-management geek, here are some observations:

    1 - A technical manager must run interference. There are a lot of things that need to be managed such as hardware and software tools. The manage rshould be on top of all of these things, not always doing as the geeks want, but providing what is needed.

    2 - Manage non-technical expectations. Not allow the business type to make and change demands without understanding the consequences. This does not mean that things don't change, they do. This means that when the project scope is changed, expectations of delivery need to be changed as well.

    3 - Honest feedback. I have had a lot of good managers. The best was one that sat me down and said "you are doing great expect in this one area. Here are some things to work on" yada-yada.

    4 - Willing to step in and make decisions. Sometimes an executive type decision needs to be made. Make it and stand by it.

    5 - Help eliminate office politcs. Decision making and managing expectations go a long way.

    In conclusion, people work best when they are focused on a goal, have the tools to work with and feel they have the backing of the company.

  57. PHB by Jucius+Maximus · · Score: 1
    I am assuming that you are referring to the 'Pointy Haired Boss' from the Dilbert comics...

    See also: "Dogbert's Top Secret Management Handbook"

    1. Re:PHB by Anonymous Coward · · Score: 0

      I like that list! Here are a couple of other things:

      - Communicate your expectations to your group as clearly as possible. Tell them what they will be measured on. Tell them what is important and what isn't important. If there are areas with vague requirements, admit it, don't BS around it. Enlist your team members' help to clarify them.
      - Foster morale by finding meaningful ways for your group to form an identity based on what they do that is unique for your company. This is another way of communicating expectations.
      - Avoid insincere PHB team building exercises. Especially avoid forced social activities. Your interest isn't in making sure everyone likes one another. Your interest is in making sure everyone works well with one another.
      - Don't let one programmer's opinion be the only one expressed. This is necessary for both the psychological health of the group and to obtain the best possible solution to the problems being worked on.
      - Create a culture of intragroup consultation and mutual respect.
      - If you have someone who is a "great" programmer but can't get along with the rest of the group, fire his ass. If you don't, this guy will wind up pissing everyone off and you'll spend more time managing your way out of problems due to his inability to work and play well with others.
      - Don't ever scapegoat a person because you screwed up.

  58. Do not make assumptions... by drenehtsral · · Score: 2

    My biggest wish for the marketing/management types that i have to work with is that they wouldn't make assumptions about what is difficult and what is easy. For instance, they think of redesigning the whole look and feel of the U.I. as a minor cosmetic change, and they assume that changing some tweakable parameter in the code that does the real work is going to be difficult. The trick is that they have not always taken the time to understand the structure of the system, and aren't always willing to. They'll say "those are implementation details, you guys can do that however you think would work best", and then after the fact they will say "we want a change here". I guess the root of what I'm trying to get at is that anybody who is going to want code changes should make their needs clear during the design phase so the programmers know where to spend the extra time designing in excess flexibility, and where to spend their time writing a more optimized but less flexible solution. I know, people are going to say that everything should always be completely modular and flexible, and i agree, but it seems that no matter how much flexibility we design in, marketing comes up with one change that we have to rip up some serious code to accomidate.

    --

    ---
    Play Six Pack Man. I
  59. Peopleware by tobes · · Score: 1

    Pick up Peopleware by Tom Demarco, it's a great book. Check out Deathmarch too.

  60. My special requests: by ramdac · · Score: 1

    Give me a nice chair in which to work.

    Give me projects to work on without choking me with crazy deadlines.

    Allow me to be creative. Being creative gives me a sense of ownership on the projects I work.

    Understand 3 three virtues of a programmer as explained by Larry Wall. Do this and we shall get along.

  61. 3rd Edition, Please by Abraxis · · Score: 0, Offtopic

    I prefer the 3rd Edition PHB (Player's Handbook).
    Having to figure out THAC0 was a pain in the ass..

  62. You'll never make it... by Fizzlewhiff · · Score: 1

    You'll never make it playing the management game that way. If your boss wants your team to do project x in 3 months and you go back and tell him that your developers say it can be done in 10 months you might find yourself quickly replaced by a manager who can say "yes sir, we'll have it in 3 months."

    I've been on many projects and the truth is almost all of them have been on time no matter how crazy the deadline was. A good team of developers will surprise you when pressure is applied.

    --

    'Same speed C but faster'
  63. Oh, come on... by Tim · · Score: 4, Insightful

    I don't want to sound like a troll, but really, if you don't know the answer to this question already, you aren't ready to be a tech manager.

    I'm serious. You say that you're "not a great coder," but you provide no other information about your technical skill level. So, one can only assume that you're an inexperienced coder/hacker, and that you've never worked on a real project team before, let alone led one.

    My answer to your question is this: I've always wanted a boss who understood what I was doing as well as I did, and probably better. At the very least, I wanted a boss who had been through the grinder, and could understand why I was making certain choices, without second-guessing them. And honestly, if you don't have at least a few years of professional-level coding experience under your belt before you enter the world of tech management, you won't meet that requirement. In short: if you want to be a good tech manager, be a tech worker long enough to count.

    --
    Let's try not to let fact interfere with our speculation here, OK?
    1. Re:Oh, come on... by Anonymous Coward · · Score: 0

      Nerd skills != People Skills. If you can get them both in the same individual, great. But until then I wouldn't hold your breath.

    2. Re:Oh, come on... by jamesmrankinjr · · Score: 2, Insightful

      My answer to your question is this: I've always wanted a boss who understood what I was doing as well as I did, and probably better.

      If your boss is better at your job than you, why isn't he coding and someone else managing?

      Managing coders and coding are totally orthogonal skill sets. Managers need to let coders know what the needed features are, prioritize them, then let the coders come up with a schedule and hold them to it. Besides periodic updates, the manager should leave the coder alone and keep anyone who wants to add to the feature set or change the schedule away from the coders at all cost.

      That's a good tech manager. Being able to code has nothing to do with it.

      Best,
      -jimbo

    3. Re:Oh, come on... by Anonymous Coward · · Score: 0
      If your boss is better at your job than you, why isn't he coding and someone else managing?

      If the project is big enough, then it's more important to get it successful, than to have it finishing 10% faster. There is a place for architects who have deep technical knowledge AND a global view. Some bosses are architects.

      Managing coders and coding are totally orthogonal skill sets.

      That's exactly why you can find both in a manager. Also, the original poster didn't talk about "code", he talking about "understand what someone is doing".

  64. One who knows when HE'S the problem by st0rmshad0w · · Score: 1

    The great majority of pain and anguish I've run into is when the PHB in charge demands that something be done to correct a situation that he himself has created. I'm sure you've seen it, the type where the only solution is to reverse his own decision.

    Case in point, PHB wants to be able to immediately contact(24/7) any member of the department, and in fact communication has been his rallying cry for nearly a year. Cellphone bills are out of hand, and a quick look at them will show that IT is the ONLY department NOT abusing the cels. PHB's solution: ALL departments lose cellphones. Now PHB is angry he can never reach anyone and demands we find a solution. Go figure.

    Now if you can look at that type of situation, as a manager, and determine that you may have in fact been mistaken in your course of action, then you'll be OK by me.

  65. Addendum by truthsearch · · Score: 2

    And I almost forgot: free coffee... ;-)

  66. A good manager by spiffy_guy · · Score: 1

    A good manager first and foremost must realize that his employees know more about what they are working on than he does. Many managers mess this up and try to drive technical direction. That's not their job.

    Second, flex time. Some guys like to come in at 2pm, let them. As long as they get the work done and put in a reasonable amount of time leave them alone.

    Third. Leave them alone. Give them an office with a door of their own.

    Fourth make any material they want available. If they want a copy of Knuth's Art of Computer programming buy it for them.

    Fifth, send them to conferences if they want to go. Don't make them if they don't.

    What being a good manager with highly motivated technical hard working people is about is communicating with others not in your group and staying out of their way.

    --
    Anyone who cannot cope with mathematics is not fully human.
    1. Re:A good manager by ctimes2 · · Score: 1

      I hate to say it but every study ever done consistently reports that unhappy employees are more productive. While I see clearly what you're getting at, the inference is to give them whatever they want and let them do their jobs.
      What [almost] always happens is that the employee becomes complacent and decides what and when they're going to work on what, when.

      So in response, I propose the following to each point you made:
      1) Managers for IT are most definately supposed to drive the technical direction. They should not micro-manage the process, they should say "this project needs to have this functionality in this form, be extensible and flexible within these guidelines and be done on or before this date" and then let their people do it. And of course the date should be set with input from the team so it's attainable.

      2) Way too flexible. If the employee likes to come in at 2, then his schedule should be from 2-10 (or however many hours are required for the given salary). Letting the employee work 'a reasonable amount of time' is unsatisfying for the employee and the company in the long run (feels like he/she isn't a part of the team, they just work there), chaotic to the schedule that others have to work, and creates feelings of favoritism every single time someone else is late, early, or not present. That may be great for the guy that's working it, but a manager will spend 2-4 hours a week every week maintaining relationships. Believe me, I've done this at four different companies, and it's always the same. This is the one area where the manager should be less flexible so your team knows the very basics of what you expect clearly.

      3) Absolutely. BUT make sure they have one day a week spent with the rest of the team in a conference room working together (war room style). Builds relationships, knowledge, teamwork, and keeps your project on track. Laptops would be a good idea too.

      4) Yep. And let them keep the books.

      5) ...are there seriously managers that would MAKE someone go to a conference? If so, find a way to get that guy fired.

      And finally, what a good manager is about is being a leader - not 'staying out of the way' of anyone. Your job as a manager is to clear the road blocks for your team in order for them to do their jobs, and often that means getting in someone ELSE's way, even if they're on your own team.

      As far as the original article goes, you'll be a good manager by treating your people like professionals, and expecting that they are. The life of a manager is balancing the needs of the company to the capabilities of your team. This industry is no different just because there's code involved. Brokers, scientists, accountants, you name it, they're all just people who are good at something (or at least think they are). If anyone gives you advice about the "special requirements" of thier position, they're milking you. Don't get stroked, because quite frankly if they're not giving you 100% on principle alone they're not worth keeping. Unless of course you only expect 90% from yourself.
      Ctimes2

      --
      My cube. My friend. My solace. My prison.
    2. Re:A good manager by spiffy_guy · · Score: 1

      Good feedback. Let me reply.

      I think there are two types of workers. There are those who work as little as they can get away with. With these types of people they probably do work better unhappy and under pressure, the pitchfork in the butt style of management. In my opinion the easier thing to do is fire them and hire self motiveated people. I have seen some skilled groups who are lazy, but they are a minority. However, many non skilled employees are like this.

      With skilled employees (not just programmers but Physicists, Chemists, Doctors, etc) the majority want to do interesting work. They will do things without being told. They will even do the crappy assignments now and then without grumbling because they know that doing boring work now and then is necessary to be able to do interesting work. If you say "We need componant X, and we'd like to have it in testing by Month, Day" (note, do not let schedules drive work, it sometimes takes more time than estimated) a self motivated person usually will get it done. They also are likely to finish any pet projects they had going during the time the finished componant X.

      1)Managers are supposed to help make sure resources are available and used to drive the technical direction. They are not supposed to set the technical direction.

      2)I'm not saying somebody should be able to put in 20 hours a week. I'm saying that some flexability in the number of hours is ok. If he puts in say 30-60 hours that's fine. I'm not saying to let it go unchecked. And if there is a problem with an employee only putting in 30 hours and not getting his work done then that employee should be talked to, maybe he should work more hours.

      3) Very much so. It is important to strike a balance between team building and independent dedicated time without distractions. That balance is hard to find, and it is a managers job to make sure that time away from independent work is time well spent.

      4) Yes

      5)It's happened before. I agree, the manager should be fired.

      I think facilitator is a better word than leader, but I won't quibble over the language.

      The last paragraph was dead on

      --
      Anyone who cannot cope with mathematics is not fully human.
  67. My boss... by rotor · · Score: 1

    I'm one of the lucky coders who happens to have a great boss. Of course, what makes him a great boss is that he's every bit as much a geek as the rest of us. He's worked as a programmer and a DBA for years, and then found himself in a management role.
    The things that I appreciate is that he'll always ask our opinions - AND LISTENS TO US (unless we're in the car giving him directions - then he tends to get lost anyways), he keeps us out of meetings and lets us write code, and he does his best to see that we have all the technology we need and most of what we want.

    --
    Addlepated - punk & metal
  68. I've been on both sides... by Bikku · · Score: 3, Interesting
    hard core coder and suit-wearing schedule jockey.

    What new managers and future-PHBs knew but all-too-quickly forget is that geeks really do know what is possible and what is not, and when they tell you what is Good from the tech point of view, you should listen real hard.

    What techies who abhor management don't know, or at least fail to appreciate sufficiently, is that running a company involves all sorts of real-world trade-offs, and that technological Goodness is just one of dozens of factors that go into business decision-making. Having the best technology or product was never a recipe to business success (and the resulting ability to continue to pay techies and buy new toys).

    Upshot: when the techies tell you how long something will take, believe them. Don't arbitrarily shorten the schedule to please the Big Boss. Have the guts to tell senior management the truth (this is the essence of "standing up for your people"). But when the realities of business balancing acts turns unfavourable to the techies (eg, top management says "no" to GPL code), try to explain the rationale and legitimate logic of the decision. Corollary: if there isn't valid logic to explain, then you've failed at the "tell the boss the truth" step.

  69. Addenda by VikingBerserker · · Score: 4, Insightful

    Encourage feedback and suggestions, but make sure everyone realizes that ultimately your decision is final (at least as far as anything is in this line of work).

    It is NOT your job to tell your subordinates of upcoming layoffs, or any other "need to know" information. This will only inspire panic, and the smartest (read most valuable) employees will be the most likely to send out resumes. It is, however, in your best interest to keep your group as functional as possible. This means you try to protect the good workers from layoffs, but also swing the axe yourself at the dead wood.

    1. Re:Addenda by Anonymous Coward · · Score: 1

      Your workers are people, you must remember that. I believe that if a manager knows ahead of time that some layoffs are happening they should quietly tell the employees that might be affected. As a rule of thumb I treat people as people first, then employees. There are of course people with whom I can not have this type of relationship, either because of their personality, or their work ethic.

      I do agree with your first point however, I like to listen to my employees, I mean really listen, consider their suggestions and then make an informed decision. There have been times when I have made the wrong decision and have changed it when it was necessary, I also encourage employees to speak up when something is wrong.

      I guess the benefit of owning my own business, and then having a few people that work for me that are close to my same age is a good thing... while at work we work, but after work we play and don't talk about working. I have really enjoyed the past couple of years running my own business... the hours suck, the pay is not much better (yet) but I get to run things how I want, period.

    2. Re:Addenda by Anonymous Coward · · Score: 0
      "It is NOT your job to tell your subordinates of upcoming layoffs, or any other "need to know" information."

      Unless, of course, you don't want your staff to start looking for new jobs at the first rumor of a layoff. All it takes is one surprise layoff and all of your qualified employees will start looking for more stable positions. If they have reason to expect ample warning then they're less likely to jump ship.

  70. Beekeeping by schnitzi · · Score: 2

    Orson Scott Card's essay said it best. Managing programmers is analagous to beekeeping:

    http://www.csn.ul.ie/~caolan/Texts/orson.html

    --



    I object to that article, and to the next reply.
  71. Understand the "parts" of the product by garoush · · Score: 2

    I want a manager who understands the many "parts" of the product that I am working on (the building blocks, components, systems, what ever you want to call them).

    All too often, management sees the product as one big "black-box" (i.e.: marketing perspective) -- until when they understand the different parts that it is made up of, ONLY than will they appreciate the complexity of the system and hopfuly they begun to manage better.

    -----

    --

    Karma stuck at 50? Add 2-5 inches.. err.. 2-5x Karmas Count to your pen1es.. err.. Karma all naturally and private
  72. What they need. by ghislain_leblanc · · Score: 1

    Is just a little respect baby.

    I think the basics of management should be about respecting the intelligence of your employes (not only true for technical workers, everyone has an intelligence of their own).

    I think the worst PHB that one can possibly have is one that acts like "ohh, they can't understand cause they don't get the big picture". Most of the time, employees (or ressources) have a pretty good understanding of what is going on in a given project. Some of them may even know more than you tought they should know, just by simple deduction.

    when it comes to techies (I manage three of them), I think that the key is to make them feel usefull, that they belong here. (unless they aren't being usefull and don't belong here)

    Leave them some space and time to think, you'll be rewarded with both results and a friendly place to work.

    (Forgive the poor english, I'm french-canadian)

  73. what i wanted by Prowl · · Score: 2, Funny

    was my manager's resignation.

    unfortunately he made me redundant before i had the chance to see it :-/

    --
    That man tried to kill mah Daddy
  74. hmm, how about a backbone by Anonymous Coward · · Score: 0

    I had too many bosses that are blowoffs and will agree to anything (not actually carry it out) to avoid conflict.

  75. Dream on by Anonymous Coward · · Score: 0

    My ideal PHB would be someone who would go to all the boring meetings, takes my word on technical issues, has command of the arcane SOPs and company rules and knows where they apply, and runs interference with the big shots and takes the flak from other depts and organizations in behalf of the technical staff, and brings home the resources we need.

    On the other hand, Vince Lombardi was tough and hard to work for, but he was a winner. There are compensations for working with a boss like that, as well.

  76. It's going to be a tough battle by caperry · · Score: 5, Insightful

    I just recently stepped up to the plate you are thinking about taking a month or so ago at my company. My purpose in the office now is to act as a firewall between the developers and the rest of the company. So far, this has worked well - but it meant some sacrifices. Here is what I did:

    First off is meetings. I'm in all of them now. I get callled into them on a whim. It sucks, but at least the developers can keep coding instead of being sucked into meetings.

    No more code. I'm barely writing code in the office now. This has been an adjustment. I suggest you find a few projects to satisfy your coding needs in your off time and DO NOT BRING THEM UP AT WORK. I made the mistake of that once, and the company tried to sell my hobbies as products.

    Be prepared to stand your ground. Upper management has no idea how the development process works. Writing code is a creative process, not a color-by-number process. It's going to take some work to make them understand that.

    Take control of the development path for your team. Don't let the people above you bypass you and put your developers on other projects. Come up with a new management system. My immediate bosses are both Ph.Ds. They want down to the minute stats of what is going on - don't do it. You need to find a better model for managing deadlines and people (I adapted the management devices presented in eXtreme Programming).

    Allow your developers freedom. The developers under me come and go as they please. They don't have fixed hours, but they do have fixed minimums. They are required 40hrs/week, but when is up to them. Remeber, coding is a creative process. If you have inspiration at 2am, then you should be able to excercise that inspiration.

    Devlopers are not robots. Just because the boss (who doesn't sleep) sees a developer in the office at 2am doesn't mean that all the devlopers are available or that they should be interrupted. This one I am still working on. I get calls all weekend from my bosses asking for work to be done because they see one of the developers logged in.

    Above all, be fair. Don't baby your developers and treat the rest of the company like trash. I have one (short) weekly meeting with the developers to discuss strategy and planning two days after the manager's meeting. This way the developers do not look like they are being treated special by not having to go to meeting, and everyone stays informed. It seems to work well.

    Bumpy as this ride has been - it seems to be working. It will be tough for the first month (esp. if you are inserting code management, feature management, and bug management tools into your work flow), but it's a much needed thing. The productivity of our developers has gone through the roof sice I put on my flame-proof clothing and block the door to the developer cube-farm with my desk. 8^)

    --
    -Carl "No, we already thought of that one. 'Why?' '42' - It doesn't fit." -Hitchhiker'
    1. Re:It's going to be a tough battle by Anonymous Coward · · Score: 0

      Sounds like you are doing a great job. You may want to read what Tom DeMarco thinks about management and professionalism.

    2. Re:It's going to be a tough battle by jarodss · · Score: 4, Insightful

      You sir are a fscking genius.

      I would love to code at a place like that.

      I've asked my manager to let me have 5k a year less and let me work 40hours/week(I do that now) but on *my* time, if I wanna code at 3pm for 6 hours, let me.
      His reaction "What if all the programmers want to do that?"
      Hmm, 5K less a year * 12 happy coders == much better morale and tighter code, but my PHmanager won't do it.

    3. Re:It's going to be a tough battle by elandal · · Score: 2

      I assume that even though it's up to the developers to work when they feel most creative, You have requested that they be present at the office during some set times?

      For one, You do still have meetings with all development teams? Weekly or biweekly, but at the same time and same weekday every time. Whether there's something to talk about the projects or not. The formal part of the meeting can be a fast status check if there's nothing special to report, no milestones nearing completion, and so on. Most likely there's something people want to talk about anyway, although not on the record, so even if a 30 minute meeting (according to schedule) takes only five minutes, 10 minutes of off-the-record talk may take place.

      Also, You need to have most people present every now and then, not just for meetings but just so that everyone knows when others are available. You don't call a meeting for everything, but You need to have people in the same place at the same time for informal face-to-face time. Email just doesn't cut it for everything.

      And even when the developers believe they know what's best for them, they don't. Would I trust myself with complete freedom? Not really. Would I trust others with the same? Not really.
      Freedom is good when balanced with discipline. Coding at 0200 may feel like a good idea, and sometimes it is. But most often it's not.

  77. Good luck... by eliasfallon · · Score: 2, Insightful

    As a technical type who allowed himself to be pushed into the management arena, and dove back out as quickly as possible.... Good Luck!

    As I think a couple of other posters mentioned, even at the best companies its very difficult to keep a level head, and resist the pressures from upper management and marketing/sales.

    As far as what I want:
    - Assuming you do a good job in the planning phase and listen to your employees and make a schedule (don't laugh, it happens occasionally). The real trick is.....

    6 months later when your boss wants to do another round of 'strategic planning'... Don't let them change all the plans again unless there is a good reason! It is very frustrating to constantly have the moving target goal as a developer. This is not to say that plans can't change, they always have to, but include your employees in the 'redesign' phase as well as the 'design' phase. I've seen plenty of good managers fall apart here when good plans had to get changed at the last minute

    Anyway, good luck.

  78. talk to us by MrDingDong · · Score: 3, Insightful

    My manager is in a different state and I only see him 3-4 times a month. He gives me NO work or feedback... I have to dig it up myself from the users. In fact, he is a hardware guy on the PC side and I do Unix systems admin, so our talk is pretty much just "small talk". I've told him that I'm in the wrong group, but it goes nowhere. I wish I had a manager that I could talk with and who understood my work.

    1. Re:talk to us by KshGoddess · · Score: 1

      Disclaimer: I am not a coder; I am a sysadmin who scripts and codes when necessary.

      Yes! There's hitting the nail on the head. My current manager is an NT guy with a LOT of Compaq hardware experience. I'm a hybrid administrator (unfortunately doing more NT than Unix right now) with considerable experience with several Unix flavors on different hardware platforms, with a smattering of NT. I'm constantly looking for a way to explain Unix terms in NT terminology. "I want to remove these things from /etc/inetd.conf -- kind of like changing the services to manual in NT."

      My management now needs to be beaten with cluesticks, other than that, though. It's my strong belief that managers should have a clue. They shouldn't put themselves above or beside a team, because you can't lead from outside of a group. They should shield their team from the politics, listen to their team, and set reasonable expectations... we got a list of 1400 users to check against an exchange distribution list at 2:30 this afternoon that was supposed to 'get done by Monday morning'. They've frustrated me enough that I've written 2 essays (and posted them on my website) on how IT departments should be run.

      The best manager I ever had-- and I've had 9 in the past 5 years (consulting)-- had the unique ability to assess people's strengths, and put us in roles that used those strengths. He let us do our jobs, for the most part, and even encouraged us to have an internal IRC server. We had weekly meetings, and we felt like a team, even though we rarely ever saw each other face-to-face. He understood how to play the management games so that we looked good, and so that we were performing at our best. We had Team Goals, which made sure that all of us knew what he expected of us, and when he set goals to show to people outside of our department, he first made sure that these goals were readily attainable, even with delays.

      --
      It's a little wrong to say a tomato is a vegetable. It's a lot wrong to say it's a suspension bridge.
    2. Re:talk to us by LegendLength · · Score: 1
      I'm constantly looking for a way to explain Unix terms in NT terminology. "I want to remove these things from /etc/inetd.conf -- kind of like changing the services to manual in NT."

      There's no need to explain it in NT terms, just explain it in less technical terms.

      Just like software development. You should explain things in psuedo code terms to the management rather than expecting them to know the actual language in much detail.

      It's true that sometimes it's hard to abstract a language specific problem to explain to management. I've had some fights over these sorts of problems with past bosses who had zero knowledge of the language I was working in (a QuickBasic coder who hired me to write an MSDOS Basic to Windows C TCP interface. He would call functions by setting global parameters then doing a GOTO or GOSUB, ouch).
  79. Risk management and CMM by ciaohound · · Score: 1

    A risk is an event that might or might not occur. Ask your team what the risks are. Document them. Have a contingency plan that the team and your customer understand. Better to be prepared for when shit happens than to assume it won't.

    Also, the Capability Maturity Matrix is a good thing to be familiar with. The best managers I know have made it an integral part of their employees' professional development.

    --
    Oh, yeah, it's not easy to pad these out to 120 characters.
  80. Re:Sad news -- Stephen Hawking, author, dead at 55 by Anonymous Coward · · Score: 0

    HURR, real creative variant on the old "Stephen King" troll there, buddy. Too bad you couldn't even edit out the "Maine" from the original.

    Besides, even if the Hawkman were to buck the kicket, you can be sure that like his forbears in rockin' the mic, 2Pac and B.I.G., his music will live on for years to come.

  81. Some of these by ZeroZenith · · Score: 1

    - create a plan and stick with it
    - provide direction
    - ask for opinions of senior people and ask questions until you understand what's going on and why - listen
    - keep your people informed (not spamed)
    - respect, respect, respect
    - micromanage only those who require it
    - trust your people until they screw you over then give them one more chance
    - if you have favorites don't let any of your people know including the favorites
    - reward according to performanc
    - show appreciation for good performance

    --
    -- ZeroZenith
  82. Make your employees feel part of the company by Krusher55 · · Score: 1

    Make your employeed feel part of the company, not just a hired gun to crank out code. Make them feel they are an integral part of the project, from beginning to end. Listen to their comments and integrate their suggestions into your project design. Make them feel the work they do is viewed more than just a bunch of code but rather an a product that they should take pride in. If management thinks they are just a bunch of code monkeys without brains or any kind of business sense then they won't respect management, they won't feel the same pride in the work they do, they will be less loyal to the company and they will most likely produce lower quality work.

    Also, keep the developers informed as to what is happening on the business side of things. You may not think it matters but the developers will work much better if they have a clear idea of where and how the software they are using will be used. Keep your developers in the loop at all stages of the product development cycle. It makes them feel more important, they will be happier and will produce better software.

    So, to summarize:

    1. Listen to your developers and pro-actively ask their opinions, thoughts, suggestions, ideas.

    2. Communicate to your developers how their work fits into the business plan especially if/when a business plan might change.

  83. You cant handle the truth. by Anonymous Coward · · Score: 0

    Most managers are hired for thier ability to "smooth" things over, good shoveling skills required. Higher management could care less about the day to day dealings with peons. A good manager is someone who can deal with higher managment and still work with the co-workers. A employee who was promoted helps, or a person who has technical background helps. A non-technical manager can bite you on the ass when they misunderstand facts and requote you to higher level management or other company groups. And the saying shit rolls down hill is 100% true, most good managers will shield you from the politics and let you do the work.

    Being at a large company, Ive seen managers come and go every year. There has been super bosses that wouldnt care about your lunch hour ran late, to the extreme who would want you to clock in and send daily status reports of your phone calls, meetings and emails. (Total control freak)

    The current manager is into office politics. Office politics are at an all time high, I currently spend 3 hours a day just in email to make sure that my ass our the rest of my group doesnt get blamed. But on the bright side, I smile knowing that all the shit my manager has to deal with Service outages and bad planning.

  84. Re-defining corp. management structure by Grand+Facade · · Score: 1


    Sounds to me like you are trying to shift the paradigm from top down to botton up management!

    good luck......

    --
    Rick B.
    1. Re:Re-defining corp. management structure by Krusher55 · · Score: 1

      Well, I think it should be bi-directional. To get the most out of developers you have to make them believe in what they are doing. Good developers don't want to be code monkeys where management tells them what to to. Management has to make the final decision but they should do so upon consultation from the technical experts. Good managers will gather as much useful information as possible before making a decision. It is only common sense. Furthermore, if developers know that they were part of the decision and planning then they feel more responsible for the outcome of the project and as a result produce a better product.

  85. PHB by Smitty · · Score: 2, Insightful

    Must have the following qualities, in no particular order:

    - Able to manage the client's expectations! This has been the biggest failing of nearly all my manager's to date.
    - Has enough specific technical knowledge and general intelligence to understand the task, the design, and the implementation, at least at a high level.
    - Very well organized. Must keep track of all of a project's details, schedules, technical issues, budgets, etc.. Seems obvious but it's a good reason why I wouldn't make a good manager.
    - Good communication skills (for obvious reasons).
    - Able to hash out cohesive, complete, and unambiguous requirements with the client.
    - Willing to kick some programmer ass (including mine) when they're slacking off. This won't win you friends amongst the programmers but will make projects run much smoother.
    - Willing to act as a shield for the programmers to allow them to remain focused.

  86. hairdressers have these problems too... by avandesande · · Score: 1

    I'm not a great hairdresser, but I love hair and especially hairdressing. Those professional hairdressers that I know often complain of their managers not understanding the hairdressing process and having unrealistic expectations of hairdressers. As such, I am considering a new career path: management. Since middle management is all about balancing, I'm looking for pointers before I start looking for positions. What do you, as hairdressers and hairdressers, want from your immediate manager? If there are any beauticians out there in upper management, what do you want from your lower-level managers who keep the hairdressers in line? I'm not asking for the basic 'stand-up-for-your-subordinates' advice, but rather requests from a hairdresser's standpoint. Hairdressers have special needs, and accommodating those needs (and 'odd' behaviors) is a good idea all around, for both employee morale and department output." I think many of us would rather like one who listened or who would at least take advice from the shampoo girls to heart. Many times managers will not consult their hairdressers when they make plans, they'll make the plans first and tell their hairdressing staff later, and this causes all kinds of problems. Generally, a superior with less "pointy hair" is something we'd all appreciate, but I'm sure the rest of you can expand what I'm trying to say here, or even say it better than I can.

    --
    love is just extroverted narcissism
  87. More FINALITY in planning by Wraithlyn · · Score: 3, Interesting

    One of my biggest gripes is feature-creep. The essential functionality is planned out at the beginning, a realistic timeframe is projected, and coding beings.

    THEN, on a sometimes daily basis: "Can we add this? How much trouble would it be to put this in? Can you squeeze this in? It would be really great if we could add this. I was thinking this would be a good thing to have in there. Just something to think about."

    ARGH! Then they get all upset when the timeframe begins to get stretched. It's not our fault they don't take the time to carefully think it through at the beginning.

    --
    "Mind, as manifested by the capacity to make choices, is to some extent present in every electron." -Freeman Dyson
    1. Re:More FINALITY in planning by NecroPuppy · · Score: 5, Informative

      One of my former bosses handled feature creep quite well.

      "Yes, we can add that. It will push the deadline back 1 month and cost you (the customer) an extra $150,000. Do you want to add it at this time?"

      Very often, they didn't.

      --
      I like you, Stuart. You're not like everyone else, here, at Slashdot.
    2. Re:More FINALITY in planning by Anonymous Coward · · Score: 0
      Alas, that only works when upper management is (at least marginally) rational.
      The response 'round here is "No, your cost and time estimate is wrong. The new feature will not be permitted to cost any money--you will cover it out of your current budget. And the deadline needs be moved up a month. And yes, you will still add the feature."


      Regarding budgets: We had an executive-type who pretty much set the tone with his sage pronouncement "Money is just a state of mind: tighten up the belt, because failure is not an option."


      With leadership like that, failure isn't an option because it's already a guaranteed built-in feature.

    3. Re:More FINALITY in planning by haruharaharu · · Score: 3, Interesting

      &quotSo, you want feature X? Put it in that box - we'll look at it after we release."

      --
      Reboot macht Frei.
    4. Re:More FINALITY in planning by Bonker · · Score: 3, Insightful

      One of my biggest gripes is feature-creep. The essential functionality is planned out at the beginning, a realistic timeframe is projected, and coding beings.

      Earlier this week, I was in a meeting between our companies and representatives with one of our clients. They were asking for a timeframe based on a graphics creation task I would ultimately be responsible for.

      I told them how long it would take.

      Then they started saying they had a bunch of potential changes to the graphics that they might want to 'impliment down the line' which is marketing-speak for 'I think this is really cool and I want to do it, but I haven't stuck my nose in my boss's ass deep enough yet for him to tell me it's okay.'

      For each change they suggested, I interrupted the meeting and very pointedly explained that particular change would add 'X' amount of time to the project.

      One of the exec VP's for my company was sitting right there. He just kept nodding in approval every time I opened my mouth.

      Our company is fairly successful, and we always come away with good 'customer service reviews' and this seemingly-rude behavior is one of the reasons why.

      --
      The next Slashdot story will be ready soon, but subscribers can beat the rush and slashdot the links early!
    5. Re:More FINALITY in planning by janic · · Score: 1

      Exactly!

      But of course, the only reason he was able to do that is because there was some record of work and timelines in the first place.

      Re: customer re-education:
      It takes a bit of work, but it's well worth it. Your manager (or maybe even you, it depends on the politics) needs to make it clear from the beginning that "This is the work we will do and this is how much it will cost." and that "Anything extra will cost you in time and money".

      Once the base re-education occurs and the project scope/charter documents are signed off on, the ongoing maintenance of the customer will be substatially easier. Because the customer has bought in to the process by helping to develop the scope and charter, they will also likely be more forthcoming with ideas in the beginning, resulting in, of course, a more accurate scope/charter document. Finally, because the customer has to sign the charter before anything starts, they will be much more willing to participate in the ownership of the project.

      And possibly one of the most importand side effects of signed off project scope and charter documents is that should the customer disagree with what you eventually deliver, you can always pull out your get out of free card (your signed off documents, for those of you not following me) and tell them to either fsck off, or to ante up for the extra work they want done.

      Cheers!
      John.

    6. Re:More FINALITY in planning by GLevangelist · · Score: 1

      Wow, your boss actually read Rapid Development?

    7. Re:More FINALITY in planning by StrawberryFrog · · Score: 2
      So, you want feature X? Put it in that box - we'll look at it after we release.

      I agree with using that approach when needed, I have even used it on occation,

      BUT

      You do realise that this is something that management should do all by themselves, and if the programmers are having to argue for that with the managers, then the managers are not doing that aspect of thier job.

      --

      My Karma: ran over your Dogma
      StrawberryFrog

    8. Re:More FINALITY in planning by HamNRye · · Score: 2

      Which comes down to being honest with the client which most managers aren't.

    9. Re:More FINALITY in planning by NecroPuppy · · Score: 1

      No idea.

      He was just really big on not doing more work that the contract required.

      Looking at that, it doesn't come out quite right. His primary interest was meeting the job requirements, and only after they were met, would he consider additions.

      I guess he just didn't want to have to deal with the mess of missing a deadline.

      In most respects, he was one of the best damn bosses I've ever had.

      --
      I like you, Stuart. You're not like everyone else, here, at Slashdot.
  88. Not to slam you reasoning behind your thoughts by blobbus · · Score: 1

    But...

    All too often development managers are such because they couldnt hack being a programmer. One of my previous managers had not coded in 8 years. And her last language of expertise was C in the Unix environment. When I worked for her, she was trying to manage an NT based web application on the enterprise scale! She joked about how she was "allergic" to coding, and basically did nothing for the project. Needless to say the project failed.

    My point is that the best managers were once VERY capable coders, and, most important of all, STILL COULD BE.

    A good manager is first a good coder (so he can relate to the staff he managers), second a good communicator (help translate techie talk to business speak for the stuffed suits), third a good filter of the politics and rumours, separating the fact from the BS and the relevant from the irrelevant.

    If you want to be a good development manager, first establish a reputation as a good coder and you will gain more respect from those people you will manage.

  89. Tools! by czeal · · Score: 1

    IT talent is expensive; find room in your budget to give your developers good tools when they request them. It could wind up saving hundreds of man hours over the course of just a few months. (And remember, an employee who is denied $700 for a good IDE WILL wind up wasting a few solid days customizing emacs to be a viable editor; now you've wasted thousands of dollars and you don't even have a license to show for it!)

  90. Re:Sad news -- Stephen Hawking, author, dead at 55 by Anonymous Coward · · Score: 0

    You're kidding right? Tupac isn't dead.

  91. Get ready to fail.... by JustACoder · · Score: 1

    Since I have been there and done that, let me give you a word of advice.... The first thing you need to learn is to sell, and nextlook for your next place of employment.... Your idea of "what do the programmers want" is beautiful, but you will soon run into the brick wall of egos, politics and EBDITA, and the question will come down to do you want to pay your bills or be Mother Theresa. The only way to make it is to be able to sell yourself above, and once you can do that repeatedly, you will find out that all that programmers need is to be treated as a person. Be aware, you will have to learn what "a person" means to each one of them, as well as what factor to apply to each one to "normalize" their productivity and needs....

  92. Credit where credit is due by steveminutillo · · Score: 1
    Good managers also...

    take credit for failures

    place blame for successes on their employees

  93. One minute manager.... by gte910h · · Score: 1

    Is a book that I am sure you can find on amazon. It talks about exactly what you want in ANY boss. Works especially well for coders.

    Please make sure you look at things from your coders perspective, and keeped them sheltered from but aware of customers and upper management concerns.

    Root the horrible developers out (possibly by requiring people to get advance degrees if they don't have them). They really do make work a drag.

    --
    Want to see every step I took to start my company? http://www.rowdylabs.com/blogs/pitchtothegods
  94. Words you should never use: by Object01 · · Score: 1, Informative

    Words & phrases managers should never utter:
    -"Appropriate"
    -"Entity"
    -"Mission Statement"
    -never refer to what your company creates as "product"
    -"Synergy"
    -"Action Item"
    -"Team Player"
    -"Content"
    -"Value-added"
    -"Customer"
    -"Positive/negative attitude"

    Euphamisms & other false statements you should avoid:
    -"Improvement Opportunity" when you mean "Fault" or "Weakness"
    -"I'm not directing this to anyone in particular," when in fact you are
    -"Everyone says _______," when in fact only one or two people say _______
    -"Our customers sign your paycheck," when in fact the company signs your paycheck.

    1. Re:Words you should never use: by TheRealFixer · · Score: 2, Funny

      I'll add to that:

      XML - Everytime I've ever heard a manager utter these three letters, they have NO clue what it actually is and why it isn't necessary for the current project. I've seen projects waste countless man-hours rewriting perfectly good functions just to impliment XML in something, *anything*; because the PHB read it in some executive-ear-tickling magazine.

  95. Re:Listen. Listen. Listen. by Anonymous Coward · · Score: 0

    And if the pay wasnt good you wouldnt stay, Its hard to work for a place that makes no sense, but the paycheck keeps you there. (Until your resume on monster pays off)

  96. it's extremely simple by SupahVee · · Score: 2
    I knew a guy a while back that was in the navy. While he was there (on a carrier), they got a new ship commander. When he did his first ship-wide crew breifing, his words were "I'm going to make Admiral by the end of this tour, and I'm going to retire an Admiral. And each and every one of you is going to help me do it. And I promise every one of you, that if you help me make Admiral, I will make your stay the next 6 months the best you've ever had on a carrier."


    So it's fairly simple what is expected of a manager, be it middle, or C-level, whatever. You as an employee have the sole responsibility to your manager of making him look good to his managers. And his (or her :-) sole responsibility to you is to keep you happy, by whatever means possible, be it training when you want it, time off when you need it, timely raises, etc.


    In the last six years of being in this field, I've had numerous jobs, more numerous managers, and I have only had ONE manager who dealt with management this way. I busted my ass to make him look good when it came time that he had to report to his boss on the goings on of our dept. and he kept me happy, gave me raises when I needed, let me take time off when I needed it, etc.



    Amazing what works, eh? boils down to respect, I guess.

    --
    "See, we plan ahead! That way, we never have to do anything now."
  97. And still more: by mblase · · Score: 5, Insightful

    - Make sure there's more than one of us in the department so that we can communicate with like minds. Encourage us to do so. Pair us up on every project so we can learn from each other.

    - Don't leave us out of the initial project development. We can provide valuable input when the software is being designed in the first place, by offering suggestions about what is and isn't possible or feasible.

    - Respect our schedules. If we need to work odd hours, take erratic breaks, or do half the job from home -- as long as we get the job done on time and turn in our hours -- let us do it.

    - Write things down for us. ESPECIALLY when we're not invited to the meetings. When someone spends their entire career in ASCII, it helps to have assignments in that format as well.

    - If we don't want to do stupid changes, entice us to do them anyways. If we don't want to do impossible changes, help us work out an alternative.

    - Hook us up with the client's geeks so that we can swap technical details without going through more time-consuming channels. Ask for CCs of all the emails so you can say you're still involved. Don't hook us up with the client's contact. They're not as intelligent as you are.

    - Nod and smile when we play with our action figures or Nerf guns at our desks. They keep us sane.

    - Motivate us with free food. When necessary, bribe us with it. Let us pick the restaurant. Relax, we're cheap.

  98. What Kind of PHB Do You Want? by Anonymous Coward · · Score: 0

    A dead one. :)

  99. Management rules to live by by royalextra · · Score: 4, Insightful

    1) *Always remember where you came from*. The biggest sin you could ever commit is forgetting what it was like to be the programmer/admin/etc.

    2) Value the opinions of your staff. Listen to what your staff says & find the balance between what they want & the project requires. If your staff feels like their opinions count, they're more likely to trust you & follow your decisions.

    3) Make a decision & stick to it. The worst decision you could ever make is not making one at all.

    4) Find what success means to each member of your staff & help them achieve it. That is the key to *your* success as a manager. (Staff success == your success)

    5) The definition of "management" is delegating responsibility to others. Delegate != give away (responsibility). You have LESS responsibility but MORE ACCOUNTABILITY as a manager.

    --
    Nothing is cooler than seeing the 'fiction' taken out of science fiction.
  100. What I REALLY want as a programmer. by Cinnibar+CP · · Score: 0, Flamebait

    Honestly? I want less managers. Become a programmer instead.

    Failing that, learn to take long, far-off business trips to different countries. Sandwich those business trips between weeks of vacation and offsite conference attendances.

    Just stay out of the office and let me code in peace!

  101. Understand developers' motivations by hans_e · · Score: 1

    The one piece of advice that I would have is to try to understand what motivates software developers. If you can do that, you'll be on your way to being a good manager.

    One mistake that I've seen frequently is for managers to cut features that are viewed as unnecessary when the schedule slips, as it inevitably does. Often the features that are the first to get cut are the ones that are enjoyable to work on, and so the morale of the development team falls, which causes the schedule to slip even more. Instead, if each developer has a few small "pet features" that are in the "nice to have but unnecessary" category, that will go quite far in motivating people.

    If 95% of your job is uninteresting crap but even 5% is really enjoyable, then you will be much more motivated than if 100% of your job is uninteresting crap, and much more uninteresting crap will get done. The idea that a project can get done faster by adding features is alien to most managers.

    1. Re:Understand developers' motivations by Ann+O'Nymous-Coward · · Score: 1

      "Instead, if each developer has a few small "pet features" that are in the "nice to have but unnecessary" category, that will go quite far in motivating people."

      Ye gods! Now I've heard it all! That explains it. All the bloatware, all the bloody creeping featurism. I see the light! Features aren't there to actually be used, they're there to keep the programmers motivated! (as if salaries/bawls-on-tap/etc isn't enough!)

      *gibber twitch* ...Excuse me while I go beat myself over the head with the 1000 Gig drive you'll need to install the next version of Office.

  102. Deal with the bean counters by Anonymous Coward · · Score: 0

    So I can get some actual work done. Nothing is more exasperating than wasting a day making charts and supplying status so somebody has beans to keep them busy while my project slips beyond deadlines.

  103. Re:Duel with the Man in the Red Hat by IAgreeWithThisPost · · Score: 0

    i would like a printout of my account balance.

    Also, I would like to disagree with neal n bob in reference to your first post link, as that was a valid and original first post. I believe he was possibly being a sore loser.

    --
    security through obscurity = modding down anti-linux posts so maybe noone will see them
  104. Eloquence by OblongPlatypus · · Score: 1

    "..or even say it better than I can."

    Are you implying that any of us could be more eloquent than you? Impossible!

    :)

    --
    -- If no truths are spoken then no lies can hide --
  105. *sigh* by Anonymous Coward · · Score: 0

    Those that can, do.
    Those that can't, become managers.

    I ask you, I *beg* you in fact, to PLEASE tell me the company you work for. For my own future career plans, I will need to avoid you like the plague.

    1. Re:*sigh* by Anonymous Coward · · Score: 0

      No, actually, those who do, can.
      Those who can't, teach.
      Those who don't give a flying f[iret]uck, manage.

  106. What I want by eah · · Score: 1, Insightful

    - Tell me what you want done, then leave me the hell alone to do it.
    - If what you want for what I'm currently working on changes, let me know ASAP so I can compensate.
    - Let me finish one thing before you start me on another.
    - When I finish something, look at it, and give me some feedback; good AND bad.

  107. Being a manager is not about being liked by rufusdufus · · Score: 1

    You are going to have a rough time in management if your main goal is pleasing the tech staff. Quite the opposite, a manager's job is often to kick some butt and get people out of their comfortable zones. Too often, business as usual is not good enough, and its the manager's job to get people to perform better and faster. Encouraging people to expand themselves and their abilities doesnt always come easy.
    This doens't mean you have to be a jerk to do your job! But you also cant be a fawning enabler who helps employees underperform.
    Management is a skill, very different from coding, and not usually as pleasant. It is your job to make the right decisions, even when they are unpopular, perhaps even when it hurts someones feelings. Secondary to making the right decisions is making people happy about the decisions you make; certainly thats a good thing to do, but the priority is clear!

  108. PHB--What I want. by genkael · · Score: 0, Redundant

    I wish Wizards would just make a Players's Handbook (PHB) with all of the other character and spell books added in. I hate having to spend 20-35 bucks a piece for them when only the initial PHB is really worth it. Thanks for listening :)

    --
    GeneralKael -- Slacker Extraordinaire
  109. Never say... by estoll · · Score: 0

    Never say, I thought all you had to do was drag-and-drop...

    Also -
    1. Read between the lines of marketing fluff. 2. Listen to your developers, they are the experts.

    --
    http://www.askthevoid.com
  110. Typical Weenie by Anonymous Coward · · Score: 0

    Yeah... this is typical.

    I'm in the CSci program at the Univeristy of Minnesota and all the kids who couldn't make it through scheme and java in 1901 and 1902 because they were sucky programmers transfered over to the Carlson School of Business so that they can become the bosses of the people who actually DID have skill in the field.

    Typical.

  111. Knows he doesn't know by bluGill · · Score: 2

    My best boss knew nothing about programing. That is what made him good. He knew that he couldn't make technical decisions so he didn't try to. Instead he ran the scheduals, interferiance with upper management, and drug requirements out of marketing.

    The worst managers I've seen try to make technical decisions, and do the design. The design is the fun part, and by doing the design yourself you understand it, so management should NOT do it. Not only will management screw it up, but they will screw up everyone else too.

    Don't try to code. If you want to write code, I know several open source projects that need your help. However if you know how to code, you are probably a poor manager. The people skills needed to be a good programer are not often found in good programers, and the act of learning how to program gives you too much knowlege, and will tempt you to get involved where you should keep your nose out of the works.

    1. Re:Knows he doesn't know by thenerd · · Score: 1

      drug requirements out of marketing

      I've seen far too many of these sort of requirements in my time.

      thenerd.

      --
      The camels are coming. I'm in love.
  112. tech knowledge != good manager by oddjob · · Score: 2

    Many posters seem to want a manager who has plenty of technical knowledge. I don't think this matters at all. I've had managers with no tech knowledge whatsoever who did a great job. I've also had managers who knew more about coding then I do who sucked as managers. The skills required for being a good manager have nothing to do with the skills required to be a good coder. Managers need people skills. As a manager, you are responsible for the work of others, but you can't do all the work yourself even if you have the skills. That means you need to develop trust with the people who work for you, and that means trust both ways.

  113. HTML question by Anonymous Coward · · Score: 0

    How come I can't seem to get the STYLE attribute to work with INPUT TYPE=hidden

    ..?

  114. A word of advice as a middle manager by Anonymous Coward · · Score: 0

    Torture the people who work for you.

    Believe me, they will stick it to you first chance they get. Might as well have some fun with them in the meantime.

    Sorry guys, but its true.

    I used to be a nice guy, tried to do the right thing, and most people will crap all over you. I gave up treating people nice.

  115. Extreme Programming by awgy · · Score: 1

    Take a look at the Extreme Programming project at http://www.extremeprogramming.org . It has a lot of useful tips and.. who knows.. a whole process you might want to adapt your staff to. I know at my company we've been trying out different elements of X/P, and we've been getting more efficient every step of the way. This sort of approach to development is refreshing to many, and the only way it is effective is if you, as the manager, push it and work by it.

    --
    Kein Mitleid für die Mehrheit.
  116. Maybe you should rephase it... by JohnDenver · · Score: 5, Insightful

    My first reaction was: Do you honestly expect anybody to accept those terms?

    Then, I thought about it and realized you just weren't presenting your conditions properly.

    FROM: Listen to us, not to the consultants
    TO: Be skeptical of consultants selling snake-oil. Trust us: We're just trying to do a good job.

    FROM: Decide on the plan, stand back, and let us implement
    TO: Stick with the plan if it takes a little longer, persistance is more inportant than time to market. If you're manager is a programmer, then he should be tracking the code you check into the CVS system and keeping everybody on the same page with standards.

    SIDE NOTE: It's best if your manager doesn't "stand back", but is rather involved in the process (given he's competitant enough to know what he wants).

    FROM: Act as a filter for the politics
    TO: Help us focus on our work by isolating us from beaurocracy.

    Most of all, try to do everything within reason

    --
    "Communism is like having one [local] phone company " - Lenny Bruce
    1. Re:Maybe you should rephase it... by Capt.+DrunkenBum · · Score: 1

      Wow, you really speak the language.. Are you a manager? ;)

      --

      Not everyone deserves a 320i

    2. Re:Maybe you should rephase it... by jamesmrankinjr · · Score: 1

      I think the original comment was better stated. Elegantly short and to the point.

      Best,
      -jimbo

    3. Re:Maybe you should rephase it... by Dix · · Score: 1

      TO: Be skeptical of consultants selling snake-oil. Trust us: We're just trying to do a good job.
      OR: Realise that consultants have more to lose, and make sure they know that you know what they're doing. You are their first priority.

      TO: Stick with the plan if it takes a little longer
      OR: Maintain an understanding of what is going on! That's the PHB's job! If you lose track - stop, audit, retain control or you're finished!

      TO: Help us focus on our work by isolating us from beaurocracy.
      OR: Make sure all business logic reaches the coders - apropriately prioritized.

      Most of all, try to do everything within reason
      Well - XP suggests that good ideas be applied to their limits ... definately true in some cases like unit testing ...

  117. 10 Programmers Needs. by jellomizer · · Score: 3, Interesting

    1. As a programmer the things that usually gets to me the most is having more then one project, When I am programming I want to focus on my job and not a buch of jobs.

    2. When asking for the Time Estimate for a project to be done. Dont expect it to be fixed in stone. Some people overestimate their time and others underestamate. Usually programmers want to underestamate the time and their estimations is the time that it will take them to program if they are in top programming form witch most of the time they are not.

    3. Try to keep destractions at a minimum. If you see the programmer staring or pointing at the screen try not to bug them because they are in usually in deep thought and need to concitrate on what is happening if they get distracted they loose it and have to start over from the start again.

    4. Make sure that the tempture that they are working is confortable. A lot of time is spent on trying to warm up their hands. Or get groggy if it is to hot.

    5. Allow programmer to distract them self with webbrowsing, games or personal contact for about an hour or so a day.
    6. Try to have people work in teams. People have different skills and likes and dislikes. Although a programer should be able to do the other programmers jobs. But if one person likes making interfaces and the other likes more system level coding have them work together so the work get done faster and work with more effert because they are focusing on their favorate part.

    7. Credit. Give them credit for their work. People like to know that they did something to make a difference.

    8. Understand their morals. If the programmer hates SPAM dont give them a job to sort mailing lists.

    9. Allow for the right tool for the right job. Dont force the programmers to use a fixed set of tools to get a job done. If your a web development company and you use FrontPage a lot. Dont discorage a Programmer who poped open a text editor to do some web development. The GUI may look nice but sometimes we need to go underneeth. Also the inverse is true to if you have all Text apps and the programmer is useing a GUI, Let him give it a try it may make the programming time quicker.

    10. Keep their computers Up To date. Top of the line every 3 years or the Average system every 2 years. Or a chepo system every year. Your customers are using the modern systems as so should you. It helps to keep you on top of the new techoligy and by the time the project gets done is becomes standard. Also Less waiting for compiles and processing makes bug checking quicker and less painful.

    --
    If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    1. Re:10 Programmers Needs. by GlobalEcho · · Score: 2

      If the programmer hates SPAM dont give them a job to sort mailing lists.

      That's EXACTLY the guy I want sorting MY mailing lists.

  118. Suggestions from another Manager by Anonymous Coward · · Score: 1, Insightful

    I manage a small group, and my group has been highly successful in delivering "close to" on time and "almost within" budget. I have 2 pieces of advice.

    1) You have to manage expectations to your customers. If marketing makes a change or asks for something, you have to go, ask your coders how long it will take, add some about depending on your expertise, then go back to your customers and make sure they understand that it will take that much extra time.
    2) Minimizing bug creation always beats fixing them after your customers find them. Make sure that your environment in as many ways as possible minimizes bug creation. For example, I don't let tired programmers program! I don't care about the deadlines, if they're tired, they're useless to me and I send them home.
    3) Programmers sometimes decide to get creative and add features or make assumptions that are contrary to business interests. You have to keep them on a tight leash. Have a good detailed spec that gets more detailed as time goes on. Keep the programmers to the specifications. Make sure they talk to you about decisions that may affect lots of things they may not know about.
    There's others, but those are the the main ones.

  119. Family by Bobby+Orr · · Score: 1
    How a person treats their family is a huge indicator of what kind of a person they are in general.


    If you are able to observer a person with his/her family in an unguarded moment and this person treats the family with respect, making them feel special, then the odds are that this is a quality person.


    This has been an unofficial rule of mine for many years, and as times goes by and I get to know people better, it has been confirmed and re-confirmed.

  120. Interfacing by MadFarmAnimalz · · Score: 1

    I know I should reply to a comment rather than start a new thread in here where possible, but the idea I wish to convey is present in many comments here.

    I'm a suit, and a would-be geek at once; I read /. religiously, code in C, and an at 26 am being groomed for top management in one of the largest organizations in this country; I feel here I am qualified to drop a few remarks in the direction of this topic.

    We have a smaller IT department, and I have found my work with them to be uniquely frustrating ,mainly because they lack the motivation to check their work before passing it on. Ideally, however, they would want to be insulated from the needs of management; they should only be exposed to the requirements of their direct superior, the IT boss.

    The IT boss here would be the responsible person for translating vague management requirements into specific IT-related tasks. This reporting system requires these queries to be run at these times.

    eeks don't understand suits and vice versa. This is not a judgment, it is a reality many of us face. There has to be a translation function, an interface if you will, and this should be the function of IT management.

    --
    Blearf. Blearf, I say.
  121. Management concepts. by Anonymous Coward · · Score: 2, Interesting

    I am going to paraphrase one of the required management classes I had that none of the other manager ever seemed to attend.

    Theses are the different types of employees.
    a. Unknowledgable but enthusiastic.
    b. Unknowledgable and in dispair.
    c. Knowledgable but need motivation.
    d. Knowledgable and willing.

    This represents the graph of our motivation to ability as we learn a new task/job.

    Employee A need to be told what to do.
    Employee B just realized how daunting learing this task/job is and needs to be told what to do and encouragement praise to keep him going.
    Employee C needs support and praise for motivation but doesn't need want technical help.
    Employee D wants a project and everyone to get out of his way so he can do it.

    If you treat any of the different types of employees wrong you'll just piss them off. You need to explain to your employees why you are treating each of them the way that you are in areas (a type D employee with device drivers may be an A employee in web apps.) and listen to them if they don't like it. Recognize that employees grow and learn and change the way you treat them accordingly.

    Try to grow all of your employees into catagory D.

  122. My list by dze · · Score: 0

    The most important thing in my book, is for a manager to shield us from the bureaucracy and let us stick to what we do best, which is design and code systems.

    Another nice thing would be if they knew what they don't know. In other words, it's very frustrating when they try to get involved in technical decisions with ramifications they don't understand.

    Finally (and this is related to the previous point) it really annoys me when managers start spouting jargon that they've heard at a trade show or in a Microsoft commercial. We actually had this one guy who wanted a fairly large, customized, dynamic web site, and who claimed that it should take us about half a day to do, because Microsoft provides that sort of thing "out of the box". Yah, whatever.

    --

    "Luck is the residue of design" -- Branch Rickey
  123. Yeah, here's my advice. by Gannoc · · Score: 5, Insightful
    Geeks have special needs, and accommodating those needs (and 'odd' behaviors) is a good idea all around, for both employee morale and department output.

    No its not. If an employee can't act like a professional, you get rid of them. Very, very few projects require people smart enough to put up with a bunch of crap from them.

    Yeah, its really hip to have that one guy come in at work at 2pm and work until 9 at night, because he's so damn elite, until you realize that he's unable to interact with all of the _adults_ who have children and real-life responsibilities. Its called a team. "Oh, I don't work well in the morning." Oh, i'm so sorry! Gee, because the rest of us automatically wake up at 6:30am chipper and ready to go!

    Ooh, and lets pamper the programmers with soda and candy and teddy bears and futuristic chairs. Until the rest of the company, who work just as hard as the programmers, begin to get a little pissed off. Soda is 30 cents a can. Suck it up.

    Lets not forget a dress code. Yeah, lets not enforce that, you don't need to look good to program, man. Until that one programmer wearing the 2 sizes too small phantom menace t-shirt with the body odor turns off a potential client. Is wearing a pair of dockers and a shirt that doesn't have a fucking wookie on it going to kill you?

    Lets have a nerf gun fight! Woopie! Two guys want to fuck around, so the entire floor can't get anything done because two guys are running around screaming. "Oh, please hold Mr. Potential Customer, I have a nerf dart in my fucking eye." Maybe the rest of us _aren't_ working late that night and need to get stuff done. Maybe i'm at your cube, waiting patently for you to get done PLAYING.

    I'm looking at moving up to management as well, but you sure as hell shouldn't. I'm not looking to liberate my brothers from clueless management, i'm just sick of working with people who are so busy playing video games, installing linux, and bitching about management, that they haven't developed the communication skills needed to EXPLAIN to someone why its going to take a certain amount of time to do something.

    Nah, don't explain it to them. Just sit in your cubes and make Dilbert jokes.

    Oh, here's a bonus tip for other people out there who blame management for everything: When you're only in a few hours of meetings a week, don't use that as an excuse why you can't get shit done. Yeah, it would be nice to work in a crystal castle with cushions and butterflies and nobody to bother you with petty problems that don't concern Mr. L33T Programmer, but that isn't going to fucking happen.

    Damn, this was almost as bad at this arrogant asshole.

    1. Re:Yeah, here's my advice. by Anonymous Coward · · Score: 0

      I don't see why working odd hours or wearing casual, not disgustingly dirty, clothing is a problem. If you have a project going on and some people would like to work from noon til 8, who cares? It's not as though you're leaving at 2, are you? Of course not!

      Meetings are stupid. I've never, ever, been to a meeting in which I learned something or an important decision was made. It's all BS.

      Yes, I'm a programmer. I work from 0600 to 1600 each day. Yippie.

    2. Re:Yeah, here's my advice. by PhotoGuy · · Score: 4, Funny
      Man, this whole discussion is worth the price of admission, if only for this one line:
      Is wearing a pair of dockers and a shirt that doesn't have a fucking wookie on it going to kill you?
      :-)
      --
      Love many, trust a few, do harm to none.
    3. Re:Yeah, here's my advice. by rlowe69 · · Score: 3, Insightful

      Wow, nice rant.

      Ooh, and lets pamper the programmers with soda and candy and teddy bears and futuristic chairs. Until the rest of the company, who work just as hard as the programmers, begin to get a little pissed off.

      Let's start out by not pretending that everyone is NOT of the same intelligence, shall we? Therefore, one person's "working hard" might be another's "bullshit busy-work". Just because you stay for the same amount of time a programmer does, doesn't mean you worked just as hard as (s)he did, and vice versa.

      That said, it's not as if you can go out and claim any programming job without a degree, unless you are coding web scripts for Amazon. This is NOT programming. It's scripting. And frankly, anyone can learn to Script in 21 days. That said, programmers ARE very educated people and THEY make the product YOU are cold-calling people to trying to sell.

      Let's pretend now that they didn't exist at your company - oops, now you have no job. I'm not saying that other people at the company aren't important, but let's not forget who is actually CREATING PRODUCT here.

      Soda is 30 cents a can. Suck it up.

      Exactly. If I make $40 an hour and drink 1 soda an hour, what's 30 cents more? Stop fucking whining.

      Two guys want to fuck around, so the entire floor can't get anything done because two guys are running around screaming. "Oh, please hold Mr. Potential Customer, I have a nerf dart in my fucking eye."

      If you're "working hard" talking to a client, why are you in the development area? Typical of me, a developer, to blame management on this one, but shouldn't you be in an office so that even conversations at a reasonable volume won't disturb your conversations with potential customers? Seems like a no-brainer there.

      Lets not forget a dress code. Yeah, lets not enforce that, you don't need to look good to program, man. Until that one programmer wearing the 2 sizes too small phantom menace t-shirt with the body odor turns off a potential client. Is wearing a pair of dockers and a shirt that doesn't have a fucking wookie on it going to kill you?

      I don't know about everyone else, but I can't think when the clothes I'm wearing are uncomfortable. If I am more productive when I'm wearing jeans and a t-shirt then management will allow it. No one fucking sees me anyway, unless I go to the cafeteria and even then they probably think I'm on the janitorial staff. Who cares??

      Yeah, its really hip to have that one guy come in at work at 2pm and work until 9 at night, because he's so damn elite, until you realize that he's unable to interact with all of the _adults_ who have children and real-life responsibilities. Its called a team. "Oh, I don't work well in the morning." Oh, i'm so sorry! Gee, because the rest of us automatically wake up at 6:30am chipper and ready to go!

      It's funny you claim you're an adult - because after reading this rant, I don't believe it.

      --
      ----- rL
    4. Re:Yeah, here's my advice. by RembrandtX · · Score: 2, Insightful

      Wow .. such anger ..

      maybe you should reconsider moving into management.

      Im a geek .. I code, and I do it for a fortune 500.

      I don't wear a suit .. jeans and something presentable do me just fine. [no one seems to have a problem with my atire.]

      I'm married, she is a teacher - kids will come eventually, but why I should schedule my life and work around someone else's kids is a mystery to me.

      I don't work 8:00-6:00 .. I work 9:30 ish to 7:00 ish .. generally I skip lunch .. so the company makes out on the deal. I have been known to come in at 2:00 when a server goes down, or work 16 hour days if there is a big deadline on the block.

      The issue I have with your little outburst here is that you immediatly classify anyone who doen't fit into the 1940's view of the business world as someone who can't function 'NORMALLY' in society.

      Sorry to break this to you man .. but the VP of this company wears dockers and a sweater to work, is under 35, and seems to get by fine without his power suit.

      When the chips are down, as long as I make/break deadlines - my boss wouldn't care if I painted myself purple every morning and coded sitting on a pillow. I was hired to program, not to entertain clients, not to market product, not to be a 'company' man, and go with the flow. I was hired to produce results, and as anyone who has been in the big business world knows, thats usually solved with a lot of shouting at one another across a board-table untill everyone figures out the best way to go.

      2 jobs ago I was fired for coming to work on time .. but not haveing my tie on until I sat down. I was the 3rd best salesman in that company .. $3-4 million a year in sales average for my 3 years there. My boss sounded a lot like you .. in his 40's and stuck in the 'old way' the world works.

      Sorry for the semi-agressive flame .. but this guy was asking for CONSTRUCTIVE advice .. not critizism.

      --

      --Ne auderis delere orbem rigidum meum, non erravi pernicose!
    5. Re:Yeah, here's my advice. by PDHoss · · Score: 1

      My kingdom for some moderator points... Lord, that was great!

      PDHoss

      --
      ======================================
      Writers get in shape by pumping irony.
    6. Re:Yeah, here's my advice. by Anonymous Coward · · Score: 0

      word, brother. straight up truth.

    7. Re:Yeah, here's my advice. by lkaos · · Score: 2, Insightful

      I have to say that I agree with 90% of what you say but I strongly disagree with the other 10%.

      The key word is responsibility. If a programmer is able to get their stuff done and work well within an environment, then there is no sense making waves if he keeps odd hours.

      It's one thing to work 1400-2100 but don't hassle someone because their coming in at 1000 instead of 0800 when they are putting in 16 hour days.

      As for a dress code, most programmers don't directly interact with the customer. If they do, then they should present a good image of the company. If a guy comes in with a T-Shirt because he is going to put in a 20 hour day and wants to be comfortable at 2AM, well, let it be.

      Bitching about management is always going to happen. Playing video games should be dealt with in the harshest of ways.

      A few hours of meetings a week can be really damaging to productivity if they are spread out all through the week so that the programmer only has like 2-3 hour stretchs to do real work. Programming requires long durations of uninterrupted time to be effective.

      --
      int func(int a);
      func((b += 3, b));
    8. Re:Yeah, here's my advice. by Todd+Knarr · · Score: 2

      Yeah, its really hip to have that one guy come in at work at 2pm and work until 9 at night, because he's so damn elite, until you realize that he's unable to interact with all of the _adults_ who have children and real-life responsibilities.

      How often do programmers need to interact with the "rest of the team"? Especially in this day and age of economizing and minimal team sizes, it's fairly common for the programmer to be the only one working on a particular project or large part of it. Most of the interaction I need in my job could be done as easily (more easily really) through e-mail. Face-to-face is good when dealing with some things, but I just schedule that on an as-needed basis and it isn't a day-to-day thing. It'd be more important on a large-team project, but who these days is hiring 4 programmers to do what 1 can do?

      Ooh, and lets pamper the programmers with soda and candy and teddy bears and futuristic chairs.

      Talk to the trucking industry. They thought those fancy comfortable captain's chairs were useless too, right up until the 4th study that proved that those fancy chairs let the drivers stay on the road longer before needing a break. The trucking companies did the simple math "more time on road + less break time needed = more runs per month = more profit for company" and guess what's standard in big rigs now. Same with those chairs for programmers. A chair doesn't seem important until you'll be spending 11-12 hours at a stretch in it. With an uncomfortable chair I'll be getting up every hour, and 5 minutes every half hour because my butt's aching from the chair adds up to 6+ hours a week dead time. For a $65K/year programmer, a thousand dollar chair pays for itself in increased work time in 5 weeks. And the chair will last a lot longer than 5 weeks, in fact it'll probably be there long after the programmer isn't.

      Lets not forget a dress code. Yeah, lets not enforce that, you don't need to look good to program, man. Until that one programmer wearing the 2 sizes too small phantom menace t-shirt with the body odor turns off a potential client.

      Comfortable clothes don't mean unwashed messes. I like dress shirts and jeans. Some guys like knit short-sleeve shirts and shorts (makes emminent sense in the summer in southern California). I've worn a tie and it's damned distracting, which is a Bad Thing when I'm trying to concentrate on the intricate bit of code that absolutely has to be finished today if you want your project on schedule. My tossing the tie won't cost the company money, my missing the deadline on the project probably will. As a professional I know which should take priority, the dress code or the work.

      Lets have a nerf gun fight! Woopie! Two guys want to fuck around, so the entire floor can't get anything done because two guys are running around screaming.

      Again, it comes down to productivity. It's not possible to work hard for long stretches without taking a break and relaxing at some point. If you try, you wind up staring at the screen wondering what all those squiggles mean, or worse yet getting stupid and writing major design bugs into the code that'll take ten times as long to fix after you're resting and thinking again. If the noise is interfering with the other programmers, they'll let the guys involved know. Or maybe they'll take a break and join in now, then go back to working, instead of taking a break in 20 minutes. Either way, they probably won't have a problem and they're the ones doing the work. If you have a problem, just shut your door and go back to what you were doing. If the horsing around is causing missed deadlines, harp about the missed deadlines and the programmers will get the message without being insulted. Remember that your project won't get done if all your programmers have left for somewhere with not-so-sharp hair (and even in this economy a good programmer will usually find work, usually replacing a not-so-good programmer in an IBM uniform).

    9. Re:Yeah, here's my advice. by curunir · · Score: 2

      Yeah, its really hip to have that one guy come in at work at 2pm and work until 9 at night, because he's so damn elite, until you realize that he's unable to interact with all of the _adults_ who have children and real-life responsibilities. Its called a team. "Oh, I don't work well in the morning." Oh, i'm so sorry! Gee, because the rest of us automatically wake up at 6:30am chipper and ready to go!

      Everywhere I've worked doesn't tend to complain when those of us _non_adults_ pull 80 hour weeks the month before a deadline. None of the married _adults_ were willing to make that time commitment. It's a trade-off a lot of businesses are willing to make.

      Ooh, and lets pamper the programmers with soda and candy and teddy bears and futuristic chairs. Until the rest of the company, who work just as hard as the programmers, begin to get a little pissed off. Soda is 30 cents a can. Suck it up.

      I guess you've never done much serious coding. Sugar and Caffeine increase productivity. A *lot*. A lot of businesses provide these things because they realize that, considering what they are paying their programmers, they get a huge return on their $0.30 investment.

      Lets not forget a dress code. Yeah, lets not enforce that, you don't need to look good to program, man. Until that one programmer wearing the 2 sizes too small phantom menace t-shirt with the body odor turns off a potential client. Is wearing a pair of dockers and a shirt that doesn't have a fucking wookie on it going to kill you?

      There's something in between your example and the corporate drone you want us to be. First off, bad hygiene shouldn't be tolerated. However, wearing a t-shirt that reflects someone's interests seems completely reasonable. As for it being two sizes too small, how do you think it got that way...hmmm...we do a job that requires us to sit at a computer 8+ hrs/day. Many coders are fat...deal with it...maybe they'd be less so if businesses gave their employees fruit and healthy drinks instead of jolt and snickers bars.

      Oh, here's a bonus tip for other people out there who blame management for everything: When you're only in a few hours of meetings a week, don't use that as an excuse why you can't get shit done. Yeah, it would be nice to work in a crystal castle with cushions and butterflies and nobody to bother you with petty problems that don't concern Mr. L33T Programmer, but that isn't going to fucking happen.

      This statement reveals that you've never coded anything serious in your life. Coding requires concentration. Everytime someone interrupts me to have a conversation about something, it takes me 10-15 min to remember everything that I had on my mind at the time I was interrupted. Why do you think we get the most work done between 9-midnight...because everyone who bothers us all day long has gone home.

      Bottom line is there is a certain personality type that meshes well with being a programmer (about 90% of us are XNXP on the meyers-briggs). Businesses can either accomodate the quirks that go along with it or not. Sure, it is inconvenient for them to do so, but they get increased productivity. Like many things in life, it's a trade-off, and the right answer is most likely somewhere in between being completely accomodating and not accomodating at all.

      --
      "Don't blame me, I voted for Kodos!"
    10. Re:Yeah, here's my advice. by Anonymous Coward · · Score: 1

      "you realize that he's unable to interact with all of the _adults_ who have children and real-life responsibilities."

      Having children is a choice you made. Don't make me work harder to cover for you while you're out there 'dealing with real-life'.

      Dont take time off to be with a sick kid, since whineing you're a parent sounds so much like whineing about not being a morning person.

      Never, never, put anything ahead of the Job. Not your wife. Not your kids. Nothing.

      And if that doesn't satisfy you, maybe you can try to find a better way to work; one without rigid 8 - 5 hours, strict dress codes and endless pointless meetings (try 2+ hours per day).

      But I don't think you will; you've done it this way for so long, there probably isn't any choice for you. You'll point to some of the mistakes (thinking Nerf guns here) as proof the entire concept is invalid.

      Fortunately, the rest of us will improve... with or without our management.

    11. Re:Yeah, here's my advice. by jfruhlinger · · Score: 1

      That said, programmers ARE very educated people and THEY make the product YOU are cold-calling people to trying to sell.

      Let's pretend now that they didn't exist at your company - oops, now you have no job. I'm not saying that other people at the company aren't important, but let's not forget who is actually CREATING PRODUCT here.

      Turn that statement around: if those sales people weren't doing cold calls, all your work would amount to nothing more than bits and bytes on a server. No one would pay for it and, oops, now you have no job.

      Being a salesperson requires both skills and a certain temperment. I have neither, and in fact, said temperment is such that most salespeople I know I've disliked on a personal level. But I recognized that they were in a very direct way responsible for the money that paid my salary.

      It's fun for geeks to mock nongeeks as being useless. But the fact is in a profitable company, probably every position contributes to that profit in some way (though certainly some individuals don't fulfill the duties of their positions). My adivce to the original poster is to steer your team away from the attitude that they are kings of the company and that everyone else is window-dressing. It's not a productive way to think, particularly if your coders are not building a product for sale, but rather building in-house apps for other employees to use (which is what most programmers do these days).

      jf

    12. Re:Yeah, here's my advice. by Xerithane · · Score: 4, Interesting

      I don't know about everyone else, but I can't think when the clothes I'm wearing are uncomfortable. If I am more productive when I'm wearing jeans and a t-shirt then management will allow it.

      My guess is that if you think jeans and a tshirt are comfortable you have never had a pair of nice slacks on. I used to wear jeans and such. Then i discovered the art of Nordstroms and nice slacks. Yeah, they may cost $60 a pair. A good pair of slacks is like coding in pajamas.

      I can fully believe he's an adult because I've had almost the same rant a few times. I've also worked in a really great development area that had no fucking special geeks with their damned starwars toys and imaginary light sabers and we did a lot better there.

      There is no correlation between star wars obsessed dipshits and good coders. I view that as a deficit in their abilities. If they can't figure out how to behave in regards to those around them, they obviously don't have the problem solving skills necessary.

      --
      Dacels Jewelers can't be trusted.
    13. Re:Yeah, here's my advice. by rlowe69 · · Score: 2

      I agree wholeheartedly. Great teams are those that span many different kinds of people, specialized in each of the areas required to run a business. Though everyone would like to think that these people can be merry and get along, sometimes it's best for these distinct groups to be on seperate floors and only see each other at Christmas parties, when they can appreciate each others' nuances with a drunken sense of humour. :)

      Of course we appreciate everything management does for us developers. Without them, we wouldn't be able to code all day and get paid for it. The joke's on them, because we love our work. ;-)

      --
      ----- rL
    14. Re:Yeah, here's my advice. by Anonymous Coward · · Score: 0

      No its not. If an employee can't act like a professional, you get rid of them. Very, very few projects require people smart enough to put up with a bunch of crap from them.

      in simple terms, you're obsolete. true, u can be professional and most programmers i work with are, but the notion that it's clock in and clock out and do what you're told in this industry won't get anyone anywhere - ever.

      Ooh, and lets pamper the programmers with soda and candy and teddy bears and futuristic chairs. Until the rest of the company, who work just as hard as the programmers, begin to get a little pissed off. Soda is 30 cents a can. Suck it up.

      actually, let's make life good for everyone. spread the wealth and don't leave it with just the managers and their 'power lunches' and schmooze fest orgies.

      Lets not forget a dress code. Yeah, lets not enforce that, you don't need to look good to program, man.

      You don't. How I look doesn't affect how my brain functions. Ya know, to the jocks and cocks and mba biz assholes that fuck around with all the other people who don't fit in necessairly all the time, a 'dress code' seems fine. But why fit into your hell hole when we can make our own dream?

      Lets have a nerf gun fight! Woopie! Two guys want to fuck around, so the entire floor can't get anything done because two guys are running around screaming.

      ha ha!! this part actually sounds funny. yah, i would get pissed if some idiots ran around my office doing that. he he..

      I'm looking at moving up to management as well, but you sure as hell shouldn't.

      Don't bother! Management is for schmucks. I've seen very few 'higher-uppers' that were worth their weight in shit! They talk and spew forth more crap than i care to stand near. Look at all those enron fuckers and their 'brilliant management techniques'! Sheesh! True, some programmers might act immature or act like baby's or whatever, but most of us have never been responsible for a company's collapse! It always happens on the top! And my group spends most of the time, because we actually do most of the real work mopping up after dumshits and their grandiose 'visions' of what a web product can be. Ugh!

      Nah, don't explain it to them. Just sit in your cubes and make Dilbert jokes.

      How can we talk to a bunch of assholes who are only interested in lining their wallets, gettin some chick drunk and trying to score, and comparing notes on who's z2 is faster or which color is best? More than not, management is all full of slimy egos. I've seen a lot of really disgusting people say and do fucked up shit. And because they were so and so C*O or a nephew or whoever, they would get away with it. It's like the elite class.

      Oh, here's a bonus tip for other people out there who blame management for everything: When you're only in a few hours of meetings a week, don't use that as an excuse why you can't get shit done.

      Usually when we're in meetings, it's to straighten out fuck up's who think they can implement some piece of shit vision that some dick head told them over suds or from some shit fuck marketer who promised the world and only delivered the empty, abandoned lot next door. A lot of 'us' have degrees and we all have minds that we use on a continual basis to solve problems! Not score deals that will give us a commission.

      We think different and we work different. There's no great glory in praising and professing allegance to the management cuz they usually got their head up their ass or are only seeing dollar signs.

      So, here after the bitching (yes, I need to bitch!) here's my two cents. If you wanna be a good 'manager', then care about your employees you manage (management is there to facilitate the employees, not the other way around) and get to know your products and what they're doing. Then you'll find it much easier on all sides.

    15. Re:Yeah, here's my advice. by Xerithane · · Score: 2

      The problem with that, and isn't your problem at all, but he's pissed off at the people who detract from everyone else at the sake of being quirky.

      I have to agree with him, it's bullshit. I can't stand people who think it's their given right to wear a starwars shirt that fit them with then were 17 and they saw Empire Strikes Back and hasn't been washed sense just because they're programmers.

      His criticism was to get over the special treatment developers get because they simply know how to compile a program. If you can do your job, and not hinder other peoples work, I don't give a flying fuck what you do. If you come into the office, spend an hour a day playing with nerf guns causing the other people on your floor to be distracted then you deserve to be on food stamps or working at the local day care.

      Having said all that, I'm in my 20s. I wear slacks and a nice shirt with dress shoes. I have been coding since I was 11. I know it's not a prerequisite to be a starwars obsessed nimrod to be a good programmer.

      --
      Dacels Jewelers can't be trusted.
    16. Re:Yeah, here's my advice. by jamesmrankinjr · · Score: 1

      Lets not forget a dress code. Yeah, lets not enforce that, you don't need to look good to program, man. Until that one programmer wearing the 2 sizes too small phantom menace t-shirt with the body odor turns off a potential client. Is wearing a pair of dockers and a shirt that doesn't have a fucking wookie on it going to kill you?

      Dress code is a corporate culture issue. I work at a company where the CEO wears a black turtle neck and shorts or jeans pretty much every day. So it makes sense that the employees aren't wearing a suit or even button down shirts every day.

      Ooh, and lets pamper the programmers with soda and candy and teddy bears and futuristic chairs. Until the rest of the company, who work just as hard as the programmers, begin to get a little pissed off. Soda is 30 cents a can. Suck it up.

      Well certainly any perks should be available to all employees, not just the programmers.

      Yeah, its really hip to have that one guy come in at work at 2pm and work until 9 at night, because he's so damn elite, until you realize that he's unable to interact with all of the _adults_ who have children and real-life responsibilities. Its called a team. "Oh, I don't work well in the morning." Oh, i'm so sorry! Gee, because the rest of us automatically wake up at 6:30am chipper and ready to go!

      It's not that programmer's problem that you may have more personal responsibilities right now than she does. And the flip side of the programmer who never goes to any meetings are the employees who are in meetings constantly but never actually do any work that produces or sells any of the company's goods or services. Programming is usually solitary work, and sitting around with a bunch of other people who scheduled a meeting so they can demonstrate that they're very busy and important doesn't get the code written any faster.

      Best,
      -jimbo

    17. Re:Yeah, here's my advice. by Anthony+Boyd · · Score: 2

      Hmmm. Well, rlowe69 mostly rebutted your comment, but let me agree & disagree with some things you said. My perspective is as a developer for 5 years, and a manager for 2. I'm 30, standard middle-management fare.

      In general, if a developer is getting his/her work done, and isn't bothering other developers, then in my opinion, I'm fine with it. I read /. on my lunch break, and one of my employees reads it before going home for the day. Fine. My team is allowed to come into work whatever time they want, as long as they're getting in full 8 hour days. This doesn't bother others, because if there is a meeting at a normal-for-everyone-else time, those developers get in for it. They miss very little. Their job is not to interact with customers or even other employees so much as it is to build things, so let them build.

      Lets not forget a dress code. Yeah, lets not enforce that, you don't need to look good to program, man. Until that one programmer wearing the 2 sizes too small phantom menace t-shirt with the body odor turns off a potential client.

      What in the world are you doing bringing customers in front of developers? If you mean to suggest that a developer doing demos at customer sites needs a suit, then yes. But at the office? Do you really think uncomfortable programmers are productive programmers? That's rhetorical. I know the answer: no, if developers are in an uncomfortable environment, uncomfortable clothes, uncomfortable programming language, or uncomfortable political situation, they are not productive. That hurts the bottom line. That's not a good business decision.

      Lets have a nerf gun fight! Woopie! Two guys want to fuck around, so the entire floor can't get anything done because two guys are running around screaming.

      Agreed. That's a holdover of the dot com era better left dead. That and listening to music out loud. Put some headphones on. I can't program to rap, country, jazz, or easy listening music. I have on occassion thrown headphones onto the desks of people who Just Didn't Get It. Their bosses were less understanding than I was -- hurt others productivity, and you cost the company too much to keep around.

    18. Re:Yeah, here's my advice. by jrwillis · · Score: 1

      I agree 100% with the comment about good slacks. I've never understood why everyone says that jeans are so comfortable, when a pair of tailor made slacks, not as expensive as you might think, can be the next best thing to working naked. Maybe I just don't get it, but I never understood why any group of people that make as much money as we do, would choose to wear cheap uncomfortable clothes. Actually do a little shopping at a Neiman Marcus or Nordstrom some time and you'll begin to understand what I mean. Just my $.02 on the matter.

      --
      Keep Austin Weird!
    19. Re:Yeah, here's my advice. by Bugmaster · · Score: 1
      It seems that the crux of all your anger can be summarized as follows:
      Programmers embarass management in front of clients
      There are at least 2 solutions to this problem:
      1. Make programmers less embarassing
      2. Don't let the clients see the programmers
      You obviously opt for #1. However, I would argue that #2 is more practical. For one thing, solution #2 is cheaper - putting window blinds in your office should take care of it. Contrast that with the cost of hiring new developers (as some of your current developers will quit due to draconian measures), slipping deadlines (sleepy programmers don't get much done), and the hidden costs of alienating your workers (angry workers are highly uncooperative). I think that solution #1 is a definite win here.
      --
      >|<*:=
    20. Re:Yeah, here's my advice. by spectecjr · · Score: 2

      Don't bother! Management is for schmucks. I've seen very few 'higher-uppers' that were worth their weight in shit! They talk and spew forth more crap than i care to stand near. Look at all those enron fuckers and their 'brilliant management techniques'! Sheesh! True, some programmers might act immature or act like baby's or whatever, but most of us have never been responsible for a company's collapse! It always happens on the top! And my group spends most of the time, because we actually do most of the real work mopping up after dumshits and their grandiose 'visions' of what a web product can be. Ugh!

      Hear hear.

      In the last two years I've seen more people laid off than I ever want to see happen again. At least 25 of those people were good friends.

      It was never their fault.

      As a team, we have a track record of:

      1. Always giving management what they ask for, and a little more if possible.
      2. Predicting management's to's and fro's.
      3. ALWAYS shipping products on time and under budget. (Over 30 product in the last two years).

      Yet who gets laid off?

      Is it the management staff? No.

      But eventually, they did all get screwed. Bad decision after bad decision after bad decision, and finally, someone wakes up and prunes the tree closer to the top.

      Unfortunately, by that point, they'd done enough damage that it screwed us over for the next two years. We're 1 year into that screw-up period, and budgets were killed.

      I got laid off in the last batch. A legacy of crappy shitty management has left me and a lot of my good friends -- people who I would hire in a heartbeat if I had the capital to start my own company (I'm working on it, but it's slow going) -- in the lurch.

      Funny how people that high up in the organisation - the ones who make the BIG mistakes - tend to get a year's worth of severance pay at their over inflated salaries.

      Fuck 'em.

      Si

      --
      Coming soon - pyrogyra
    21. Re:Yeah, here's my advice. by spectecjr · · Score: 2

      Turn that statement around: if those sales people weren't doing cold calls, all your work would amount to nothing more than bits and bytes on a server. No one would pay for it and, oops, now you have no job.

      Hmmm... one place I worked at, the sales team were paid bonuses according to how many units they could sell into the distribution channel.

      They were not docked when those items got returned because they didn't sell-through.

      Which result do you think is likely?

      1. The sales team will say "Hang on a minute guys... pay us based on Sell-In, we'll cripple our budgets and cannabalize our sales if we flood the channels, and that could topple the whole pinada?"

      2. The sales team will stuff the channels and not give a flying fuck, because they're getting their bonuses.

      I'll give you a clue: The correct answer is an even number.

      So from what I've seen, sales people don't have to deal with even HALF the consequences that developers do. We have to think about the results of every line of code we write -- while all of the sales people I've seen are solely looking at the bottom line -- namely theirs and not exercising any intelligence or big-picture thinking at all.

      Maybe I'm an oddball, but if I see potential business problems, as an employee, it's my job to alert people to them. If it's not in my field... so what?

      [This all changed eventually... but it's freaking scary how long this went on]

      Simon

      --
      Coming soon - pyrogyra
    22. Re:Yeah, here's my advice. by partingshot · · Score: 1

      God I hate to be a me too'er, but right on brother.

      This profession needs to grow up.
      Substitute 'accountant' or 'civil engineer'
      for 'programmer' in some of these threads
      and you can see how ridiculous some of these
      people are.

      --
      Anonymous posts are filtered.
    23. Re:Yeah, here's my advice. by partingshot · · Score: 2

      > Let's pretend now that they didn't exist at
      > your company - oops, now you have no job. I'm
      > not saying that other people at the company
      > aren't important, but let's not forget who is
      > actually CREATING PRODUCT here.

      Wow. At least you're up front with your elitism.
      Truth is most developers aren't creating a
      product, at least not in a retail sense.
      But even of those that are, they are replaceable.
      I think the exception might be a coder who is
      also the creative force behind a company.
      Carmack comes to mind. But this isn't the case
      for most developers. Most developers work in
      a corporate IT shop. Their work is no more
      important than the accountants, engineers,
      customer service, sales & marketing. Without
      all of these functions, you cannot have a
      successful business. In fact, I would hire a
      standout salesman over a standout programmer any
      day. If you have a good idea and good product
      management, any group of decent programmers
      can deliver it. Even if you don't, a good
      salesman can still sell shit to a pig farmer.

      --
      Anonymous posts are filtered.
    24. Re:Yeah, here's my advice. by partingshot · · Score: 1

      > What in the world are you doing bringing
      > customers in front of developers?

      Believe it or not, some clients actually like
      to tour the place where they are getting ready
      to spend [thousands|tens of thousands|millions]
      of dollars. Yes, that means the development
      area too.

      --
      Anonymous posts are filtered.
    25. Re:Yeah, here's my advice. by partingshot · · Score: 1



      > I guess you've never done much serious coding.
      > Sugar and Caffeine increase productivity.

      Caffeine 'reduces productivity'

      >Bottom line is there is a certain personality
      >type that meshes well with being a programmer
      >(about 90% of us are XNXP on the meyers-briggs). >Businesses can either accomodate the quirks that
      >go along with it or not. Sure, it is
      >inconvenient for them to do so, but they get >increased productivity

      Its called personal management. You can either
      develop it, or 'Business' will find someone that
      already has it.

      --
      Anonymous posts are filtered.
    26. Re:Yeah, here's my advice. by prwood · · Score: 1

      My guess is that if you think jeans and a tshirt are comfortable you have never had a pair of nice slacks on. I used to wear jeans and such. Then i discovered the art of Nordstroms and nice slacks. Yeah, they may cost $60 a pair. A good pair of slacks is like coding in pajamas.

      I've got plenty of pairs of nice slacks. In fact, I really don't mind dressing up that much. I have even tried wearing nice slacks and a nice shirt to work some times. It is simply not comfortable for me to sit around in for 8+ hours a day. The most comfortable outfit I have found is a t-shirt, untucked, jeans, and sneakers.

      Luckily, my position doesn't require me to be seen in front of parties outside of the company. If I was, I would certainly dress up a bit more.

      Whether jeans or slacks is comfortable to a given person is entirely subjective. I can certainly conceive that for you, slacks might be more comfortable.

    27. Re:Yeah, here's my advice. by partingshot · · Score: 1

      I think his rant is that programmers should
      have at least a modicum amount of professionalism.

      --
      Anonymous posts are filtered.
    28. Re:Yeah, here's my advice. by Fweeky · · Score: 2

      > That said, it's not as if you can go out and
      > claim any programming job without a degree,

      Degrees don't magically make for a clueful person, or a good programmer, or someone who doesn't just hack at everything he writes. It's more a question of attitude ("I'm a hacker", vs "I'm a programmer") than qualifications.

      Anyway, they spoon-fed us Visual Basic and miniscule quantities of C during my degree..

      > unless you are coding web scripts for Amazon.
      > This is NOT programming. It's scripting. And
      > frankly, anyone can learn to Script in 21 days.

      Web applications have just as much scope for good design and real programming practices as any other app, just like any other app has huge scope for quick hacks, bad structure and poor maintainability.

      Sure, anyone can come up with a quick PHP/Perl/Python/Ruby/sh/tcl hack and produce formail.cgi, but there's a big difference between the sort of code 100,000 PHP cluebies will hack on (think: phpNuke, the perfect example of how NOT to develop a website) and properly written well factored systems you would at least hope to find on any semi-professional site.

    29. Re:Yeah, here's my advice. by sleeperservice · · Score: 1

      I agree with most of the above except this:

      I don't know about everyone else, but I can't think when the clothes I'm wearing are uncomfortable. If I am more productive when I'm wearing jeans and a t-shirt then management will allow it. No one fucking sees me anyway, unless I go to the cafeteria and even then they probably think I'm on the janitorial staff. Who cares??

      The United States went from being just another economic entity around about 1900 to being an economic superpower by, let's say, 1960. And then grew even further. A lot of this growth was facilitated by the hard work of people who had to go to work, day in and day out, in suits. Even in summer. Without Air Conditioning. Now, no one's asking you to show up wearing a starched shirt and pressed pants, but would holding the minimum to clean jeans and non-t-shirts be too much to ask? And before you ask, I'm a Solaris admin, ok?

    30. Re:Yeah, here's my advice. by Techi · · Score: 1

      It has been mentioned before that coding is a creative process, and I have to wonder if you would say the same thing to a painter that was shoved into a 9-5. Doesn't really work, now, does it? The point behind this entire discussion isn't 'lets be nice to the geeks because they deserve it.' It's more along the lines of 'How can we best take advantage of the creative abilities of our coding staff?' If you can't see that, you obviously aren't the creative type, and it almost seems like you are jealous of those who are.

      --
      "You think that's air you're breathing now?"
    31. Re:Yeah, here's my advice. by Bugmaster · · Score: 1
      What is "professionalism", though ? We had a "professional" programmer on our team once. All he ever did was dress up in a suit and talk about programming techniques. He didn't actually do jack shit. In my mind, the professional programmer has to be able to:
      1. Write good code (and documentation, etc.)
      2. Communicate with the rest of the team
      3. Make the deadlines (at least more than half the time)
      That's it. I don't care if he wears a wookie shirt and Spock ears, I don't care if he drinks jolt, I don't even care if he is not familiar with the latest marketspeak. If he is able to work with me on the project, and pull his own weight, he is an ideal teammate. And a strong team is always a win for any project.
      --
      >|<*:=
    32. Re:Yeah, here's my advice. by HamNRye · · Score: 2

      First of all, this should be modded flamebait. I thought flamebait meant a post specifically designed to start a flame. I have my doubts as to whether this poster actually believes anything he posted.

      If he did:

      No its not. If an employee can't act like a professional, you get rid of them. Very, very few projects require people smart enough to put up with a bunch of crap from them.

      Depends on how you define crap, depends on your project. First of all, there is a shortage of truly high level programmers. "You're right, the guy writing this compiler is a pain, we'll just hire one of the Millions of guys out there who can write a compiler from scratch, and are stodgy non-nerf, docker-wearing professionals." The applications should flood in.

      Speaking of which, I don't know why people who support the arts put up with the quirky behaviour exhibited by artists. Just get some artist who wants to act like a professional.

      Maybe i'm at your cube, waiting patently for you to get done PLAYING.

      Perhaps you should talk to the department supervisor. They are our official liason with customers. I'm very sorry ma'am, I'm not up to speed on your end of the transaction. Please speak with our supervisor.

      Nah, don't explain it to them. Just sit in your cubes and make Dilbert jokes.

      We would explain it if you could understand it. I have met very few programmers who are not excited about sharing information with other programmers. I have met fewer who will sit and try to explain code to a non-programmer.

      Yes, we could dumb it down for you, but how far down?? Also we understand these things on a totally different level. "Well, we are just using an iframe with absolute positioning that is then imported with SSI to the main page where the showdiv code allows us to flexibly replace divs based on classes." "HunH?" "This thingy goes in that thingy." "oh..."

      "Why will this take an extra month??" "Because we have to redo the DB routines to work with Oracle instead of Access now." "But I told Bill it was no problem... It'll still be on time."

      Yeah, its really hip to have that one guy come in at work at 2pm and work until 9 at night, because he's so damn elite, until you realize that he's unable to interact with all of the _adults_ who have children and real-life responsibilities. Its called a team. "Oh, I don't work well in the morning." Oh, i'm so sorry! Gee, because the rest of us automatically wake up at 6:30am chipper and ready to go!

      I spent almost 4 years working 11pm to 7am doing nightly maint when I got my first job. I believe that is pretty much the norm in my industry. When I took this job I'm at now, I asked for noon to 8PM. Of our pressmen, amny would never go to days, they're used to working late at night.

      Who is this mythical "Rest of Us" that all get up at 6:30 A.M.?? If being in the majority makes it right, as you seem to believe, then your argument is baseless because the very stereotype you present is based on a majority of programmers. Hence 6:30 AM is not normal.

      My Grandfather was a bartender and never got up before 2PM. Raised 6 kids, and was able to spend time with them afterschool. My uncle works in a factory and doesn't go in 'til 2AM.

      Not only that, but:
      Maybe the rest of us _aren't_ working late that night and need to get stuff done. Maybe we come in late because we don't want to be around people like you who think "I'm miserable, why shouldn't everybody else be." Maybe it's because our bosses do not do a good job of keeping world+dog out of your cube when you're coding.

      I'm looking at moving up to management as well, but you sure as hell shouldn't. I'm not looking to liberate my brothers from clueless management, i'm just sick of working with people who are so busy playing video games, installing linux, and bitching about management

      Be sure to tell them that at the meeting. If you feel that way about the employees you supervise, the good ones will leave and the bad ones will stay, and you'll wind up getting lees work from them than before. Hopefully your upper management is cognizant of this and will not let you destroy their IT department.

      Regardless of whether you supervise Programmers or Envelope Stuffers, you still need to regard them with respect. Respect is the hardest currency to get, the most valuable when spent, and multiplies as it is spent.

      I will also now correct your quoted statement:
      Everyone has special needs, and accommodating those needs (and 'odd' behaviors) is a good idea all around, for both employee morale and department output.

      You'd be suprised how much the girl in accounting appreciates 2 hours off in the middle of the day so she can pick up her kids. Or how much the guy in the mail room appreciates the flexible schedules.

      Supply and demand baby, as long as geeks are in high demand, they'll get their asses kissed in the workplace. And I got news, there will always be a shortage of competent programmers, just like there is a shortage of competent lawyers even though we've got tons of 'em.

      We do a thing here at work where we monetize our contributions to the company as a programmer. We take cost of outside program development + gross revenue generated + salaries saved - salary = Money we made the company. Outside of sales, no other department could even start this. Sales already does this, and sales departments are treated like Programmers. Good salespeople are also hard to find.

      Soda is 30 cents a can. Suck it up.
      I made my company $638,000 last year, deal with it. And that was bad year.
      Maybe the rest of us _aren't_ working late that night and need to get stuff done.
      And maybe that programmer puts in 60+ Hrs. a week?? Many of the ones I know do. One of the reasons that we are afforded alot of autonomy here is that we get paid for 40 Hrs. and work 50-60. Am I playing on your time or mine??

      There's the rub, when they crack down on our stress valves, we put in an even 40hr. week, no staying late, etc... Guess what, no nerf gun = lower productivity.

      Until the rest of the company, who work just as hard as the programmers

      I can tell you that few people in my company put in the hours I do, have the big picture of our operation, or get called at all hours day or night to fix a system in 15 minutes so we can make the mail truck. None of them take the responsability for the quality of output that I do.

      ~Hammy
      "Why does he get the nice chair??" "Because he's skilled labor."

    33. Re:Yeah, here's my advice. by bad-badtz-maru · · Score: 2


      Having written both conventional software and web "scripts", I find the coding of a web application of reasonable complexity to be far more complicated than that of a similarly-functioning piece of "normal" software. It really takes a crapload of effort to produce some types of functionality in a web app that would be a no-brainer in a conventional app.

      Slash is a great example, it's a gazillion line nightmare from hell that looks and works like crap, but the same thing could be duplicated as a non-web app (probably by the same developers) with a fraction of the effort and the end result would certainly look a hell of a lot better and would probably be more reliable as well.

      maru

    34. Re:Yeah, here's my advice. by rlowe69 · · Score: 2

      Now, no one's asking you to show up wearing a starched shirt and pressed pants, but would holding the minimum to clean jeans and non-t-shirts be too much to ask? And before you ask, I'm a Solaris admin, ok?

      Everyone has their own opinion on dress code, and really if the dress code of the company you are working for is too restristive for you, then you should leave or grin and bear it. That's why smelly geeks wearing wookie t-shirts don't work at IBM (that and the caliber issue, but I digress).

      Also, progress helps us move on from the days when people had to sit in sticky offices in the summer time. We can look back on it and say "gee, those were rougher times" but to tell you the truth, it doesn't matter a hill of beans any more. We should take advantage of the fact that we have air conditioning and computers and e-mail and use these things to be more productive in the present. Nostalgia for the past gets you nowhere.

      Now I'm not saying I'm going to show up to work in jeans and a "FUCK YOU" t-shirt. I'm saying I'll wear pants (not only jeans) and a nice, clean non-offensive t-shirt. If I'm not directly in contact with potential clients (or anyone that could report my casual dress to the outside, god forbid), I don't need the layer of squeeky-clean BS covering me (ie. a nice suit, ass kissing remarks, etc). I just want to be left alone to code. I don't want my Brooks Brothers button-down collar shirt (or a sweater or anything) bugging me all day. I want my clothes to be comfortable so it's just one less thing to worry about.

      --
      ----- rL
    35. Re:Yeah, here's my advice. by rlowe69 · · Score: 2

      If you have a good idea and good product
      management, any group of decent programmers
      can deliver it.


      Wow, this is pretty wishful thinking. This statement is about one quarter right. That is, it's right until you try to maintain the code you created. That's usually where you see the difference between quality veteran design and programming and an amaturish job ... and that's what you have to pay the big bucks for.

      Otherwise, all you end up with is a nice shiny beautiful candy shell with a bunch of crap for guts (Windows 95 comes to mind).

      So go ahead and get your awesome saleman and sell your pig shit, but that same farmer won't buy your cow shit when Mr. Salesman comes knocking a year later, and then you're shit out of luck, so to speak.

      --
      ----- rL
    36. Re:Yeah, here's my advice. by partingshot · · Score: 1

      > Otherwise, all you end up with is a nice shiny
      > beautiful candy shell with a bunch of crap for > guts (Windows 95 comes to mind).

      Yeah. Thank god I don't own the windows line.
      I guess I'd be shit out of luck, so to speak.

      --
      Anonymous posts are filtered.
    37. Re:Yeah, here's my advice. by partingshot · · Score: 1

      I think it comes down to the specific situation.
      If you are writing the latest star trek game, then spock ears are fine.
      If you are writing banking software, then they probably aren't.
      If you want to be taken seriously as a profession, then I believe you have to act like the other professions.
      This is what I mean by professionalism:
      Redefining Professionalism for Software Engineers

      --
      Anonymous posts are filtered.
    38. Re:Yeah, here's my advice. by Cro+Magnon · · Score: 1

      "So go ahead and get your awesome saleman and sell your pig shit, but that same farmer won't buy your cow shit when Mr. Salesman comes knocking a year later, and then you're shit out of luck, so to speak."

      If your salesman is good enough to convince your farmer that this years cow shit is better than last years pig shit, you might be able to sell it. And if you're lucky, you can get him to upgrade to horse shit next year. After all, it works for Windows. Much as I hate to admit it, the sales force is neccesary.

      --
      Slow down, cowboy! It has been 4 hours since you last posted. You must wait another few hours.
    39. Re:Yeah, here's my advice. by Anthony+Boyd · · Score: 2
      What in the world are you doing bringing customers in front of developers?
      Believe it or not, some clients actually like to tour the place where they are getting ready to spend [thousands|tens of thousands|millions] of dollars. Yes, that means the development area too.

      Uhhh, that wasn't a "gee I've no idea why you'd put customers into a developer's area, please explain it to me" kind of question. That was a "what kind of crack is that company smoking" kind of question. In other words, I understand that some clients like to tour the facilities when they are going to spend millions, but you don't let the customer walk all over you to the point of detriment. You don't mention the developers area, and if they are aware of it anyway, you say no. And if they insist, then fuck it, they see developers in jeans & t-shirts. A business that is willing to make its developers uncomfortable for the sake of a 30-second walkthrough is not a good company, and if you think it is, well, you should at least realize that people on /. are going to disagree.

    40. Re:Yeah, here's my advice. by gadders · · Score: 1

      Fucking A! I am a PHB, and agree with what you wrote. I do try and shield my guys from politics and make life easier for them, but I hate having to wipe the arses of some of them.

    41. Re:Yeah, here's my advice. by cduffy · · Score: 1

      The business can require programmers that bend themselves to the business's needs, or can make some consessions to the programmers' needs.

      Consider simple economics: First off, not all programmers are created equal. Presuming that there's no relationship between raw programming skill and ability to bend to meet the businesses's needs (and the really good programmers I've known have tended to be a mixed bag in this respect), being able to get a workforce of higher-quality programmers for a lower cost implies being able to select from the largest possible field. Excluding potential candidates due to issues not directly related to their effectiveness or cost implies, in all likelihood, paying more or having a less effective team. Hence, it's an expensive proposition -- significantly more expensive than having the engineering manager know how to help engineers like their jobs (and as an engineer with a great manager, I can vouch for how much management can do along those lines with very little expense).

      Wrt the caffeine-and-productivity thing, I can acknowledge that caffeine may be counterproductive when overused (ie. used without need, or without non-caffinated drinks accompanying it) -- but if used responsibly, it does far more good than harm. IIRC from brain physiology class in my not-too-distant past, caffeine when used in moderation has some positive effects on memory in addition to its more general benefits regarding alertness.

    42. Re:Yeah, here's my advice. by cduffy · · Score: 1

      I can agree a great deal with that Ars Digita article. Note that it doesn't say anything that implies that spock ears are inappropriate for someone writing banking software. Now, spock ears are a bit over-the-top -- but I've known damn good coders who occasionally spend a few days hiding in their offices, skipping baths but getting the project done. I've also known folks who, towards the end of a long day writing embedded systems code, find their nerves calmed by killing their coworkers (or their personified bugs!) in a 3D shooter (on the company network, during business hours... oh my!). Are they professional? If they innovate, do quality work, provide a good end-user experience, &c, I don't think there's any reason to argue otherwise.

  124. Holy shit Bush won? I thought Gore won by Anonymous Coward · · Score: 0

    and it was stolen. Hmmmm. guess same result either way.

  125. Let me use the right tools by Improv · · Score: 2

    If I'm developing for Unix, let me have Unix
    on the desktop, and don't make me use MS Office
    or some other standard environment that means I need
    to flip between two systems using a KVM. Be
    responsive when I want to install vim, viewcvs,
    and other tools that make me more productive.

    Actually, my current boss is being quite good about
    the second, it's just the first that's irritating me

    --
    For every problem, there is at least one solution that is simple, neat, and wrong.
  126. You should adopt this as your motto by Mr.+Foogle · · Score: 1

    Lead, follow, or get the hell out of the way.

    Explanation - I don't want a touchy feely manager, a paper-pusher, a weenie. I want a leader. You don't have to be super-tech, or Joe Cool, or an uber-boss, just an effective leader of men. And women. You know what I mean.

    --
    Display some adaptability.
  127. Managing developers by Anonymous Coward · · Score: 0

    Amazing that average-level programmers end up being would-be managers....
    Developers don't need managers - they need people that are developers too but fed up of pissing down code.
    To be a good manager for your programmers, be a programmer first, then after 10 years of trying to explain to people what's good/what's bad in the code they write, you can be a lead developer that would take over the design work and make sure quality code is written by your team.
    You then switch naturally to organisational tasks.

    But I have never seen a real developer becoming a manager, as I have never seen a manager managing developers properly without being a developer himself.

    Developers are aliens on this planet and should be treated as such.....

    Anonymous coward team leader.

  128. http://www.pmi.org/ by Anonymous Coward · · Score: 0

    This is only one piece of the puzzle, but one worth mentioning:

    http://www.pmi.org/

    I took their certification test (missed it by one point! DOH) So I can vouch for the quality of the material & cert.

    ***read on for more or less usless chatter***

    p.s. I am in no way affiliated with pmi.org, just posting it for the peeps'

    p.p.s. just got a new job with a new software devel co, and EVERYONE HERE IS ON THEIR SECOND SYSTEM. those who have read MMM will pray for me tonight. Also my manager is an air-head with no balls, so you can expect me to be laughing all the way to the funny farm.

    *if you're giving your current employer the BOZAK as soon as the economy picks up wave you hand in the air and say Ho Ho

    **yea this is going out to all my bros takin the big pay cut in 2001. Stay strong my brothers, we will prevail.

  129. Same Situation by Tadrith · · Score: 1

    I'm in the same situation at my current job, where management doesn't understand the concepts and time required to do what needs to be done. That said, the most important thing I think a manager could do is try to understand that as programmers, when we give a time period to get something done, it's generally the minimum amount of time needed. Programming is something that takes time, and GOOD programming takes even longer. I would think it would also help to familiarize yourself with the project, and if possible try to learn some of what the programmers will be working with. I say this because I frequently get programming requests which seem simple to other people, but are actually somewhat difficult to implement. Sometimes, the reverse happens; a complex sounding request is actually quite simple to implement. Just learn to trust your programmers, and realize that very few of us are lazy. Most of us will work as hard as we can to get the job done as soon as we can.

  130. Read some Steve McConnell by Engdy · · Score: 1, Insightful

    Steve McConnell has some excellent advice on managing a software team. Check out Rapid Development or any of his other titles. He definitely helps to balance the concepts of programmer freedom vs. responsibility.

    Note that I'm all for having freedom to code without political interruptions and misdirections, but there are appropriate times for managers to intervene:

    • Customer liason
    • Guiding tradeoff decisions - feature vs. schedule, for example
    • Enforcing group practices and standards, such as walkthrus, revision control
    • Coordinating concurrent tasks
    --
    Siggy Wiggy Figgy Tiggy a bana bo Biggy!
  131. Communication and Realism by deebaine · · Score: 2

    I think a lot of what you need to do is be a communicator and translator. Management gets a bad rap, often, because they do not have the training to understand software engineering. To be fair, however, most coders couldn't manage their way out of a wet paper bag (see also: dot come bust). The two groups speak different languages, and one primary task of any middle manager has to be to translate for both groups.

    This goes beyond merely translating language; you also have to interfere with ideas. From managements standpoint, everything needs to have a hard deadline, a solid budget, etc. In engineering this is impossible. Similarly, (one of the most amusing things about programming, in my opinion), for coders, my way is best. It doesn't matter who I am or what I am doing, my way is best, management's way is stupid. Neither management nor the engineers are entirely correct. If you can successfully filter ideas so that management learns to build in some flexibility and the coders understand when seemingly Dilbert-esque requirements are unavoidable, you will be respected, valued, and trusted by both groups.

    For what it's worth, I think you're making a good decision. The idea of having coders managed by people who have never written any themselves seems awfully silly to me. The CEO probably hasn't written any, and probably doesn't need to. But someone sure needs to explain how it works.

    -db

  132. Do unhappy people work harder? by Improv · · Score: 2

    I imagine this might appeal to some sort of
    'revenge' urge, and perhaps might even work
    to some degree with really lazy workers, but
    I seriously doubt that proficient people really
    work better when they're unhappy or uncomfortable.
    You'll likely convince people to cut corners,
    spreading bad attitude, or quit.

    --
    For every problem, there is at least one solution that is simple, neat, and wrong.
    1. Re:Do unhappy people work harder? by rufusdufus · · Score: 1

      Heres the deal; most people think they are doing good at their job. Even those that are not. Now as the programmer, just because you think you are gods gift to this green earth doesnt mean you are. In fact, you may be a drag on the teams productivity.
      Indeed, if you really are great, then you are easy to manage and the managers job is easy. However, if you actually are only mediocre, but think you are great, the manager has a big job getting you up to speed.
      Unfortunately, as a manager you have to learn to deal with great programmers, and not-so-great programmers.
      In the end, if the non-so-great programmer does not improve, and becomes unhappy about your efforts to help them improve, then you fire them.

  133. the best advice i can give to any manager by nslu · · Score: 1

    ...don't fsck with me!

  134. My dream PHB... by chrysalis · · Score: 3, Interesting

    would be someone that simply want the project (or the network, or the database, according to what's your supposed to do) to *work* regardless of the *ways* it works.

    Lousy PHBs often want you to design something the way they want. Because they read an article about C# and .Net in a magazine, they want you do use it even if three lines of shell would achieve a similar (and bug-free) result. They have pre-established ideas like "Linux is unreliable", "MySQL is better", "Apache is supported, use nothing else", "Always design your project with UML first", etc. And they don't even want you to prove them that something else can also work.

    Geeks are efficient with the tools they know. Not with what you force them to use. If an employee wants to complete a project using QNX + WN + Python, give him the opportunity to do so. Don't judge him according to the tools he's using. Just wait for the result. It works? It has been finished on time? It looks bug-free? Ok. So why yell because the guy used his favorite tools instead of arbitrary recommended ones?

    A geek will be bored, and inefficient if you force him to use software he doesn't like. The key here is : motivation.



    --
    {{.sig}}
    1. Re:My dream PHB... by Anonymous Coward · · Score: 0

      I just got burned by this. My coding team wants
      to do everything in Java regardless of whether it
      is the proper tool for the job. Well, sure enough
      the shit didn't work when the time came. They
      have now invited some painful micromanagement into their working day.

    2. Re:My dream PHB... by Lord+Omlette · · Score: 2

      What happens when the efficient geeks in question can't agree on the tools for the job?

      --
      [o]_O
    3. Re:My dream PHB... by nconway · · Score: 2
      If an employee wants to complete a project using QNX + WN + Python, give him the opportunity to do so. Don't judge him according to the tools he's using. Just wait for the result.



      The problem here is that "the result" isn't just the visible product that was produced, but the code that makes it work. Whether you're working on a dynamic website, shrink-wrapped app, or in-house app, the reality is that the code you write is likely to be maintained by a cast of hundreds after you're finished with it.



      So yeah, it would be cool to use the latest interesting language -- but standards exist for a reason. My department is moving all our code from a mix of crufty Perl CGIs to Java servlets, JSPs and beans. Does Java suck? Not really, but somewhat. Are there days or projects where I'd rather be using Common Lisp, AxKit, or Zope? Sure -- but that's not the point. If I left an eclectic mess of code behind me like that, it would be a maintainence (and admistrative) nightmare.

  135. Too true by dead_puppy · · Score: 0, Insightful

    First of all, u know this guy is bound for management because he probably thinks slashdot is a technical site. Anybody with half a cent of techical expertise would be able to tell you slashdot is more of a flamewar forum than it is a technical discussion. This idiot should either quit his job and get into a new profession (gas pumper, mcdonalds, etc.), or spend some time gaining expertise. Being incompetent in your field of work is bad enough as it is; being a incompetent leading a group of competents is even worse...

    --

    root> man -k lunix heterosexuality hygiene
    nothing appropriate
    root>
  136. 3 Simple Things by tomq123 · · Score: 4

    1. Give me a cool project to work on.
    2. Leave me alone until I'm done.
    3. Pay me.

  137. Make my life easier by bluestar · · Score: 2, Insightful

    I want managers to understand one thing: it's their job to make my job easier.

    If they understand that, they'll (try to) get me the resources I need, keep others off my back, listen to me when I speak, etc.

    After all, we work for the same company. Our goals should be the same.

    --
    "The cost of freedom is eternal vigilance." -Thomas Jefferson
  138. Tips for Management by EvlG · · Score: 2

    In my experience under good management, those that managed the people first and foremost were the best. I found that when they managed people first, if the people were talented, the projects mostly managed themselves.

    Sure there were times when the manager would step in to make a decision, or change things around to fit a changing schedule. But for the most part, when the project management took a back seat to people management, things worked smoothly, and people were happier.

    In conjunction with this, I think it is important for management to leave me alone. By that I mean, take a decision, inform me of it, and then leave me alone to implement it. It's important to have a daily presence to keep me up to date on news, etc..., and to ensure that I am making useful progress. However, stepping in all the time with phone calls and other interruptions is distracting. Condensing those activities to a once-a-day schedule would help keep me focused.

    Finally, managers should provide useful guidance on both project and organizational issues. Management should be able to answer questions when they arise, or at least help me interface with those that can answer questions. Don't leave me stranded and expect me to somehow get through on my own. I need support to get my job done in an efficient manner.

  139. Bullpucky. by Anonymous Coward · · Score: 0

    You can always sell your house. You just get comfortable, that is the problem. If you want to do something put your balls on the line and do it. Hell I am. I've been developing a product for 2 years and I've saved enough cash to get it started and run without sales for 6 months, maybe more. I have it planned from no sales to overwhelming success. If you want to be successful at your own business you need 3 things, balls, brains & luck.
    If you fight as hard to succeed as you would to live if you were drowning you'll succeed. If not dont bother.
    Perspective makes everything possible.

    1. Re:Bullpucky. by gmhowell · · Score: 2

      Yeah, I could sell my house. Problem is, my wife and son might have a problem with that. Ditch them too? No thanks. Their happiness and comfort takes just a little bit more precedence than mine.

      --
      Jesus was all right but his disciples were thick and ordinary. -John Lennon
  140. It's not very complicated ... by Tack · · Score: 2

    Most importantly, I want a boss who is not a fucking moron.

    I want a boss who realizes I know more than him when it comes to technical things.

    I want a boss who shares information with me, and keeps me informed about the politics at upper management, but also shelters me from the bullshit that comes with it.

    I want a boss that defends me and looks out for me within management.

    I'm lucky. I have a boss that does all those things. Not to mention, since he's a retired Colonel in the US military who works in Canada now (he used to work at the Pentagon, even), he has _lots_ of really cool war stories to share! :)

    Jason.

  141. If I could write the book now.... by kpooley · · Score: 1

    I have been thinking about making the same transition in the not-too-distant future and I have been resolving to learn from my experiences under management with no software experience.

    The big thing I have 'learned' is to trust structured process. A few months ago there was a review of a book about web redesign...we all pooh-poohed it as un-needed. The process though is there to protect the developer by providing an environment in which the goals are clear and the terms of success known. This also protects the enterprise and upper management and if you, as middle management, remember to articulate that to BOTH sides you will have a much easier job. (that is my theory and I am sticking with it)

    This doesn't mean if the developers screw-up you can't play whack-a-mole with them but you have to make sure that the screw up is on their part and not as a result of mis-set priorities or expectations....therein lies the importance of those requirements documents and all that happy crap...

  142. My two cents by client32 · · Score: 0

    I think a boss should first of all know the staff under him and what their abilities are.
    Know what each of them is good at and learn what each one wants to learn.

    The biggest thing I can think of is to give credit where credit is due. The people that piss me off more than anyone are those who take sole credit for the work that their staff does.

    So maybe it wasn't two cents worth.....let's call it a cent and a half then round up.

  143. Consultant Bashing... by GiorgioG · · Score: 1

    One thing I've noticed in my brief stint at a consulting firm is that whenever a technical person from the client is invited to a planning meeting to discuss what the goals of the project are, they get into the technical detail - where they should be looking at the project at a higher level, at the business process level.

    My boss generally leads the meetings and I'm only there to get some experience at these meetings (I'm a developer - 8mos experience.) Also, I read in 1 post that when a tech says something can't be done, and the consultant says it can that one should listen to the tech. Personally, I would make both of them back up their statements before blindly accepting either answer. Documentation is not that hard to find these days.

    A consultant should be someone (IMO) that specializes in a specific area (Doc Mgmt, ERP, Workflow Processes, etc) that a business requires guidance from - otherwise, you'd be using a tech who already works for you.

  144. Umbrellas vs. funnels by Lumpish+Scholar · · Score: 4, Funny
    - Act as a filter for the politics
    I've always said there are two kinds of managers: umbrellas and funnels.

    Umbrellas are good. I've had both.
    --
    Stupid job ads, weird spam, occasional insight at
  145. All from you point of vie by Anonymous Coward · · Score: 0

    You all miss the whole point of business. It isn't for a bunch of technocrates to cater to a bunch of techies, it is to make money for either the executives or owners of the company or for the enhanced glory of the executives (defined by the excutives and hard to generalize).

    So from a middle management point of view, you either support the goals they executives and are good or you don't support their gaols and are bad. I can't belame middel managers for their lack of control, power and general willingness to do what ever executive management says. It is the name of the game.

    So if you move in to middle management, don't let the powerlessness and being between a rock and a hard place get you down. Be as fair as you can without loosing your job. Take the blame for failure and don't let it bother you. And don't let you former geek friends ride you too much. (Yes former geek friends)

  146. How to Herd a Cat by Anonymous Coward · · Score: 1, Insightful

    Managing software developers is really a bit of a misconception -- "herding cats" is the common analogy. The manager's life [of delivering software written by geek-cats] is made easier not by pushing the cats, but by making it easy for the cats to wander and explorer in the direction the cats need to go.

    You're not managing cats, you're managing the path that they're on or -- more precisely -- the demands that the business element places on them.

    Get started by reading "The Mythical Man Month" (dated, but still very good) and any Extreme Programming book that deals with requirements and schedule -- as far as I know, they all do.

    The short of it is, given a budget,
    (FeatureCount * TimeToFeature) + now() = deadline
    or
    (Deadline - now()) / TimeToFeature = FeatureCount

    And the business is never willing to accept that. But you're not going to herd your cats out of that mathematical reality. And that's why managers are worth money -- so that the geek-cats don't claw out the eyes of the evil whiney business people who still think that "push" is the way to herd because any feature can be done in no time if enough cats are pushed at it.

  147. management by naChoZ · · Score: 1
    I used to have this framed and hung in my office at a previous job:

    Shit happens:

    In the beginning was The Plan.

    And then came The Assumptions.

    And the Assumptions were without form.

    And The Plan was without substance. And darkness was upon the face of the Workers.

    And they spoke amongst themselves, saying, "it is a crock of Shit, and it stinketh."

    And the workers went unto their supervisors and said "It is a pail of dung, and none may abide the odour thereof."

    And the supervisors went unto the managers, saying "It is a container of excrement, and it is very strong, such that none may abide by it."

    And the managers went unto their directors saying, "it is a vessel of fertilizer, and none may abide it's strength."

    And the Directors talked amongst themselves, saying to one another, "It contains that which aids plant growth, and it is very powerful."

    And the Vice Presidents went unto the President, saying unto him, "This New Plan will actively promote the growth and vigour of the company, with powerful effects."

    And the President looked upon The Plan, and saw that it was good.

    And The Plan became Policy.

    This is how shit happens!

    --
    "I can be self-referential if I want to," said Tom, swiftly.
  148. Geek-run company = Geek bosses by Ogerman · · Score: 2

    How about a company where the coders ARE the 'bosses.' Obviously this only works for smaller companies. But small is beautiful, especially with Open Source development. Get a really tight team together and provide a unique service in your area.

  149. Eighteen Suggestions by mkb · · Score: 5, Insightful

    1) Communicate your expectations clearly.

    2) Listen.

    3) Focus on the work itself, not the window dressing. The hours, manner, and location in which I work don't matter so long as I deliver good results on time.

    4) Recognize that some technical problems are not progressive and people cannot give a time estimate. "When will you find the bug?" often does not have a meaningful answer. There is no such thing as X percent done with this kind of task and the rate of progress cannot be measured. It's done when it's done.

    5) Don't be afraid to discipline those who need it.

    6) Dish out praise when it is warranted. Our egos sometimes need stroking.

    7) Beware of false economies. When schedules are tight, do not throw good software engineering practices out the window. If you do so, it will usually bite you in the ass.

    8) Pay attention to team building. Will a prospective new hire fit in well? How can you help people to work well together? This will sometimes mean finding a way to keep incompatible workers out of the others' hair. Play together outside of work.

    9) Pay attention to skill building. When possible, assign people to tasks (or suggest methods) where they can grow. Some tasks will take a bit longer in the short term, but you win in the long term. Skilled people can do more and work faster. People who feel like they are growing are happier, more productive, and stay around longer.

    10) Set priorities and stick to them.

    11) Don't bullshit.

    12) Set a good example.

    13) Accept the fact that people have lives outside of work.

    14) Realize that time is a finite resource. If I leave my primary task to fight a fire, that means I am not progressing on my primary task.

    15) Negotiate realistic deadlines.

    16) Know your stuff.

    17) Give people good tools.

    18) Keep your word.

    1. Re:Eighteen Suggestions by jamesmrankinjr · · Score: 1

      4) Recognize that some technical problems are not progressive and people cannot give a time estimate. "When will you find the bug?" often does not have a meaningful answer. There is no such thing as X percent done with this kind of task and the rate of progress cannot be measured. It's done when it's done.

      I don't agree with this. It is the coder's responsibility to come up with the schedule. You may not know precisely how long it will take to find the bug, but saying the project will be done "whenever" is not acceptable. If the coders made the schedule but aren't sticking to it, they need to explain why it's taking longer than expected and give a new estimate of how long it will take.

      Not that I'm the best scheduler myself, and something always does come up. But the alternative is to let the managers make the schedule, which we certainly don't want.

      Best,
      -jimbo

    2. Re:Eighteen Suggestions by mkb · · Score: 1
      I don't agree with this. It is the coder's responsibility to come up with the schedule. You may not know precisely how long it will take to find the bug, but saying the project will be done "whenever" is not acceptable. If the coders made the schedule but aren't sticking to it, they need to explain why it's taking longer than expected and give a new estimate of how long it will take.

      I agree with you, but we are talking about two different things.

      The issue is one of scale. On a macro scale, it is possible to estimate when a project will be done. (The quality of such estimates in our industry is a matter I will leave to others.) As time goes by, development teams can keep deadlines intact by managing scope. Some features are delayed until the next release. Not every bug gets fixed.

      On a micro scale, problems can vary. Some are continuous and some are discreet. Continuous problems lend themselves to measurement. "Well, our design for this module has ten classes, and I have implemented five of them so I am about half done." (That's a gross over-simplification of the coding process, but you get the idea.) If I can measure my progress at a task, then I can estimate the time to completion, and refine that estimate as time goes on.

      Discreet problems are either done or undone. They do not lend themselves to measurement. One does not iterate towards a solution-- one simply searches until the solution is found. A non-technical example is finding your car keys. It's not meaningful to say "I am 50% done with my search" or "it will take me two more minutes." The fact is, the search will take as long as it takes.

      --mkb

    3. Re:Eighteen Suggestions by Anonymous Coward · · Score: 0

      I couldn't agree more about the bug-finding. I had some dickweed manager ask me "how long do you think it will take?". The ensuing conversation/argument lasted longer than it actually took once the asshole left my cube. He insists that "everything can be measured". Not with bug-finding, it can't - not on the individual level.

      void antiPHBRant() {
      Of course, I have had great managers and really horrible ones. This was one of the horrible ones, and the thing is, he acted like no one ever worked anywhere else before, and any opinion that differed from his was dismissed as "academic"...of course, he never read Mythical Man-Month or Peopleware, he'd rather shoot from the hip any day. Needless to say, there was little design done, and we did even worse as a company when we put together "schedules" - what a joke. EVERY SINGLE TIME they did a fixed-bid project, they lost money. What a surprise. Of course, this guy was also an MIS manager - one of the type that take it because CS "is hard" and they wanted to "manage people" when they graduated. So he spent about 1 year "in the trenches" using a wussy tool like VB, and then thinks he is on par with people who have coded in multiple languages on many types of projects for many types of businesses for many different types of people.
      }

  150. Damn Fine Comment! by jmagar.com · · Score: 1

    Well said!

  151. Good Managers by Art_XIV · · Score: 2

    I think that all managers, not just the ones who who herd geeks, have to be good with people first and foremost.

    In my experience the best managers are acombination of psychologist, administrator, cheerleader, bookkeeper, and nanny.

    You know the sort (hopefully) - The ones who credit their team after a success and blame themselves after a failure. The ones who listen to your ideas and sets you straight when you've been an ass. The ones who make make you feel like you're a part of a conspiracy, rather than someone who's being exploited by it.

    About 1 in 4 managers (or less!) are like this, or are at least trying to be somewhat like this.

    A manager who has coding, network, engineering, etc... skills has a big advanatage when herding geeks, but his/her human being skills are what really makes the difference.

    --
    The only thing that we learn from history is that nobody learns anything from history.
  152. I have an excellent manager. by cduffy · · Score: 2

    When possible, she doesn't try to manage engineering as much as she tries to assist engineering. Even when being firm, she still feels like she's being supportive, and trying to act in our best interests.

    She keeps her overall focus on the work getting done. It doesn't matter if we come in late, leave early, or keep Baily's in our cubes to add to our coffee -- so long as we get our work done. Correspondingly, she knows when to look the other way (often!), but also when not to.

    She's sympathetic to what's going on.

    Her door is always open.

    Get most of these things right (particularly the first few!), and it's far to go too wrong.

    1. Re:I have an excellent manager. by easter1916 · · Score: 1

      She should be fired. Allowing you to drink alcohol at work is irresponsible. Let's say someone hits the girly liquer (that's Bailey's, BTW, and in Ireland only women and Englishmen drink that crap) a bit too hard and gropes a co-worker. Who's liable? The company, in part, for condoning boozing on the job.

    2. Re:I have an excellent manager. by cduffy · · Score: 1

      Yes, we could, but we don't, because there are no irresponsible people here. The only people who drink at work are those who know they're responsible enough to drink too hard. We know that, and our manager knows that, and nobody has yet groped a coworker he/she wasn't married to. In a lesser company (or a lesser department) such measures might be necessary, but (with very few exceptions) every last member of our engineering staff is an absolutely brilliant engineer. Certain traits come with that -- are necessary to develop that kind of skill -- and superior personal responsibility is among them.

      I'm not sure that it wouldn't work in a lesser organization, too, though. Our manager's willingness to look the other way at times represents her trust in us. We see that, and realize how disgraceful it would be for us to break that trust, particularly in front of our coworkers (who tend to be our peers as well). Why would we risk doing something inappropriate?

      Understand, too, that it's not just about having a little Bailey's to put in the coffee. What this distinction is about is trust. Our manager trusts us to do The Right Thing, and we do. (Even having the Bailey's can be The Right Thing -- some people find that a small amount of alcohol, not nearly enough to be drunk, makes it easier to write code). It's not just this one manager, either -- this position is pervasive in the company's old guard. My first year there a coworker and I were setting up a LAN party on the 4th of July. We asked the lead engineer if we could take our work machines home with us. "You're going to take them back, right?" "Yup." "Then why are you asking me? You're empowered."

      That kind of attitude is what helps us love our jobs as we do -- and we do, almost every one of us. I tried to make a joke with a coworker who was sick last week and coming in on Monday -- he said he was glad to be well enough to come in, and I told him what he had must have been pretty bad. He didn't get it -- he loves his work, even coming in on Mondays. I do to -- heck, I worked most of this weekend.

      As to firing her (as you suggest) and replacing her with someone more stodgy, that might succeed in protecting the company from some theoretical liability -- but if it loses its spirit, we've lost more than we've gained.

    3. Re:I have an excellent manager. by cduffy · · Score: 1
      Something else I should have mentioned -- Bailey's is, as you say, girly liquer. The company (in the stodgy, official use of the word) doesn't approve of hard stuff, but you and I both agree that Bailey's isn't that. As for weaker alcohols, the company keeps beer in the fridge (and occasionally wine), so the place never was entirely dry to begin with -- a little Bailey's seems something quite reasonable to overlook.

      Anyone having something stronger than Bailey's generally tries not to give their manager the potential liability of knowing about it, and any manager overhearing such a thing tries to unhear it -- the knowledge does nobody any good. To fire one of the best engineers you could hire (that's all of us!) because of something with no demonstrated impact on the company? Simply doesn't seem worth it. (If someone were to drink, or worse yet get drunk in an inappropriate situation, that might constitute an impact -- but we the engineers Don't Do That, because we're responsible; if someone did, we'd understand if management lowered the hammer).


      Hopefully you'll read both posts and thus be able to write a consolidated reply -- I didn't really mean to fork this conversation as having two threads can do.

    4. Re:I have an excellent manager. by easter1916 · · Score: 1

      Both your replies make sense. I withdraw my original comments :-)

  153. start by reading these books by volcanic_god · · Score: 1

    1. Death March: The Complete Software Developer's by Edward Yourdon

    2. Peopleware : Productive Projects and Teams, by Tom Demarco, Timothy R. Lister

    I know there are plenty of books out there but these are a few that comes to mind.

    Everybody needs to work on a goal. Give the geeks plenty of resources and all the available chance to get things done, AND STAND OUT OF OUR WAY! =)-

    - To every complex problem there is a solution that is simple, neat, and wrong.

  154. Don't be a manager, be a leader by Infonaut · · Score: 2
    It sounds like mere semantics, but the difference between a manager ("One who handles, controls, or directs") versus a leader ("one that leads or guides") is the difference between viewing employees as "assets" or viewing them as human beings.

    First, realize that leadership is a discipline in itself. It can be taught, but the underlying capacity to lead is something some people have and others just don't. Most companies have *zero* leadership training. Those organizations that do have serious leadership training tend to prosper - take a look at how IBM and GE train their people to see what I mean.

    Second, remember that the best leaders always lead by example. People don't listen to what you say as much as they watch what you do. If you're honest and direct with them, they'll usually reply in kind.

    Third, remember that leaders build teams. If you can create a team that works together, where everyone feels involved and informed, you'll find your task much easier.

    Leading well is difficult, and nobody will ever pat you on the back and say "Gee, you're a great leader!" but the effort you put into being a leader as opposed to just a manager will pay great dividends.

    One more thing - don't try to be someone you're not. Ghandi was a great leader, and so was Patton, but obviously they had very different styles.

    --
    Read the EFF's Fair Use FAQ
  155. How to Manage Geeks by TheZork · · Score: 2, Interesting

    Some time ago, Eric Schmidt (pre-Google, still at Novell) did a bit with Fast Company:

    (from Fast Company, issue 25, page 174)

    How to Manage Geeks
    by Russ Mitchell


    Eric Schmidt, CEO of Novell, believes that "geek" is a badge of honor.
    (After all, he is one!) But how do you manage these geek gods? Just
    follow his nine-point techie tutorial.


    http://www.fastcompany.com/online/25/geeks.html

    Some of the concepts and references are a bit dated, but it's still a pretty good take on what we need as geeks to get by (flexibility, projects we can sink our teeth into, peer review, etc.). I share it with all of my bosses, technical and otherwise.

  156. Let people talk by Pussy+Is+Money · · Score: 1

    Let people lecture you on how their stuff works. Don't be afraid of too much detail, but don't put up with overobfuscation either. Understanding lies in being able to explain.

    --
    Pushin' 'n dealin', shovin' 'n stealin'
  157. Middle Management by jd10131 · · Score: 3, Interesting

    I once worked for a dot-bomb banner advertising company in Vancouver.

    We spent a lot (5 man years worth) of money developing an ad serving system. After it was put online, the upper management decided to change direction! They began to resell DoubleClick's ad space. Bizarre.

    Once, when they cooked up one of their hair-brained schemes to make money, the developers had to cry out for a business plan to justify their decisions. As usual, they came up with numbers that were pulled from thin air and completely ludicrous. "Look, this justifies it."

    One of the developers put together some statistics that were more realistic, regarding time to break even (it was over 20 years, in an ideal situation) His first draft didn't use enough pictures, so he added some charts. They still didn't get it.

    Now said company is a spam marketing agency, using someone else's distribution lists, and someone else's servers to do the distribution.

    I am ashamed to say I ever worked for such a place, but at least I know what not to do.

    Moral of the story: Listen to your developers; anyone who can grok perl is probably better at math than your average marketroid.

  158. Re:I want a smart boss! by LinSux · · Score: 1, Funny

    I'd rather have a dumb boss, one that's easy to manipulate. Their brain should be about the consistency of play-doh. Not as soft as, say, rice pudding, and not as hard as stone, but somewhere inbetween. Nice and malleable, that's the perfect boss.

    You don't want a smart boss, they may figure you out too quickly.

    --
    Slashdot. News for Zealots, Stuff that matters (if you're a linux zealot!)
  159. Age old advice for PHB's by SpacePunk · · Score: 1

    Lead, follow, or get the hell out of the way.

  160. Nerd Herding... by kill+-9+$$ · · Score: 2, Informative
    I always felt this article summed up building an effective team:

    http://freshmeat.net/articles/view/157

    The group I'm in actually have a lot of these practices in place, and life is beautiful for us geeks...

    --

    -- A computer without COBOL and Fortran is like a piece of chocolate cake without ketchup and mustard
    1. Re:Nerd Herding... by camelrider · · Score: 1

      We used about this same process, somewhat abbreviated, for hiring crewmembers on a boat longline fishing in the Gulf of Alaska and we were by far the best crew I have been a part of in my forty-plus years of fishing. We never had a crewmember who didn't add value to the group and I think the whole was greater than the sum of its parts. Fortunately, when illness combined with family situations required me to stay home for a couple of years I was able to give them sufficient notice to find the right replacement. I sure miss that crew!

  161. Understand Basic Laws of Programming by lkaos · · Score: 5

    1) Adding more people (especially entry level) to a project does not get it done quicker.

    2) Most of the time, one cannot justify reducing the schedule of a project by equally reducing the requirements as requirements are often interdependent.

    3) Every moment a programmer spends filling out paper work, attending training, or attending meetings goes against productivity by a factor of 2. Productive programming requires long uninterrupted durations of time. If these things are required, block them together to maximize programming durations.

    4) Some problems just can't be solved by throwing money at them. Therefore it is important to have a knowledgable person within each team to determine whether something is technically feasible. Essentially, management should generally not try to determine the technically feasibility of a task.

    5) Large teams are not more productive. While it's tempting to float unproductive people on productive teams, the team will take a huge productivity hit. It makes more sense to have some projects fail and other succeed rather than having everything delivered half-ass.

    I partially agree with some of the things expressed about not given in to the dot-com type attitude. Managers really have to crack down on people that goof off too much. Goofing off too much should be judged by the individuals productivity and how their goofing off effects others productivity.

    If you have a guy that helps everyone and is 3 or 4 times more productive than everyone else, then if he is surfing the net, leave it be. On the other hand, if you have an individual who hasn't written a working line of code in a month and sits around chatting all day, well, then a manager needs to step in.

    The flexibility of a programmers work habits should be a priviledge, not a right.

    --
    int func(int a);
    func((b += 3, b));
  162. Stuff I've learned by Anonymous Coward · · Score: 0

    More and more these days, I'm finding I get brought in as a contractor to write code, then I get "promoted" to team leader, then sometimes "promoted" further into some sort of management role. Not sure if this is because I'm a crap coder, or what...

    Anyway, here's my approach in a nutshell:
    - remember the things that pissed me off. Ever-changing requirements, people breathing down my neck to get me to work faster, being kept in the dark, etc. Sounds obvious, but don't do that to your own prople
    - different people like to be treated in different ways. If you've got a guy who likes to be given a job then locked in a room for months while he works in complete isolation, don't bug him for status updates every few minutes. I've got one guy like this now; I've found that emailing requests for status updates to him, even though he sits next to me, works fine and I get a concise summary of where he's at the next morning (also in email). If you've got a guy who likes to be patted on the back, then pat him on the back at every opportunity
    - "team meetings" generally get everyone pissed off. Try to make these as enjoyable as possible: arrange a time to take everyone offsite, even to the local coffee shop or park, and hold the meeting there there so people aren't making excuses to disappear like "I'll just check how this compile is doing". Hold meetings at the same time/day as much as possible, so people can arrange their time accordingly. If someone's holding out on attending, assemble the whole team immediately behind them and make it very obvious you're all waiting (i.e. piss off the offender); they won't do it again, and will be very ready to piss off the next offender
    - enforce the use of a single calendaring tool. If MS Outlook is it, then tell everyone all meetings will be scheduled using only this tool, and get them to come to terms with it. Don't tolerate different tools for different people. Forcing people to use one tool simplifies things from your perspective, and people who don't like it will build their own interfaces to their tool of choice (e.g. SMS message to their mobile phone) and share them with other people in the team
    - if you're a contractor, or you work with contractors, try to build up a pool of people you like to work with and bring them in when you need them. This used to be tough, but with the present labor market it's now a whole lot easier
    - keep people informed, even of the political-style rubbish, but shield them from dealing with this rubbish with external people. Having a team gripe about some stupid upper-mgmt decision is usually a great way to let off steam, promote team bonding and keeping people aware of each other, without resorting to overt "team building" exercises which generally piss people off
    - if people want to listen to music, wear sandals, etc., let them do it as long as they aren't going to bring down the wrath of upper mgmt on their own heads. You might want to keep those people out of view of mgmt floor-walkers...
    - stupid things like buying people icecreams in the middle of the day works great. Just don't expect to involve people in a long discussion as you hand them over, but they make a great entry point for a serious discussion at the coffee machine an hour later...
    - expect to write reports for upper mgmt yourself; don't bother trying to delegate this task
    - try to get people working in teams wherever possible. Some people won't like this; don't push it, but swap them between tasks regularly so you ensure everyone's work is being regularly peer-reviewed
    - don't beat around the bush at pay review time. Tell it like it is; I've never met a techo who wanted suger-coated info at this time
    - keep other people away from your team. Best way is to use office cubicle layouts to your advantage; position yourself so intruders have to walk past your desk to get to the person they want to interrupt, then interrupt *them* as they pass to find out what they want. Encourage/force them to make appointments (using the aforementioned calendaring tool) with the person they want to see, rather than turn up unannounced
    - try to keep train-of-thought interruptions to an absolute minimum. Ask for updates when people are chatting between themselves, not when they're hard at work coding
    - ask for input all the time. You mightn't always be able to act on this input; if not, say so but show that the input was still valued by you (if not the organisation at large)
    - finally, try to enjoy yourself. If you do that, you generally keep things enjoyable for those around you as a matter of course

    Can't think of any more at the moment, but I'm sure there is more...

  163. Recognize those who keep the project working by Anonymous Coward · · Score: 1, Insightful
    Face it 20% of programmers carry the other 80% (but 100% of programmers think they are in the first 20%).


    The hardest thing about being a middle manager is building a team and making it work. Identify those who actually check in commented, debugged and efficent code on time. They will not be the same ones who kiss your ass and are bucking for your job (look in the mirror as well, you might just be one of those people). Select an experianced star to be you team lead and trust him above all others. Don't promote the butt kisser, that has been the death of many projects. Don't let you lead get bogged down in meatings. Ban marketing after the requirements are set.


    Have zero tolerance for anybody taking credit for others effort. I've been on the short end of this, where I knew the boss knew better. He made a political calculation that keeping the project manager happy was more important the keeping the team lead happy. That was a bad idea, I cut down to 8 hour days and watched the project manager take rope untill he hung himself, then quit. The weasel did'nt understand why I would'nt break my back again (to earn him a huge bonus). I did'nt argue with him, walked to the presidents office and explained to him why I was gone. Even smart senior PHBs understand that the whole team knows who does the heavy lifting, nothing raises moral more then someone getting a just reward, nothing destroys it faster then a weasel getting an unjust reward.


    Also keep at least six months of your personal burn in the bank. Otherwise your boss will force you to do the wrong things. Do that enough and you will forget there are other ways. To effectivly deal the the bastards you need to be able to walk away at any time.

  164. Geek managers should be like third grade teachers by omarKhayyam · · Score: 4, Insightful

    I was lucky enough to have the ideal manager without knowing it. I worked at a pharmaceutical company designing programs for the bioligists/chemists to use. My manager had degrees in chemistry, CS, and most importantly she had been a third grade teacher.

    Why was this important? It gave her an aura of being in control without being condescending. You just wanted to make her happy. I realize this is vague, so here is a specific way you can achieve this effect - protect your geeks. Make it clear that you are the only person they report to, the only person they have to worry about listening to. Don't let marketing, sales, or even your boss tell them what to do. This relieves much of the stress of being in company. Remember "Office Space"? One the guys main complaints was that he had 10 different managers to report to.

    Employees who have clear objectives, and who don't have to worry about retribution from unknown, unanticipated sources are (at least one step closer to being) happy employees. -Adam

  165. Re:Yeah, here's my shit. by Telastyn · · Score: 2
    No its not. If an employee can't act like a professional, you get rid of them. Very, very few projects require people smart enough to put up with a bunch of crap from them.


    Absolutely correct.

    Yeah, its really hip to have that one guy come in at work at 2pm and work until 9 at night, because he's so damn elite, until you realize that he's unable to interact with all of the _adults_ who have children and real-life responsibilities. Its called a team. "Oh, I don't work well in the morning." Oh, i'm so sorry! Gee, because the rest of us automatically wake up at 6:30am chipper and ready to go!


    Note that late hours worked and social ability are not mutually exclusive. In fact those hours probably allow said coder and his wife to actually have a parent home all hours for their child(ren)... They can take care of their "responsibilities" before 2pm, as nothing that REQUIRES people to go to in order to handle "responsibility" (the DMV, the bank, support for Credit Cards, attorneys, accountants, etc.) are open other than 8 to 5.

    And unfortunately most sales and marketting droids I know *DO* wake up at 6:30am chipper and ready to go.

    Ooh, and lets pamper the programmers with soda and candy and teddy bears and futuristic chairs. Until the rest of the company, who work just as hard as the programmers, begin to get a little pissed off. Soda is 30 cents a can. Suck it up.


    Actually the company should pamper everyone with drinks and nice chairs at least. They will keep every employee in the building and working longer for cheap. At the absolute least I think the CO. should provide a vending machine nearby to keep "snack runs" to a minimum. People munch, even suits.

    Lets not forget a dress code. Yeah, lets not enforce that, you don't need to look good to program, man. Until that one programmer wearing the 2 sizes too small phantom menace t-shirt with the body odor turns off a potential client. Is wearing a pair of dockers and a shirt that doesn't have a fucking wookie on it going to kill you?


    Nice and unbiased an uninflammatory...

    And no. You do not need to look good to perform. You need to be comfortable to perform a task that requires nothing other than brains. Wether you influence the ability of those around you to do their jobs is another story, and can be mitigated by simple planning (and letting the coders work hours that customers won't be there!). Personnally I would work much worse if everyone around me was wearing a uniform dockers & tshirt...

    Lets have a nerf gun fight! Woopie! Two guys want to fuck around, so the entire floor can't get anything done because two guys are running around screaming. "Oh, please hold Mr. Potential Customer, I have a nerf dart in my fucking eye." Maybe the rest of us _aren't_ working late that night and need to get stuff done. Maybe i'm at your cube, waiting patently for you to get done PLAYING.


    So have a breakroom, like EVERY OTHER COMPANY and keep the games there.

    I don't particularly think *YOU* should be in management either, as it's patently clear that you despise those who would be under you, like the majority of PHB's in the world. Ranting on about how coders can't/don't do work, while reading slashdot during the say...

    Either way there will need to be comprimise. Require coders to be in during certain hours (1-4?) so that meetings and communication can still happen, and the rest of their days are available for production of code.

    Allow freedom and relaxation, but only where/when it will not be a distraction to others/customers.

    And remember always that you're at a business. A business I'd assume is designed to make money. Good coders make money. Productive coders make money. Coders that hate management don't make money. Coders that hate their jobs don't make money. Coders that do not pay attention to the customer do not make money.

    Any company that sets itself apart from the field does so by doing something that no other company can do. If you wish to do that technically (imo the easiest route) you will need a coder (or a few even) that can do something no other coder has done. To get that you'll need to make some comprimises...

    And just remember, you don't have to look like a professional to act like a professional, and you don't need to act like a professional to look like a professional.

  166. We want you to read Peoplware and MMM by capedgirardeau · · Score: 1

    Every so-called software development manager should read these two books twice!

    The Mythical Man-Month: Essays on Software Engineering
    By Frederick P. Brooks Jr
    Addison Wesley Longman, Inc.; 10/1995; Anniversary ed

    Peopleware: Productive Projects and Teams
    By Tom DeMarco,Timothy R. Lister
    Dorset House Publishing; 02/2000; 2ND

    --
    Wax on, wax off baby!
  167. Three things by Grax · · Score: 1

    Listen to us. You hired me because I am good. If I wasn't good you shouldn't have hired me. What I say goes. We really don't want to run Oracle on a 486. That would be bad.

    Decide on a plan. You can change the plan. But don't pester me with changes to the User Interface when I'm trying to make the back end work. Believe it or not a solid back end that takes a long time to create (while the boss things I'm doing nothing because there aren't results he can see) will be good for the project and the UI changes can be made in an afternoon with an intern doing them.

    Act as a filter. Actually I don't like to be cut out of the loop. I like to know what is going on. Sometimes I can increase productivity by suggesting a feature slightly different but much easier to code. But I don't want to be in the middle of disagreements on features or whatever.

  168. I am personally insulted by Srin+Tuar · · Score: 2


    Damn, this was almost as bad at this [slashdot.org] arrogant asshole.


    That link you posted refers to a programmer who is sucessfull despite having no formal degree, and you call him an "arrogant asshole".

    I had to reply here because I am in fact in the same situation of that person you despise (jealous?). Why do think people pay him so much more for his work? Maybe because he GETS THE JOB DONE, and is WORTH IT. Why do you assume that he is some overpaid snippity scripter?


    50% salary growth per year for 5 years is not that hard when you are starting really low. From my personal observation education is inversely proportional to programming skill anyway. (every PHD of CS Ive met has been a complete idiot)

  169. Listen to this person's comment! by oomcow · · Score: 1

    This person is clearly a hardcore programmer.

    "as to 2) filter the politics - can't stress that enough."

    Normal people would have labeled the third item in the list "3". On the other hand, real programmers count from 0... =)

    1. Re:Listen to this person's comment! by Dwonis · · Score: 1

      It's really a matter of item numbers vs offsets...

  170. wow you've actually got people mad at you by nikkatsu · · Score: 1

    gee. 1. you can't code well at freakin 9 in the morning, that's just obvious. 2. it's your own fault you had kids, don't even think about pulling that 'I'm an adult' bullshit. 3. dress code: it's not geeks jobs to meet clients. they shouldn't. that's your damn job. 4. any time you want to switch I'll sit around making friggin excel timelines or dumb powerpoint presentations while you code until your eyes bleed and you have to listen to people whine how about how they don't know how to set up a filter in outlook

  171. There are no unimportant people by paranoic · · Score: 2, Insightful
    That said, programmers ARE very educated people and THEY make the product YOU are cold-calling people to trying to sell.

    Let's pretend now that they didn't exist at your company - oops, now you have no job. I'm not saying that other people at the company aren't important, but let's not forget who is actually CREATING PRODUCT here.


    Let's turn this around shall we.


    That said, salespeople ARE very talented people and THEY sell the product YOU are making.

    Let's pretend now that they didn't exist at your company - oops, now you have no job. I'm not saying that other people at the company aren't important, but let's not forget who is actually SELLING the PRODUCT here.

    Try working at a place that has lousy salespeople. As great as your code is, if nobody buys it then you're out of a job.

    And yes, I do put out a product that people actully buy. There are no unimportant people in a company.

  172. Outdated view of geeks by nano-second · · Score: 3, Insightful
    What a ridiculously stereotypical (and old-fashioned) view of geeks/programmers. Most of us are:

    clean

    dressed tidily, if casually

    socially adjusted

    not likely to need to interact with clients

    We may have some unusual needs for our work environment and many of the other replies have well explained the reasons for these.

    --
    I hope you're not pretending to be evil while secretly being good. That would be dishonest.
    1. Re:Outdated view of geeks by ThePhantomPiper · · Score: 1

      If one has been on this earth longer than 10 years, and can not spend 8 hours of productive time at work without recess, then they should go back to kindergarten and try again.

      I question your definition of "needs" for the work environment.

      --

      --
      "I'm not sure exactly what an AS/400 is, however, I'm pretty certain I wouldn't want one up my ass"

    2. Re:Outdated view of geeks by cduffy · · Score: 1

      If one has been on this earth longer than 10 years, and can not spend 8 hours of productive time at work without recess, then they should go back to kindergarten and try again.

      Nobody does it consistantly for any value of "productive time" worth beans. Doing exactly the Right Thing (with proper attention to detail, trying to foresee potential corner cases and other bugs, &c) is mentally stressing, and people in such lines of work do need mental rest. This may be a "power nap" or it may be taking a break to hop over to band room and bang out a tune on the piano (or, if I'm telecommuting from Chico, to take a quick stroll through Bidwell Park) -- anyhow, if my work gets done and gets done well, since when do you care how many breaks I take in doing it?

      Rarely do I see a manager put in 8 solid hours without taking an occasional break to play pool or shoot the breeze. Expecting someone whose work requires greater attention to detail (lest far more hours be spent trying to track down the elusive problem caused by a minor error) to be constantly at peak is simply unrealistic in any profession.

  173. What?! by Jeppe+Salvesen · · Score: 2

    Keeping track that the end result is according to specification is central. I'm not advocating meetingmania, but updates are quite crucial. After all, if things start to slide timewise or specwise, it is crucial to identify this at an early stage.

    Letting them code is extremely imporant. However, it is equally important that they code the right thing.

    --

    Stop the brainwash

    1. Re:What?! by TheRealFixer · · Score: 1

      Thus, why I said *pointless* meetings. Some meetings will be required, yes. But I've seen project times doubled and even tripled just in useless meetings, in which there was no clear purpose, no reason for a developer to be there, nothing was decided, and nothing was even really talked about.

      That happens all too often with bad managers.

  174. Next.... by Linegod · · Score: 1

    >I'm not asking for the basic 'stand-up-for-your-subordinates' advice, but rather requests from a coder's
    >standpoint.

    And by believing that you already have this covered, I believe that you will be a lousy manager. Next you'll say you have an 'open-door policy'.

    ...

    --
    -- I care not for your foolish signatures.
  175. Here's what I get: by solios · · Score: 2

    My boss rocks the world.

    He tells me what needs done, and gets the hell out of my way. And stays there. When I'm done with what I'm doing, or hit a milestone, I present, he looks it over, and I go back to the drawing board with changes in mind. Repeat until finished. We meet on the smoke bench or informally in either of our offices. He never gives me shit about being late, and gives me and my coworkers mad props when we get a job done right. If we need hardware or software, we get it- it's that simple.

    The head of the department works on pretty much the same principal- hands off, out of the way, keeping the shit from hitting the people that get the content and systems work done.

    So. To sum up:

    1. If you have any say in hiring, hire competent individuals that you can communicate with [we get "tested" by being hired part time, then eventually, go on fulltime with benefits, etc. People get brought in on a "we need [___] NOW!" basis, and if they click with us, they stick around. If they don't click, they don't stick- it keeps the department a well-oiled machine that works smoothly.]- I can't emphasize communication ENOUGH. Email doesn't cut it- face to face.

    2. Stay the hell out of the way of your employees- let them do their jobs without being baby-sat. This is especially necessary when you don't know the applications or processes they're working with [the old department head kept back-seat driving me in Macromedia Director, an application he's never used. He hasn't programmed since computers went 32-bit.]

    3. Give 'em what they need to get the job done. And by "job done", I mean just that.

    I'm one of the two staff members in the department that actually knows enough about hardware/software to maintain and work on the systems when they go boom- on top of everything else, we're the only division in the facility that does our own tech support.

  176. Re:I'm lucky by Anonymous Coward · · Score: 0
    I'll have you know that I enjoy a good troll and I hate my job.

    So obviously, I troll at work! What could be better?

    Oh, and Slashdot can suck my ass.

  177. If I have a dime everytime I hear... by cpparm · · Score: 1

    "Geeks have special needs". No WE DON'T.

    First, We want more money. It's a damn lie when people say we just love what we do and we don't do it for money. Real geeks do love what we do, and we don't do it only for money. But by God we know when we are being taken advantage of!

    Second, we enjoy having constructive and intelligent conversation with people. Most of the good programmers I know are warm, outgoing people. It's a myth that we hide in the basement.

    Third, we want respect, acknowledgement, blah, blah, blah. Basically the same kind of things a postman would like to have.

    Just because most people didn't work hard enough in their high school maths class to understand what we do, it doens't mean it's harder to understand us as individuals. (
    That's right, most programme jobs don't need anything more than high school maths! )

    1. Re:If I have a dime everytime I hear... by Hank+Reardon · · Score: 1
      "Geeks have special needs". No WE DON'T.

      I disagree. We do. We need a little better equipment (larger monitors, more RAM, X server software to connect to the boxen, etc.) than your average secretary or PHB.

      First, We want more money. It's a damn lie when people say we just love what we do and we don't do it for money. Real geeks do love what we do, and we don't do it only for money. But by God we know when we are being taken advantage of!

      Yes and no. I'm currently working in a job making 25% of what I'm used to making. I'm willing to do it because the environment rocks. If I (honestly) need new hardware, I get it. If there's a feature that I can (honestly) justify, I get to impliment it. The working hours are whatever I want to do.

      What I've found is that the more you can insulate us from the daily political bullshit, three hour status meetings that force us to put in the fabled 16 hour days and the "you must be here at 8 a.m. no matter how many hours you're puting in" attitude, the more we appreciate those things as benefits of working under you. If I can get a feel for the company, each of those things are easily worth between 10 and 20 thousand dollars each for me.

      Second, we enjoy having constructive and intelligent conversation with people. Most of the good programmers I know are warm, outgoing people. It's a myth that we hide in the basement.

      I couldn't agree more. The antisocial types who like to sit in the server room and emerge only for payday and runs to the soda machines are a detriment to the company. You can't ever be sure what they're working on, nor can you be sure that they're not pissed off.

      Third, we want respect, acknowledgement, blah, blah, blah. Basically the same kind of things a postman would like to have.

      Again, very well put. There's nothing that will nudge me towards the 80 hour week (when it's necessary) than a boss who respects my abilities and my dedication.

      Just because most people didn't work hard enough in their high school maths class to understand what we do, it doens't mean it's harder to understand us as individuals.

      I'm one of those developers who's fought tooth and nail to get where I am. I have never taken a programming class, nor do I want to. I have no degrees and barely graduated highschool. I've quit jobs because managers treat me as an ignorant child because I didn't take Psychology-101 and Underwater Basketweaving-202 in college. It's a definate plus when somebody recognizes your demonstrated ability and intelligence rather than the piece of paper tacked to your wall.

      --
      There's so little difference between politics and jihad lately...
  178. Listen, trust, and care by gidds · · Score: 1
    WHS! Perhaps the most important thing an IT manager can do is to read Fred Brooks' The Mythical Man-Month. Old, but still just as relevant.

    The only things I'd add to that are:

    • Listen and trust. If you accept that you don't know everything about programming, and listen to those that do it, you've half-way there. I've had a manager who went through my estimate and halved every time value. I couldn't explain exactly why things might take so long, but I just knew they might: if everything worked first time and you knew in advance everything you'd need to do, programming would be the sort of meat-packing job managers seem to think it is, and not than the creative art it is. (Needless to say, my guess was far closer than my manager's that time!)
    • Care about the quality of code. The quickest/cheapest may look good on a balance sheet, but it often makes things worse in the long term. Clean design, code reviews, planning for the future, reuse, etc. have benefits that can't always be measured, but are real nonetheless.
    --

    Ceterum censeo subscriptionem esse delendam.

  179. Hands in the code ... by Anonymous Coward · · Score: 0

    My manager is a coder who should probably give it up. He isn't bad at it but due to his schedule (meetings: regularly scheduled upper-management ass-kissing and/or shit-umbrella-ing) he is not keeping up with the pace of current projects. I think that it is critical for a release that a person who switches hats in mid stream make certain that they are wearing the right hat.

    I have been "down-stream" from him too many times to believe that a full-time manager can still code effectively. I can code some of my portion but if I am waiting on him to code his portion before completing mine then the whole project is screwed schedule-wise.

    So, if you are really planning to switch, please don't try to keep your hands in the code ...

  180. well, my position on managers by Anonymous Coward · · Score: 0

    is the same one on politicians. rot in hell, fuckface, no one wants another manager.

  181. Just One Thing by Mojo+Geek · · Score: 1

    What do you, as coders and programmers, want from your immediate manager?

    Respect.

  182. Pay attention to your staff by hgh · · Score: 1

    Disclaimer: I'm a Junior Developer at a relatively small consulting firm and havn't been in the industry too long, but I've noticed a lot of areas in which my management could improve:

    1. Set deadlines. This sounds really obvious and somewhat vague, but I find it very important. I work best under micro-deadlines, especially when I'm doing relatively large tasks: break down the problem and set deadlines for each part; or, ideally, collaborate with the programmer on the deadlines. Working towards deadlines will motivate your programmers and give them a sense of pride when they meet them.

    2. Give your programmers a pat on the back when they do well. Knowing your boss and your company value your work makes doing work infinitly more enjoyable.

    3. Talk with your programmers frequently, even if just for a short time. Ask them about their concerns and ideas. Programmers (myself included) are relatively egotistical and love to have their ideas heard. Be approachable too. Try not to stretch your time so thin that you can't talk to someone who has a pressing concern. Often when I have a pressing question my manager is running around doing something and doesn't have time to talk to me.

    4. Do code reviews. I've heard a lot of mixed opinions on code reviews, but I think if they're done correctly they can really do great things for a team. Firstly, it gives the manager a chance to see who is producing good code and who is not.
    Code reviews also give good coders a chance to show off their clever code to others. I can't stress this enough. I've often tried to show off some particularly clever piece of code to my manager (or whomever), but they usually don't care or understand. Code reviews give the programmer a captive forum in which to show off--definitly boosts morale.

    Good luck in your endeavours.

    -hgh

  183. need more time by neilb78 · · Score: 1

    We need more time.....please give us time to make everything work right!!!!!!!!

    --
    © 2004 The SCO Group, Inc. All Rights Reserved.
  184. as a manager, things I do & don't by Anthony+Boyd · · Score: 2

    I've read a lot of responses, and I agree with some of the things I've read. Here are few things I currently do as a manager:

    • I ask developers to put in 8.5 hours a day, just to be sure it's a good, full day. But when they start is up to them. If a developer wants to code from 1-10 p.m. that's fine.
    • I insist projects are well-planned, and I say no to people who try to sneak in extra features or tasks.

    Having said that, here are some things that don't work out in favor of the developer. They're mostly out of my hands.

    • Some developers say "that's not technically possible" when what they mean is "I don't want to do it." Three times in the past year I have taken projects away from a developer and coded it myself to prove it could be done. If your boss has to do this, your requests for management to trust your technical input are doomed.
    • Although I insist that projects be well-defined with a finalized feature-set before coding starts, my boss has on occasion overruled me. In one case, he basically said, "do whatever they want, even if they ask for 100 core changes in 100 days." THIS SUCKED.
    • If you want your manager to filter requests -- perhaps firewalling you off from Marketing, as someone else put it -- then when those same people come directly to you because they know your boss will say no, send them to your boss. I have an employee who takes all kinds of tasks on without telling me. But he misses assigned deadlines and complains that I don't shield him enough. Managers can't shield you from feature-creep and junk tasks if you take those things on privately.

    I think that last point is one of the most difficult for developers. Sometimes a small, interesting project comes along and you really want to do it. But you know it does nothing for the company, and your boss will say no. So you sneak it in. Unfortunately, that sets precedent, and others will come to you as the "get it done guy." Which is great until you realize you want your boss to filter the jobs, as long as they're lame. But your boss has a different agenda -- he or she is taking on jobs that further the company. The developer wants jobs that are really interesting. You have to decide: if your boss is a firewall, you have to respect it even if you get a boring task once in a while. If you undermine that a few times, the firewall has holes and everything will get through.

  185. What is important to me. by the+eric+conspiracy · · Score: 2

    What do you, as coders and programmers, want from your immediate manager?

    1. Honesty. Don't lie, prevaricate or dissemble. If you can't tell me about something, just say so. Don't try to feed me a line to get rid of me, either - I'll know what you are doing, and it will ruin you because then I will feel that there is no reason to tell you the truth either.

    2. Respect. I am a human being, not just a coder, programmer, geek or techie. If you don't treat me like a person I will walk out the door with all the critical information that you need to finish that project the first chance I get.

  186. Let's look at it from the other side... by Registered+Coward+v2 · · Score: 3, Insightful

    As someone who has lead technical projects, here's my viewpoint:

    1. Let me know when there is a problem - early on so I can get help and resolve it. If a spec isn't clear, let me know so I can get an answer.

    2. Remember, better is the enemy of good enough - at some point, it's time to let the working code go and not try to wring even more performance out of it - as long as it does what is needed.

    3. Sure, writing documentation and help screens suck - but everyone has to take their turn in the barrel.

    4. Don't keep trying to get your pet hardware/software through based on a project "need" or "solution." Yea, I know you want a bigger, faster box running Linux, but once it's clear that it ain't happening, constantly bringing it up as the "solution" to every problem is counter-productive. ( A real situation I ran into - one of our programers kept pushing a Linux server becasue he needed one for another project (that was on hold but that he wanted to revive))

    4. Have a life - if your getting burned out, say so. Everyone needs a break, and let me run interference for you. As a follow-on, when the rules get bent to help the team, don't brag about it.

    5. Finally, we're all part of the same team. As much as the engineer in me hates to admit it, without sales and marketting moving product, we don't get paychecks or new toys at work to play with. Th best we can hope for is to keep marketting and sales from lying to much when they make promises to a customer.

    --
    I'm a consultant - I convert gibberish into cash-flow.
  187. Looks like programmers are people too! by Mithal · · Score: 1

    I'm not a programmer myself, but it looks from the comments that what they want is simply trust, like anybody else. A PHB that trust you to do your job, and that you trust to do his own. If your good at what your doing, and your boss is good in managing, everything will turn out fine... ... if not, your bound to failure.

  188. If you don't understand, you cannot manage! by Futurepower(tm) · · Score: 4, Interesting

    Quoted from the parent post: "Just because someone isn't an expert in a job doesn't (always) mean they can't manage it."

    That may be true in some fields, but not programming. If you aren't a very, very good programmer, with an intuitive feel for coding, you cannot manage programming effectively.

    If you can't read code quickly, and see all the implications immediately, you will never know if a coder who works for you is in trouble. You will never know who is a good coder. You will never understand whether you are getting quality code, or future junk. You will never understand whether a programmer has coded himself or herself into a corner.

    Here are some examples of bad software development management. It is all my opinion:

    IBM killed OS/2 through marketing stupidity. That was 2 billion dollars flushed down the drain. They called the product "Warp", a term for something that has been damaged by being bent. They made many, many other foolish decisions. They were not attentive to business. They didn't realize the importance of having plenty of drivers for popular peripherals. Amazing. All that work of talented people, thrown away. Not just a waste, but immoral.

    IBM bought Lotus, and killed Lotus WordPro, and other Lotus products, through marketing neglect.

    WordStar was killed by a new version that lacked some of the features that customers loved.

    WordPerfect Corporation killed WordPerfect by being slow to make a version with a GUI interface. Novell bought the product, and sold it for $750,000,000 dollars less than it paid about 8 months later to Corel, I seem to remember.

    Novell killed Netware's sales potential by abusing its customers, the consultants who installed and maintained its products.

    Corel slowed Corel Draw's sales by being utterly foolish in marketing. I talked with [a top manager at Corel] for more than an hour about this. He agreed fully, but said he could not get the CEO to change things. Corel Draw is still around, but the company has laid off most of its former staff.

    Central Point Software killed PC Tools by bringing out a very, very buggy version. Before that, Central Point was doing hundreds of millions of dollars a year in business.

    Fastback from 5th Generation Systems was run by a man whose entire business history was in banking. I talked to him for about 45 minutes. He employed his daughter to do marketing. She had just graduated from university. He shipped a bad version, and Fastback died. It is now owned by Symantec, who stopped marketing the product.

    Xerox killed Ventura Publisher's popularity by continuing a design in which the drive letter and folder name were stored inside its files. This meant that the files could not be loaded from a diskette backup. Strange, but true.

    Corel bought Ventura Publisher, and fixed the file problem. Corel has slowed the sales of Ventura Publisher by poor marketing and poor design decisions. People say Ventura Publisher is the best book publishing software, but sales don't reflect that.

    PkWare killed PkZip by continuing a poor quality interface. Now most of PkWare's business has been taken by WinZip from WinZip Computing.

    I've only covered a few of the early failures here. I've said nothing about the dot-com bombs, which deserve a full investigation.

    The biggest cause of software company failure is neglecting the sociological challenges of marketing software. Usually marketing vice presidents lack the necessary skills. Often they lack both sociological skills and technical skills. Part of the marketing manager's job is to create connections between the customers and the technical staff. Usually marketing managers have no programming experience, so they have no hope of having credibility with programmers. Usually marketing managers vastly underestimate the challenge of knowing the customer's needs.

    The second biggest cause of software company failure is not understanding how to make a useful program. That means partly knowing how customers use their computers (see the paragraph above), but also thoroughly knowing the technical issues so that you know what can be and should be coded.

    When people say they can manage in a fast-growing technical field without understanding what their employees are doing, they are talking complete and utter nonsense.

    It is necessary to have a close business relationship with your coders. If you don't understand what they are doing, you can't be close to them.

    --
    Links to respected news sources show that U.S. government policy contributed to terrorism: What should be the Response to Violence?
    --
    Bush's education improvements were
    1. Re:If you don't understand, you cannot manage! by PyroMosh · · Score: 3, Insightful

      I will concede that you're probably right about programming not being a field where a non-expert would make a good manager.

      However, your points do not illustrate this. Every one of those points represents a blunder on the part of someone other than a coder or lower level manager. Marketing decisions are not made by entry level coders. Weather to go with a GUI or CLI is not a decision made by a low level coder or bottom rung manager either. It'll be made at the top of the project, if not the top of the company itself. You also don't have to be a coder to make a decision like that. Just look at the world around you. What do you see surviving in the market? There's your answer.

      Yes, I understand your point, but it was made by your more abstract arguments (prevention of painting yourself into a corner with bad code style, etc.). But I still wonder if this is necessarily true. Wouldn't this depend on your company's structure? How well you trust your coders? Netscape in it's prime, for example had the best and brightest. I'm sure it's coders were allowed far more latitude than say, coders in a non-glamorous code sweatshop like Norton or Corel or IBM. From what I know of their corporate culture, The same would not be true of Microsoft, but for different reasons.

      And let's not forget coders for non software-companies. I have a friend that's a coder for a major pharmaceutical company. Should his direct manager be someone with a pure coding background? I doubt it. Since they have needs that he's not 100% sure of himself. His boss is a coder, but he has degrees in chemistry and that's where he spent most of his career. My friend is from a pure code background and he recognizes that he lacks the expertise to manage coders in this specialized environment. In a way, yes this supports your argument. But I do know that my friend is a better coder than his boss, and I'd go so far as to say the rest of his team as well (it's why they hired him in the first place without a pharmaceutical or related background). Does his boss give him leeway with code he doesn't understand? Absolutely. That's what they hired him for. If his boss audited every line of code he wrote, he might as well write it himself and the company would save ~$80,000 (not sure) or so a year.

      Also, what happens if you're managing a small but diverse team? Not just coders for instance? Should the manager have to be an expert in coding and graphics and promotion and whatever else is on his team? Should he have to have 5+ years experience in EACH FIELD just to be a lower level manager?

      I don't know about you, but I'd rather have someone with good leadership skills who knows NOTHING about his/her subordinate's jobs but knows how to delegate authority and will listen to his/her people. All the skill in the world is a poor substitute for good leadership. You don't pay managers to do a job for your employees. You pay them to make sure that they CAN get it done.

      I used to be a member of a search and rescue unit. At one point, we got a new commander. A Lieutenant Colonel. Great officer. But he was from a Logistics background. He knew nothing of SAR. But, he listened to his people, assembled the best staff, and fought for us at higher levels in the chain of command for the resources we needed. Our unit flourished under his command until he was promoted to a higher level of command. He was a good leader. And because he knew his limitations, he was able to lead (well!) in a field unfamiliar to him. Our Air Crews and Ground teams of course had people of the proper backgrounds leading them (it's 100% necessary on an operational level), but in an office type environment? Not really. Sometimes I'd rather have a good bureaucrat in my corner in a sufficiently politicized environment. It means your less likely to get your budget slashed or people taken away from you.

      Would I always seek a manager with a related background to a job? Absolutely! But it's not the only way to make things work well.

    2. Re:If you don't understand, you cannot manage! by Anonymous Coward · · Score: 0

      If you can't read code quickly, and see all the implications immediately, you will never know if a coder who works for you is in trouble. You will never know who is a good coder. You will never understand whether you are getting quality code, or future junk. You will never understand whether a programmer has coded himself or herself into a corner.

      Your title is correct, but I think your assumptions about what "understand" means, are flawed. You're assuming that manager == mentor which is not an appropriate imposition. Management often has little to do with the specific tasks of the people he manages. The situation you describe, which requires the technical manager to be an expert, screams of micromanagement.

      I consider myself to be a fairly disciplined and decent coder. I almost never invite my manager to my code reviews because they are over his head. His strength and appropriate contribution comes not in being able to understand my code line by line and tell me where the pitfalls are, but knowing who will, and advising me who I might consider inviting both from in and outside his group.

      The technical knowledge a technical manager must possess is not in coding trivia, but rather more macro issues such as dependencies and interactions between components. One can understand these concepts without being a guru programmer. Good managers will make decisions based on the micro-level information and the recommendations presented by his/her employees. Managers who know their strengths are often like Captains of vessels. Kirk knows little about what magic Scotty works when asks for warp speed in three minutes or they're all dead. Kirk's strength comes from his leadership, his charisma, and, most importantly, that he knows who is gurus are and trusts them to make smaller decisions on his behalf.

      I'm not sure how any of the examples you gave go to illustrate your point of failure of managers' experience by way of not being able to contribute specific advice during a code review. In fact all the examples you give sound like strategic errors which have nothing to with the ability of managers to detect infinite loops or completeness.

      The biggest cause of software company failure is neglecting the sociological challenges of marketing software. Usually marketing vice presidents lack the necessary skills. Often they lack both sociological skills and technical skills. Part of the marketing manager's job is to create connections between the customers and the technical staff. Usually marketing managers have no programming experience, so they have no hope of having credibility with programmers. Usually marketing managers vastly underestimate the challenge of knowing the customer's needs.

      I agree with you for the most part on this one. Marketing's job is to (oddly enough) create or fill the market, making the technical product desirable to potential users (from CTOs to desktop enthusiasts depending on the product or service). In enterprise applications, marketing becomes more about generating hype in media and other businesses. Sales is largely responsible for creating accessability between companies/individuals and the product (note that neither marketing nor sales make the engineer accessable to the potential customers, just the product). This is where a technical understanding of the thing being sold is key. Not only that, but an understanding of the technical concepts of why the product exists in the first place and (roughly) how it works and what it can do for the customer play key roles as well. However, saying that a VP of marketing needs to be able to read code is kind of silly. I would much rather my VP of engineering have spent his time gaining experience generating and filling markets than writing software. If a VP of marketing for tech company tells me he took Fortran in college, that's good enough for me.

      It should be said that it's a two-way street. Programmers have kind of made their own bad rap by (in the extreme) becoming technical prima donnas. It is just as much the responsibility of the technical person to attempt to make the technology accessable to those less informed as it is for those less informed to attempt to understand it. Successful companies hire at least a handful of people in their engineering staff who understand the importance of this mutual effort. Oddly enough, those people often end up becoming leaders within the organization themselves.

    3. Re:If you don't understand, you cannot manage! by mbogosian · · Score: 1

      Damn, I wish I remembered to log in before posting that.... Oh well, I'll just have to try to jack up my karma by posting other people's relevent material.... Oddly enough, the article mentions nothing about needed to understand Java's threading model....

      I should add to my previous post that I still hold the highest respect for those people under whom I've worked who were hard core engineers who have successfully demonstrated their ability to lead as well. However, as time goes on, their focus has been on leading, and not on coding, so I still wouldn't necessarily invite them to a code review (don't worry, LB, I'd still invite you :>).

  189. A PHB who wants to do good? by Document · · Score: 1
    Geeze, where do I start?

    *Takes Breath*

    - Listen to your employees
    - At least take ONE class in programming
    - Give your employees time to plan their applications
    - Stay off the servers
    - Stay out of the code
    - Never use the following terms:

    "custom module based componentry"
    "pro-active engineering"
    "pseudocode"
    "dynamic"
    "cutting edge"
    "LifeBlood of computers"
    - Don't nod your head unless you understand
    - Don't talk if you don't know what the discussion is about
    - Don't Suggest anything unless you know what you are talking about
    - Leave the programmers to their job and never micromanage
    - Don't promise customers deadlines that will require programmers to work 80 hours a week
    - Don't sexually harass the women
    - For the love of god, avoid buzzwords like the plague
    - Don't get upset when an employee knows more than you
    - Don't get upset when an employee corrects you when you are wrong
    - When your employees roll their eyes, it's an indicator that you need to catch up

    *Breathes out*

    I could go on for hours, i have the phb from hell, when you take the path down the management road, just remember to try and keep your competence.

  190. Predicates and Programming by Baldrson · · Score: 2
    A programming manager must, first and foremost, be able to translate the business needs into language the programmer can understand. It's the programmer's job to translate the needs into working systems that fill those needs. The trick for the manager is understanding that the primordial business predicate is "Take the action that maximizes the business's risk-adjusted net present value." and, with context sensitivity (corporate policy, resources, etc.), deriving all his other predicates, with which he informs the programmers, from that one.

    It's a bitch but someone has to do it.

    Note I am not here saying that you do a "water fall" process where you go off with the customer (internal or external) and come up with some theory formalized in predicate calculus. That just doesn't seem to work at all. What I'm saying is that your process, whever it is -- rapid/rabid prototyping, function point analysis, etc. -- must produce the clear connection with business needs starting with the RANPV bottom line.

    1. Re:Predicates and Programming by Spinality · · Score: 2

      A programming manager must, first and foremost, be able to translate the business needs into language the programmer can understand. -- Baldrson

      Uhh, good concept, but not usually the programming manager's job. What you're describing is typically the job of an analyst or product manager, or perhaps an architect -- somebody who understands (and is responsible for) the overall business model. In most organizations, the programming (middle-) manager's job is to accept the business model from 'outside' (i.e. from a business plan, a product plan, consultants, whatever -- 'revealed truth') and then ensure that the project priorities are consistent, and that the programmers aren't fucking up. This is not to trivialize how important such a role is (and naturally, you should try to understand the business framework as described by Baldrson; but it's not truly your job). Most failed projects have at least one bonehead who should have seen what was going wrong at a technical/managerial level, and why -- and though the problem is often at the design end, it's often at the implementation end, where days are being wasted on a stupid source management tool, or the lead programmer is spending too much time in the sack with the lead analyst.

      The key thing here (the difference between long-term project failure and success) is whether the middle manager can distinguish between a) a really good technician who gets caught in a cleft stick because of bad specs, versus b) a bullshit tech weenie who gets over his head and can't figure out his tools, or c) several good folks who just waste time and can't cooperate because of divergent assumptions.

      So at the bottom, a good tech middle manager never loses touch with current technology, and never loses the respect of the first-line troops, and, most importantly, can NEVER be buffalloed by a new techie who pretends to be up-to-date but who is in fact just coasting to Friday night. (Though protecting Friday nights is also pretty important for the long haul.)

      Let me try to put it differently, and see if anybody disagrees. Being a GOOD middle manager is fundamentally a harder job than being a good entry-level coder. (The proof is that: most managers fail to deliver the goods; but when you DO have a good manager, you can't believe how lucky you are.) So to succeed, you need to stay even MORE up to date than you were as a heads-down coder, and you need to learn/invent/absorb good leadership skills to transform 'herding cats' into 'leading a team.' You might try joining the Boy Scouts (no kidding, they have really good adult leadership methods).

      At the end of each day, you should see how your work has a) helped the techie do a better job, and b) reduced the risk of an apocalyptic failure for the PHB's upstairs.

      --
      -- We all have enough strength to endure the misfortunes of other people. La Rochefoucauld
    2. Re:Predicates and Programming by Baldrson · · Score: 2
      A programming manager must, first and foremost, be able to translate the business needs into language the programmer can understand. -- Baldrson

      Uhh, good concept, but not usually the programming manager's job. What you're describing is typically the job of an analyst or product manager, or perhaps an architect -- somebody who understands (and is responsible for) the overall business model. In most organizations, the programming (middle-) manager's job is to accept the business model from 'outside' (i.e. from a business plan, a product plan, consultants, whatever -- 'revealed truth') and then ensure that the project priorities are consistent, and that the programmers aren't fucking up.

      Actually, if I understand what you are saying correctly, the only difference between my statement and yours is the chain of communications of the business need. You say the manager can be bypassed and I'm saying that it is in the primary object of his job that he understand both cultures, the analyst/architect "revealers of truth" and the programmer culture, and that he is bypassed in this role of translator when it is necessary to cross check his job performance -- not in the primary course of events.

      This difference is probably due to my belief that large organizations standing between customer and engineer are almost always con-jobs by middle management -- and these con jobs are dependent on the breakdown of communication of business needs between the executive suite and the front-lines. I think there is ample opportunity to observe the facts of the matter and, seeing your 25+ years of experience it is hard to believe you haven't learned that same lesson.

      All the other attributes of managers you discuss derive from this primary interpretive function and, indeed, without it, all those other attributes are rendered without business value precisely to the extent that they are independent of business reality.

  191. What's Worked for Me by AtomicSnarl · · Score: 1

    This is the life I live now! My job as a weather forecaster and computer geek graduated into becoming management in charge of technique development. I get taskings like "make a new tool to forecast frost probability." These become codes and scripts which dip into our "9 GB Fresh Daily!" Oracle database to crank out tailored products for various customers.

    I'll save you all the rants about code walk throughs and other such guy-in-charge type stuff and concentrate on the "How to be a Manager" items:

    1. Twaddle Filter: You are the interface between the people who want something, although they might not know what, and the people who can make it happen. If your tasker types aren't clear on what they want, it's up to you to either drag it out of them, or use your team (and politics?) to tell them what they actually want. Look past the tasking and concentrate on the output. If you can corner them into telling you what they NEED (vs. want), you're off to a good start. It will change, to be sure, but now it's negotiation to improve, not disappointment at having failed to "understand."

    2. Defender of the Faith: Yeah, it sounds like BS, but teamwork revolves around a team, and you must make it so to suit your needs. If upper management dumps on you, stand up and remind them why you do what you do -- serve the customer to profit the company. Likewise, if your team has cranio-rectal inversion, let them know that fun's fun, but paychecks are week-to-week. You want milk from the cow? Feed, protect, and care for it!

    3. Calmer of Ruffled Feathers: People skills! Stay on top of who's (not) talking to who, both above and below you. If you can find a way to treat problems as opportunities, you will put your self in the good graces / esteem of the fixee. This can dull the blade of cutthroat politics if you have the misfortune of dealing with that sort of thing. If it continues, at least you're collecting blackmail ^H^H^H^H motivation brownie points.

    4. Skill Sharpener: Projects and urgencies permitting, beg, borrow, blackmail, or cajole anyone who can serve you into coughing up $$ for training. Whether it's SmartForce CBT modules or $40 toward getting a new copy of "Pearl for Dummies," grab it and use it. Document your people's training courses for those annual reviews and raises.

    5. Self Defense: Some must reading for management above and beyond the usual "Sun Tzu - The Art of War" and "Book of Five Rings" stuff:

    The Art of Deception by Nicholas Capaldi is by far the best guide ever for beating the worst office politician, used car salesman, or oily customer rep to ever cross you path at their own game. Read it. Live it. Prosper!

    --
    Pacifist paratroopers yell, "Ghandi!" when they jump.
  192. Oh, really? by autocracy · · Score: 1, Troll

    Most above average, eh? Want to explain THAT to me? Kinda defies the idea behind AVERAGE

    --
    SIG: HUP
    1. Re:Oh, really? by dillon_rinker · · Score: 2

      Re-read that carefully...it's "most ABOUT average." Thank you for proving my point.

    2. Re:Oh, really? by tve · · Score: 1

      Most above average, some really, really stupid. Change your ideas about the idea behind AVERAGE.

      --

      If there is hope, it lies in the trolls.
    3. Re:Oh, really? by Jouster · · Score: 1

      And, might I add, in the data: { 1, 2, 6, 7, 8 }, over 50% of the elements are "above average." So even if your misreading had been correct, you would still have been wrong. --J

  193. Leadership tips by BoneFlower · · Score: 2

    Heres a few leadership/management tips I learned in the Marines:

    1- Stick up for your subordinates

    2- Listen to what they have to say, but be willing to go against their advice if needed. Be flexible but make sure they know you are boss.

    3- Before you change things, make sure you understand why its being done the way it is, and what you intend to get out of the change.

    4- Give them an end state, not a procedure. This allows them the freedom to come up with unique solutions to problems, while ensuring the end product is what you need. Only put the bare minimum restriction necesary to ensure compatibility and legality.

    5- If someone willfully fucks up be firm but fair in your response. If they fuck up because they try something new that doesn't work, accept that progress sometimes means finding out what doesn't work as much as finding out what does. In all cases of correcting mistakes/misconduct, try to help both the company and the individual worker in your actions.

    6- Constantly be on the lookout for ways of improving your managerial skills and understanding of your workers jobs.

    7- Be honest with your superiors and juniors, whether its good news or bad.

    8- Whenever possible, don't chew someone out or denigrate someone in front of their subordinates. Take them aside privately if such action is required. Of course, if its an immediate safety issue disregard this if necesary.

    9- Never set a standard for them that you cannot or will not hold yourself to. Encourage them to go higher than you can/will go, but never require it.

    10- Treat them with respect, and work to earn respect in return.

    Leadership in any capacity is an honor- don't fuck it up.

    George E Worroll Jr, Cpl/USMC IRR(for a few more days anyways)

  194. conflict by yerricde · · Score: 1

    Just wait for the result. It works? It has been finished on time? It looks bug-free? Ok. So why yell because the guy used his favorite tools instead of arbitrary recommended ones?

    Because the system it runs on happens to have a conflict with the client's hardware or other installed software. Oops...

    --
    Will I retire or break 10K?
  195. What's scripting? by yerricde · · Score: 1

    That said, it's not as if you can go out and claim any programming job without a degree, unless you are coding web scripts for Amazon. This is NOT programming. It's scripting. And frankly, anyone can learn to Script in 21 days.

    What's the precise difference between programming and scripting? It's not whether the program needs to be compiled from a human-readable form into a binary file before it's run, is it?

    --
    Will I retire or break 10K?
  196. Don't try to hurry by Anonymous Coward · · Score: 0
    I think one of the important things to keep in mind is: a little time spent now will save you loads of time in the future. At my (now defunct) company, conversations usually went like this:

    Bugmaster: Ok, this will take me 5 days to implement.
    PHB: You need to make it sooner. Why not just hack something for now ? Here's how you can hack it: ...
    Bugmaster: Because then it will become impossible to maintain; in addition, it might backfire as follows: ...
    PHB: Just hack it.
    a month down the line
    PHB: Hey, we have this bug, and when I looked through the code it was a total mess !
    Bugmaster: This bug is probably due to the hack we implemented last month. Everyone ended up copy-pasting the hack, so the bug is everywhere. This would not have happened if we wrote a general API like I originally suggested.
    PHB: Hack around it.

    No wonder the company is extinct...

  197. A perfect team by Malduin · · Score: 1

    I was recently employed as a Client Services Representative at a now-dead company. But while I was there, my boss and I undertook a project to create a mission critical system for the company that everybody wanted but nobody would attempt. We started the project out of need due to the fact that everything from order processing to tracking and monitoring etc was left up to the client services department. All the while, the department was not given the budget or the resources to handle all these tasks with just a handful of people and no information to go by. So I started working on a small site just to help myself out but my boss caught on to the idea and wanted me to go all out on it. After a few months of him speccing out the project with all the functionality and features and me making it happen, we were able to anticipate what the other was going to do or ask for next. He knew when I was feeling overworked or needed an extra hour break and we often went off to a local fast food restaurant to grab a Coke and discuss things.

    Since this was all being done within the client services department and by a "novice" programmer, political heat was started and some parties wanted the effort moved to the research and development people. My boss and I felt that since we dealt with it every day and were using it, we would know what would work the best and how it would work the best. With all the controversy, a shitstorm was amidst and my boss was there to shield me from 90% of it while I still worked on the project. Occasionally, I would have to go to a meeting with my boss to argue some points about the project with others in the company, but he would do most of the talking with me there to correct anything that was wrong and to offer backup in case someone thought he was lying.

    After 6 months of the project's existence, people in the company actually took notice that it was working, and working well. About a month before the company filed for bankruptcy, the project was deemed official and would be used as the main repository of information and began allocating more resources to get the job done. Eventually, the company filed for bankruptcy and then closed and the project died.

    Moral of the story:
    1. Know your employees
    2. Listen to your employees
    3. Trust your employees
    4. Try to shield your employees from any political interference (it's impossible to block it all)
    5. Even though meetings take away coding time, don't be afraid to drag employees to them every once in a while if it is needed
    6. Reward your employees (extra day off, extra hour break, raise, whatever)
    7. Despite the heat, don't give up
    8. Repeat steps 1 through 7 as needed

  198. I've got it by Mojo+Geek · · Score: 1



    I want a PHB
    Just like the PHB
    That served for
    Dear old Dad.

    </MUSIC>

  199. Re:I want a smart boss! by Darth_Burrito · · Score: 1

    Work in a small company 50 ppl, you will likely work for a smart boss.

  200. Galaxy Quest by Tablizer · · Score: 1

    PHP's are heading toward the center of the Galaxy in droves. A reporter discovered that they saw a headline in the science section of the Sunday newspaper, and mistook it for a want-ad. It read:

    "Hot air that orbits black hole"

  201. (typo correction) by Tablizer · · Score: 1

    Uh, that should be "PHB" and not "PHP". Sorry 'bout dat.

  202. consultants by More+Trouble · · Score: 1
    Most consultants I have dealt with were carpetbaggers. It's the nature of the job...you come in, you recommend the setup you've recommended for the last fifteen jobs, and you leave before the dust settles.

    Most consultants have no idea what they are talking about. It's hard to come into someone's office as if you have answers when you don't. Honest consultants are looking for a good answer. If you provide them with one, they will advocate your answer to your PHB. Use this knowledge carefully...
    1. Re:consultants by Anonymous+Brave+Guy · · Score: 2
      It's hard to come into someone's office as if you have answers when you don't.

      Nah, that's the easy bit. It's coming into someone's office and having the answers that's hard.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  203. "Sure. We can do that..." by Anonymous Coward · · Score: 0

    Those five words have sunk more projects than you would believe. Everyone makes statements like that when trying to sell work. Consult your technical folks before committing to it, though.

  204. agree, but... by ragnar · · Score: 2

    I agree, however this causes a problem if the proposed technology isn't widely known. Mind you, I'm a fan of several obscure technologies, but the PHB has to consider the code maintenance in the long term. Standardization tends to make for slow adoption of new things, but it is the tradeoff.

    --
    -- Solaris Central - http://w
  205. Stand by the results of What FuckingWorks(tm) by jasonrfink · · Score: 1

    Many people will tell you many things. Rest assured what I am going to say will not seem unique, but it bears thought.

    Many managers often are caught up by commercialism in magazines or even the tele (altho, to their credit, even most tech managers see the folly in TV). I am assuming you would not be such a manager, so let me say a few things now that my snappy headline has caught your attention.

    Do not try to have a solution looking for a problem, please. Consult your people and listen to them, even the longhairs. Too often management folks, and not say just you but say your boss, sees something and thinks - wow, this will end all of our problems. Yeah .... right. Don't be that guy. Fight, remember, you can move your family in with relatives if the going gets tough!

    Think clearly, while someone might say here that m$ is wrong, who is to say Linux is better? Or BSD for that matter? your job is to match the problem. Sometimes that calls for something completely different.

    Think outside of the company. Many people have a tendancy to look strictly at the needs of or the ideals of particular corporate culture, whether a college or dildo factory. Okay, the latter is probably a little more limited in scope compared to the former but you get the idea. Think about the technology you are implementing, how long will it last? Is it extensible? Can my staff MAKE it extensible? How much am I paying and for how long, is the return really worth it?

    Last but not least, and I cannot stress this more, paying for a higher quality staff will result in long term gains. Filling air-beather slots will kill you. I am living proof of that idea. I am paid slightly above the average SA salary (the old carrot deal) and people have no idea who I am even though I have around 200 command line users and around 1000 abstract users across roughly 10 systems. I rarely, if ever, get called. The same goes for our backbone engineer who can setup a VPN with his eyes closed.

    Invest in people, and you will have nothing to lose. Invest in products, regardless of the vendor, and you are fucked.

    In the arse I might add.

    Thats my penny ante for you, I hope it helps.

  206. Peopleware by Renegade+English+Maj · · Score: 1

    If you haven't already read it, I recommend the book Peopleware by Tom DeMarco and Timothy Lister. In addition to being highly readable, it offers some genuine insights into what makes Engineers productive.

  207. Opinion from the field by malachid69 · · Score: 1
    Personally, I find middle management to mostly get in the way. Most of the time, things get accomplished faster when we go directly to the upper management. However, that can become very time consuming. Lower management should be there to take care of obstacles to us meeting our deadlines or enjoying our jobs. I definitely prefer the managers that are coders though, so if the upper management in an organization are NOT, then lower management can provide a buffer to explain what we can accomplish in a given time frame.

    But realistically, ANY manager would do better to read through and UNDERSTAND the Hackers Employment FAQ.

    --
    http://www.google.com/profiles/malachid
  208. The old-fashioned way: Knowing what you are doing. by Futurepower(tm) · · Score: 2

    "Every one of those points represents a blunder on the part of someone other than a coder or lower level manager. Marketing decisions are not made by entry level coders."

    That's exactly right: "Every one of those [amazingly self-destructive business failures] represents a failure on the part of someone other than a coder or lower level manager." Whoever failed destroyed his or her own company and cost a lot of pain and millions of dollars. The person responsible for the failure: 1) didn't understand the technology thoroughly, or 2) didn't understand the sociology thoroughly, or 3) didn't understand either.

    Creating software is creating intellectual property. It is a big intellectual challenge. Creating intellectual property cannot be reduced to crank-turning. They don't teach it in a university. You have to do it the old-fashioned way: You have to know what you are doing.

    --
    Bush's education improvements were
  209. My Preferences. by keithdowsett · · Score: 1

    1) Act as an interface between the programming team and the sales/client world.

    2) Control the creeping feature problem

    3) Buy a big whiteboard and use it to keep the project hit-list in one corner. When a problem arises or a milestone is getting close it goes on the hit-list. The rest of the board is for the programmers to explain stuff to each other.

    4) Review the interface descriptions for what people are building. You probably don't need to know exactly how things work, but you _must_ ensure that all the bits fit together

    5) Plan training and career development for your team, and ensure that it happens.

    6) When a project is completed on time and under budget, spend some of the remaining money on the team. If you're waaay under budget (does happen occasionally) host a party for some customer types so the programmers can show off how cool they've been.

    7) Give the programmers some slack, but not too much.

  210. OT, but open workspace sucks ass by Anonymous Coward · · Score: 0

    An office is the best, then comes the cubicle and the loser is "open workspace". Its only purpose is not to promote communication, but to generate a social pressure so that everyone watches each other. ("Look now he's surfing, oh my")

  211. leave me alone = Recipe for disaster by StrawberryFrog · · Score: 3
    A boss who leans over your shoulder every five minutes and gives misguided advice is a useless, but Leave me alone until I'm done is equally fatal. The majoroity of programming projects are characterised by deadline overruns.

    There is a happy medium. "management is about balance" as someone else remarked in here.

    Or, "don't go dark" as another project management guru remarked: If your project is in an unknown state, get it into a known state as soon as posible. Knowing that you are overtime is always better than not knowing.

    My ideal boss in this case would:
    - Orgainsise so that there is a real-world deliverable that will get used and bring feedback from end-users within six months.
    - Help set milestones towards that occur regularly on the way to that goal.
    - Make sure that activities besides coding take place, such as QA, code reviews, a modicum of design, documentation, etc.
    - Ensure that the users are consulted so that what they get initially is vaugly usefull to them.
    - Have a development meeting roughly once per week so that we can see if we are meeting our milestones, and if not, then revise our schedule, throw out features, or otherwise make sure that we are still in contact with reality.

    --

    My Karma: ran over your Dogma
    StrawberryFrog

  212. Real time management. by FTL · · Score: 2
    > What do you, as coders and programmers,
    > want from your immediate manager?

    The best manager I've ever had put in roughly the same hours I did. If he tasked me with a job that forced me to stay late, he'd stay late too and help out as best he could. He wasn't a programmer, but he'd find ways to be useful with QA, documentation, gopher, etc.

    By contrast the worst managers I've had invariably kept regular office hours regardless of what the programmer(s) were up to. As a result they'd have no clue what was going on, they'd become adversarial, and they'd eventually loose our respect.

    Don't sechedule meetings with your staff, spend real time with them.

    --
    Slashdot monitor for your Mozilla sidebar or Active Desktop.
  213. Leadership by darthtuttle · · Score: 1

    There's one thing I look for in a PHB, strong leadership. People need leaders, and strong willed intelligent people need a strong leader. If not your group all does whatever they think needs to be done, but since your the filter for the politics and company goals your going to be the one in a position to know where to go. Set the goals, motivate your people and lead them there. If you can be a strong leader with a group of coders you can probably lead anyone, but it's a hard skill to learn.

    --
    Darthtuttle
    Thought Architect
  214. A techy boss by prestwich · · Score: 1

    A boss that is techy enough to understand why things work.

    I've got a boss now who I respect for his coding skills and his knowledge. Thats GOOD.

  215. About foosball ... by GreenEggsAndHam · · Score: 1

    that's for the geeks who have nowhere to go outside of work. They have pizza boxes stacked up to the ceiling in their houses so they stay 12 hrs at work where it's clean and bright.

    When you spend that much time at work, you also need the entertainment.

    QED

  216. No,no,no... by Anonymous Coward · · Score: 0

    The attitude that you know everything already and asking other people's opinion is dishonourable and shameful is a requirement for programmers - this guy wants to be a manager.

  217. Make sure you have testable requirements by rben · · Score: 1

    In my experiance as a Quality Assurance geek and programmer, having well defined requirements is vital if you want good code. When the requirements document is written, you should be able to think of a test for every requirement in it. If you can't think of a good test, the requriement isn't clear enough. Enforce that as a manager and your programmers will love you.

    Ray Benjamin

    --

    -All that is gold does not glitter - Tolkien
    www.ra

  218. let me complain!!! by BroadbandBradley · · Score: 2

    when I don't like somthing, I'd like to curse and call it a pile of shit without my manager having "concerns" about my attitude. Some things I don't like, but mostly I find I need to "fly low and avoid the radar", less I be seen as a negative person.
    Of course this negates any input I have positive or negative, which hurts the company in the long run.

  219. Absolutely by Anonymous Coward · · Score: 0

    The last company I worked at decided they needed to have a WEEKLY company-wide mandatory meeting. They were only about 25-30 employees (now down to 12, no surprise), and there was never any agenda or anything that required everyone to have so much time wasted...you see, everyone was working on something different, with different tools, but as Peopleware says, status meetings aren't about status of the project, it's about status of the manager. I was almost relieved when I was laid off from that joke of a workplace - when they decided to do these stupid meetings, and subject us to other silly things like "core hours", it was already too late - the market was so far in the crapper that it was impossible to find other work.

    In any case, let it be known that these weekly pointless meetings added the most to the staff's demoralization...it didn't help that the weekly meeting was mostly a weekly "spin" session - where we were always told that the condition of the company is absolutely spectacular despite the constant firings and layoffs. ;)

  220. increasing "manpower" in your project by Anonymous Coward · · Score: 0

    dont ever add manpower to your projects running late. i have had first-hand experience about its futility in one of my earlier projects.

    As Frederick Brook points out in the Mythical Man-Month: Adding manpower to a late project makes it later!!!!!!!

  221. Sounds extreme? Yes. But it is also true. by Futurepower(tm) · · Score: 2


    From the second-to-last paragraph of the parent post: "However, saying that a VP of marketing needs to be able to read code is kind of silly."

    I realize it sounds extreme, but I think it is correct.

    Either managers understand what is happening, or they don't. A top manager, who has not programmed and cannot read code, cannot possibly understand the very varied mental challenges of programming. If he doesn't understand, the decisions he makes will sometimes be flawed. The dot-com failures are good examples of this. Billions and billions of dollars were lost.

    Sometimes changes to software that sound simple are very complex. Sometimes complex requirements are simple to program. Top managers need to know what is a reasonable request and what isn't.

    I once wrote a report that showed more than 500 new numbers about sales data, but was quite simple to program. I was lucky to find an efficient algorithm.

    On the other hand there have been times when correcting a seemingly small shortcoming would have required a major re-write.

    Anyone who disagrees with this is invited to supply his or her own explanation for the dot-com failures.

    --
    Bush's education improvements were
    1. Re:Sounds extreme? Yes. But it is also true. by thetman · · Score: 1
      re:I realize it sounds extreme, but I think it is correct.

      No it isn't. It's wrong. I would be preferable, but not required.


      Re:Top managers need to know what is a reasonable request and what isn't.
      No they don't, they can ask a trusted programmer to tell them which requests are reasonable and why.

      You silly little boy....

    2. Re:Sounds extreme? Yes. But it is also true. by mbogosian · · Score: 1

      Either managers understand what is happening, or they don't. A top manager, who has not programmed and cannot read code, cannot possibly understand the very varied mental challenges of programming. If he doesn't understand, the decisions he makes will sometimes be flawed. The dot-com failures are good examples of this. Billions and billions of dollars were lost.

      I agree with your first statement. Your second is suspect. The third is correct, and the fourth is just plain wrong. The dot-com failures were not due to poorly-implemented technology. They were due to ridiculous business models and mismanaged spending. The failure of Pets.com had nothing to due with the robustness of its application. The same with OS/2.

      To your claim that, "A top manager, who has not programmed and cannot read code, cannot possibly understand the very varied mental challenges of programming," I disagree. In fact you almost make my point for me by going on to say....

      Sometimes changes to software that sound simple are very complex. Sometimes complex requirements are simple to program. Top managers need to know what is a reasonable request and what isn't.

      Anyone who doesn't understand this, whether they have programmed or not, is an idiot and certainly does not belong in a position of leadership. Every manager needs to know what a reasonable request is. But this knowledge should come from his/her employees and their recommendations and assessments, not his own derived from reading thousands of lines of his/her employees code (or worse, only bits and pieces). That is, unless of course, you're advocating a very small team of micro-managed code monkeys, but that kind of operation does not scale, and it's not very creative either (so your likely to get shitty code secretaries).

      However, claiming a dependency on programming is not, logically speaking, enforcable. There are plenty of proofs by counter-example (in my experience alone). Statistically, you may find that more times than not, managers who have programmed are more likely to appreciate nuances of technology, but there are people who are as perceptive and knowledgable (and experienced) in those areas who have not spent more than a required semester of college programming, or even high school geometry.

      You're making a generalization where you have an emotional guess/gut feeling based on your past observations about the coincidence of technical managerial skill to amount of experience "in the field".

      To the point of the original post, I commend the poster and think that he has hit the nail on the head with:

      I think many of us would rather like one who listened or who would at least take advice from the technical staff to heart. Many times managers will not consult their coders when they make plans, they'll make the plans first and tell their coding staff later, and this causes all kinds of problems.

      By recognizing that he is not the most knowledgable about the subject, and empowering his employees with the ability to educate and recommend a course of action, he has demonstrated a critical characteristic of a leader. He should also focus on motivation and fostering creativity. If he keeps the mind frame that the manager is the client of the coder, and vice versa, that will be a necessary step to creating a work place where engineers can be productive and happy. None of that requires understanding the faults of GOTO or understanding Djykstra's algorithms (which I would argue that most people who claim themselves to be "coders" don't anyway).

      Personally, I would prefer a technical manager with coding experience. I would also appreciate a sales person with coding experience. That doesn't mean that there are those without it that cannot be effective or valuable.

      Does it not sound absurd to say that an programmer must have sales experience to be effective? Sure, it's a plus...the engineer who's spent time dealing directly with customers will be more likely able to meet future needs in a reasonable fashion, but I've never heard of anyone complaining that companies need to hire more programmers with marketing backgrounds....

    3. Re:Sounds extreme? Yes. But it is also true. by Cro+Magnon · · Score: 1

      One of the best supervisors I worked for was a medocre programmer. He hadn't done any coding for decades, and was more comfortable with "boss-speak" than "tech-speak". But, he made sure that he knew what was going on, and when he needed a technical answer from someone, he knew who to ask. Programming skill is not essential for a manager; in fact I've known some sharp programmers who sucked as managers. A programming supervisor should either know enough about the field to know what is or isn't a resonable request, or know who to ask and be willing and able to trust him/her.

      --
      Slow down, cowboy! It has been 4 hours since you last posted. You must wait another few hours.
  222. Good management by Anonymous Coward · · Score: 0

    I don't think you need to be an expert programmer
    to be a manager, but it is certainly true that if
    a programmer tries to explain a technical issue,
    you NEED to be able to understand it. That means
    you need at least 2 or 3 years programming
    experience and that you can't be coming from a
    background of having been a programmer and no
    longer wanting to worry about the details. It is
    very easy to ask for a new feature or a change
    to existing code that sounds trivial but has vast
    technical implications (worst case it may not
    even be possible). You need to have a feel for
    the complexity of a problem or request for code
    change in the first place, and when further
    issues arise, you need to be able to understand
    these issues when a programmer presents them to
    you. Ideally a manager should also have a good
    grasp of the business issues as well in order
    to understand the business' concerns.

    A good manager is therefore a competent
    programmer, a reasonably good BA, and of course
    a good planner and communicator as well. I've
    only had a few managers I'd consider good, and
    the further up the chain they got, the less
    suited they would become to directly managing a
    small team - they become less and less in
    practice at understanding code/technical issues,
    and don't tend to keep up with the technology.
    Certainly few managers continue to play with code
    on the side in their spare time.

  223. Fire the Idiots!!! by RoscoeChicken · · Score: 1

    At the very least, don't hire someone to do a technical task who isn't up to doing the work. I've dealt with plenty of folks who were hired because they told a hard-luck story, filled a quota number, or had connections.

  224. It works both ways by reynolds_john · · Score: 1

    I think there is an awful lot of talk about how a boss should react, plan, and do, and very little about the personal responsibility of the [geek] programmer.

    Managers are typically bound by a huge number of constraints - political, social, budgetary, etc. I think many here expect their management staff to have the same level of knowledge as their coders, dba's, etc. In my opinion, this is the last person I want as a manager (more about that below).

    It is our duty to learn how to communicate our needs and thoughts in coherent, non-technical manners to (mostly) non-technical managers. We should be able to sway opinion and drive needs as much as upper management. Education is the key - both up and down the management chain.

    As far as having a technically sound manager - I personally would rather have one that listens to me rather than has his/her own predetermined opinions on technology. I think that Managers need to be more socially mobile and agile than technically sound in order to get the political backing they typically need for technical projects.

  225. Hmm... by Hard_Code · · Score: 2

    I tend to prefer PTBs (Pony-Tailed Bosses), and GBBs (Grizzly-Bearded Bosses). They're usually more in tune with programmers.

    --

    It's 10 PM. Do you know if you're un-American?
  226. Great programmer does not imply easy to manage by Improv · · Score: 2

    Do you really think that one must be easy to
    manage in order to be a great programmer? I've
    seen a lot of really good coders who won't put
    up with people making them miserable.. Of course,
    I've also seen good coders who will.. the point is
    that there probably isn't a correlation between
    'easy to manage' and 'produces good code'.

    --
    For every problem, there is at least one solution that is simple, neat, and wrong.
  227. First, read through the existing art.. by thoglette · · Score: 1
    If you haven't done so all PHB should read:
    • Peopleware
    • The mythical man month
    • Deathmarch
    • The software development process

    There's another book which is worth the cover price just for three diagrams on the time dependence on the accuracty of estimates; the probability of completion at any particular date and the minumum cost of completing by any given date. Of course it's name escapes me (otherwise it'd be on my shelf).

    All coders should have read
    • Code Complete
    • A discipline for software engineering (CMU)


    Beyond these (and the obvious things listed in other comments) there are a few things a tech PHB needs to do

    • Solve your team's non-technical and external problems. Keep them feed, watered and tooled up.
    • track your issues, bugs, externalities and risks.
    • seperate the knowable (the code grinds) from the unknowable (bug hunts) and handle them appropriately.

      Bug hunts need to be contained: if someone cannot fix it in the allotted time, escalate the problem. Even to the point of clean rooming the design.
    • work out which of your team a) do know how a give task will take them and b) will do their best to deliver on their commitments to the team. And start remedial action on those who don't. "Special" is as in "special school".
    • review your team's code and designs.
    • unless you have a real end-of-the-world dead line, kick everyone out of the office at 6pm.


    Remember, you are asking your boss/customer to trust you with their money. And your team with their (working) lives.

    CD


    Planning is the process of bringing the future into the present so that you can do something about it.
    (Anon)
    --
    -- Butlerian Jihad NOW!
  228. I was making a different point by Spinality · · Score: 1

    All the other attributes of managers you discuss derive from this primary interpretive function and, indeed, without it, all those other attributes are rendered without business value precisely to the extent that they are independent of business reality.

    There's no real disagreement here, and certainly not about the importance of understanding business needs. But since the original request was for career advice, I thought it was useful to point out that, in all but small development organizations, the first- and second-level development manager is first and foremost a RESOURCE manager rather than a PRODUCT manager. The company expects that person to serve as a technical coordinator, forecaster, troubleshooter, and mentor, but typically NOT as a business analyst or architect. The new manager will typically be judged in terms of technical results -- what was done on time, what was late, how many bugs appeared -- rather than business results, which are the responsibility of people in a different chain of command. Furthermore, although the new manager may and should have input to questions of design/functionality/business purpose, in many organizations what filters down to the technical level doesn't leave a lot of wiggle room. The specs are the specs. It's an advantage to understand them and be able to explain them; but at this level, it may not be practical to challenge them or reinterpret them, and it's often more important simply to stick to them as written.

    This division of responsibility is not actually as unreasonable as it may seem, because these low-level technical managers typically do not have the business experience to understand the underlying business needs that you (correctly) identify as being vital to long term company success. You can't go overnight from being a JAVA hacker to being a business planning or reengineering expert.

    This being said, naturally it is in everybody's interest to strive to understand the user perspective and try to relate technical priorities to business needs -- no question. But to prepare yourself for a switch to management responsibility, I'd say the most important thing is to focus on 'management' and 'responsibility' -- getting good at making lists, following schedules, conducting walkthroughs, constructive brainstorming, and above all basic interpersonal skills such as how to critique without insulting, how to negotiate competing priorities, and how to resolve conflicts.

    Again, this is less true in smaller organizations where a direct connection to user requirements pervades the entire staff. In those situations, the first-line manager is heavily involved in the interpretive function you describe, as is (or should be) every technician as well.

    So I don't discount the importance of the communications role you mentioned; but in my experience, technicians who move into their first management jobs are most challenged by management problems, not by design problems.

    I might add that it may sound like I'm advocating a kind of old-style programmer-in-the-closet approach to development. I'm not. It's ALWAYS good to have close links between developers and users, and the more a technician understands about the business environment, the better. (In fact, if the original question were "how can I be a better developer?" I'd say your advice would be right on the money. Who would I rather had a close understanding of the application -- the person doing the development, or the one who manages vacations and budgets? The developer, absolutely.) But companies are the way they are, not the way we wish they were. And so, IMO, to prepare for a technical management career in a mid- to large organization, learn the business by all means, but plan to focus on and be judged by your management skills.

    --
    -- We all have enough strength to endure the misfortunes of other people. La Rochefoucauld
  229. What Kind of PHB Do You Want? by sckeener · · Score: 1

    What Kind of PHB Do You Want?

    wow...I thought this article was going to be about different players hand books for D&D....

    I had this whole idea of posting something about wanting a phb where the pages don't fall out.

    --
    "Only one thing, is impossible for god: to find any sense in any copyright law on the planet." Mark Twain
  230. What Kind of PHB Do I Want? by Anonymous Coward · · Score: 0
    In no particular order:
    1. Consult with your people before making decisions that affect them. This is especialy important for budget and schedule commitments.
    2. Treat eveyone as an individual. Tailor rewards to what the specific employee values.
    3. Kill the bullpen. Now. I know that the open office is as trendy as fornication, but it destroys both morale and productivity.
    4. Ensure that your people have adequate resources, including working surfaces, storage space, programming tools, large displays and a library.
    5. Don't ask questions unless you are prepared to accept the answers.
    6. If you have design and code reviews, then read the material to be reviewed prior to the meeting.
    7. Keep you people informed of decisions that will affect them.
    8. Be respectful towards your employees. Don't confuse formality with respect.
    9. Provide feedback.
    10. Require your employees to take periodic breaks. This is especially important if they don't think that they need one.
    11. Keep looking for ways to help your employees reduce stress.
    12. Don't micromanage. Tell senior people what you want and trust them to figure out how to do it. Don't freak out if it's not how you would have done it, as long as it meets the criteria and constraints that you gave them.
    13. Provide a comfortable working environment. Provide amenities but avoid distractions. Don't provide speaker phones unless the walls are soundproof.
    14. Allow flexible working hours and telecommuting unless there is a good reason not to.
    15. Do not use overtime as a replacement for proper staffing and scheduling, even if you pay for overtime.
    16. If an emergency requires you to ask an employee to change plans for scheduled absences, accept it gracefully if the employee refuses. If the employee accepts, apologize for asking him to change his plans and find some way to make it up to him. Do not treat such a request as a normal occurence; you should avoid it as much as possible.
    17. If you interview a potential employee and he says that he is not willing to do something, don't pressure him to do it after you have hired him.
  231. Read This Book by dunstan · · Score: 2

    Read Peopleware by Tom de Marco.

    Dunstan

    --
    The last scintilla of doubt just rode out of town
  232. s/ do to / do too / by cduffy · · Score: 1

    arrgh!

  233. bzzap! by Anonymous Coward · · Score: 0
    Well, poorly written software to keep missiles on target would of course prevent people from dying

    Ok, so your missile with its poorly written software does not stay on target. Shortly after, the other guy's missile, artillery shell, sharp pointy stick or whatnot kills you.
    So just how do you see that your poorly written software prevented anyone from dying. Don't answer, because YOU ARE DEAD!