Best Way to Manage Geeks?
drummerboy195 writes to tell us that he recently read a 1999 interview with Eric Schmidt, then CEO of Novell, and wondered how applicable the information was today. How much have things changed since the dot com bust in terms of management? What other good and bad techniques have Slashdotters seen evolve from both supervisory and supervised positions?
The best way to manage geeks is with fences and cattle prods!
The best way to manage geeks? Well, I pretty much treat them like any other employee. Honesty, fair and equitable treatment for everyone while not indulging high maintenance employees at the expense of others. You pay people what they are worth, treat them with respect, challenge them while rewarding success and you will have lower turnover and decreased personnel costs. However, the geeks (typically programmers, but hard to define in science) need to realize that they are part of a team and they are part of a greater whole. Those who need more, will move on to other companies or their own companies and that is not necessarily a bad thing. However, the longer you can hold onto those successful individuals, the more successful your company/organization will be.
Visit Jonesblog and say hello.
Put a woman in front of them: out of frustration of not having a single idea what to do, they'll revert back to their work.
For he today that sheds his blood with me shall be my brother.
In general, Schmidt speaks of his geeks in complimentary terms, while acknowledging their vulnerabilities and shortcomings.
Anyway, I'd have said Doritos, Lightsaber fights and Anime...
I've noticed a lot of managers trying to be super friendly and sugar coating everything they say.
just a tip..most geeks are smart and see through this.
be honest.
if I fuck up, tell me. don't make it sound like you're passing the buck from upper management, or pretend you're not mad.
I can't take any of my managers even half seriously because everything that comes out of their mouth is "corporate happy HR department" speak.
I want explicit instructions for what you want me to do. If I didn't do something it's because you didn't ask me to.
that's my 2 bits anyway.
You can't treat an IT geek the same way you treat a marketing guy. They respond to different things. The geek wants reassurances that he's doing a good job all of the time, especially when things are going smoothly. A marketing guy wants to be adequately rewarded for the big numbers.
I don't respond to AC's.
A public, prioritized task list for the project and (if needed) each person... so there are no secrets and no rabbit trails
Have a manager/tech lead who codes at least half time so they understand what's going on with the project and the team
Agile Artisans
what a silly question is that???
(wait a minute...)
They are already being managed on Slashdot. Mod them up, mod them down, call them trolls.
This doesn't apply to just managing geeks, but that is the environment I work in:
1) Too many meetings. Most employees don't like meetings, at least most employees that are productive. While some meetings are necessary, it's probably way less than you think. If your entire group works in the same cube farm, a staff meeting each week (or worse, twice a week) is too much. If you sit back and evaluate it, you'll notice that very little worthwhile gets talked about because people will find eachother and talk about what they need regardless of a meeting. Also geeks are usually good with e-mail, and so can keep eachother up to date even if they don't meet face to face. Excess meetings not only drain productivity by taking up time, they also drain the will of employees to work.
2) Trying to be a friend, or head tech, rather than manager. On campus we love to make managers by promoting the most senior tech person. This rarely goes well. A manager needs to manage. That means your job is to deal with other groups, clients, bosses, etc and find out what they need and keep them happy, and deal with your group and make them do their work and keep them happy. Basically, you play politics. You need to be the buffer so that your group gets to do their work, but everyone else is happy about the feedback they get. If you are sitting around working on tech stuff, you aren't doing your job probably. Also you need to be willing to drop the hammer on bad employees. That doesn't mean being a jerk, but it means if someone legitmately isn't doing their part to work with them until they do, or if necessary replace them with someone who will.
Those are the biggest problems I see. Managers who try to get their staff involved in all the politics. So then you have a bunch of pissed off tech people sitting through lots of meetings that they don't need to be at, being involved in silly games they shouldn't be involved in. Also bad employees are just allowed to stay around working ineffectually, because the managers don't want to be mean and come down on them.
Your staff needs to be the ones fixing the servers, you need to be the one meeting the the finance department to explain why the money needs to be spent fixing the servers, and the boss to explain why the servers are down in the first place.
One might expect a somewhat "biased" result asking for the best management principles from geeks... who are spending their time reading slashdot!
PJRC: Electronic Projects, 8051 Microcontroller Tools
Nerds like to work weird hours. We like to stay up till 2am or later because we are on a roll programming and don't want to quit. Which also means that we don't feel like rolling out of bed till about noon. So let us work from 1p-9p and we'll be happy and productive. But if you start cracking down on the 8:30am policy and even so much as mention penalties for coming in late, guess what? Yep, we'll be on the phone with our headhunter at lunchtime. We'll straighten our act up for about a month. Why a month? Cause that's how long it takes to secure another job (always with higher pay).
In my case I did this for 2 jobs. I didn't have to for the first one because my boss was uber-cool. But now I realize that if you want to look like a professional you've got to fit into the corporate mold. So I go to bed around midnight whether my brain is ready to or not. My trick? Jim Beam Black!!
Oh also, if your nerdy employee pulls a few 12 hour days because he's in the groove, don't just say, "Hey try not to work too late tonight, k?" Try something he will really appreciate like, "Hey, you can come in at noon tomorrow if you want to, alright?" You will be loved.
From TFA:
"This is a golden era for geeks"
He wasn't kidding. It sure went downhill fast after 1999. His other opening lines, "we have permanently entered a new economy", and "Novell has again come to be seen as a worthy competitor to Microsoft", are not exactly prophetic (quick check on Yahoo stocks shows Novell's price has ended up pretty much where it was five years ago).
Other disagreements: "most of them would probably turn out to be terrible managers". I strongly disagree. Of the 5 managers I interact with weekly, the 3 who have running code in our systems (i.e., they're promoted developers) dress the worst and manage the best: they tell me my deadlines and my priorities, they ask me what support I need to write code, and they leave me the fuck alone. The 2 who don't have code running on our servers, who were first hired as managers, like to reorganize our hierarchy, introduce burdensome reporting requirements so the execs have more Social Science Numbers to look at, and want to transform our nice offices with *real* *doors* into a miserable cubefarm. I say, promote geeks! Even if they don't want it! I totally agree when he says "you can tell them what to do, but you can't tell them how to do it" (this is far from an original thought of his), but unless your managers are geeks, this approach will leave them feeling powerless and threatened. Managers meddle, it's what they're trained for.
If you want an insightful, thorough, and applicable discussion of all these ideas, as well as many more, some of them *original*, read the Scrum Handbook.
Stop your geeks from whining in the workplace.
Normal geeks are intrinsically motivated. They do the job for the joy of doing the job. They are the kind of person who will be up 'til 2 in the morning working on a project. The best way to manage that kind of person is to make sure they are on the right track and keep out of their way. Open source development is a good model for managing geeks. Top down micromanagement is the wrong way to manage geeks.
Geek gods, on the other hand, can be hard to manage. They tend to treat everyone else with contempt. Keeping them on track is quite difficult because they won't take direction, even when they're totally wrong. They won't believe you because you're dumber than them. They're a lot like star atheletes. For them, you need good coaching skills. Read a few biographies of great coaches. You'll get the idea.
but like other prescriptions, it makes it sound like it's straightforward, and it's not, because human beings do not fall into neat categories. Just finding out who's good and contributing can itself be a nearly impossible task once the code bases become too large to be understood by any one person.
The problem is magnified in a large organization such as Novell. I would like to see senior staff shuffled between managerial and hands-on technical roles from one project to the next, provided they're willing and not too antisocial. That rarely happens, but if it did, it would at least prevent some of the rampant Dilbertism found at the management at many large technology companies (including Microsoft, if you believe some of the comments posted on the mini-MSFT blog).
People are always saying managing geeks is like herding cats. But no one ever talks about how to herd cats. Chasing them with dogs just makes them scatter, and actually puts the dogs at risk. The answer is chasing mice. Give geeks something to do that's really geeky. Like cats, you have to be sure they're fed and get their weird brand of attention and petting. But the only way to get them all moving in one direction, working together, is to put them in there with some really juicy mice. Then they'll happily stalk and pounce, living the chase, proudly returning with the trophy for the adulation of their keeper.
--
make install -not war
1. Keep the fridge stocked with Mountain Dew and Bawls. ...you know, from the hammock district!
2. Allow them to mod their PC cases with leds and overclocked - spreadsheet busting - cpus.
3. Mandatory slashdot breaks.
4. And, of course, hammocks!
Religion for nerds. Stuff that really matters
First, ignore all advice from computer science undergrads with no experience who make an inspid and glib list of weakly argued points and pretend to sound like they know what they are talking about. For whatever reason, that is very common on slashdot.
Then realize that the question "How do you manage geeks?" presupposes a lot of bullshit that does not apply in real life. If you are a manager and you have a question like that floating around in your head, you probably should not be managing.
I know it's hard, either the CEO is part of the solution or he's the problem. There are several tricks you can use to better manage your CEO:
1. Learn his language. If you can explain your goals in words he is familiar with he will self organise himself to better deliver the support you need. To achieve this, engage him in dialog and take notes on the words he uses. Don't "leverage joint synergies" if he "maximizes differentials" for example. "Maximize those differerntials" right along with him!
2. The best judges of CEO's are secretaries. Talk to his secretary, does he prioritize "eating lunch undisturbed" over say, "saving drowing New Orlean's people"? If he does, drown a few New Orleans people aswell, to break the ice.
3. Look for the natural leader of your CEO. Does he always downsize right after IBM downsizes? Does he diversify when Kodak diversifies? Then IBM is his leader or Kodak is his leader. It's important to determine leadership so you can be forwarned about upcoming wild management swings.
4. Be prepared when the CEO hits the fan. He won't be there forever, keep links with Bob the CFO and Carly the insane Amazon in marketing, you never know when they will become the CEO.
5. Too much management spoils the broth. CEO's don't talk to the customer, they don't talk to the technical people or even read the spec, or have any idea what the product is. So don't let them get too involved with the decisions. Think of them as the team mascot.
The geek wants reassurances that he's doing a good job all of the time, especially when things are going smoothly.
I sure as hell don't. I'm not a needy child who needs constant reassurance. Give me work that mentally stimulating and challenging and compensate me appropriately and I'll be happy.
-everphilski-
* nerds are often disorganized or have a twisted skein of attention-deficit issues
* nerds love assessing, classifying, and defining the objects in their world
* nerds crave actionable items and roll their eyes at "mission statements" and lofty management patois
* nerds like things that work with technology-agnostic and lofi tools
* nerds like frameworks but tend to ignore rules
* nerds are unusually open to change (if it can be demonstrated to work better than what they're currently using)
* nerds like fixing things on their own terms
* nerds have too many projects and lots and lots of stuff
"It was a summer's tale: Just a boy, his Linux, and a head full of dreams..."
Duh.
Oh, and then the oral sex.
I like this article by Orson Scott Card titled "Why software companies die". It's really short (and really old - 1995) - go read it.
The solution to the problem you describe is simple: you need to be fired. If you are playing games all the time and not getting your work done, the then you need to cure the problem (you have no self control), not he symptom (you play games).
If a good employee wants to play CS during his lunch hour, I say why not. If he reads /. once in a while but still gets all his work done, let him have it. If it takes a little stress off and isn't harming things, then what is the problem?
It's self control. If an employee keeps stealing stuff, what do you do? Nail everything down so he can't take it, or have him arrested?
Locking things down unnecessarily (obviously, some stuff must be) because of one bad egg will only annoy the other employees and decrease their productivity because you don't "trust" them. I'm not saying let them roam free, but they don't have to be in a cage either. Zoos have animals trapped, but the enclosures are designed not to seem to bad to the animals. Same kind of thing for employees (note: sorry about the zoo comparison, but it was a easy way to make the point).
Comment forecast: Bits of genius surrounded by a sea of mediocrity.
Greetings,
.Net.
I manage a small but important team. The guys who report to me are, by the definition of their jobs, highly technical. Whenever something complicated needs to be researched and/or implemented, my guys get to do it, especially if it has to do with the adoption of new technologies.
We had our quarterly review a few weeks ago (it goes both ways; they evaluate me, I evaluate them) and the results were excellent. Here are the overall management techniques I employed with them:
1. Hold everyone in the team, including myself, to the highest
standard.
2. Define what 'highest standard' means as a part of the requirements
specification.
3. Once a decision has been made, by the team, business owners, etc.
there is no arguing. Part of my job is to keep the business guys
from becoming a distraction. The other part is to ensure that
the engineers deliver (1) and (2).
4. Go through a quarterly review with them; divide a sheet of paper
in three columns labeled as follows:
a) Desired outcomes (projects, training, coaching of others, etc.)
b) Achievements
c) Areas that need improvement
At the beginning of the quarter first quarter ever that you
implement this, fill-in only items in the first column. At the
end of the quarter, fill in the other two columns. A person is
doing great if they had, say, four desired outcomes and wind up
with four or more achievements. Last, review things that need
improvement (mine is "needs to attend relevant meetings" for this
quarter). Discuss those AND FOCUS ON BEHAVIOUR, not on
personality. Explain why the improvement is needed. After you
negotiate what this means, add it both as a thing to improve and
as a desired outcome for the next quarter. Repeat every quarter.
5. Respect your engineers' decisions. Combined, they know more than
you do, regardless of how technically capable you are. If that's
not the case, you shouldn't be a manager and you're probably not
meeting 1-3.
6. Leave your engineers alone to do what they do best. Don't invite
them to too many meetings or have them do tasks unrelated to their
charter. Engineers hate distractions, and distractions prevent
the team from achieving 1.
7. If the business folks start coming up with eleventh hour changes,
ensure that the engineers are part of the discussion and reason
WITH BOTH SIDES to figure out which changes make sense and why, which
don't, and how to come up with a solution that will meet everyone's
goals. NEVER just inform the engineers that a decision that affects
what they've been working on for three months has been made.
8. As a part of 4, create an environment where you are constantly training
your team, exposing them to new technologies, etc. Reward the intro-
duction of new techniques, procedures, etc. In 4, suggest that they
read at least a new book ON SOMETHING NEW NOT USED AT WORK every quarter.
If you work in a Java shop, they should be reading about Ruby or
You never know when a better mousetrap is available if you aren't informed.
9. Reward excellence whenever you see it, from solving the thorniest algorith-
mic q
http://eugeneciurana.com | http://ciurana.eu
Don't be a dick. A lot of them are very smart people and if you offend them they'll find ways to slack off and get back at you. They may not ruin your career but a word here and there can do you no good at all.
Be honest. Most geeks would perfer if you told them what was going on. Don't lie to them unless you 100% have to.
Listen to them. If they say "we need a week" then go "including delays and testing?". If they say yes then give them 8 days. If they say no then add an extra couple of days (for a short project) or weeks/months for a long project. If the shits going to hit the fan because of a too short deadline you get it in the neck as well as them.
Remember they're people. If you're getting a dirnk offer to get them one, same goes for if you're making a run some where. Act like you're one of them because that way you're a friend and not "the boss". Make sure they know when you say something it really must be done (when to put your foot down, don't do it always).
And last but not least. Get a decent tasting coffee and some biscuits. A good drink gets you going in the morning, biscuits go nice with it and if you're hungry a couple will hold you till lunch. A hungry worker is one thinking of lunch, so his mind is else where.
I like muppets.
Name one other job where it's ok to be a whiny, needy little bitch.
President of the USA?
"I've got more toys than Teruhisa Kitahara."
I've been a programmer, then a manager, then a programmer again (by choice if it matters)
I tend to think that meetings are boring and unproductive. Maybe I've been to the wrong meetings.
I like "management by walking around" and "micro meetings". The big meetings still have a function but I try to only do them when management by walking around and micro meetings aren't enough.
Management by walking around is when the manager or project manager walks around and informally talks to people. If there is a problem it can be taken care of then. This informal atmosphere also encourages people to go talk to the manager directly if there is a problem. I'm social so many of the informal meetings aren't about work at all. I thought about limiting those meetings to limit the amount of time that I'm "wasting" but in the end I kept doing them for two reasons 1) they help keeping an informal feeling in your relation and 2) sometimes people have somethign on their mind and they don't take the step to come talking to you but if you are shooting the breeze they might steer the discussion in that direction. Maybe this made me feel like a PHB every once in a while that trapped you in your office and you can't get out of it. I hope not. I certainly kept that in mind to try to avoid it.
Micro meetings are when one particular issue needs to be discussed and resolved. In those situations I grab all the people that needs to be in that meeting and we usually have a short stand up meeting in someones cubicle or office. Once a decision has been made someone is made responsible for writing an Email and sending it out to all that should be informed.
If I have to have a meeting with the entire group I try to keep it on focus as much as possible. One little golden rule I have is to spawn off a task once a subject has been discussed for a few minutes and there only are two or three people discussing. They can then have something similar to a micro meeting later and suggest a solution. The purpose is to not either force a decision before we understand the problem while also not keeping the entire group tied up, drifting away, bored to tears.
I also tend to have a task or issue system where tasks can get assigned, worked on, reviewed and approved. If a task is large or important enough that I want to track the status then I make sure it gets entered in that system. An issue system may seem like a hassle but it helps you keep your shit together even without those large 1 hour meetings with the entire group.
The biggest advantage, and also disadvantage, with large status report meetings are that you'll embarass people into finishing their tasks. After reporting no progress on a task for 4 weeks a person dreads the fifth time and finishes it. But it also means that people fudge their numbers and make inaccurate reports. But that also means that people might be feeling like shit. In the end, I think the disadvantages of those meetings are bigger than the advantages.
Geeks don't usually need motivation. They only need direction. And the direction should preferably not be in the form of orders. If a geek believes that he had a choice then he'll be much happier. Now, this is of course true for any person.
Simple.
Remove all the layers of dreck management who simply get in the way.
Yes you may have got a 1st in Etruscan pottery/Elizebethan clothing/Interior lighting. Yes you may be intelligent but you have FUCK ALL knowledge of computing. Yes you know how to schmooze the clients but you have FUCK ALL knowledge of what we actually do for the clients.
So stop bugging me every ten minutes when you want to update your retarded "man hours per task" spreadsheet. Stop bothering me about my "unfashionable" attire (i.e. anything you don't see in you fucking Sunday supplements) Leave me the fuck alone to do the fucking job you're paying me for... i.e. provide a technical solution to a problem.
So the best way to manage Geeks is simply to leave them alone. If they've gone off on a tangent and it's going nowhere point this out. But generally leave them the fuck alone.
Either that or take out the entire chain of middle management and shoot them. All you need is a good captain, a good first mate and a good crew. All the rest are simply shark food.
Arr.
1999:
> we have permanently entered a new economy
> The geeks control the limits of your business
> rich salaries and hefty stock options that they now command.
> give them promotions without turning them into managers
2005:
Geeks are the lowest paid again. Managers are the highest paid again. There are things managers can do today, experiences they can have, which geeks will never have. The dual track approach doesn't motivate anymore and Indian startups like Google Bangalore actually let their geeks become managers.
Only in extremely rare upturns have geeks ever commanded the lifestyle that managers have. For most of history, if you want to live in a house, if you want to go to concerts, if you want to get married, you have to be a manager.
Eric Schmidt's comments and insight were very good. As sort of a geek myself if gives me insight on why I have liked some managers, and not others. Why was I so purely productive in one environment and then screaming inside myself to get out in others.
The best single task I had was as a consultant. I walked into the interview, I was myself. It lasted 5 minutes and I was hired. The project manager spent the morning with me on the first day and made the business objectives quite clear to me. Some ground rules on documentation and my scope were set clearly and realistically. And the rules and objectives didn't change because of convenience. He outlined the problems and the needs while I was being introduced to the business players. Then set me off for two weeks to study it, with the mandate to be creative and practical. Note here, the technical solution was not predisposed, only the business needs were. I then presented (poorly presented) my observations and ideas outlining a solution to the business people. I walked away thinking I didn't do too well as the business asked some specific questions some of which I didn't have the answers.
But I guess I did good enough, a few weeks later approval came down to do it. I implemented the project as the technical lead in 8 months, on time and on schedule. The parent company hired me right after the gig. I learned later that their own people wouldn't touch the project. Wow, there is money in dealing with screwed up environments if you get the stick to clean them up.
The biggest thrill was the Monday morning when 600 people started to use our work for the first time, it was a big cutover. It went down as planned. Call me nuts, but this geek gets a thrill out of seeing others use my work. It is the best perk of the job. The politics of position jousting and power thrills do little for me but does makes me walk.
So it is good that some environments actually think about how to empower and guide their geeks as opposed to a more Machiavellian BS that so often occurs. Too bad Novell has fallen off a good ride, as Ray Noorda was the last decent Novell CEO.
and wondered how applicable the information was today
This is simple. It is. Geeks haven't socially evolved that much in 6 years other than the fact that chicks like it when you have the car thats not a beater and you have the money to fill up the tank before picking her up. As the article says, geeks are not anti-social, we just don't like cheap manipulative self serving management styles any more than we like chicks that way. And when geeks do it, we do it with thought!
What you just said is that employees who take over those functions are more valuable than employees who don't.
Well DUH!!! But the REAL problem is that the MANAGER is not effective.
Don't blame the employee for putting in 8 productive hours a day
As can bad managers.
But don't confuse bad management with bad employees.
1) Flex time, when appropriate. If I am working on some kind of deep core system where I just code and code and code and the only person I'm interacting with is a manager, why should I be on a 9-5 schedule? If it *really* doesn't matter so long as I get my shit done, let me come in at times where I can get my shit done most effectively.
/. and other such stuff - let me do it without having to fear that I'm going to lose my job because I need a mental floss break. I'm going to do it anyway, so why not let me do it without stress? Even better - FAR BETTER - let me work on something that is blue-sky stuff for 20% of my time. One place I worked at actually bought me animation/3D design software to use and encouraged me to take up to a day a week to work on it - on their dime. It wound up coming back to them 10-fold: when they were updating their website, and needed a bunc
2) Meeting issues. There are 3 kinds of meetings, in my mind: Meetings that are productive and important for me, meetings that are productive and important to other people, and meetings where upper management wants to whack off in public. The first kind of meeting I'll go to gladly. The second kind of meeting I'd like to always be optional. The third kind - you know, where upper management gets up and talks about shit like the direction the company is heading - well, they can email me a ppt presentation... I promise, I'll read it... Yeah... If I want to know about some big initiative the company is having, I'll print out a letter from the CEO and read it while I'm on the crapper, ok? I don't need to have some special ed like encounter group where we all blow smoke up each other's asses.
3) Respect. I don't mean people praising what I do or telling me I'm great. I mean respect like not treating me like some kind of half-functional asocial asshole because I happen to have technology skills. I really hate being treated like some kind of pet nerdling, to be brought out and questioned by the marketing people when they need the opinion of someone who, like, knows how to do math.
4) Respect. Really! Again, this is important. Just because *some* geeks are proud of their Autistic-like behavior doesn't mean we all are. Don't speak to me like I'm a child, and I'll be happy.
5) Privacy. Or, rather, a lack of frequent interruptions. There's a well known study that shows that most people can remember +/- 7 things simultaneously. Programmers frequently come in WAY on the right hand side of that particular bell curve because, one of the things we have to do is keep stuff in ready memory - highly specific, exact stuff. It isn't like we're writing a letter and we just need to remember the gist of something for later - we need to remember every damn bit of the thing we're working on (at least, I do) in order to accomplish stuff.
6) Little things. The best motivator I ever got came at the end of a 3 week crunch. I was taken aside by my manager, given an attagirl, told not to bother coming in on Friday because I would be expected to be enjoying the free spa day the company had signed me up for. Cost to them? 1 day's pay for me + $300 or so, but they had a ferociously motivated person coming back to work on Monday.
7) Managers who can manage. A boss's job is broken into two parts: supervising me and protecting me. Supervising means getting work to me and letting me know what's expected on it. I take a lot of initiative, but when I am handed a task, I would like to know what I'm supposed to do, when I'm supposed to have it done by, and (if applicable) what methods I'm required to use to do it (if I don't have a choice). Protecting me means keeping assholes like Phil in business development from swinging by and talking my ear off for a half hour in the afternoon. It means not scheduling me for meetings that are a complete and absolute waste of my time. Basically, doing all those helpful things that allow me to do what I can do.
8) Be realistic. Let's face it - at *least* 20% of my time is spent on shit like reading
Since I can't tell them apart, I treat all ACs as the same person.
I already survived my first tour as a PHB, so here are some things I noticed:
1. Hard boundaries. Some of us geeks every now and then think we can get away with murder. Which is true but no need to rub it on non-geeks' faces.
2. Shit umbrella. Your job as a boss is to isolate your employees from the bullshit so they can work. If you protect your employees from the bullshit, they will work their asses off for you.
3. No second guessing. If you hire a guy because he is an expert on ABC, and he gives you his best educated guess on an issue about ABC, give him the benefit of the doubt. Don't go asking a wannabe geek that read ABC for Dummies for his opinion. And please, don't go back to the expert to tell him "so and so says you are wrong." It is stupid.
4. Be flexible. Let your geek pick his workstation OS, most of the cases he'll ask for Linux so it won't cost you a penny and he will feel happier about it. Let each employee expense out no less than one O'Reilly title per quarter, even better if you can get away with doing it once per month.
5. Pick their brains. Geeks don't mind if you ask them what-ifs. If it is obvious that the geek has more in his mind, ask him to write a white paper and give him credit for it on his next review.
6. Feed them. If your geeks are stuck at the office past 6 PM, and you know for sure it is not their fault, call in for some pizzas or chinese. A well-fed geek is a happy geek. If possible, every two months or so send your geeks out for a long "work" lunch and let them argue technical issues without being bothered by people outside of their team. If marketing and sales can meet outside on the company's tab, so can your geeks.
7. Paid time off is sacred. If you give the guy the day off, make sure everyone knows he is not to be disturbed even if the company servers catch on fire. Geeks usually take less PTO than regular employees, so you need to make sure that whatever little time they take will be peaceful for them.
8. Free caffeine. Our 15-employee company has about 9 coffee drinkers. We ran our own coffee club for about a year ($5/month per person) and we never ran out of supplies. After the first year the boss took over paying for our supplies. It is nice to have good coffee in the office and it saves you the hassle of having to run downstairs and wait in line for overpriced coffee.
9. Allow some flex time, especially if your geeks monitor servers from home. When people start bitching about Dilbert working 7AM->3:15PM, tell them that Dilbert goes home, takes a nap and works until close to midnight. Oh, and he is salaried too.
10. Allow some latitude with the work attire. If your geek has zero external customer contact in person, then you should let them wear jeans if they like to. My only rule for jeans was that they had to be clean and without tears or patches. As for t-shirts, some people like them, I don't. I think jeans and golf shirts are confortable enough for a relaxed environment.
Pedro
----
The Insomniac Coder
From all his talk about "it's hard work" (combined of course, with his utter incompetance), well... You deserve a +6 mod.
I work for a company that used to be at the top of it's game. It used to create the best products in it's market segment. It still has the largest market segment share, but this is because of it's lingering control of the distribution channels.
Now most of it's products are inferior to those of the competition. The competition is gaining market segment share and the distribution channels are getting uppity.
What has happend to this former giant of technical excellence? The short answer is this company thinks it does not need geeks. This company gives pay cuts instead of pay raises. The company no longer values it's engineers. Part of this is that they are drooling over the lower paid talent in India. Do not get me wrong. I think the company should hire some of this lower cost talent in other parts of the world. This is good for the world even though it is not good for me.
Beyond this though the company thinks it can substitute "management process" for engineering. There are many many meetings where managers talk about procedures for engineering products. They have meetings to discuss procedures to talk about how to talk about procedures for engineering products. The ratio of talking about doing to doing is extraordinarily high. Most of the product developement decisions are made by what they called "product development teams". This is a group of people where product design engineers are a very small minority, and where engineers of any sort are a minority.
Beyond this, we have an annual review process that is a cross between a high school popularity contest and a bad episode of Survivor. In this review process people who do not know or have any understanding of what we do determing the outcome. One thing that comes out of this is that we do not know what we are accountable for.
If this company does not relearn to love geeks soon it will see a big decline in profitability and market segment share.
Religion is the main cause of atheism.
He doesn't get paid if he doesn't get the account. You do.
Lots and lots of chickens, and a good dental plan. (Chicken necks are notoriously resilient.)
Oh, and clean up the pile of spat out heads occasionally.
"There are no facts, only interpretations." --Friedrich Nietzsche.
Part of the problem here is that there are enough blind managers in existence to hire your useless ass.
Unless you work entirely in a vacuum, you're inevitably going to cause more problems than you fix with your "uber-code."
Not toeing the party line is fine. Being an arrogant asshole is unacceptable and unprofessional, no matter what your technical skills are like.
"People who do stupid things with hazardous materials often die." -- Jim Davidson on alt.folklore.urban
You can't always just willy nilly start to experiment on your own, or you screw other teams up.
I think what the GP post was talking about in re: people "who don't do anything that they aren't told to do" wasn't people like you who are guarded about overexperimenting. I know a number of IT and engineering folks who do no more than what was precisely described and don't try to proactively make anything better. That's what the problem is - marketing says "we need it to do X," and the engineer comes back at the (not unreasonable) deadline and says "it does X now, but it doesn't scale, doesn't work outside of the scope that was precisely in the spec and it doesn't do anything else that you might reasonably expect it to. If that's not OK, you should resubmit it through our project management process and be more specific."
For example, when I was a product manager at an ISP I gave engineering a spec on how our DSL offering was supposed to link in with our satellite networks. Engineering gave an estimate on infrastructure costs based on what turned out to be wildly underpowered routers, which then went into the business case. When we were implementing the product ad push came to shove they came back and said, "oh, you need something else that costs 3x the original estimate" and hosed our business and pricing model. When I asked them why they didn't think about what would realistically be required to provide the service - which I didn't know how to calculate but they could have - they just said, "well that's not our job to go beyond what was explicity written in your case."
Who knows? Maybe that's the way it has to work ... but marketing and sales people are expected to take initiative and go beyond the explicit instructions they receive. They are expected to anticipate not just what the customer specifically asked for, but what they actually want as well. Of course sometimes this is a recipe for disaster, but the point is that they are expected to be holistic in our approach and rightly or wrongly (maybe wrongly), they expect others to do the same. Yes, yes, of course this principle can be abused. I'm not talking about being a mind reader. I am, though, talking about the difference between doing only what is explicity spelled out versus applying common sense and initiative to your job. And that, I think, is what the GP post was saying was the characteristic of someone they didn't want working in their organization.
"95% of all Slashdot
Bar non - in every situation I have ever worked, former hardcore geeks are _always_ the best managers (both in terms of being pleasant to work for, and in terms of total group output.) I think the reason for this is simple- It takes one geek to truly understand 'the drive-' that is, that most programmers worth their shit work as much for the fun and challenge as they do they pay. Non-techie types can cognatively understand this- but they can never quite fully empathize with why sed. engineer is so thrilled that X solution is so Y Brilliantly efficiant... There is nothing that will turn even the best engineer 'off' faster than being micromanaged by a power-drunk fool who he feels superior too. Granted - on the flip side, you can't let the wolves manage the hen-house - geeks tend to be very band business people... most of us are perfectly happy perfecting, playing and tinkering until the cows home... if you let a geek just always do what he feels like, the chance that he will feel like doing the exact sequence of things necessary to create a sellable product is slim to none... Therefore, the best geek managers take on the roll of shepherds... Understand, commiserate, and encourage the geek to explore the stuff that intrinsically motivates them, while occasionally pointing out that if they don't do X-Y-Z before Close of Business Friday, the company can't make the cash necessary to support their 'play time'.
I was a manager and am now back to being a regular employee (who leads a team).
Coming up through the ranks I thought that staff meetings were a waste of time, but I was wrong. I rarely held formal staff meetings and attempted to manage by wandering around. The problem I found with this was that certain people were easy to talk to one-on-one and others weren't, so through reticence messages I needed to give to the team as a whole were delivered late to some. These people felt I played favorites, and unconsciously, I did.
I rewarded people with monetary rewards and always accepted comp. time, but the reward that got the best response from people was just not having them come in when their project was finished (not employee-initiated comp. time, but like a suprise holiday).
The perk I always liked was free t-shirts commemorating a project. I didn't wear them much, but I liked wearing them outside work as a badge of what I do. This perk died at the turn of the century. Am I alone in this?
Since I stopped being a manager these are the worst things I've seen that you can do as a manager in your staff meetings:
Read powerpoint slides from meetings you've attended without offering any insights or interpretations.
Start your meeting with the phrase "I really don't have anything to talk about" then proceed to talk for 45 minutes anyway.
Say "Well, I know something about that, but I can't say anything" and then not say anything.
Differences between managing in 1999 vs. now:
More people telecommute and never come in so you need to manage over the phone. This is much harder than you'll think it will be.
I'd rather be preterite
I have two "geeks" who call me "Sir" ( even though I tell them not to. They still call me "sir". ) and I have found that the best way to manage them is to give them the problem, and say "Go solve this." and let them go and Just Do It. (Nike Swoosh(tm))
When they need "Elevated Authority" they come to me, but I've found that telling them the problem, and letting -their own- judgement dictate the methods of solving the problem, often A: makes them -HAPPY- to work for me. and B: Solves the problem. Is INFINTELY better than micromanaging them.
"Here is $Problem, take care of it." and let them do -whatever they need- to, has worked far better for us than any other management(of interns) methods yet.
This way we are letting them decide what is the best way to reach the goal. and -TRUSTING- them to reach that goal. (which is often more valuable than the goal itself) and in the end, if they fail, I can show them why.
I have two "geeks" in my charge, that would kill themselves if I asked them to. They'd take my hardest tasks -any- day, over the HRs mindless shuffling of paperwork, because I let -their own- judgement choose how to solve the problem.
You want to manage geeks? Tell them what needs to be accomplished, and give them free reign to do whatever their training and personal skills tells them is necessary to solve the problem. I've never -ever- had one come to me with a failure.
But! There is a Caveat. You have to be willing to let your "geek" run free. Not only that. You will have to let your "geek" know (consiously or unconsiously) that you will take the hit, for his failures. Because at the end of the day... his glory is yours.. his failure is yours. If you let him -Run- with whatever he wants.. Let him -know- that you will absorb his fuck ups. You -will- get magic. BUT! You have to let your "Geek" run.
Only then, will your "Geek" truely shine.
-rdewalt
Seriously, though. You'll get a million and one answers to the question of how to best manage geeks and most of them won't really matter, because they work well for some people and organizations, and don't work well for others. The trick to managing geeks or anyone else well is to become not just a manager of time and resources, but a leader. There are plenty of ways to go about learning leadership, but the important thing is that leaders recognize that humans are the most valuable asset in any organization. All the MS Project charts and spiffy time-management tools and HR policies in the world don't matter if you don't lead your people.
That doesn't mean you have to become Patton. Some of the best leaders I've encountered were quiet, calm, and almost always in the background. I've also come across great leaders who were always talking, always on the go, and always visible. Leaders can't all be cut from the same mold, and they can be hard to find. Taking raw leadership capability and nurturing it is difficult, which is why most companies shy away from it and focus on management (a concept that was spawned in the early days of the Industrial Revolution, when everyone worked on factory floors) instead. The result: Most companies have managers who are ill-prepared to lead.
Read the EFF's Fair Use FAQ
I'll never work in the IT field again; it has been relegated to a hobby. The company I worked for will not be named here, there's no reason to trash them by name, no matter how much they pissed me off. Still, I learned a few valuable lessons while I was there. This kinda reads as a rule sheet for the manager to read before hiring me, or maybe I'm just ranting, but these things need to be said...
1. I started from a technologically low point in the ladder of IT as it stands now. As the employer, you knew I had never worked as a sysadmin, that Linux was my OS of choice *at home*, and that I do not program in the languages you used at your business. Don't expect me to be able to move from that low point to a seasoned expert on only four months. It just does not work that way.
2. Don't tell me I'm not doing enough, or I'm ignoring this or that part of my job, if I'm already buried in projects for your clients. I'm a geek, not a fucking magician. If I tell you I'm busy, it means I'm busy working on your clients' machines. Furthermore, if you as the manager are not a tech, then let me believe it - don't try to do my job for me!!
3. Don't try to make me feel intimiated or inferior to you just because you carry the title of manager. I don't care if you worked for Company X and they improved while you were there; you are NOT working for Company X now, and we are not the same people you dealt with there.
4. Don't bitch at me if I open a [perhaps previously iconified] window and head for Slashdot or IRC or even browse the web in general for a few seconds or even a few minutes, when I'm working on some client's machine at the same time.
5. Don't create mandatory meetings and expect me to willingly attend them, especially if they're held when I would normally be asleep. If you have something to say, you can always email it to me, or even drop by later and give me a quick heads'-up on those things I need to be involved in. If it doesn't relate to my job, I generally don't want to hear about it! I don't care how much money the company made, or even if you start to lose customers, unless I'm responsible or I'll be directly affected by it.
6. If I use the staff-wide mailing list to lodge a public complaint, don't tell me not to. I wouldn't have used that method if it weren't appropriate to do so. (In this case, I was injured by someone else's carelessness, and now I have a large, permanent scar on my leg to show for it).
7. DO NOT, UNDER ANY CIRCUMSTANCES, EVER TELL ME TO LIE TO A CLIENT. Is that clear? I value my integrity, and it makes the company look *really* bad when some client calls you up, asks what's going on, and then calls your bluff. You know, clients actually DO read the literature your company produces, and they often remember those little promises and guarantees you make in said literature.
Better yet, try not putting me in that position to begin with - Fix the problem before it occurs! (yes, this problem was fixable).
8. Don't expect me to support a program/user environment, if the only person who can actually solve the problem the client is having, is the author of said program. Believe it or not, clients actually do call in asking why this or that function can't be altered in some certain way, or asking when the next release will be out. Repeatedly telling the client that I can't help them just pisses them off and makes ME as the individual tech look bad.
9. Related to #8; If the author of said program does not feel he needs to make himself available to his users, fine. Send him home and let him do his work remotely. If you won't do that, then don't expect me to pretend he isn't here wh
Karma: I don't care too much, but it's 0.0% (mostly due to lack of interest)
Geek
Function: noun
Etymology: probably from English dialect geek, geck fool, from Low German geck, from Middle Low German
1 : a carnival performer often billed as a wild man whose act usually includes biting the head off a live chicken or snake
Watch this Heartland Institute video