A sensible living environment for programmers is described in ProgrammingOutsideTheCube
. This works well for smaller companies, but upper management in larger companies often seems reluctant to buy into it.
- sabotage the lights. Find a ladder and take out all the fluorescent bulbs, then let folk bring in whatever lighting they're comfortable with. When maintenance turns up, tell them you're using flash-ram and that fluoro lights will destroy six months' work. If necessary, actually purchase some flash-ram.
- sabotage the FuzzyPartitions. Buy a screwdriver and remove anything that's not load-bearing. Then bolt all the walls together again as a single enclosure for conferences. When maintenance turns up, hide inside the conference enclosure. If necessary, throw water-bombs.
- sabotage the chairs. A good place to get comfy chairs from is executive conference rooms. Just souvenir one chair from each room in the dead of night. Put the old uncomfy chairs in your new conference enclosure. When maintenance turns up, point out the uncomfy chairs in your conference room and demand they be replaced with comfy conference room chairs.
- Plants and fish! Buy Bettas (Siamese fighting fish) and put one on every desk (see WorkplacePets). Beautiful things, cheap & very low maintenance; they make programmers feel like they have a life. Plants are more problematic because they need this sunlight stuff to stay healthy. Twist management's arm until they agree to get the plants maintained by a garden service, then build office enclosures from the dankest darkest jungle vines you can afford. When maintenance turns up, paint everyone's faces with magic markers and liquid paper and beat the desks like jungle drums.
- BeerOclock. The idea here is to have a surprise long lunch (afternoon tea, dinner, ...) once every month or two so people don't feel they have to sit there till they go mad. Beer is not actually required. The key thing is that no one organizes this, and it's never done at logical times or to celebrate anything. It's done by protocol: one developer stands up and declares, "Beer O'Clock!". If most of the others aren't too busy and feel the same way, all go. Leave a tape of jungle drums running in case maintenance turns up while you're out.
I've only been privileged to enjoy a LordOfTheFlies
style development on two occasions, and I know it's far from most peoples' cup of tea, but effects on productivity really are impressive. Developers either feel so comfortable with going native that they practically live in the office - it becomes a matter of tribal allegiance - or they feel so guilty about their involvement they work hard to compensate.
But carrying on like this does require at least one developer to have achieved indispensability. Then, if there's trouble, it was all their idea.
Fantastic and delightful!! Who are you and what have you done with the real PeterMerel? -- RonJeffries
That would be telling. -- the new PeterMerel
While working at the job that inspired ProgrammingOutsideTheCube
, we moved into a new office building (hence, new cubes). The first thing I did was unscrew the fluorescent bulbs. I placed a yellow sticky note on the side of the light that read "Do not fix. Not broken!" (for maintenance). Each day a new set of lights were put out by programmers working on my floor. By the end of the week, the whole floor was a bit dimmer and you could locate the programmer's cubes by the sticky notes above them.
Finally, a tech writer complained about the lack of lighting in the office. Then someone in tech support complained. Our manager had to go to the bosses and try to convince them that lighting caused headaches. It took a while and we won out. It seems that they were reminded that the product wasn't finished yet and if the programmers quit then there wouldn't be anything to "write" about or "support".
The real lesson learned, however, was how different software development environments have become in the 90s. We can no longer expect to have a room full of like-minded coders who crave darkness and art studio
like places. I would add to LordOfTheFlies
: Plant your developers in their own dark little corner.
Then there was the time we rearranged the cubicles and really pissed corporate off...
A similar story: I worked for a small company that was moving into larger space, and for budget reasons, they were building hardwall cubicles (5ft walls). The company president got into the process of choosing paint colors (that's colours for you Brits, :->) and choose stark white for the programmer cubes, with a dried-blood maroon on the ends walls as accent. Then the standard OSHA-defiant fluorescent lights - 1G lumen minimum. I walked into the area and had _THX1138_ visions. We soon had light fixtures out above each occupied programmer cube. -- Pete Hardie
I was working for a company a few years back - they were a little more clueful than most; natural lighting, engineers were not warehoused in cubes, in all, it was your typical Seattle dot-com startup during the internet boom. I was in a large room that was shared by the development team, however, my desk sat in the corner, against - and directly facing - a brick wall.
It occurred to me perhaps I would be more productive if I didn't feel as though I were doing time in a Mexican prison, so one slow day, without the blessings of the facilities director, I turned the desk 90 degrees clockwise. This made an astonishing difference in my attitude and consequently, my productivity.
I came in the next day to find a 5+ minute dissertation from the facilities guy on fire codes and proper channels of communication. Oh yeah, and I would need to have my desk back in it's original position by end-of-day. Now, I measured my desk before I turned it, and it stuck out from the wall more before I moved it, so it couldn't have been the fire code.
I told my manager in no uncertain terms that I would quit before I would put my desk back and would he please have some words with the facilities director. The desk was never mentioned again and I enjoyed my lovely view of the Puget Sound from that day forward (until they were forced to lay everyone off for lack of funding, natch). -- BenSharp
At a previous company, all we developers were moved onto our own floor of the building, with a wing per product. This was a big floor plan with only a couple of pillars in the middle and glass all round, great views over the River Thames, the City of London, stunning sunsets (because of the pollution).
The desks were put in, and it all looked pretty good (even if it was a bit of a techie's ghetto): you came onto the floor at one end with this clear view through past all these busy people, typing, talking, using the freestanding whiteboards arranged down the middle of the room, then the London skyline behind them. OK, Manhattan it isn't, but you could see St. Paul's, Battersea power station, almost read the time from Big Ben.
There were a couple of handy little meeting areas walled off down at the bottom.
Then the rest of the walls arrived: we were split into carrels of six desks. Not by team or anything, just arbitrarily (but on a neat grid): the meeting areas went away, these lovely big whiteboards disappeared into horrible small rooms elsewhere; all because "you will work better that way". "This is not what we want!" we said, "Maybe", said The Management, "but we have decided that this is what you need."
Now when you came onto the floor all you saw was the tops of people's heads poking up above the walls, if that. I complained at my annual appraisal not long after that this arrangement served only to reinforce the (very wrong) notion that software development is primarily about heads-down solitary typing. I was told that a lot of money and time had been spent on arranging the floor as it was (there was an A0 colour plot of the layout done by some office-planning company to prove this), and they weren't going to change anything on my say-so.
My team-leader and I had our desks back-to-back, which was good as we worked closely together a lot of the time, and then suddenly we had a wall between us! These carrels were really bad, too big to give any privacy, too small to promote collaboration, everyone had a great view of some hessian.
So one weekend some of the people in my area took down that set of walls, creating a 12-desk open area in one corner of the floor.
Then I took the rolling 2-drawer filing cabinets from my and the neighbouring three desks and put them together as a pedestal in the intervening space, borrowed a plant from reception and put that on top.
What a difference: coming round the corner from the entrance, the ranks of grey (did I mention that the walls were dark grey?) walls suddenly opened up to a cosy, friendly little spot with a nice visual feature in the middle.
Responses: My desk-neighbours thought the new arrangement was much more comfortable; a senior staff member came over, had along look and announced that this was somehow in contravention of fire regulations! (I checked, it wasn't)
I resigned not long after (altho' not for exactly
that reason :).
Being on the big floor like that doesn't help, but in every organization there are a few souls who are indispensable and know it. You needed to find one or two of them and get them involved. They're not hard to find: they dress in bathrobes, pyjamas and Hawaiian shirts, the managers cross themselves when someone mentions them, and their workspaces are sprawling seas of homey clutter. If, looking across the floor, you can only see heads, start with the guys with the fluorescent lights turned off.
They're often brutish at first, because they don't give a toss about what anyone else in the organization wants and they're used to flipping everyone off. But buy them beer, or whatever their tipple is, treat them honestly and kindly, encourage their eccentricities, and they'll soon conspire with you. Faster LANs, extra memory, corporate dirt, pirated software, and help with ScrewdriverWork will follow. The rest of us are just riding their coat-tails; these guys are the true LordOfTheFlies(s).
I think I kind of was one of those guys, a little bit, for while (I may flatter myself). But in that company, at that time, Baal himself was in shaved head, pink polka-dot silk shirts and ripped jeans. I accepted the offer from the company in part because I saw this guy wander the corridors while I was there for interview, and I thought: hmmmm.
indispensable. They fired him. Numerical solution left as an exercise for the student. -- Keith
Lest we forget: NoOneIsIndispensable
Once upon a time, I was working on a team that was working feverishly to get a shrink-wrapped product out by deadline. At first the team resembled a normal project team. Then, as it got harder and harder, and as we worked more and more hours, things got more and more tribal. We started calling ourselves "dogs" and did everything together. Working 18-24 hours a day at times, most of us had our own offices. Late at night every hour or so we'd goof off. Either we'd install a hack into a manager's office (pull a wheel from his chair so he falls on ground, remove mouse ball, etc.), or we'd go for a walk and get some junk food. We were constant consumers of cheap office coffee. Eventually, my office got pitch black, and during major hacking sessions our project manager would hang a sign on my door saying "Do not feed, observe, or disturb the animal in this cage". Also, one day I came into the office after working many hours and sleeping to find a futon in my office.
The most memorable was when three of us shaved our heads bald. After several beers after a long coding frenzy at a notorious bar called Grindal's in Havard Square, we found ourselves at a restaurant called the Hong Kong drinking "scorpion bowls". And at some point, three of us went to a corner store and bought scissors, shaving cream, and disposable shavers and went to work. Needless to say, we all woke up hung over and wondering why it felt so different. We got to work, and the entire company gathered around us and laughed at us for about two hours. One employee nefariously created a time billing entry called "Baldies Mutual Admiration Society". Those were the good old days.
My point is that whether you paint your face red or pass a conch around or take the fluorescent lights off the ceilings, it seems that programmers and their environment naturally exhibit an eccentric quality when it's necessary to be very productive and management allows it.
Any suggestions or ideas for those of us who are still in school and have to fight our way to creativity in the OnCampusComputerLab? every day? (I'm guessing that there are lots of tricks that some of you pulled like the ones mentioned above when you were in school...)
One common problem in undergrad labs is silence. Emailing the person next to you is not
a substitute for talking to them. Therefore: buy some soft throwables (preferably ones that make a noise). Whenever you see someone in danger of descending into sub-humanity (be careful to distinguish this from MentalStateCalledFlow
), lob a throwable.
That is what 3 AM was made for. We didn't have a silence problem, just a numbers problem (more pegs than holes). 3 AM allowed us to get a slot, communicate as necessary, and get the job done. For the big programming projects, I highly recommend getting a laptop so you can code WHENEVER you need to, on the bus, during other classes, etc.
Recommendation seconded. Our Group Project was produced on various laptops in empty seminar rooms (and sometimes food places) around the University. Also, the mix of three different flavours of Windows, two flavours of Linux and MacOsx
ensured that our Java really was cross-platform! -- Pete
A lot of schools have a small lab, hidden somewhere but available to use for students who know about it, or who know the right people. It may not have the best machinery, but in the university setting all you need is a link to the ether. In my school it's the graphics lab. "What a great room. Cold, dark, and full of expensive Sparc workstations," my friend Ben says.
Almost no-one uses the room because it's out of the way and because the Sun keyboards aren't what they're used to (the ones with the control and caps-lock keys swapped). But a small group of us goes down there late at night, turns off all except the incandescent track lighting, and swills MountainDew
while chatting and programming. -- anon
Our equivalent is the "Unix Bunker". As far as most people know, the CS department has all the Unix machines, and central IT Services has all the Windows ones. ITS's machines live in a maze of depressing rooms under the Library building, whence they moved a few years ago. What many people don't know is that ITS also has a room of Sun machines in their old home - an underground corridor under the main lecture theatre. This is the Unix Bunker.
Life truly is weirder than you can imagine. This page is quoted almost in its entirety and nearly verbatim in the September 2000 SoftwareDevelopmentMagazine
[on-line at http://www.sdmagazine.com/articles/2000/0009/0009i/0009i.htm
]. One day, someone will write a whole book about BeerOclock
Recently, I led a small team that had been working on a really gruelling software project. For weeks we had been putting in 12-16 hour days, including weekends. On a Thursday, I noticed that my team had just about had it, the project deadline was the following Friday and we had three more days worth of work to do on it before completion. We knew we should finish ahead of schedule, be we were all just about brain fried (read burned-out). So what I did was to declare a three-day weekend: We not only left work early that Thursday, but we were going to ignore the project entirely until the next Monday. This was probably one of the smartest moves I have ever made as we had one of the most productive days we had ever had. We completed the project Tuesday afternoon. If we hadn't taken the time off, I believe that we still would have delivered on time (it was a matter of pride to my team that we had not missed a deadline) but it would have been much more difficult.
And yes, telling management that I sent my team home for a three day weekend with a deadline coming up was definitely a risk, but it paid off well.
-- Team Leader of The Control Freaks
Wow, you have your guys working 12-16 hour days! The big deal isn't giving them a 3 day weekend, the big deal is that you didn't force them to work shorter days or declare a four day work week.
The biggest problem about adapting your environment on the sly is that you have to aggressively defend it. I used to have a desk where three of the fluorescent tubes around me had mysteriously broken. Every time maintenance came to fix it, I said "No, there's really enough light here, don't do that". Nobody objected, so it settled in like that for a while. Then I went on leave for a couple of weeks, and maintenance replaced the missing starters in the lights. Anyway, the point here is that you really need some buy-in, either from management or your co-workers, to pull of these tactics.
Nowadays, I have glasses that tint in response to light levels. These help keep the light level down to reasonable for me, but it never ceases to amaze me when they actually lighten when I go outside. -- RobertWatkins
I'm young. Someone explain to me why management flips out whenever you decide to move the furniture around, knock down cubicle walls, or in our case, cover the dayglo fluorescent painted walls (which I nicknamed "Playland")? I understand they put money into it, but that's their own stupid fault for not asking anyone - you'd think they'd be used to having their eggs served back to them. *cough* *cough* FairProcess
, eh. -- SunirShah
Control. One CEO I worked for spent a fair amount of time personally choosing the paint colours for the new office space. His choices? Stark white for the cubicles (hardwall cubes - the worst of both worlds), with dried-blood maroon for the accent walls at the ends of the space. And to top it off, over every cube was an industrial-strength 3-bulb fluorescent light - the room looked rather like the interrogation room in THX-1138. We developers grabbed the end cubes ASAP, and rapidly killed as many of the overhead lights as we could. -- PeteHardie
One of us had a three-foot section of partition that came out at a right angle from the back of his cube. Its only apparent function was to separate the guest chair from the passageway, but since we were at the end of the passage this seemed superfluous. Over time it became clear that this section of partition was creating an unnecessary barrier between the occupant and the rest of the team. To make matters worse, the section wasn't anchored to the floor so it would displace laterally under the weight of anyone foolish enough to lean on it (which would be all of us). We called the office manager. Without any questions, she sent up someone with a beer gut and a hex key to remove the unneeded 3 feet of partition.
> Every time I run across this page, I'm tempted to rename it to "LordOfTheFiles
Done. Well, kinda. Enjoy your redirect :)
Wait a second - wasn't the moral of Lord of the Flies
a rather dark one? This page seems to have more to do with camaraderie than with that sort of nature. From what I've observed, is that a LordOfTheFlies
development environment is rather grim: the AlphaMale
and its toadies tend to gravitate to a not-so-very good method of development. TheyreAllIdiotsWeKnowBest?
sort of thing.
Camaraderie aside, human nature is just that...another pattern to be observed and dissected, and dissertations thereon to be written. Renew your acquaintance with Ralph, Jack, Piggy, Simon, Roger and the twins and their problems so that when things are going anti on the project cull from the above BeerOclock
suggestions before anybody ends up like poor Simon.
Wait a second - wasn't the moral of
Lord of the Flies a rather dark one? This page seems to have more to do with camaraderie than with that sort of nature.
Yes. The verbal irony is intentional.
When our division moved to a new building, the buildout contractors made some minor structural changes to accommodate us. One such change was the merging of two large storage rooms to create our group's main conference room.
The conference rooms in the old building were all named after local (Pittsburgh, PA, USA) sports stars: Rooney, Palmer, Lemieux, etc. The new conference rooms hadn't been labelled yet, but ours still had a "Storage" door placard beside the remaining door. The left side of the sign had been broken during the build-out, so naturally, we christened the room "torage".
A few weeks later, the local facilities person came up with a brilliant new conference room naming scheme: letters and numbers. Yes, 3-A, 3-B, and so on. The broken "torage" sign was taken down and a brand new, official, granite-grey, corporate-looking sign reading "Conference Room 3A" was put up. The next day, the new sign was gone and a half sheet of printer paper reading "Torage" hung in its place. Our scheduling groupware still called it "Conference Room 3A", but we got around that by having our friendly neighborhood administrative assistant add an alias of "Torage". (Note to geeks: be nice to your office staff!)
Never underestimate the persistence of geeks. Now, a few months later, I can lean back out of my cube, and see the nice, official, granite-grey, corporate-looking sign: "Conference Room Torage". -- TimLesher
Of course, one problem with interpreting all these accounts is that one has to take into account the HawthorneEffect
; the more time that the improvement in life/work/enthusiasm persists, then the more reliable the association of cause and effect... -- BenLast
The Lord of the Flies novel is only grim if you empathize with the moronic protagonists. However, they're obviously meant to be bad examples. Simon is a religious maniac subject to hallucinations. Piggy has disabilites that make him unable to survive without consuming too many resources. Ralph is a charismatic conservative who can't adapt to the new situation he finds himself in. If Ralph wins, all of the children would die of dysentary because they ate nothing but fruit.
The "savages", on the other hand, are perfectly adapted to their new environment. They drive out the dangerous lunatics from their tribe, hunt the best food source on the island, and adopt the natural human social structure: a tribe. In many ways, it's too obvious that Golding is throwing the game for them, because they're too good, too competent at living in their environment, while real human societies takes generations of scraping by before they learn how to do as well.
That kind of adaptation to your environment is the perfect ideal for a human. In civilization, be civilized. In barbarism, be barbaric. If you can't adapt, you will perish (or go out of business).
Lord of the Flies is the most heroic, triumphant paean to the human spirit I know of.
Adapt to your office, and adapt your office to you. Drive out the unfit and evil, who will do you harm.
Point of the novel is loss of innocence; by adapting, the children are no longer children. Civilization recognizes the value of innocence, so constructs environments within which it can be regained, however, temporary. Golding's novel is a tragedy in the same sense as AnimalFarm
- and for the same reason, the triumph of the KillerApe?
The "innocence of childhood" meme is a very recent (19th century) fiction constructed by well-meaning but intentionally unobservant Victorians. In previous times, even very civilized times, children were recognized as what they are: savage animals with no capacity for thought or civilization on their own. Human children are hairless chimpanzees, and not the friendly bonobo kind. A "tragedy" mourning the loss of a quaint fiction is not very tragic.
Perhaps the novel was more effective when it was written in 1954, when people were still using that kind of intentional blindness to the world they lived in. But today, we know the secrets man was not meant to know. We've seen worse. We've done worse. Some kids going savage and adapting to their environment is a best-case scenario; it always was, but we *know* that now. The realistic Lord of the Flies novel would have 90% of them dead in two weeks, and a handful of cannibalistic survivors.
And as an analogy to anything else, the "innocence" reading doesn't give you anything to work with. Are the coders innocent? No, we're the savages, adapting to new environments and then making them our own. Are the management innocent? It is to laugh.