I started in the catalog department at Amazon in 1997, right as Glennf left. It took me an embarrassingly long time to realize that the desks were made out of doors. It just seemed like giant clunky desk to me.
One thing I do remember distinctly about Glenn's time in the catalog department was this terrifying 60k Perl script I inherited from him called sitecounts.pl. This script examined all the various catalogs (books, reviews, etc) and attempted to generate some interesting stats about them. One day it just broke, and since it was used in the catalog build process to verify that things were sane, it needed to get fixed pronto. The code was plenty confusing, but what was the worst part was the extent of the right margin creep, I'm talking 150+ character lines -- not exactly easy reading on my crappy 15" X-terminal. I felt like a character in a HP Lovecraft story, slowly descending into madness as I learned more about the horrors of this script.
I ended up maintaining and adding to this script my entire first stint at Amazon. Eventually as I added features and changed things, it slowly got made sane over time, save for a little bit of madness that I kept in there just so I'd have a reminder of what it was like.
Unfortunately I don't have much to add to the OP, but I wanted to comment on this. Everyone I know that hates Perl had some sort of experience where they inherited some legacy Perl script that broke all the time and yet performed business critical functions. I started my first full-time job in 2004, and whenever I get together with my old co-workers we'll STILL talk about the battle scars we had trying to bubble gum and tape together a particular script called cc_processing.pl (yep, just as critical as the name implies), that seemingly broke every other day and went so far down the rabbit hole you had no idea how it ever ran successfully. $a{$a} = $a->{$a}? Sure, why not.
I wonder how much of Perl's reputation is based on these kinds of formative experiences. I love Perl, but I'm realizing that everyone had their nemesis in sitecounts.pl, or traffic_reports.pl, or partnerpayments.pl, or wtf-how-did-this-ever-work.pl, and unfortunately didn't draw the same conclusions about Perl that I did.
I can tell you that people are still creating these monstrosities today, now more likely with Python than Perl in my experience. I saw one in particular in an academic research project, a true "kitchen sink" script that did all kinds of loosely related administrative things in a massive construction of argument parsing and if-then blocks.
For me the problem with Perl isn't the language but the mindset the goes with it.
It's like it triggers some primitive release of testosterone which results in developers competing to fit the most functionality in one regex filled line of craziness. Hilarious to watch. Hell to debug.
Massive perl scripts that still lurk in our memories of the 90s were not the result of testosterone fueled one-up-manship brogrammer culture. They are the result of needing-to-get-the-report-generated-yesterday one-man-in-the-"computers"-department every-programmer-was-a-sysadmin and-every-sysadmin-knew-perl4-because-that's-all-that-shipped-with-HP-UX/Solaris/AIX (and you had to pay extra for the compiler to build something more modern) culture -- if a single person working in isolation can define a "culture", that is.
It's scripts like these that spawned the meme of replacing people with scripts; because that's what these massive scripts did: automated away entire departments, or negated the need to hire for a department all together. Which is important when you're a two man company and all of a sudden you've discovered you need to process $100k of credit card transactions from yesterday, and you better get started on it because there's already another $300k in transactions generated today. It's only one script, so there's no need for revision control. Damn, there's only one guy working on it, it can run out of his home directory. And of course, it was so successful, successfully a blackbox, he's asked to automate some other task, which is only related because there's some slight dependency, and, well, it's a dependency, so let's just put it in the same script we already run. Rinse, repeat.
Were these scripts terrible? Of course. But they were the work horses of the Internet and any company with two CPUs to rub together in the 90s. There's a reason that "perl is the duct tape of the Internet" was a saying in the mid- to late- 90s: because it was.
These scripts work perfectly fine if the person who wrote them and fully understand them runs them, yet inexplicably fall apart when someone who didn't write them run them (similar to [0]). These scripts can smell the fear of the new guy put in charge to maintain them. This is where heisenbugs roost and schroedinbugs become the stuff nightmares are made of, despite that they had most likely been running without issue for months or years since the guy who wrote them left.
Don't blame the language either. It just is what it is. But there is value in the things you can learn about the code, the people, and the times by taking an anthropological view of it.
In fifteen or twenty years we'll be reading rants from people who had to cut their teeth on some overly designed, needlessly abstracted, difficult-to-build-all the-dependencies-for rails app.
Along those lines, reading Programming Perl is a pleasure in good part because Larry et al. spend time explaining not just the language but also where some of it comes from and its rationale (or not so rational ;-).
Note that I'm referring to the first or second edition (maybe the third); I understand that the fourth edition is just recently out.
If folks have enough programming experience with other languages, it's easy to write Perl that looks more like those other languages, but unfortunately the moment a developer gets overworked or wants to show off (opposite extremes, really), Perl can devolve faster than some other languages because so many tricks are possible when vigilance is not maintained.
I've had decent success with making one-class-per-file with MooseX::Declare and Method::Signatures::Simple, but you really have to have a good code review process and rock solid developers to make it happen.
I don't think it's the languages fault, as this can happen just as quick in (say) Ruby code, and you can write extremely bad code in any language. Those other languages tend to be slightly faster to develop in though, as you can forget all of the need to write things like "my" and the reference syntax. Things like Python and Java have some resistance to "having fun with syntax games", but fall into other traps where interesting syntax (or architecture games) become fun or quick shortcuts.
On one end, part of Perl's problem is not Perl at all, just that it was historically the first thing people learned after Bash, and often those folks really didn't learn to program yet. On the other end, it is easy to go crazy with it.
Incidentally, the same mindset goes with pretty much every other programming language I've seen. The long regexes exist because a short one was "debugged" and "enhanced" into the long one. The same goes with full programs; that five line Java class is now 1000 because all of the bugs were fixed and features were added. You can't blame Perl for the programmer that won't way "we're not shipping that feature today, we're going to split this regex into its own module."
(There is also a skill level issue; regexes are much easier to understand than parser generators, so a lot of people try to implement a parser with regexes.)
Haha. Glenn's perl was legendary at AMZN, even 10 years later. My team ended up 'maintaining' GPOS (for non-AMZN folks, the G stands for Glenn - you can figure the rest out...)
I work for a small company (not a software/tech one) as a sysadmin and programmer and sometimes I feel almost ashamed of scripts or pieces of software because I know that they could be implemented much better or cleaner or this or that. I have some delusion that programmers working at other companies make better design decisions, better code, better tests, etc.
I love to read other programmer's battle stories! (I am currently reading "Coders at Work" and really enjoying it).
its easy to look at code out of context ... was the coder under duress, was he being asked to do a million things at the same time. Was he being paid enough to care ... i'm not making apologies, I think one of the worst things that can happen to a coder is you lower your own personal quality bar; but its easy to do if in the wrong set of context. I always recommend quitting before getting to that point.
Addressing some of the other comments; Perl and the Perl community itself is so far removed from macho ... its still one of the kindest, most intelligent and beneficial public communities online .... if someone feels emasculated by just reading someone's code; don't mistake that for the original coder's intent was to emasculate.
Perl is the programming language that I would want with me if the world was coming to an end (asteroids of course) and somehow I could help save it with getting the damn lasers to work to blow up the asteroids ... if it takes a 150 char regex then so be it.
I was an intern at Tellme, which used door-desks early employees had to build themselves. I built a desk in pretty much the same style as the Tellme desks (although structurally more sound… I can jump up and down on mine thanks to an extra 2x4), which were based on the Amazon desks.
My desk, which I have used since 2003, is a 30" x 80" x 1-3/8" hollow core white door, on four cut to order 27.5" 4x4's from Home Depot. It cost less than $50 to make and is a very nice desk. It took me less than two hours to build, from leaving my house to driving to Home Depot to building the final product.
My next desk will be a built-to-order sit-stand adjustable desk, but that's because I'm currently able to earn enough money (and am concerned enough about my health) to justify the cost. If I were still 23 and concerned about costs, I'd build a desk identical to my current one in a heartbeat.
The door desk is a lie. They claim it is cheap, its one of the company mantras like "its day one!" that are part of the ideology/cult that exists at amazon. It is part of their fraud (like leaking that kindle fire is a success via a PR firm, if they told lies in their annual reports it would be actionable, but they can commit the same fraud using a PR firm and get away with it.)
Basically everything Amazon says is exactly the kind of lie that the door desk is-- it sounds plausible and in other contexts it could be true, but in reality, it is a lie.
My true story of the door-desk is that it made me think, "Wow, they're making everybody use desks that look like they were built from things they swiped from a dumpster behind Home Depot...how much are they going to nickel and dime me when it comes to compensation?"
Sure, the work sounded interesting and the people seemed competent and friendly, but the view of an open floor plan filled with those desks really dampened any excitement I had about working there.
I own a door desk, bought from the Saltaire company in Seattle, the one that made Amazon's desks. I had interviewed at Amazon in 1997 and saw the door-desks everywhere and asked one of the people there where they got them and found out the company info. (Meanwhile, the interview didn't go well: they didn't seem to like me and I really thought the company was creepy -- every interview was unpleasant, every person I met was arrogant and the whole vibe of the place felt wrong.) Anyway, I went to Saltaire and special-ordered one of their door-desks. Cost around $200 plus tax. I still have it 15 years later, it's in use every day.
I worked at Google for a brief period of time and put in a work order for a door desk, as it was part of the culture I read about in 'In the Plex' and more.
Sadly I was told that only senior VP's and up could have door desks. Maybe in 20 years :)
All of the other answers to this questions are wrong :)
The door desk is a badge of achievement. You feel like you have beaten the system - you got a "desk" for a price of the door. It's similar with many other DIY solutions - the inconvenience does not matter. What matters is that you did it yourself.
Plus, in some companies, I imagine it might mark you as a member of an inner circle of door-deskers.
They feel really substantial but at the same time simple. Basically a taste/style thing for myself. They're like the concrete and steel ibeam art installations of the desk universe.
Also with adjustable chairs I've never really felt the need for adjustable desks. We'll see how that works out for me in a few years though I guess. ;)
What do you do with a deep desk? My IKEA table at home is already too deep, all I do with the extra space is store a monitor that I don't use. At work, the extra space hosts a marble track. And this is with a standard desk; a door would just be a massive dust collector.
Space that you can't easily reach is essentially useless. My desk mostly exists to take up space between the wall and my monitor so my legs have somewhere to stretch out to.
There is something symbolic about something impractical and expensive becoming a symbol for practicality and frugality.
There was a recent post on HN about a startup in Seattle spending loads of time to build door desks, an apparent attempt to emulate Amazon. Perhaps purchasing ergonomic desks for a reasonable price and no time sink would be a better strategy than these clunkers.
Maybe I'm looking in the wrong places, but I have never been able to find heavy-duty desks at a reasonable price, except for the old-fashioned sit in the middle, drawers on the side design. I've built my variants of the door desk at home specifically because they were cheaper than the alternatives, even the cheap particle board desks fro the big box stores.
My variant is to lay two 2x4s across either two filing cabinets or sawhorses, then put two 2'x4' sheets of 5/8" or 3/4" MDF on top of the studs. Cheap[1], toolless[2], and portable[2]. My current variant is a little more elaborate, since I wanted a corner desk, but fundamentally the same architecture.
[1] The sawhorse version costs less than $50
[2] Nothing is attached
You can get a laminated 8' folding table nicely finished with a steel frame for $80 new that will hold at least 1000 lbs and doesn't have to be taken apart. i actually got one for $50 new a few years ago. I tried lots of lumber yard solutions, too until I realized there is a superior engineered solution.
1. The metal reinforcement underneath the tabletop, around the perimeter, would interfere if you wanted to install a keyboard tray.
2. The collapsible diagonal metal struts that reinforce the legs reduce the usable space underneath the table somewhat. You may not be able to fit a filing cabinet (or small rack, or tower PC with hard drives on top, etc) under a folding desk near either end, because of the struts.
That was what I originally wanted, but I haven't seen any around Dallas that strong for less than ~$150. I probably would have been fine with a regular (but no el cheapo) folding table, but I have a tendency to overbuild things.
So, $150... vs. $50 and several hours of labor and cleanup. The issue is not really the money.
I suppose there is a positive in the pride of workmanship and if someone is handy and feels like doing this - have at it. The monetary savings don't seem worthwhile. If they exist, they are purely symbolic - at least for a company that can afford to pay rent.
When I was at AirWave, which was an IdeaLab company, we had door desks made of hollow-core doors set on top of two cheap steel filing cabinets. Maybe other IdeaLab companies did the same thing.
These worked fine as long as you didn't poke holes in them, but at first they were a little unstable, since the doors would slide around no top of the filing cabinets. At some point, somebody had the idea of putting some of the Thinking Putty we had sitting around the office on top of the filing cabinets, and that kept the doors from sliding.
This is considerably more frugal, in my view, than the solid-core doors with metal brackets to attach the legs. Lightweight, easy to move, easy to disassemble (the Thinking Putty stained the wood with its oil but didn't get stuck itself), lots of storage space in the drawers, etc.
I picked up the tip from an IKEA employee of using (industrial) Velcro. That's what they use at the store to keep things from flopping about. Works a trick.
I had a door desk in college. It was solid core with a flat surface. You could buy them at a deep discount if you found one with surface defects. I used cinder blocks to support the corners, making it cheap and portable. Simply put, it was the best desk I have ever had.
I'm sorry, I read the whole article and could not understand it. perhaps I need more sleep. Are doors cheaper than desks? Why is this a cost saving measure? Did the desks double as doors? I guess there is some industry insider stuff that I am just not getting.
The doors were expensive, built to an arbitrary height, heavy, difficult to move, and horrible for body health because of the bad ergonomics. That's when I started having to see an acupuncturist for carpal tunnel and related problems. And also note that these were exterior doors: moving a exterior door through an interior door frame with legs permanently attached is a tricky task. At the time, a slightly smaller desk (or even a study banquet table) would have cost 1/3 to 1/2 the amount and worked far better.
Indeed. The door desks were one reason I turned down an offer from Amazon. If they want their employees to get carpal tunnel, what other landmines lie lurking?
The tl;dr is that the doors were not less expensive than desks, at least not enough to really matter. The value was in the perception of frugality that they created.
I worked there for about 3 years in the mid 00's. Everyone still had door desks, and all-hands frequently mentioned the fact that they were less cost-effective than actual desks, but they still used them as a reminder of frugality.
I am a fan of large surface desks with nothing underneath. My favorite desk I've ever had is just a 6ft banquet table like http://www.lifetime.com/tableschairs/rectangular/6-foot-adju.... It can be packed in the back of an SUV/minivan, relatively light, and very sturdy.
I worked at Amazon in '05/'06, and the perception of frugality was still important then. For example, someone from another group complained to me that they were being forced by higher-ups to remove a set of plastic plants they had recently bought. When it was pointed out that the plants were actually quite cheap (not to mention a sunk cost), the reply was that they "looked expensive."
I've never used a door desk, but in addition to the other negatives already mentioned, I have to imagine that they must be rather wobbly, like the Ikea desks we had at a startup I was at several years ago.
If anyone wants a great cheap desk (around $250 delivered), I recommend the Hon AM3060:
These things are extremely sturdy with no sideways wobble at all. They are adjustable height and have adjustable feet for uneven floors. I've had a couple of them for years and think they're great.
Unfortunately, Hon seems to have discontinued them. The only model I see in stock anywhere is the AM3060ZZP with a mahogany colored top. I have the AM3060ML with a light oak color top, and there was also one with a gray top. (All the tops are a laminate.)
There also used to be an AM3048 and an AM3072, but I don't see those anywhere. (The model numbers indicate the top size: 30x48, 30x60, 30x72.)
> I've never used a door desk, but in addition to the other negatives already mentioned, I have to imagine that they must be rather wobbly, like the Ikea desks we had at a startup I was at several years ago.
They're not. Actually, neither is my Ikea desk at home, for that matter.
A well-built door desk has the legs braces on two axes (note: not all of them are correctly built) and the legs are really quite substantial. I'm a fan of the "giant table as desk" school of office furniture selection, so I actually rather like my door desk. It's one of the only things supplied by Amazon that I didn't feel the need to eliminate or replace out of pocket.
I'll add: If the posts are pressure treated lumber, you don't want to breathe the dust if/when you saw them. Better to avoid pressure-treated -- but depending upon where you shop, you might end up with it if you don't know better.
I just don't care any more. this site is not for old startup people to wax anything. I want to start something. I know or know about these stories already. I'm not excited for this culture to get all pseudo-nostalgic.
The comment deserves a downvote, if for no other reason than because the last thing HN needs is another person whining about how they want to start a company. A thousand graybeard reminiscences filling the front page never would be as harmful to OP's chances as the fact that he thinks the top story on HN is in any way connected with him starting a company.
It was already light grey when I got here so I neither downvoted or upvoted but my opinion differs from yours. I don't see this post as being about the old establishment but more about how a marketer sold a tech business to the public before it was quite ready for one. There is a lot to be said about ignoring certain old business practises but I'm not sure ignoring very recent(the 90s weren't so long ago!) marketing techniques is one of those areas we should so quickly ignore. The world in relation to the internet is quite different from now but I think this story still holds true in that finding something quirky and original about your business is a great way to sell it to the mainstream.
The proper solution when you see something you dislike on HN: move on. If you think it simply doesn't belong on HN: flag it. If you want to improve HN: submit something better.
The opposite is true: it was penny-foolish and pound-wise. As Glenn pointed out -- the door desks were an expensive and ergonomicaly unsound symbol that told a true story about frugality and the relationship between the company and the employee. Because of the omnipresent symbol of frugality, many cost saving decisions were made that undoubtedly paid for the cost of the door desks many times over.
The less happy side of the symbol: that amazon really didn't care about employees was reinforced in other ways as well. A common refrain from Jeff: if you're not happy here, leave. Life is too short to be unhappy.
In some senses that's a bold answer, and an honest one. But note that the answer was very, very rarely: what can we do to make life better here?
The door desks were also a symbol to us all that if you wanted to work at a place that cared about your health, well-being, and happiness, you might very well want to move on.
But, to be fair, three counterbalancing factors held people there: hard engineering problems, the very real prospect of wealth, and working on a product that was very, very successful. I never heard Bezos give anyone the sugar water speech: he didn't have to. It was obvious that Amazon was changing the world.
One thing I do remember distinctly about Glenn's time in the catalog department was this terrifying 60k Perl script I inherited from him called sitecounts.pl. This script examined all the various catalogs (books, reviews, etc) and attempted to generate some interesting stats about them. One day it just broke, and since it was used in the catalog build process to verify that things were sane, it needed to get fixed pronto. The code was plenty confusing, but what was the worst part was the extent of the right margin creep, I'm talking 150+ character lines -- not exactly easy reading on my crappy 15" X-terminal. I felt like a character in a HP Lovecraft story, slowly descending into madness as I learned more about the horrors of this script.
I ended up maintaining and adding to this script my entire first stint at Amazon. Eventually as I added features and changed things, it slowly got made sane over time, save for a little bit of madness that I kept in there just so I'd have a reminder of what it was like.
Ah the 90s. Good times.