Fog Creek Software
Discussion Board




Enlightened companies

On this site, Joel Spolsky has outlined many of the principles that he believes make a company successful. As a side effect, many of these ideas describe a company that is rewarding to work for as a developer.  But is anybody paying attention? It seems that most of the people at this site are developers.  Are there any companies with enlightened management out there? (other than Fog Creek, of course)

To sumarize what I consider enlightened management (most of this gleaned from Spolsky and/or Peopleware)
< note ... I don't even want to pretend that this list is all-inclusive, just a hint to give some idea of what I mean by 'enlightened' >
1. Treat engineers as human beings, not as interchangeable cogs.
2. Give developers some degree of autonomy (ownership) of their project.
3. Believe that management's job is to remove obstacles, rather than dictate autocratic decisions.
4. Since they want to hire the best people, understand what it takes to attract and keep them (e.g. google's gourmet chef)
5. Give developers a work environment that allows them to succeed (large working area with minimal disruptions).
6. Put faith in people, not Methodologies.
7. Are committed to building a great company rather than just making a lot of money.
8. Not only give lip-service to these ideals, but actually put them into practice.

One would think that these kind of things would be easy to find, but company after company that I look at violates the majority of these principles.  It seems to me that Joel's site would be a great place to keep track of the guys that are doing it right ...

Jordan Tigani
Tuesday, April 23, 2002

If this is a yes/no thing than for my company it's "largely no" but a few pockets of "sort of" that pop up now and then. It's very fun to watch, if you can distance yourself from it.

MarkTAW
Tuesday, April 23, 2002

This topic has been covered recently and we have not been successful in identifying many companies that meet most of these criteria.

The big question is "why not?".  Wouldn't such a company be able to build quality software and be successful?  We need to find someone from the management side of software development to answer that.

I used to work for a small software development company that was distinctly above average.  For instance, everyone had a private office (unless working at a customer site).  But they had problems.  They built good software, were respected by customers and were profitable.  But they had a real hard time getting customers and developers were often assigned to on-site contracts where they worked in the environment provided by the customer.  Then someone with lots of venture capital came along and that was the end of that company and culture.

I think this is a complex problem.  The main factor is that a lot of decisions are made by management people who are trying to advance their own career and for whom such considerations are insignificant.  We need to ask what can the developers do.  Here are a couple of thoughts:

- Exchange information.  As you say, this is one place to discuss the problem.  I think it would be a good idea to have some web sites to keep track of who the good guys are.  I have even been thinking of doing this myself.  When I get a round-to-it....

- When interviewing, make it clear to your prospective employer that these things are important.  For instance, how many of you ask what kind of office space an employer provides?  Make up a short list of questions and the next time a headhunter calls you up, ask about such things.  I did that once, and got the expected answer: he didn't know and no one had ever asked him.

- Concentrate on the essentials.  A gourmet chef is a frill.  I once worked at a place with an employee cafeteria and was assigned a shared office with a desk that vibrated from the HVAC system. Hiring a gourmet chef for the cafeteria would not have been all that helpful.

mackinac
Tuesday, April 23, 2002

Excuse if this has been brought up recently ... but it does seem that it would be a worthwhile endeavor to come up with a list of the 'good guys' ... companies that would get positive reinforcement by having lots of talented people want to work there.

(and I certainly did not mean that a gourmet chef was a necessity to hiring good people ... just using that as an example)

As to your question, "why not?" I think that if you asked managers how they scored, they would rate themselves pretty high. Lots of people have read peopleware and "the mythical man month" and claim to agree with just about everything they say, just don't seem to be able to put it into practice. Or worse, they don't realize that they are failing to put it into practice.

I had one manager that would quote from "the mythical man month" even while trying to hire developres in order to bring in a schedule that was only 2 months out.

You mention venture capital ... I wonder if we're going to start seeing the decline of vc backed companies and more organically grown ones. I would wager that privately funded companies have a lot more stars in the "good guy" column than VC backed ones.

In this day and age of prostituting the future of a company for quarterly reports, I think it is hard for management of a big company to justify treating the employees to "perks" like their own offices.

The thing is though, Microsoft is the most successful software company on the planet. Whatever you may think about them, they know how to turn engineers into $. You would think that more people would emulate them.

Jordan Tigani
Tuesday, April 23, 2002

Intel is one of the most succesful chip companies in the world and they have a reputation of treating engineers like prison inmates. I don't think the Microsoft/Google/Peopleware culture necessarily leads to good results. This culture has been implemented at certain AOL west coast campuses and at countless dot coms, all of which are in dire financial situations, or just gone.

I personally find corporate cultures like google's eerie and cultlike. I would rather be treated like a professional and paid accordingly, rather than be treated like someone with nothing better to do than join the company foozball team.

I've worked for a dot-com that emulated the google approach, and saw the dark side of it...spoiled kids from stanford whining that they can't work because there aren't enough materials to make the type of sandwich they like in the company fridge, overnight playstation contests, co-workers and managers giving you dirty looks if you actually have a life outside of work, etc. I think this culture only works if you are a kid straight out of college, and don't have a social life, anyway.

My father is a physician and he does not worry about gourmet meals in the hospital cafeteria, or complain that he can't get an on-site massage...

tbone
Tuesday, April 23, 2002

This reminds me of a job interview I had once.  The HR person was kept telling me about the foozball, and the
ice cream socials, and the friday afternoon beer and
snacks.  I kept asking about the 401k plan and the
pre-tax childcare acounts.  The entire discussion followed this pattern of talking past each other. This should have been enough to convince me that I didn't really belong there.  But I took the job anyway, and resigned about one year later.

Jeff Hultquist
Tuesday, April 23, 2002

I think the Peopleware approach only works well when there's a culture that only accepts the best people working for them.  But when the two work in synch, you have a powerful combination.  After all, being a good employer is not at all expensive.

Without the best people, nothing can save you.

Magnus
Tuesday, April 23, 2002

Jordan -

I did not want to imply that your post was unwelcome, but that previous similar efforts were unsuccessful and you should expect to have difficulties finding the "good guys".  I agree we should try.

tbone -

Your interpretation of Peopleware is quite different from mine.  I view it as treating software engineers as professionals, e.g., providing the facilities they need, where methodologies are aids to the development process not replacements for thinking, etc...

I don't know about Google.  It sounds like they have some interesting technology to work on, but I wasn't too impressed about being able to bring the dog to the office.

mackinac
Tuesday, April 23, 2002

The thing is, if everyone was making $500,000/yr, no one would care if their desk was too small, if there were gourmet lunches, or if they were being "treated like a professional." In fact, I doubt many people would even care if they were forced to use a certain methodology, rather than their brain.

tbone
Tuesday, April 23, 2002

>>> "The thing is, if everyone was making $500,000/yr, no one would care if..." <<<

I think this is wrong in a couple of ways, but also rather instructive.

Some people would care no matter how high their salary was.  (Although some might put up with it for a year or two until they had saved up a bunch of money to start their own company).

But one of the major factors contributing to  the predominance of unenlightened companies is that most developers don't really care even with the salaries they make now.  Thus, even when there is high demand for develpers as there was just a couple of years ago, there is really not much demand pressure for better working conditions.  A few people complain, as we do on this list, everyone else just takes what they get.

mackinac
Tuesday, April 23, 2002

"My father is a physician and he does not worry about gourmet meals in the hospital cafeteria, or complain that he can't get an on-site massage... "

I completely disagree with you tbone, because you are using a man of straw arguement:

no one is advocating a dot-com "that emulated the google approach, and saw the dark side of it...spoiled kids from stanford whining that they can't work because there aren't enough materials to make the type of sandwich they like in the company fridge, overnight playstation contests, co-workers and managers giving you dirty looks if you actually have a life outside of work, etc. I think this culture only works if you are a kid straight out of college, and don't have a social life, anyway. "

we are talking about something completely different:

1. Being treated like human beings doesn't mean a gourmet chef, what it means is: That you are allowed to have a life outside of work, and not being treated like idiot savants

2. Having a good working environment means, not allnight ps2 constests, but having a quite place to work, and the tools (hardware and software to do the job)- I don't think your dad has ever been asked to operate without anasthesia!!!!!

3. Having ones professional opnion respected by other parts of the company. i.e. not having marketing anounce, despite everything you say, that a product will be ready in two months, when it will be ready in six. (you Dad may actually be facing some of this from HMO's and I would bet everything I own that he is as much against this sort of stupidity as much as programmers do)

Daniel Shchyokin
Tuesday, April 23, 2002

The press produce "Best places to work" lists.

From Computer World
http://www.computerworld.com/computerworld/records/images/pdf/23CR_bestplaces_charts.pdf

The methodology:
http://www.computerworld.com/cwi/story/0,1199,NAV47_STO61126,00.html

From Fortune:
http://www.fortune.com/lists/bestcompanies/index.html

tk
Tuesday, April 23, 2002

I did set up a straw man...sorry. it seemed more fun that way.

In response to the original question, I have not ever worked for a company that came anywhere near the ideals espoused in peopleware.

tbone
Tuesday, April 23, 2002

I read an article on SAS and like the way they work.  More about respecting their employees, than how they build software.

article : http://www.fastcompany.com/online/21/sanity.html
company : http://www.sas.com/

Jack of all(?), master of none
Tuesday, April 23, 2002

Joel has questions for assessing prospective employees. Here's one for assessing prospective employers: "How do you handle complex projects? "

If the manager interviewing you doesn't know what you mean, it suggests he or she doesn't have any useful experience, let alone procedures. If he or she answers with superificial responses, ditto.

Hugh Wells
Wednesday, April 24, 2002

tk showed some articles on best places to work:

http://www.fortune.com/lists/bestcompanies/index.html

I am skeptical of this first one since I see a couple of real dogs on that list.

--

http://www.computerworld.com/cwi/story/0,1199,NAV47_STO61126,00.html

There is an interesting series of profile articles here and various lists.

Something I found quite interesting here is that these companies are generally established companies that are leaders in their fields and consistently and predictably profitable. At one point we are told "To attract top IT talent, you have to be a top company to work for." This seems self-evident.

I see no mention in these articles of 80 hour weeks. I find that interesting since I occasionally hear (on this list and elsewhere) about these company strategies to have the engineers work excessive hours. I've wanted to say something about this but you know, it's all been said before. Someone working 80 hours has negative productivity because his screw-ups outweigh his productive activity. Also, there is such a thing as burn out and it will definitely happen and quite soon if someone is working 80 hours or more a week. Doesn't matter how much she loves her job or how competant she is.

Anyway, glad to see that the profitable companies that tend to stay in business treat their employees well and am likewise not surprised to watch one company ofter another that runs its prize racehorses until they drop dead from exhaustion falling by the wayside.

X. J. Scott
Wednesday, April 24, 2002

"A few people complain, as we do on this list, everyone else just takes what they get. "

No. *EVERYONE* complains. Management bitch about developers not delivering, top management bitch about IT being crap, and I bet the board has long bitches about how nothing in IT works despite huge money input.

No, the only thing companies don't do is ask developers what they need to get work done. It's not on-site massages, it's simple stuff like: enough hard disk space to have the compiler AND the project on it. Computers that aren't five years old with flakey fans. Quiet offices without phones ringing all the time and people interrupting thinking.

I could care less what sandwich flavours are in the fridge, I care more that yesterday I simply couldn't think for the racket in here. I couldn't have COUNTED lines of code, let alone written them.

And yes, the customer would complain if they were aware they'd paid several hundred pounds to have me sit here and do nothing. They're just too disorganised to notice, but you bet they'd complain.

Katie Lucas
Wednesday, April 24, 2002

It *is* possible to change bad practices. You spend time working out the issues and reasons, go see the relevant parties, and then tell them why there needs to be a change.

You also tell them that if they don't do this, they will have a complete load of crap on their hands. I've done this many times. My approach has resulted in departments changing their practices. For example, insisting that business managers provide detailed requirements specifications, and being prepared to reject foolish deadlines.

I think the secret is somewhere in deciding you've got nothing to lose. You don't want to work on a dumb project, so you fix it.

Hugh Wells
Wednesday, April 24, 2002

>>>"No. *EVERYONE* complains. "<<<

OK, everyone complains.  But mostly in the sense that people talk about the weather.  I don't think most people complain with any sense that things could be better or that they might be able to improve things.

We have a higher order complaining here. :-)  Some of us believe that our situation could be improved, but we don't yet have a good handle on how to go about it.

It is good to hear that Hugh has had some successes in improving his situation.  I have had a success or two, but it has taken years to make a change that should have taken a couple of weeks.

mackinac
Wednesday, April 24, 2002

*  Recent Topics

*  Fog Creek Home