Slashdot Mirror


The Bionic Office

hondo77 writes "Joel Spolsky has finally moved Fog Creek Software into their new digs. Read about what went into the design of "the ultimate software development environment" from your (my) cube and drool."

317 comments

  1. um by Anonymous Coward · · Score: 0, Insightful

    yay? this is important news?

  2. My God by scumbucket · · Score: 0

    Is the green wall in that picture fugly or what?

    --
    CMDRTACO CHECK YOUR EMAIL!
  3. biggest pet peeve by British · · Score: 4, Insightful

    My biggest pet peeve at the office is having almost no room between the table and wall to get a power plug through. I'm sometimes bashing the plug(or the ferrite core) behind the table so I can get it to the outlet or Ethernet port.

    All cubicle tables should have a notch cut out for this purpose.

    1. Re:biggest pet peeve by Rick+the+Red · · Score: 1

      Better yet, a power strip on the wall just above the work surface.

      --
      If all this should have a reason, we would be the last to know.
    2. Re:biggest pet peeve by xiopher · · Score: 0

      I like your X10 page. Really funny stuff.

    3. Re:biggest pet peeve by Schwartzboy · · Score: 5, Insightful

      Amen. I can't even count the number of workspaces I've had, either at my own workplace or at client sites, that have the plugs at ground level & right up against, say, the 76-ton (empty weight) steel file cabinet full of small rocks. While I don't see a great deal of use for the HDTV in an environment where people are supposed to be working, I'm a huge fan of this line-of-sight stuff, and other than the "dear God I'm blind" shade of green, it really does look like a nifty place to work.
      Big straight tables for collaborative sitting/hanging out/pair work and doors that close, plus millions of LAN ports (no mention of any wireless stuff that I could find, though) and color-coded sockets to easily figure out what goes where based on which electronics need UPS goodness, and did I mention the doors? This article should be from the "Geek Eye for the Clueless PHB Guy Who Likes to Pack Coders in Like Sad Little Cube-Dwelling Sardines" department. Heck, I can see all kinds of potential for enhanced productivity (or at least more /. reading and LAN gaming) in this setup just for me and a bunch of my best geek buddies.

      It's a pitiful wasted dream to imagine that programming-types working for non-software companies will ever see this sort of environment, if the idea takes off anywhere else at all. Pity the child who reads this article and will never live to touch the promised land...

      --
      "Linux doesn't exist. Everyone knows Linux is an unlicensed version of Unix"- Kieren O'Shaughnessy
    4. Re:biggest pet peeve by Anthracks · · Score: 1

      "Geek Eye for the PHB Guy" has to be one of the better things I've read recently, thanks for that :).

      --
      Rock over London, Rock on Chicago. Wheaties: Breakfast of Champions.
    5. Re:biggest pet peeve by ZorbaTHut · · Score: 1

      Wireless isn't always great - at the place I work, we have 100mbit ethernet across the entire office and we *need* it. We're constantly sending large files around, and in fact, we've got the server on a gigabit switch (which means that when some of our programs run, now they bottleneck on hard drive speed instead of ethernet speed. IDE RAID just isn't fast enough.)

      11mbit would be death to us. When it's easy to set up a wired network, I think it's definitely preferable.

      --
      Breaking Into the Industry - A development log about starting a game studio.
    6. Re:biggest pet peeve by Anonymous Coward · · Score: 0

      Actually most cubes have a cable run along the bottom, you just have to pop off the cap to get at it. Same for the top. Some you can install outlets right in the covebase. We have this at our work, but strangely the cabling is all over the place. Where's my cutters?

    7. Re:biggest pet peeve by MeanMF · · Score: 1

      All cubicle tables should have a notch cut out for this purpose.

      A power drill with a 1" bit can work wonders.

  4. Tangerine Dreams by vonFinkelstien · · Score: 3, Funny

    Now I see why they could not afford a 17" PB (or even a 12" PB). That's gotta suck programming around all day on a tangerine iBook.

    1. Re:Tangerine Dreams by lxs · · Score: 1

      well, it beats staring at the luminous green walls.

  5. colour me unimpressed by Graspee_Leemoor · · Score: 2, Troll

    I read the article. Hmm. Looks nice enough, but it's not front page of /. stuff. Frankly I'm unimpressed. What is jaw-dropping about it? Nothing. And before you mod me flamebait, try asking yourself what is so great, exciting or thought-provoking about the article.

    graspee

    1. Re:colour me unimpressed by PD · · Score: 1

      You're right, it's not front page /. stuff. It's on the developers section page.

    2. Re:colour me unimpressed by Anonymous Coward · · Score: 0

      It's also on the front page, Mr. KnowItAll LowID.

    3. Re:colour me unimpressed by Anonymous Coward · · Score: 0

      You sure told him! I bet he doesn't post again for... minutes.

    4. Re:colour me unimpressed by MoonFog · · Score: 4, Funny

      And before you mod me flamebait, try asking yourself what is so great, exciting or thought-provoking about the article.

      What I found thought-provoking .. there wasn't a single coffee machine ... do they really expect a programmer to work without coffee ?

    5. Re:colour me unimpressed by etcshadow · · Score: 1

      Well, it says there is a kitchenette in the common area... I'd have to imagine there is a coffee machine.

      --
      :Wq
      Not an editor command: Wq
    6. Re:colour me unimpressed by Trak · · Score: 1, Funny

      I got your low ID right here, pal!

    7. Re:colour me unimpressed by connsmythe96 · · Score: 1

      -- :Wq Not an editor command: Wq

      I used to get that a lot. Use "cmap W w". ;)

      --
      if(!cool) exit(-1);
    8. Re:colour me unimpressed by etcshadow · · Score: 4, Insightful

      I think part of what's revolutionary about it is a manager making a rational economic argument for why it is worthwhile to spend this kind of money on giving developers a nice work area, and then putting their money where their mouth is (damn english, lacking proper indirect third-person singular pronoun).

      It would be nice if my company could see things this way, instead of making lame-ass defeneses that "We can't treat the programmers specially, when there are non-programming paper-pushing staff right down the hall. If they get cubicles, we can't give you nice offices. While we agree that you *deserve* better, they'll get pissed off at the disparity." Hell, they probably tell those people "We really can't do better for you... I mean, we *already* treat you as well as the programmers!"

      <aside>
      By the way, the word is "color", friend. KIDDING!
      </aside>

      --
      :Wq
      Not an editor command: Wq
    9. Re:colour me unimpressed by marc_gerges · · Score: 2, Interesting

      Ever worked in a cube farm, no daylight, no quiet, chatter all around and always feeling somebody watched you from behind?

      Preferably close to a manufacturing area, not only the white noise from computers, but whatever droning sound is being generated within 20 meters doesn't leave you alone?

      And when by pure chance electricity goes down once, the most noticeable thing not being the darkness, but the quiet?

      I'd kill to sit in an office like that!

    10. Re:colour me unimpressed by I8TheWorm · · Score: 1

      Yeah... forget green walls and easy to get to plugs (although the latter is a nice feature, come to think of it). What would make me an even more productive developer would be some sort of coffee tap right here at my desk. Oh, and an ashtray. Oh, and lifting the ban on smoking in the building.

      --
      Saying Android is a family of phones is akin to saying Linux is a family of PCs.
    11. Re:colour me unimpressed by hondo77 · · Score: 3, Funny

      What wouldn't I give to have a window and a door! I sometimes hang awake at nights dreaming of having a window and a door.

      --
      I live ze unknown. I love ze unknown. I am ze unknown.
    12. Re:colour me unimpressed by Anonymous Coward · · Score: 0

      damn english, lacking proper indirect third-person singular pronoun

      I believe the word you're looking for is "his."

    13. Re:colour me unimpressed by Anonymous Coward · · Score: 0

      (damn english, lacking proper indirect third-person singular pronoun).

      Oh for god's sake, just use "his" (or even "her" if it pleases you). It's closer to being correct than using a 3rd person plural pronoun.

      Grammatical correctness over political correctness.

    14. Re:colour me unimpressed by Anonymous Coward · · Score: 0

      (damn english, lacking proper indirect third-person singular pronoun)

      We already have one (three actually); him, her and it.

      Of course, none of those singular, third-person, indirect object pronouns belong in your sentence. Perhaps because you want a singular, third-person, gender neutral, possessive pronoun. Honestly, if you are going to bitch about grammar at least try to use the right names.

    15. Re:colour me unimpressed by Pathetic+Coward · · Score: 2, Funny

      It's easier to get a programmer today than a non-programming paper pusher. Lower salary, too.

    16. Re:colour me unimpressed by Dirtside · · Score: 1
      I sometimes hang awake at nights dreaming of having a window and a door.
      Luxury. When I was a lad, nine of us shared a windowsill outside a butcher shop. We woke up in the morning when the butcher would pour three gallons of boiling pig's blood out the window over us.

      Ah, but those were the days.

      --
      "Destroy science and religion. Science would re-emerge exactly the same; but not religion." - Penn Jillette, paraphrased
    17. Re:colour me unimpressed by Anonymous Coward · · Score: 0

      ...the windows in this unique configuration provide a view of the coffee shop across the street, which explains the dreamy and thirst-for-java craving look seen a lot of times on the programmers faces and is often mistaken for brainstorming/analysing/thought processing...

  6. Joel by Anonymous Coward · · Score: 0

    Fog software, complete waste of money. Get Zope instead. It might take you a bit longer, but it will grow with you rater than against you like his city desk crap.

  7. Nice office... but who is going to pay for this? by mentatchris · · Score: 3, Interesting

    Looks like a great set-up, but you'd have to start your own company to have a set up like this. Who on earth would pay for such an office? Not that I'm bitching, my office at work is great, but jesus H. christ those offices look like Futureland on crack.

  8. There is a much easier way of getting this effect: by burgburgburg · · Score: 4, Funny
    The walls between the offices and the workstations are made of high tech, translucent acrylic which glows softly and provides natural light to the interior without reducing privacy.

    Or just drop acid. Cheaper long term. And the walls will also smile at you and occasionally dance.

  9. Optimal office by Dancin_Santa · · Score: 5, Insightful

    1) Big window overlooking moutain range or lake

    2) Ethernet jack built into wall

    3) Large, multipart desk

    4) Large, swiveling, high-backed chair

    5) Carpet

    6) Door that can be shut

    7) Glass window to see who is knocking at the door

    1. Re:Optimal office by Verteiron · · Score: 1

      You're close. But replace the window with a CC camera/TV setup; otherwise people might be able to see you through the window.

      And we can't have THAT, now can we?

      --
      End of lesson. You may press the button.
    2. Re:Optimal office by MxTxL · · Score: 4, Funny

      8) Trap door so as to easily get rid of people knocking at door.

    3. Re:Optimal office by seanmeister · · Score: 5, Funny

      Holy shit.

      Ethernet jacks built right into the wall, AND chairs that swivel?

      History may remember you as a madman, but in my eyes, you sir, are a visionary.

    4. Re:Optimal office by orthogonal · · Score: 2, Funny

      1) Big window overlooking moutain range or lake ....
      7) Glass window to see who is knocking at the door


      8) Toothless but hot hooker under desk.

      Becuase, hey, for some of us, playing first-person-shooter games over the LAN just isn't the tension-releaser it's claimed to be.

    5. Re:Optimal office by proj_2501 · · Score: 1

      Eh, a peephole is cheaper.

    6. Re:Optimal office by Anonymous Coward · · Score: 0

      Hmmm... sounds pretty much like the offices at Microsoft. Although I don't recall there being many lake views, but plenty of views of the Cascade mountains.

      A private office with a window is a perk at Microsoft based on your seniority relative to the other people in your product group. Brand new employees typically get doubled-up in an "inner" office with no window. Usually after 1 or 2 years you get your own inner office. Another 1 or 2 years will get you upgraded to a window office. (Usually 3 to 4 years' experience will secure you a private window office.) Employees with 8+ years of experience often get the sweet corner offices.

    7. Re:Optimal office by andy1307 · · Score: 1

      Toilet stalls that extend all the way to the bottom?

    8. Re:Optimal office by Anonymous Coward · · Score: 0
      Please, please, somebody give this guy points!

      Are there Ethernet jacks that aren't built into the wall?

    9. Re:Optimal office by B'Trey · · Score: 1

      Ethernet jack built into wall

      I like the 8-port hub in each office. Unless, of course, you're going to put a wireless hub in each office.

      --

      "The legitimate powers of government extend only to such acts as are injurious to others." Thomas Jefferson.

    10. Re:Optimal office by JustAnotherReader · · Score: 2, Interesting
      Well, the more I write software the more I want to build guitars for a living. My ultimate office has sharp tools, air conditioning, a good dust collector and a better stereo, plenty of wood seasoning in neatly piled stacks and a 2 year waiting list of customers.

      Yeah, my ultimate office wouldn't even have a computer in it. Except for the air conditioner and the customer list the paragraph above describes my own shop. I just wish I could pay off the mortgage so I can go build something tangible. Compare these two careers: "Here are a couple million random zeros and ones. Put them in a specific non-random order and you've created something of value" OR "Take that wood and, through your own effort, creativity and skill you create a musical instrument that is not only beautiful to look at, but it sounds wonderful and brings joy to all who play it and hear it."

      Yep, my ultimate office has nothing to do with software or computers.

    11. Re:Optimal office by Pathetic+Coward · · Score: 1

      0) Job

      [Omit the rest]

    12. Re:Optimal office by brettper · · Score: 1

      My ultimate office has sharp tools
      I've had days like that too, buyt I try not to let it get me down

    13. Re:Optimal office by Anonymous Coward · · Score: 0

      The ethernet jacks on my router don't seem to be built into any sort of wall. Maybe Linksys ripped me off.

    14. Re:Optimal office by LetterJ · · Score: 2, Interesting

      And that's great for you. But, your story is a prime example of someone who's working on software for reasons other than truly loving it. The very comparison you lay out as the choice screams that. If you view writing software as putting random ones and zeros into a specific order rather than solving intellectual problems, you probably should do something else. I so thoroughly enjoy solving programming problems that when my wife is out of town, I work 16-20 hours per day with a big smile on my face. I wake up in the morning excited because as I was waking up, I thought of an interesting solution to the problem I'd been working on. When my wife asks me, "What are you thinking about", the answer is almost always something related to the program I'm working on at the moment. In short, this isn't only what I "do", but what I would be doing even if I wasn't paid for it.

      My dad and brother are big into the "built it with my hands" type of euphoria, but it's never done anything for me.

    15. Re:Optimal office by Anonymous Coward · · Score: 0

      Wow... I've got every one of those things.

      - One entire wall of my office is a window that overlooks the harbour not a lake.

      - I've got 2 ethernet jacks on each wall.

      - I've got a high-backed swivel chair with adjustable everything.

      - Carpet

      - I have a door that shuts.

      - The entire wall next to the door is a window that looks into the main area.

      I'm pretty happy with it. :)

    16. Re:Optimal office by JimPooley · · Score: 1
      I so thoroughly enjoy solving programming problems that when my wife is out of town, I work 16-20 hours per day with a big smile on my face. I wake up in the morning excited because as I was waking up, I thought of an interesting solution to the problem I'd been working on. When my wife asks me, "What are you thinking about", the answer is almost always something related to the program I'm working on at the moment. In short, this isn't only what I "do", but what I would be doing even if I wasn't paid for it.


      You are a very sad man. Get a life, now before it's too late...
      --

      "Information wants to be paid"
    17. Re:Optimal office by inertia187 · · Score: 1

      Reminds me of Sector 7G.

      --
      A programmer is a machine for converting coffee into code.
    18. Re:Optimal office by zero_offset · · Score: 1
      While our reasons differ -- you appear to have an urge to create something physical, whereas I'm just tired of all the corporate bullshit -- that first statement so succinctly summarizes my growing urge to ditch programming as a career, I have been compelled to make it my new sig.

      Congratulations, you've been quoted. :)

      --

      Slashdot quality declines as the number of hot grits posts decreases. - Provolt's Law, Apr-09-2005

    19. Re:Optimal office by Anonymous Coward · · Score: 0

      Just enough to have the plug and a handful of IP addresses. I'll bring my own hub from home :)

    20. Re:Optimal office by mmclean · · Score: 1

      1. Optimal Office
      2. ????
      3. Pofit

  10. Nice Office, But.... by Tsali · · Score: 2, Insightful

    - Windows are good. I love windows to look out at - preferably something pretty.

    - Too much neon. It would distract me.

    But the other architecture is very interesting... whether it would be distracting is another thing.

    As long as I have an office with a door, I'm pretty much happy. Just wish I had windows...

    --
    This space for rent.
    1. Re:Nice Office, But.... by cgranade · · Score: 2, Funny

      Just wish I had windows...
      Blasphemer! Windows is the devil, and Linux is your salvation! Repent to all that is GNU and good, before thy mortal soul is consumed by the Devil Gates!

      --

      #define DRM chmod 000

  11. That tiny server is SO going down... by Sir+Haxalot · · Score: 0

    so here's the Google Cache

    --
    I have over 70 freaks, do you?
  12. Summary of insights by Bikku · · Score: 5, Informative
    - Programmers work best without interruption

    - Office doors are helpful

    - It's easier to read someone's screen when sitting beside them, than when shoulder-surfing

    - Natural light is good

    - Window view is nice

    - Programmers like foosball and other dot-com era goodies

    I must have missed the "bionic" part.

    1. Re:Summary of insights by grub · · Score: 1


      You forgot beer.. lots of beer..

      --
      Trolling is a art,
    2. Re:Summary of insights by hondo77 · · Score: 1

      I am working in a noisy, small cube lit fluorescently and can see no windows or foosball. Joel's place sounds pretty bionic to a schmuck like me.

      --
      I live ze unknown. I love ze unknown. I am ze unknown.
    3. Re:Summary of insights by wmaker · · Score: 2, Funny

      Natural light is good

      you would be suprised how many people perfer Bud Light over Natural Light,,, I've always liked both, but Natty is cheaper.

    4. Re:Summary of insights by heyitsme · · Score: 1

      - Natural light is good

      Natty Light is not good by any stertch of the definition

      Keystone premium, on the otherhand....

    5. Re:Summary of insights by haystor · · Score: 1

      And that beer should be free as in software.

      --
      t
    6. Re:Summary of insights by JLyle · · Score: 2, Funny
      I must have missed the "bionic" part.
      Maybe the new office space has motion sensors that make that "Six Million Dollar Man" noise whenever the Fog Creek programmers walk around.
  13. My desk is in a *hallway*... by Atario · · Score: 1

    ...you insensitive clod!

    (P.S. That's not a joke. :( )

    --
    "A great democracy must be progressive or it will soon cease to be a great democracy." --Theodore Roosevelt
    1. Re:My desk is in a *hallway*... by pavon · · Score: 1

      For a while, my desk was in the closet behind the networked printer. It was funny to have people come in and wonder who this new person was, and why he was behind the printer :)

    2. Re:My desk is in a *hallway*... by I8TheWorm · · Score: 1

      You're not at Wal-Mart's home office are you? They had a "policy" of sitting contractors at a teeny desk on an endcap. People literally had to step past them sideways. The message there was "get your code done and go home, we really don't want you here." At least that was the gig until around 1998ish.

      --
      Saying Android is a family of phones is akin to saying Linux is a family of PCs.
    3. Re:My desk is in a *hallway*... by IIRCAFAIKIANAL · · Score: 1

      Wow, I have an office with a door and a window.

      Not that I am in it right now.

      I took the afternoon off as I had some overtime banked.

      Yeah, I don't work overtime for free either.

      /let the downmodding being >:]

      --
      Robots are everywhere, and they eat old people's medicine for fuel.
    4. Re:My desk is in a *hallway*... by BLAMM! · · Score: 1

      When I first started at my company, it was still a start-up working out of the founders basement. My desk was one of those round breakroom tables at the back of a niche next to the bathroom that was also used to hold everyone's coats.

      Now I'm in a nice comfy cube. :)

    5. Re:My desk is in a *hallway*... by Stephen+Samuel · · Score: 2, Funny
      A friend of mine had her desk in a closet. Just the desk. If you saw her at the office and didn't know what was going on, you'd think that they put her against the wall as a timeout.

      Being openly Lesbian, this led to incessant jokes about being in and out of the closet. Not that she minded (I wouldn't be surprised if she actualy initiated it) .. In fact, in the telling of it, I'd say that she seemed downright proud of it.

      --
      Free Software: Like love, it grows best when given away.
  14. Architecture what? by Anonymous Coward · · Score: 0

    Maybe I'm just an architecture queen. -- Joel Spolsky

    Hmm.

    1. Re:Architecture what? by Anonymous Coward · · Score: 0

      Maybe it is supposd to be like a 'drag queen'. He is gay. (Not kidding)

    2. Re:Architecture what? by barryfandango · · Score: 1

      The man's gay. What, do you want to go beat him up?

      --
      In all matters of opinion, our adversaries are insane. -Oscar Wilde
  15. Next on the Sci-Fi Network... by michaelhood · · Score: 1

    The Six Million Dollar Bedroom!

  16. What?! by G3ckoG33k · · Score: 1

    "XXXX writes "YYYY has finally moved ZZZZ into their new digs. Read about what went into the design of "the ultimate software development environment" from your (my) cube and drool." What?! "new digs"? Sp34k g33k! ;)

    1. Re:What?! by proj_2501 · · Score: 1

      good god, geeks don't speak like that. nor do they type like that. PACK YOUR BAGS, MUNDANE!

    2. Re:What?! by G3ckoG33k · · Score: 1

      I know. But, still...

  17. Bionic office : disappointing I say ... by Rosco+P.+Coltrane · · Score: 2, Funny

    It's so padded with carpetting even Jamie can't ear anything, and I keep bumping on furniture when I run over 60mph around the cubicles. Oscar told me it was all hype ...

    -- Steve

    --
    "A door is what a dog is perpetually on the wrong side of" - Ogden Nash
    1. Re:Bionic office : disappointing I say ... by Anonymous Coward · · Score: 0

      Very funny!

  18. Super ultra elite developers by bartlog · · Score: 5, Insightful

    One thing I've noticed, of which this article is a very good example, is how most everyone who hires software developers claims to be hiring (or at least looking for) the very best of the best.
    'We have an elite team'.
    'On a scale of one to ten, all our developers are at least a nine.'
    'We hire only the top two percent.'

    And of course in this article Joel kicks it up a notch by claiming to be after the 99.9th percentile. Makes you whether the industry is vastly deluded as to the actual abilities of those they hire...

    1. Re:Super ultra elite developers by doinky · · Score: 1

      I commented in his forum that it's turning into Lake Woebegone around here; every software developer only hires the top 1%.

    2. Re:Super ultra elite developers by kisrael · · Score: 3, Interesting

      One thing I've noticed, of which this article is a very good example, is how most everyone who hires software developers claims to be hiring (or at least looking for) the very best of the best.

      Yeah, I wonder about that myself. I've heard that "10x as productive" programmer idea before, and while I've definately seen a continuum of good developers and awful developers, I've never met THAT guy. Or gal. And I wonder if that person does exist, finding an ubercoder like that who can also deal with people and the real world...they must be even more rare, a real lottery win.

      --
      SO YOU'RE GOING TO DIE: The Comic for Dealing with Death
    3. Re:Super ultra elite developers by bartlog · · Score: 2, Insightful

      Well, interestingly, I do think that there's something to the '10x as productive' idea. When I was at CMU there were a few freaks^H^H^H^H^H talented programmers who could throw down page after page of C code as fast as they could type, and I don't think it was worse, quality-wise, than what more mundane folks were able to achieve. But then, a lot of that speed came from implementing a vision that existed full-blown in their heads; in real life there's a lot of overhead in reading requirements, writing design docs and test framework, communicating, etc., which is not something that gets done ten times as fast.

    4. Re:Super ultra elite developers by Schwartzboy · · Score: 1
      Here's a thought. Just from my own personal scanning of press releases, "About Us" blurbs on software company sites, and discussions with various people about their developer groups, here's a preliminary estimate if I were to believe everything I read/hear:

      75% of all programmers who work for software companies are in the top 10% of all the programmers in existence.
      88% of the programmers working freelance or within non-software companies are in the "bottom 5%" of geeks everywhere, because they stink.
      96% of the software released in recent years, even by those developers in the aforementioned bottom 5%, is "cutting edge and top of the line" stuff.
      76% of all statistics are made up on the spot. 43% of all average people know that.

      <rant>
      Remember, numbers don't lie, but liars do numbers.
      We live in a country where a guy can put a bunch of lies into print and get fired from the NY Times, but if other people do the same thing and put a company logo on it, it's called "marketing". Of course everyone has the "best of the best" in that environment.
      </rant>
      Yes, I exaggerate. It's up to all of us to figure out how much though, because I'm honestly not too sure myself.
      --
      "Linux doesn't exist. Everyone knows Linux is an unlicensed version of Unix"- Kieren O'Shaughnessy
    5. Re:Super ultra elite developers by I8TheWorm · · Score: 3, Insightful

      I see what you're saying, and I agree. But, they could be a little jaded by what kind of software they're working on.

      I'm probably an upper tier developer when it comes to RDBMS and reporting programs. But I really don't know much about OpenGL/DirectX, audio, etc... I do, however, know a devloper who writes games, but isn't all to great when it comes to extremely normalized databases. So maybe there are three or four "top 1%" groups.

      Of course, that still leaves 96% or more that nobody wants to admit they hired.

      --
      Saying Android is a family of phones is akin to saying Linux is a family of PCs.
    6. Re:Super ultra elite developers by Fnkmaster · · Score: 3, Insightful
      Yes, and I'm *sure* you can easily hire the best of the best software developers who are really enthused about writing bug tracking and content management systems! err.... nevermind.


      From my experience hiring, work environment is one factor, but interest level in the software being developed is definitely a big one in terms of the quality of developers you'll be able to attract. Great developers want to work on interesting, challenging products that do something new and different.


      I also think it's nearly impossible to have a complete team of all "top 1 percent" developers. That's like having all chiefs and no indians (pardon the racially minded analogy, it's just an expression). You need people who are good competent developers, but aren't primma donna superstar types who know how good they are. It's a balancing act to build a competent team that works well together, and knows each other's strengths and weaknesses. Frankly, that's just as important than having "all top 1 percent developers" in the long run.

    7. Re:Super ultra elite developers by pVoid · · Score: 4, Insightful
      Let me tell you something, I can type page after page of relatively bug free C++ code as fast as I can type it.

      I learned as soon as I got into a working environment that it's basically pointless. After a project reaches a size, or deadline where a single person isn't good enough to implement it alone, things start changing, and most of the bottlenecks come from incompatible internal structures that end up being re-written. We had a programmer like that in our team (after I was no longer that kind of programmer), and he was looked upon by everyone else as the black sheep. He would spurt out 500 lines of code at the end of a week, and the rest of the team (5 people) would spend a week after that stiching it all together.

      Unless these people you talk about were the borg, and could neurally interface with each other, I'm pretty sure what you say is impossible.

      I'll tell you one programmer I met that to this impresses me to no end: before he was our DB developper he had worked for Sybase. I would ask him to write stored procs for our DB. He would send me .txt files of the stored procs that he'd written in notepad. Would never run the stored procs to see if they worked. They just did. Probably around 200 non trivial stored procs he wrote (with complexe cursor work etc), and the *only* time I got an error was a mistyped keyword. And as far as spec goes, he was always dead on what I had asked him.

      But as the grandparent post indicated, I was his interface to the world of humans, aside from me, he was incapable of talking to anyone.

    8. Re:Super ultra elite developers by the+chao+goes+mu · · Score: 1

      Actualy, isn't 99.9 percentile a misnomer? If you subdivide a percentile, then there are no longer only 100. It would be the 999th of 1000 groups, not 99.9th of 100.

      --
      Boys from the City. Not yet caught by the Whirlwind of Progress. Feed soda pop to the thirsty pigs.
    9. Re:Super ultra elite developers by crazyphilman · · Score: 4, Insightful

      I've met a lot of programmers, some good, some bad, from a wide variety of backgrounds including everything from Harvard grads to CC dropouts. I think that when you've met enough people, you find that programming "brilliance" is a lot like physical beauty in women. In other words, it's everywhere, but most people fail to notice it.

      Here's what I mean:

      There's a wide range of physical beauty in women, going from the truly hideous to the utterly fine. But somewhere to the left of the middle of the range lies "attractive". Once someone is attractive, they're attractive, period. Any additional beauty is just a tiny little incremental change -- beauty isn't linear.

      I think that most people who studied computer science in college (and took it seriously) are the comp. sci equivalent of "attractive", at least. They understand the subject, they know the basic constructs, and they understand the languages they work with. Given the opportunity, and a little bit of respect, they produce great work.

      So, it's all about perception. Stop trying to look for tiny super-elites, and you'll see talent everywhere you look. That's one of the secrets of life, by the way. The most amazing things are usually right underfoot. Poor Joel seems to have missed this basic truth. 99.9th percentile, indeed. I hope none of them have a bridge for sale... ;)

      --
      Farewell! It's been a fine buncha years!
    10. Re:Super ultra elite developers by technos · · Score: 1

      More genres than four.. There are programmers that write vehicle controllers, ones that write aircraft software, ones that write for RDBMS, ones that write against the back end of one of a thousand specialized software packages. I've worked with the top 1% of about five different specialities, and none of them would overlap significantly.. Sure, one of the embedded guys was pretty hot with hacking an ethernet driver, a couple of the RPG guys were handy in C++, but they're pretty mutually exclusive..

      Me, I'm not top 1%. I'm not top 50%. But I can do anything you give me with a moderate amount of expertise.

      --
      .sig: Now legally binding!
    11. Re:Super ultra elite developers by computerlady · · Score: 2, Interesting

      Makes you whether the industry is vastly deluded as to the actual abilities of those they hire...

      Maybe, but not in Joel' Spolsky's case I wouldn't think. He's apparently a fan of Phillip Greenspun, whose writing he links to in the part about a coder needed a nicer workspace than his home.

      In that same article, Greenspun links to this article from The Journal of Personality and Social Psychology, which addresses that very thing. Article is titled:

      • Unskilled and Unaware of It: How Difficulties in Recognizing One's Own Incompetence Lead to Inflated Self-Assessments
      --
      computerlady - a brand new Slash-daughter - alone, but no longer invisible, in the /. world
    12. Re:Super ultra elite developers by etcshadow · · Score: 1

      Well, the really interesting thing is this: How many places claim to be hiring (and trying to attract) the 99th percentile (or 99.9th as in this case... perhaps a touch of hyperbole), and how many places actually do what it takes. I would guess that, regardless of the number of companies that claim to be attracting the 99th percentile, only about 1% of companies actually treat their programmers like you should be treating your most important, most profit-driving individual contributors.

      --
      :Wq
      Not an editor command: Wq
    13. Re:Super ultra elite developers by mrtroy · · Score: 0, Flamebait

      I actually read it as (following the "architecture queen")
      'We have a gay team'
      'On a scale of one to gay, all of our developers are at least nine'
      'We hire only the top two percent. Of gay people.'
      Just teasing of course, but come on now, the 99.9th percentile?

      He must be using a MAGIC scale...with MAGIC!

      --
      [I can picture a world without war, without hate. I can picture us attacking that world, because they'd never expect it]
    14. Re:Super ultra elite developers by AuMatar · · Score: 2, Funny
      Let me tell you something, I can type page after page of relatively bug free C++ code as fast as I can type it.


      Yeah, I can type i++; pretty fast too :)
      --
      I still have more fans than freaks. WTF is wrong with you people?
    15. Re:Super ultra elite developers by computerlady · · Score: 1

      Quote from Justin Kruger and David Dunning, Department of Psychology, Cornell University - "...when people are incompetent in the strategies they adopt to achieve success and satisfaction, they suffer a dual burden: Not only do they reach erroneous conclusions and make unfortunate choices, but their incompetence robs them of the ability to realize it.

      Quote from Charles Darwin - "ignorance more frequently begets confidence than does knowledge"

      My translation - The dumber you are, the less likely you are to know it.

      --
      computerlady - a brand new Slash-daughter - alone, but no longer invisible, in the /. world
    16. Re:Super ultra elite developers by Xerithane · · Score: 1

      Yes, and I'm *sure* you can easily hire the best of the best software developers who are really enthused about writing bug tracking and content management systems! err.... nevermind.

      I enjoy writing CMSs. They are fun. Finding heuristics to organize data in different ways and deliver that in a manner that is meaningful is a challenge, much like a good game of chess.

      Anybody can store documents, just like anybody can move pieces. But, like both, to the untrained eye all it is is just shuffling things around.

      You need people who are good competent developers, but aren't primma donna superstar types who know how good they are.

      The best programmers are those who don't know everything, but know how to find it. It's a thought process, one that shows you that in order to be the best you must continue to learn. The true top form of any discipline will be humble. Except for musicians and clowns.

      It's a balancing act to build a competent team that works well together, and knows each other's strengths and weaknesses. Frankly, that's just as important than having "all top 1 percent developers" in the long run.

      Definitely agreed. You can have the 10th percentile developers that work in great harmony together, and accomplish much more than having the top tenth of a percentile working in defunct manners. The personality and environment is more influential to a projects completion.

      I'd try to go work for Joel, except I don't want to live in New York.

      --
      Dacels Jewelers can't be trusted.
    17. Re:Super ultra elite developers by bluGill · · Score: 1

      Look around. The Super elite that does 10 times as much productive work (that is end result, not lines of code, but bug free features) as me is rare. However the type that does 1/10th as much as me is rather common. Just go to any school and look in the CS department at the students. I had to do many group projects with them, it was a real eye-opener. They were the ones who appeared to be good when you didn't know them. Once you worked with them you saw the difference. In the end I learned to pick my group (when I could pick them...) with care, but I didn't have much school left by then.

      Out in the real world I've found that most bosses are rather good at not letting them get to the second interview, much less hired. So most real programers are good. (I'm being charitable to bosses today, perhaps the bad programers just don't apply to the same jobs that a good programer would) I have no idea where the bad ones end up. My guess is doing Visual Basic scripting in an office where people skills are more important than programing skills. (A good fit for many bad programers)

    18. Re:Super ultra elite developers by Anonymous Coward · · Score: 1, Interesting
      I work at one of those shops. "We only take superstars here, are you a superstar?" I can't say that I ever thought I was a superstar, I kind of think that you could never be one if you thought you were one. I've always thought I could hang, but I'm not JWZ or Linus or Alan Cox or RMS or one of those guys...

      Fast forward..

      So I'm one of the few people in the group with a college degree (yeah, did my time at CMU...) There are a couple of the superstars who've got some major chip on their shoulder about that fact. They knew too much for college. I've worked with those types before, worse, they think they are superstars. Degrees don't mean much, I've meet plenty of people with them that were idiots. I take notice when you don't have one because you think or know college can't teach you something. It's just a heuristic I have for my bullshit meter. Turns out they are always proving something to somebody...

      I've been given lessons from these superstars on various issues. I wrote a few things that are part of the Linux kernel now, so I'm the expert on it here, one of them came up to me and told me that wait() was broken, asked if I could fix it and went to lunch.. on a kernel used by redhat on possibly millions of machines. Turns out he has a screwed up signal handler, been there and done that. What I don't understand is how you entertain such a thought, I mean wait() is used by everything and some very very talented people work on Linux. You have to be some kind of a superstar to get that far in to that thought excercise, when it looks like wait is broken I usually start rechecking my code, my build environment, etc... I won't tell you about the conversations we've had on the scheduler and such, not really conversations so much as them telling me how it and priorities work; I guess they boned up on some beta kernel release I never saw and never got released or something because they were fairly far from the truth, Linus must not have thought the super AI human reasoning code that magically decided how to change priorities on the fly was ready for primetime or something...

      Then there is out network and our production environment... They are so good that they don't need to ever plan or anything of that sort. Likewise, rather than locking a machine down and change controlling it they rely on their quick hacking and response when people bitch about stuff not working. Each machine has it's own hand mojoed up firewall configuration and the routing is something that isn't fully understoond by anyone, I guess it's some wizbang security feature to device route rather than figure out a netmask... Turns out some devices can't talk to various other devices becuase they are masked off, so I guess that's good, all machines don't need access to the DNS anyways.

      I don't think I've ever seen these guys crack a book open or ask anyone for help. They are all alpha geeks. We through out our openldap server and went back to /etc/passwd because it was determined that openldap was shit. Funny, I know there are some very very large implementations running certain ISPs, like Sprint's ISP service uses it. Shit, it took me all of about two hours to set it up for the home LAN and get all of my machines using it and it's really damn cool. I guess it's better to have a different login everywhere though. If it's centrally managed then there is a single point of failure...

      I could tell you about our enterprise product and it's performance and scaling problems but they all read so much slashdot that they might figure out that I'm talking about our company. Needless, it doesn't work, not really even close to be honest. We've never had a smooth release. We don't plan or engineer anything. We've never made a solid design that was more than a few pages with pictures. Deadlines are readily missed and it's never anybody's fault because "we push hard here." I think it was Gordon Moore that said if you never fail you're not trying hard enough so th

    19. Re:Super ultra elite developers by Anonymous Coward · · Score: 0
      funny. maybe.

      intelligent. no.

      -pVoid

    20. Re:Super ultra elite developers by eatdave13 · · Score: 1

      RPG and C++ exclusive? Heh, I'd say if you know RPG and nothing else, you're not a programmer, and this is coming from someone who did RPG for three years.

      --
      "Verbing weirds language." -- Calvin
    21. Re:Super ultra elite developers by eatdave13 · · Score: 1

      Nope. If you have 4 programmers, two of them are in the top 50% of the programmers you have. If you have 5000, 2500 of them are in the top 50%

      --
      "Verbing weirds language." -- Calvin
    22. Re:Super ultra elite developers by AttillaTheNun · · Score: 1
      I actually read a resume once of a developer who stated his goal was to be the greatest developer on the planet.

      We were stumped on how one would actually certify such a claim. Is there a ranking somewhere? I wonder where I rank. I guess we need a professional league where stats, etc can be maintained. At the very least, I could use an agent when it comes time for negotiating.

    23. Re:Super ultra elite developers by AuMatar · · Score: 1

      Depending on how you read it, its both. Its main point was to be funny. I found it so, but I have a wierd sense of humor. The other, more hidden point, was that typing speed doesn't matter. What matters is code clarity, correctness, efficiency, documentation, etc. The people who manage the 10x productivity are those who get these factors down in reasonable time, not those who code klocs per day.

      --
      I still have more fans than freaks. WTF is wrong with you people?
    24. Re:Super ultra elite developers by Zak3056 · · Score: 1

      'We have an elite team'.
      'On a scale of one to ten, all our developers are at least a nine.'
      'We hire only the top two percent.'


      Makes you think of Dr. Klahn, doesn't it?

      "We are building a programming team of extraordinary magnitude!"

      --
      What part of "shall not be infringed" is so hard to understand?
    25. Re:Super ultra elite developers by I8TheWorm · · Score: 2, Interesting

      I've heard similar comments in conversation before. Kind of spooky really. When I'm asked to rate myself (typical 1-10 crap) I always give them a disclaimer first. I think a 10 in anything is that guy in the corner office that doesn't shower often, has no social skills at all, nobody likes to visit with, and all he/she does is write code... all.... day... long. I don't ever want to be that person (or deal with them).

      The idea of having a rating system is pretty funny though. Maybe we could use a similar function like the AP uses for the top 25 college teams. Your score goes up if the project is run by an incompetent manager, you get one more point for each scope creep that marketing decides to throw in, a bonus for actually having a PHB....

      --
      Saying Android is a family of phones is akin to saying Linux is a family of PCs.
    26. Re:Super ultra elite developers by dr_db · · Score: 1

      The place I used to work for hired them all and layed me off.

    27. Re:Super ultra elite developers by NaDrew · · Score: 1
      Makes you think of Dr. Klahn, doesn't it? "We are building a programming team of extraordinary magnitude!"
      You have our... gratitude.
      --
      Vista:XPSP2::ME:98SE
    28. Re:Super ultra elite developers by Darren+Winsper · · Score: 1

      There are a fair number of bad coders able to bullshit their way into a job. My boss at my internship for this summer mentioned a guy who sounded quite intelligent, but because he had the foresight to bring a software engineer to the interviews, who could tell the interviewee was bullshitting.

    29. Re:Super ultra elite developers by Ramses0 · · Score: 1

      There is an easy counterpoint to this:

      Are you the best programmer on the planet? (no) Are you twice as good as somebody you know (ie: because you know perl, can you whip the pants off of somebody who only knows C)? Probably yes.

      Therefore, we have proved that Compared to that person who is 1/2 as good as you, there is someone who is probably twice as good as you, giving a spread of 2 * 2 => 4.

      Throw in less debugging and less maintenance, and good programmers can be worth their weight in gold. I *know* web stuff. Cookies, HTML, servers, CSS, etc. SQL, PHP, Perl, Cron, Bash, etc. Put me up somebody fresh out of college (in my field of expertise), with no work experience, and I'll thrash them mightily.

      Pay a n00b programmer 40-50k. Pay me 80-100k (ow!, twice as much!). I am at least twice as productive as n00b programmer *when just programming*, not factoring in maintenance and debugging.

      Please explain this to any MBA's that you see. Using word's they might understand: "Life's too short to drink cheap beer." There's not enough time in the day to fix all the crap that crappy programmers write.

      Check out 90% of the projects on SF.net (bad sample, but everybody with a project on SF.net is at least more motivated than the average joe, even if they don't have all the mad skillz).

      --Robert

    30. Re:Super ultra elite developers by etcshadow · · Score: 1

      Vacation: 6 weeks
      Salary: A fistful of yen
      Direct Reports: Hung Lo, Long Lang, and Enormous Genitals

      --
      :Wq
      Not an editor command: Wq
    31. Re:Super ultra elite developers by XNormal · · Score: 1

      Yeah, I wonder about that myself. I've heard that "10x as productive" programmer idea before, and while I've definately seen a continuum of good developers and awful developers, I've never met THAT guy. Or gal. And I wonder if that person does exist

      He exists. I've met him. He is also very friendly and humble. I think he doesn't even realize he is so much more productive than others. He laughs whenever anyone suggests it.

      Yes, that's very rare.

      --
      Stop worrying about the risks of nuclear power and start worrying about the risks of not using nuclear power.
    32. Re:Super ultra elite developers by I8TheWorm · · Score: 1

      I once trained two guys to replace me, because I wouldn't take their lowball fulltime offer, and chose to remain on contract. These two combined were fairly incompetent, and that's not just words of a bitter developer. The company managed medical data, and sold nameless statistics as a side gig. But neither of them knew t-SQL other than simple select statements, and often sent data to clients that was totally wrong.

      So I spent three months trying to get them up to speed. I wound up just leaving them with a bunch of stored procedures that they could pass parameters to, as they didn't seem to grasp SQL at all.

      Once they were "up to speed" this company "no longer needed me." The sad thing is their combined salaries were quite a bit more than the one salary I was asking for (and it wasn't unreasonable at all). So they got less work done, for more $$.

      I suppose that's what you get when you don't hire in the 99.999999999999999% of developers :)

      --
      Saying Android is a family of phones is akin to saying Linux is a family of PCs.
    33. Re:Super ultra elite developers by el_gregorio · · Score: 1

      this sounds like the inspiration for a new Dilbert cartoon... PHB: "We have too many chiefs and not enough indians. So we're outsourcing to India, where they have more indians than they know what to do with."

      --
      "You want a toe? I can get you a toe by three o'clock... with nail polish."
    34. Re:Super ultra elite developers by hondo77 · · Score: 1

      Back in my Disney days, we had the luxury of waiting until we found that 1% (back then, people really wanted to work at Disney Feature Animation). Then we got a manager who decided our standards were too high. It wasn't long before people scattered to other parts of the company. Sigh.

      --
      I live ze unknown. I love ze unknown. I am ze unknown.
    35. Re:Super ultra elite developers by jellybear · · Score: 1

      >Unless these people you talk about were the borg, >and could neurally interface with each other, I'm >pretty sure what you say is impossible.

      That sounds like what a REAL bionic office should be like. Super-elite programmers neurally interfaced to each other. Or else the closest thing to that currently achievable.

    36. Re:Super ultra elite developers by pVoid · · Score: 1

      Hmmm... somehow, as cool as the idea sounds for a Star Trek episode, or some sort of sci-fi novel, I wouldn't want my humanity stolen from me that way. What next? Bathe us in a luke warm gelly like liquid to avoid any external stimuli?

  19. office spaces by greechneb · · Score: 1
    Your business success will depend on the extent to which programmers essentially live at your office. For this to be a common choice, your office had better be nicer than the average programmer's home. There are two ways to achieve this result. One is to hire programmers who live in extremely shabby apartments. The other is to create a nice office."

    I was wonderink why my bossky vas smilink ven I tell him in Soviet Russia I livink in cardboard boxes. I am lovink my new janitors closet/office!

  20. As long as we're dreaming here... by xanderwilson · · Score: 4, Informative

    Pixar's environment to this place.

    http://www.sltrib.com/2003/May/05302003/friday/f ri day.asp

    But it's still nicer than my old cubicle. I'm pretty thankful that I work out of my apartment now.

    Alex.

    1. Re:As long as we're dreaming here... by proj_2501 · · Score: 2, Interesting

      Here's another one

      Pandemic Studios took over this office after a dot-bomb spent a million dollars on the ceiling and then went bankrupt.

      Oops.

    2. Re:As long as we're dreaming here... by xanderwilson · · Score: 1

      Beautiful. Absolutely beautiful. The conference table shot reminded me of a scene from The Usual Suspects.

      Alex.

  21. Bionic? by BWJones · · Score: 4, Interesting

    Where does bionic come in? I presumed bionic was an electronic or electromechanical supplement to an individual or being. Not an environment.

    That said, these are pretty cool digs and I agree completely with this statement from the article: Hey, this is my job; this is where I spend my days; it's my time away from my friends and family. It better be nice.

    I have a couple of windows I can look down on the city in the valley from my workstation. It's pretty nice to get natural light and to be able to focus on something farther away than the computer screen or the lab bench from time to time. Looking out over the valley, I've seen U2's flying up the valley, I saw the space shuttle on the back of its 747 take off from the airport on the other side of the valley and I've seen a cool tornado.

    --
    Visit Jonesblog and say hello.
    1. Re:Bionic? by Rosco+P.+Coltrane · · Score: 1

      Where does bionic come in? I presumed bionic was an electronic or electromechanical supplement to an individual or being. Not an environment.

      This is Slashdot and "bionic" is a shiny technical word. with a 5-digit UID, you shouldn't be surprised.

      --
      "A door is what a dog is perpetually on the wrong side of" - Ogden Nash
    2. Re:Bionic? by Anonymous Coward · · Score: 0

      It might be something to do with Bio-sphere as opposed to some kind of office cyborg. Where each piece or aspect of the office works with the others to create a workplace nirvana.

      I'm just guessing though.. I'm not a 99.9 percentile.

    3. Re:Bionic? by pbhj · · Score: 1
      "Where does bionic come in?"

      'Bionic' pertains to a man-machine interface. Surely then, bionic here simply means that the level of synergy between the office and it's human occupants is high. That is, this guy thinks that the technical aspects of the building are working together in synchronism with the living flesh to improve peoples abilities (eg to work long hours or produce superhuman code!

  22. Developer Office Design by Fnkmaster · · Score: 4, Insightful
    I agree with a lot of Spolsky's office design rant here, but I am not sure about the part about trying to get developers to live in the office, and that being key to software development success. Sure, you do want people to be happy in the office environment when they sometimes put in an extra long week, but do you really want to operate under the assumption that developers should "essentially live in" the office? I thought that in the post-1999 era, we realized that people need to have balance in their lives, that we can work hard sometimes, but that we should never have to put in consistent, regular 80 hour work weeks.


    I have asked developers who worked for me to work those kinds of ridiculous hours before, and I've asked it of myself, mostly because I was forced to by forces outside of my control. These days I prefer to operate under the assumption that work should be scheduled around a 40-50 hour work week, and the office/working environment should be a nice and pleasant one, but it shouldn't supercede home, and you shouldn't have to eat dinner at work every day, spend all your free time with your co-workers, etc.

    1. Re:Developer Office Design by bmj · · Score: 4, Insightful

      I agree with you completely...but...

      There's certainly a group of programmers (most of whom are good programmers) who really truly love what they do, and will work terrible hours because of that love. And I mean programmers who are doing _interesting_ stuff, not just chugging along in the corporate environment. Most of these folks don't really have lives outside of work, and if they do, they are the sorts of lives that can be put on hold for indefinite periods of time. I too lazy to find the link, but there was a story a month or two ago about how the best scientists and researchers are unmarried. Duh! Of course they are. No person can serve two masters, as it were.

      That said, I think the Fog Creek offices would be perfect for the average 9-5 programmer. They allow for greater productivity, thus allowing more actual work in an 8 hour day. And these are the type of people that would be more impressed with such a setup. A good programmer who doesn't necessarily want to live in their office would be more likely to join a company with an office like Fog Creek's, rather than just another cube farm somewhere else.

      --
      Whereof we cannot speak, thereof we must be silent. --Ludwig Wittgenstein
    2. Re:Developer Office Design by AKAImBatman · · Score: 1

      How many offices have you been in where instead of wanting to work, you want to get the hell out and go home? I think his point is, by making the office comfortable enough to live in, you'll encourage your developers to focus on their work instead of going home.

    3. Re:Developer Office Design by dmh20002 · · Score: 2, Funny

      Ok, but after balancing our lives, we find the jobs have balanced themselves right over to India.

    4. Re:Developer Office Design by Fnkmaster · · Score: 2, Insightful
      Nah, I never said anything about 9-5 chug-a-long programming. Just that balance is important in life, and I don't think it's a reasonable way to run a sustainable company, to try to burn out young programmers who will work for lower salaries and then toss them away when they get frustrated and angry by having too many unreasonable demands placed on them.


      I support and agree with his office design decisions, I just question the wisdom of encouraging even the best programmers to make their work and their life one and the same. I prefer the idea of splitting gym membership fees (healthy programmers are good programmers), encouraging people to go out of the office for dinner if they are working late, and setting up incentives to taking reasonable amounts of time off to prevent burn-out, which is a bigger enemy to productivity in the long run than many people realize.

    5. Re:Developer Office Design by Nept · · Score: 1

      that's going to happen whether we balance our lives out or not.

      --
      "Teachers leave us kids alone ..." - Roger Waters, Pink Floyd
    6. Re:Developer Office Design by MaestroSartori · · Score: 1
      There's certainly a group of programmers (most of whom are good programmers) who really truly love what they do, and will work terrible hours because of that love.
      Yes. Most of us work in games and get paid less than all those 'serious' proper working programmers :)
    7. Re:Developer Office Design by crazyphilman · · Score: 1

      Yeah, no kidding... I wouldn't work for this Joel character. Who wants to spend all his time with his coworkers? I treasure my time away from them like a fine wine. When it's quitting time, I'm out. I asked my boss to build a big slip-and-slide from our eighth-floor office down to the garage to facilitate this, but he said it would cost too much (yeah, even the inflatible airplane slide). I tried to compromise, and suggested ending the slide at the bar across the street, but it would still have been too expensive. That, and zoning restrictions (rats!). What can you do?

      On the other hand, he's cool like you; we generally work between 40 and 50 hours a week, and no one expects us to "essentially live at the office". Thank GOD for unions! ;)

      --
      Farewell! It's been a fine buncha years!
    8. Re:Developer Office Design by Anonymous Coward · · Score: 0

      You need to read more of JS's stuff. He is definitely not a exponent of long hours culture. "Most people wander in at around 11am" is one thing ISTR reading. This piece is really fluff, he's written some interesting things as well (on the website).

    9. Re:Developer Office Design by Anonymous Coward · · Score: 0

      Despite the Greenspun quote, I don't think Fog Creek actually tries to get you to live in the office.

      For one thing, if they did, they'd never be getting the top .01% (or whatever they claim) of the programmer pool.

      Secondly, he's said that the programmers generally work 11-7 or 8, and a recent job posting was for a 9to5er.

  23. Nice digs but... by fiannaFailMan · · Score: 2, Informative

    .... where's the table football, inflatable furniture and all the other dot-com era regalia?

    I have my doubts about the private office == higher productivity stuff. Everyone at my company has a private office and the temptation to skive is phenomenal. Although fear of our CEO is a good counterbalance to that..........

    --
    Drill baby drill - on Mars
    1. Re:Nice digs but... by doinky · · Score: 1

      All other things being equal, the private office is far superior to the cubicle. Of course, in your case, the other things may not be equal...

  24. Joel = John Romero? by truffle · · Score: 4, Insightful

    The only reason this article is newsworthy is because of Dot Bomb flashback syndrome. We'd all like to live in the magical world where employers spend tonnes on us because we're so damned valuable. The article seems to suggest it's cost effective to spend a lot of money to get the 99.9th percentile of coder, but is it really? Are you really just getting the 85% percentile of coder, but calling them the 99.9th percent to foster a sense of l33tness?

    I mean it's a nice office and all, but this isn't really news. It's one guy who made a cool office.

    Not much chance any of us will be getting cool offices any time soon.

    --

    ---
    I support spreading santorum
    1. Re:Joel = John Romero? by CommieLib · · Score: 1

      You can't possibly get the top percentile. They're simply not in the same geographic area. They're diffused out across the world.

      --
      If your bitterest enemies are people who hack the heads off civilians, then I would say you're doing something right.
    2. Re:Joel = John Romero? by Ian+Bicking · · Score: 1
      Of course you can. If there are 10,000 programmers in New York City (and there are probably more), then the top 99.9% is 10 people.

      Oh wait, maybe you are right. At least if you want a programming team larger than 3.

      But think, if you could get ALL TEN in your team...! That loser down the street with twenty guys in the top 99.7% would be eating his heart out.

  25. What?! This can't be right! by teamhasnoi · · Score: 1
    How can this office be bionic without an intelligent, talking padded table...I mean sofa?

    Without a sofa with a talking scale tucked inside, this might as well be the Amish Office of the Future.

    Fool me once, shame on you, Fool me twice, shame on..Won't get fooled again!

  26. Nice, but it's still in New York by Rick+the+Red · · Score: 3, Interesting
    if it means we can hire from the 99.9 percentile instead of the 99 percentile, it'll be worth it.
    Sorry, Joel, but it'll take much more than your fancy new office to entice that 0.9 percent to move to New York City. I mean, it's a nice place to live and I really wouldn't mind moving there, but you've gotta pay me three times what I make now just so I can afford a place half as big as where I live now. No thanks, Joel. Not even if you stop calling us idiots for supporting Open Source.
    --
    If all this should have a reason, we would be the last to know.
    1. Re:Nice, but it's still in New York by joeldg · · Score: 1

      umm.. actually, I am moving to NY but I already have a job and have had one (and yes, above my payrate in the year 2000) working for a dotcom.
      people complaining about "dotbombs" in my opinion most likely had job titles that included the word "guru" or some other such nonsense.

      The reality, the companies that went bust never had anything in the first place and were hiring farm kids out of Iowa who had had made one page in Frontpage or some other junk and paying them 80k.. Now they are bitching because they are back working at Walmart or some fastfood joint.
      This industry _was_ hurt.. not saying it wasn't, but it is good to see it grow up and slough off the deadwood we were collecting. /rant

    2. Re:Nice, but it's still in New York by thung226 · · Score: 1

      True, New York isn't for some, but I think it's the greatest city in the world. Sure, my apt. isn't that big, but there's no need to be in it except to sleep at night. There's something going on every single day of the year. I don't own a car. Don't need to. I used to bitch about the rent here, but my rent now is about equal to what I was paying for rent elsewhere + car payments + car insurance + car repairs.

      --
      -n-
    3. Re:Nice, but it's still in New York by Anonymous Coward · · Score: 0

      obvious you're not 99.9th percentile, because that group consists of 0.1%, not 0.9% (100 -99.9)l.

    4. Re:Nice, but it's still in New York by Rick+the+Red · · Score: 1

      There was a show on some cable channel just last week where they had some experts help a couple fix up their New York place so it would look nice so they could sell it. It was half the size of our house and they were asking something like four times what our place is worth. Not to mention we live on five acres and they share their building with -- what? -- 50-100 other people? Naturally it's a different lifestyle, I'm not arguing that. It's the price for that lifestyle that gets me. I wouldn't have a car in NYC either (the garage doesn't count toward the house's square footage) but we still need room for our stuff. In NYC with half the space we have now, we'd just have bedrooms, a kitchen, and a bathroom. And all for only 3-4 times what our current house costs! Joel's fancy office isn't enough to make me interview, let alone move.

      --
      If all this should have a reason, we would be the last to know.
    5. Re:Nice, but it's still in New York by crazyphilman · · Score: 1

      Yeah, no kidding. You forgot the two hour commute, the 250.00/month parking fees for OUTDOOR parking, the unbelieveable traffic, the low-lying smog destroying your lung capacity, the hookers and muggers and homeless people flinging bricks at random strangers so they can get locked up and survive the winter...

      Yeesh. I don't miss NYC. I moved the hell away from that dungeon two years ago and have never looked back. Ick. Foo.

      --
      Farewell! It's been a fine buncha years!
    6. Re:Nice, but it's still in New York by Rick+the+Red · · Score: 0, Redundant

      Doh! You're right, of course.

      --
      If all this should have a reason, we would be the last to know.
    7. Re:Nice, but it's still in New York by Sabalon · · Score: 1

      I like NYC, but driving though there one time right after getting married, I though "I'd never want to live here with a family."

      My best friend used to live there. Like you said, no room for quite a bit of rent. He had a tiny fridge, just to keep a couple things cold, as he would eat out all the time (that's gotta hurt the wallet). His window looked into a small area full of overgrown brush and then another building 10' away. For such a small place, the bathroom was unusually large. Plus your life is somewhat at the mercy of how your neighboors behave, etc... At least he was on the top floor and had a second locked door besides the entrance before you got to his section of the apartment. And you had little storage space, and a communal storage space in the basement (he said a neighboor found a homemade porno of another couple in the building.)

      But, I digress - didn't you read the part of the article where Joel talks about having the programmers wanna live in the apartment :)

  27. Great advice by nucal · · Score: 3, Insightful
    The office should be a hang out: a pleasant place to spend time. If you're meeting your friends for dinner after work you should want to meet at the office. As Philip Greenspun bluntly puts it: "Your business success will depend on the extent to which programmers essentially live at your office. For this to be a common choice, your office had better be nicer than the average programmer's home. There are two ways to achieve this result. One is to hire programmers who live in extremely shabby apartments. The other is to create a nice office."

    Well, we all know how good Philip Greenspun is at running a business.

    The third option is to forget about the office and let people work out of their home ...

    1. Re:Great advice by Ian+Bicking · · Score: 1
      I assume Joel is into XP, and XP practices really assume all the programmers are working together in the same space. Doesn't work so well from home.

      Heh... team programming where you take turns commuting to each others houses for a day. I think that sounds kind of fun. Even more fun when the entire office comes to your house one day a week...

  28. Re:Nice office... but who is going to pay for this by kfg · · Score: 4, Insightful

    When you start your own company your first desk should be an old door propped up with a couple of old milk crates. You have more important things to spend your money on when you start up.

    If more "dot coms" had understood that instead of burning their money on fancy digs, pool tables and Porsches a few more of them might still be around.

    Oh yeah, and clear idea of how you're going to make a profit to earn fancy desks, chairs and cars wouldn't be a bad idea either.

    KFG

  29. Makes me wish I had any private space at all ... by PostConsumerRecycled · · Score: 2, Interesting
    Instead I get to work in a common area, with no windows, with people coming in and out and having meetings all day. Not even my own workstation, though since I work at this machine all day, no one else really uses it.

    Reading this article just made me wish I had my own cubicle. I'm supposed to be dreaming of having my own office, instead I dream of having my own workstation and my own cubicle, and wondering what it's like outside right now.

    My previous employeers had great perks and working conditions, I didn't realize how good I had it, I left one for a better opportunity, that better opportunity went bankrupt, and now I'm here. Oh well, at least I have a job.

    --

    There is no dark side of the moon really, matter of fact it's all dark
  30. Been there...done that. by weez75 · · Score: 4, Interesting

    I worked for a place with all these amenities plus the view was of the ocean. That's right...we were 6 feet from white sand and blue waves.

    At first, the space was incredible, the free drinks, groovy toys, and high-powered colleagues were great. Everyone got along and the work being done was of the highest quality. Everything was humming along.

    What the struggle became however was burnout. While it seems really groovy to have all kinds of cool things they were all just ways to keep us there rather than being at home with our families. Sure we would frag a little, have a beer, and hang out for an hour a day. We'd also end up leaving the office well after most of our families had gone to bed.

    There's nothing about this article worthy of my praise. This is old hat and not as well thought out as it's made out to be--in the end this crew will be no more or less productive, happy, or able than all the other companies like mine that failed doing the same thing.

    --
    Of course we torture people, we need the information --Gen. Pinochet
    1. Re:Been there...done that. by Anonymous Coward · · Score: 0

      What's needed are some ammenities for those family members! Where's the daycare center? Where's the playground? Bring your family to work!

    2. Re:Been there...done that. by the_womble · · Score: 1

      While it seems really groovy to have all kinds of cool things they were all just ways to keep us there rather than being at home with our families

      I agree. There is a price to pay for nice offices.

      On top of this I can see very little special about this office: Mine is a LOT better and so are plenty of others.

      It all looks like a subtle Fog Creek ad: I hope they paid for it.

    3. Re:Been there...done that. by Anonymous Coward · · Score: 0

      You're assuming that they have to work insane hours.

      While the Greenspun quote makes it seem like this is true, I'm pretty sure Fog Creek isn't run like Ars Digita.

    4. Re:Been there...done that. by fm6 · · Score: 1

      I find your post, and the many others like it, extremely refreshing. When this story came up, I thought it'd be deluged with naive "Kewl!" comments. Very nice to be wrong. And to see that people have some sense of where the 90s went wrong.

  31. Re:Nice office... but who is going to pay for this by CrazyTalk · · Score: 1
    Exactly - my office is contemplating a move (just to another floor of the building), and if I showed this article to my boss he'd laugh me out of his office. We'll be lucky to get 1960s era grey cubicles second hand. Its all about the (short term) profits, no one in the post dot-com world is going to spend this much money on furniture and keeping developers happy.

    One idea I really did like, though - power outlets (and plenty of 'em!) at desk level would be great, and a big improvement over rooting around under the desk.

  32. NYC offices... by thung226 · · Score: 2, Informative

    We relocated to a spot in midtown last year (though, not with the budget Joel had, apparently), and let me tell you, this is even more amazing considering he did in NYC. Take any ordeal with real estate anywhere in the country and multiply it by a 1000... then you're only somewhere near the neighborhood of what it feels like to negotiate digs in the Big Apple. And don't get me started on the wiring jobs and the telecom lines in this city, cuz it's a freakin' mess. His NYC office space advice is here.

    --
    -n-
  33. interesting, but... by PopCulture · · Score: 1

    The monthly rent ... will run about $700 per employee... but if it means we can hire from the 99.9 percentile instead of the 99 percentile, it'll be worth it.

    not claiming in to be in the 99th percentile, but I suspect those that are and have lived through the dot-bomb implosion are looking at job security, company stability, and good pay. (Things that a 3 year old start up moving out of some guys grandmother's house may not likely be able to provide)... so it may be a good strategy to distract with eye candy... in reality, thats all I see here.

    --

    Here's to finally giving Bush his exit strategy in November
  34. My office.. here is a picture by joeldg · · Score: 1

    In the spirit of showing off desks..
    here is My desk

    Yes.. I have a fabulous view of the buildings in downtown New Orleans.. and sometimes if I look down I see random parades :)

    1. Re:My office.. here is a picture by identity0 · · Score: 1

      Ooh, is that the hotel Intercontinental out there? I stayed there once, nice place... I really liked New Orleans, can you tell me a bit about the rent/weather/crime there? It seemed like a cool place to live, but wasn't sure about what a geek could find for work down there...

    2. Re:My office.. here is a picture by joeldg · · Score: 1

      I work for directnic.com (intercosmos media group) in the zipa.com group (datacenter)
      rent is cheap, houses (two story, four-room) can rent for $700/mo
      crime is bad, but if you have *any* street smarts and can keep your wits about you when you are wasted (i.e. don't do stupid stuff) you won't have any issues, I have been here four years and never had a problem.
      Weather is great, hot but mainly only during the summer however the heat is usually broken up with afternoon rains, this is the sub-tropics..
      as far as tech work, well.. the building I work in here has three entire floors of all techs. and there are more moving in all the time (cheaper than most larger cities).
      You could probably look around, big oil is down here in force, so there are always networks to wire up.

      cheers

    3. Re:My office.. here is a picture by waynetv · · Score: 1

      +5 points for Microsoft Natural Keyboard
      -2 points 'cause it's the newer diamond keypad version.

  35. parent joke by Anonymous Coward · · Score: 0

    you guys obviously didnt get it. bionic woman. six million dollar man. ha ha.

  36. The Developers he wants wont even notice. by LibertineR · · Score: 2, Interesting
    Would a Carmack be wanting to hang at the Plasma screen? Is Joel planning a pool tournament during lunch times? What 99.9%th percentile programer takes lunch or watches TV much at all? I dont fault most of what Joel did; I remember taking less money at Microsoft because I was getting a real office with a REAL FUCKING DOOR, the single most valuable piece of office furniture ever.

    The best programming environment is one where you can be left alone to do what you do without idiots bothering you. Interuptions take a long time to recover from, even those for good reasons.

    The best programing environment is one where for whatever reason I can zone out and STAY zoned out until I have accomplished something that is ready to be tested.

    When I can put up a sign outside my door that says "Stay the Fuck out, unless the world is coming to an end", I will find a way to work for them, and I'll take care of the inside furnishings myself.

    When that workplace is established, I might work for almost nothing but Pizza money.

    1. Re:The Developers he wants wont even notice. by HeyLaughingBoy · · Score: 1

      That's pretty much what I thought about the article. Don't get me wrong: I'm all for improving the work environment, but don't add distractions. I like my job, sometimes I love it. But my approach is: get in, do the work, go home. I work through lunch usually so I don't have to stay the extra hour and when I've accomplished enough I leave. I have cool managers and relatively smart co workers, and a (usually) interesting project but it's work.

      I have a life at home, and even if I didn't, I would just go home and find something even more interesting to code, on my own time, in my own space, at my own pace.

  37. Secretary by Anonymous Coward · · Score: 0

    8) Nordic secretary with huge melons

  38. Re:joel is a mystery.... by h00pla · · Score: 0, Redundant
    The mystery is why people listen to this guy. I have never found one thing he's said to be the least bit insightful. This 99.9 == 100% boilerplate hype.

    --
    I've been swashdotted -- Elmer Fudd
  39. Kill the Programmers by Ridgelift · · Score: 4, Insightful

    "Your business success will depend on the extent to which programmers essentially live at your office. For this to be a common choice, your office had better be nicer than the average programmer's home."

    What crap! The best office I've ever had is the one I have now - a home office. Any employer that sucks the marrow out of their staff by having them work 90 hours a week will only burn their staff out.

    Maybe I won't create the greatest apps overnight, but next week is just fine. Plus I have a healthy relationship with my 2 year old son, a beautiful wife, and another child on the way. I love programming, and having worked with computers for over 20 years. Because I take care of my health and mind, I'll still be here 20 years from now while slave drivers like Joel Spolsky have moved on to greener pastures with other anti-human ideals.

    The candle that burns twice as bright burns half as long.

    1. Re:Kill the Programmers by silverbax · · Score: 1

      "Maybe I won't create the greatest apps overnight, but next week is just fine. Plus I have a healthy relationship with my 2 year old son, a beautiful wife, and another child on the way."

      It just needed repeating. Hear, hear.

    2. Re:Kill the Programmers by leerpm · · Score: 1

      You make some good points. But not everyone likes working at home. For some, it can be depressing lonely at times if you never get to interact with your colleages in person. It can also be hard to stay motivated when you are telecommuting.

    3. Re:Kill the Programmers by Anonymous Coward · · Score: 0

      Working from home is not for everyone. Like you say... Some people can't handle the isolation. I think the biggest problem is that most people are not diciplined enough to keep focused on the task at hand.

    4. Re:Kill the Programmers by EastCoastSurfer · · Score: 1

      I would go nuts working at home from the lack of interaction. The best programming environment I have been in so far is one with lots of windows and space, but not neccessarily privacy. Sharing a decent size space with a few other programmers makes for a fun, active work environment. All that I feel is required are some windows and general monitor privacy.

    5. Re:Kill the Programmers by vinn01 · · Score: 1

      You would give up HDTV (with cool games) in the office in order to play with your two year old son and snuggle with your wife? Hmmm - more than snuggling if another child is on the way.

      You are far too level-headed to be an super elite geek.

      I bet your software isn't cool either, just reliable and stable.

      Guys, this is what maturity is all about...

    6. Re:Kill the Programmers by kin_korn_karn · · Score: 1

      likewise. I can't work at home because I get too distracted. Home is for good times, not someone's bullshit taskmastering.

    7. Re:Kill the Programmers by Anonymous Coward · · Score: 0

      That is a phil greenspun quote, not a Joel Spolsky quote. This is imporant, because phil's philosophy was hire recent MIT grads and work them to death.

      Fog Creek works much closer to 40 hour weeks, at least from other things he's put on his site.

    8. Re:Kill the Programmers by Xyde · · Score: 1
      I don't want to start a holy war here, but what is the deal with you heterosexuals? I've been sitting here on a sofa getting my cock sucked by a beautiful woman (a red headed, busty swedish girl) for about 20 minutes now while she attempting to make me cum. 20 minutes. At home with my moderately plain boyfriend, which by all standards should be a lot uglier than this chick, the same operation would take about 2 minutes. If that.

      In addition during this blowjob attempt I can't watch television. I can't even reach the chips on the coffee table, my life has ground to a halt. I'm straining to keep it up.

      I won't bore you with the laundry list of other problems that I've encountered while dealing with females in general, but suffice it to say there have been many - not the least of which is, I've never seen a female ejaculate as much as it's male counterpart, despite the females obviously larger reservoir . My 50 year old plumber who is clinically sterile cums more than this girl at times, which isn't surprising as the girl is often menstruating, or complains of a headache. From a purely pleasure standpoint, I don't get how people can claim that heterosexuality a superior orientation.

      Sex addicts, flame me if you'd like, but I'd rather hear some intelligent reasons why anyone would choose twat over other bigger, more readily available glands.

  40. Re:Makes me wish I had any private space at all .. by Anonymous Coward · · Score: 0

    hmm, i think i used to be your co-worker...

  41. homo's in the media? by Anonymous Coward · · Score: 0

    is slashdot now joining the rest of the media with the abundance of homosexuals in the spotlight?

    guess geeks are gay too.

  42. Omitted from the office by dsandler · · Score: 4, Funny
    there wasn't a single coffee machine ... do they really expect a programmer to work without coffee ?
    Damn, you're right. Now that you mention it, a whole bunch of things are missing from that office:
    • Front door. How do people get in? Not very productive.
    • Bathroom. Seriously, not one commode in any of those photos. Less of a problem if there's no coffee machine, I guess.
    • Air. I didn't see any air molecules in the photographs, either. Coding without breathing is hard! (Although sometimes necessary; see pair programming.)
    </smartass>
  43. You're forgetting by burgburgburg · · Score: 4, Funny
    9) Hungry crocodiles at bottom of pit to consume offending door knockers.

    If you don't have the crocs, the people just lollygag down in the pit, moaning and yelling for help.

    It's animal and environmentally friendly. The croc droppings can be used to fertilize your organic garden. And as they age: shoes.

    1. Re:You're forgetting by Anonymous Coward · · Score: 0

      As what age?

    2. Re:You're forgetting by bbc22405 · · Score: 1
      Hungry crocodiles

      Sharks with fricken lasers would be more high-tech.

    3. Re:You're forgetting by leshert · · Score: 1

      If you don't have the crocs, the people just lollygag down in the pit, moaning and yelling for help.

      Alternatively, make sure that if you drop the designer of the pit into the pit, you have someone standing by ready to shoot him if he survives. Also make sure he's a crack shot--there's nothing worse than having a wounded deathtrap designer writhing at the bottom of his own deathtrap, whining about "Why did you shoot me in the arm?!"

    4. Re:You're forgetting by Anonymous Coward · · Score: 0

      if you dont have the crocs

      I find that sharpened bamboo stalks will do just as nicely. The short sounds of startled shock sure beat the long screams of agony anyday...

    5. Re:You're forgetting by Anonymous Coward · · Score: 0

      hmm... If the office is overlooking the sea, and is located in a building on top of a high cliff... Crocodiles need feeding, the smell isn't entirely pleasant, etc. But let them fall... The long scream is quite nice.

      10) A mare at the secretary position. She couldn't handle a fax, couldn't answer a phone, but daaam, she would be sooo hot!

  44. sigh... by Anonymous Coward · · Score: 0
    I only wish this article came out in time for my employer to get a look at it before commisioning the pile of rubble I'll be moving to sometime in the next 6 months or so. Hell, we aren't even getting new furniture, but will instead have to move our current World War II era junk over... If we're among the lucky people who get offices at all. For $300 million I'd have expected something better.

    But hell, at least our offices come pre-equipped with plywood shelves on the wall. That makes it all worth it. No really. I can't wait.

  45. forget the fancies, i want to code by polished+look+2 · · Score: 1

    In some environments there are a great deal of distractions, from the coffee machine to co-workers that just want to stop by and chat, things that hurt the progress of software development. Some distractions are okay - its good to be able to get up and walk around - but it'd be nice simply to have a door that I can close on distractions and co-workers so I can get to work; I could careless about fancy displays, etc.

  46. jOEL by Anonymous Coward · · Score: 0

    Isn't he that gay programmer guy?

  47. The Real "Bionic Office" by philipsblows · · Score: 1

    Won't the true US high tech office of the future consist of a project manager's desk and a VoIP video phone that connects to the development team in India?

    I mean the very near future.

    A bit further down the roard the development team will be in Romania.

    1. Re:The Real "Bionic Office" by XPisthenewNT · · Score: 1

      Oh my god this is the funniest comment ever! If I had any idea how the modding stuff worked I would highly encourage making it 5: funny or whatever. It's funny because it's true.

  48. Missed a few things by Anonymous Coward · · Score: 0
    Joel missed a few things.
    • Indirect lighting is best. It's not clear if those walls are actually lit from inside or not.
    • Not everyone loves natural light. Window shades are good things.
    • Not everyone loves day-glo green walls. It might seem stodgy, but pick a slightly more conservative color to help preserve sanity.
    • Hardwood floors suck. They scratch up badly and they reflect every little sound that's made in the closet^H^H^H^H^H^Hoffice.
    • Straight desks suck. There's a reason most people set up their workstation in the corner of an "L" desk -- it's more comfortable on the elbows! "Pair programming" sucks too, but if you absolutely must do it, set up the workstation with dual monitors and mirror the display. Then get two "L" desks and put them back-to-back so the programmers can see each other's faces.
  49. I was fortunate. by LibertineR · · Score: 1

    My very first Microsoft office was outside with a view. For a year, I had people telling me how "lucky" I was. I assumed I got it because I was/am good. I got a corner in 5 years. It was very sweet. I will not work for anyone who wants to put me in a cube, even to consult, as I think they are brain-killers. I'll insist on using my home office, because if I cant have a door, you cant have my work.

  50. Re:MOD PARENT DOWN by IIRCAFAIKIANAL · · Score: 1

    telling the moderators what to do...

    that's a paddling.

    (Seriously, I'm getting more annoyed with the "MOD PARENT DOWN" crap than the redundant crap they are telling the mods to mod down.)

    Mods, you just follow your heart. Don't let anyone slow you down. Stick to your guns. A bird in the hand is worth two in the bush.

    I better go away now before all my precious karma is burnt away.

    --
    Robots are everywhere, and they eat old people's medicine for fuel.
  51. Aeron Chairs? by NDPTAL85 · · Score: 1

    Hmm. Seems some folks haven't learned the lessons of Dot Com Bust Past. I estimate he'll be out of business in 2.5 years.

    --
    Mac OS X and Windows XP working side by side to fight back the night.
    1. Re:Aeron Chairs? by Anonymous Coward · · Score: 0

      Seems some folks haven't learned the lessons of Dot Com Bust Past

      Nope. Seems like you're thiking inside the box. (ie, retail) We buy Dot Com gear at Dot Bomb auction prices. Anyone making buying decisions solely based on MSRP today isn't doing the best job they can for their company.

      We've bought 6 Aeron chairs at CAN$180-$200 in the past year. Also some really nice frosted glass reception partitions and a Pacman upright arcade machine, all cheap like dirt.

      The firm across the hall from us bought 5x 2-unit P4 rack servers, each with 80GB RAID-1 SCSI, for CAN$500 each.

    2. Re:Aeron Chairs? by key45 · · Score: 1

      I doubt that. Unlike most Dot Bombs, he does have an actual product that people are willing to pay money for. Of all the bug tracking systems I've used so far, Fogbugz is definitely the nicest.

    3. Re:Aeron Chairs? by Pathetic+Coward · · Score: 0, Flamebait

      His product is a bug tracking system?

      You can't even give away development tools today. He'll be out of business in nine months ...

    4. Re:Aeron Chairs? by Leus · · Score: 0

      Go visit their page. They are paying everything from their income, no VC or anything like that.

  52. Telecommute! by phliar · · Score: 1
    Obviously a home office is the best approach. I work from home most days. In my office I have a door (which I don't need to close because no one else is in the house during the day), and a window with a beautiful San Francisco view. I can play my music as loud as I want, and I'm home for UPS deliveries. Of course it's nice that I don't have to waste time commuting; however the best part -- employers take note -- is that if I need to work late or on weekends, I can do it from home, which means my family doesn't miss having me around for dinner or a walk in the park. No worries about having forgotten that documentation I was reading at home. Sure, those offices in the article look nice. But I'm not at the mercy of a PHB for my work environment, and if I change jobs I still have my cool setup. I've a wireless network too, so I can work outside on the deck with my laptop whenever I want.

    Someday they'll realise that if we just want to goof off, we can do that just as well at the office; working from home I'm usually at my desk from 8:30 am to 7 pm, and many days from 10 pm to midnight. (With a few breaks for coffee, lunch, errands, etc., of course.)

    --
    Unlimited growth == Cancer.
  53. What I got from this by Yobgod+Ababua · · Score: 3, Insightful

    Having participated in several office renovations and build-outs over the past few years, I found this article quite interesting.

    I was particularly impressed by the archtectural solution of angling the offices (requires wasting some space) to effectively get windows on two different walls in every office.

    The "cable trough" along the back of the desks is a deceptively simple idea, but one that seldom gets implemented. We put something similar down the center of our conference tables, which made supporting laptop-laden meetings infinitely easier. It's unclear from the photo if there are cutouts to also allow cables to run under the desk. If not, that's the one important modification I'd add, as it is often neccessary to place an electric or electronic device on the floor.

    The other thing that was of particular interest was his comments about using straight desktops in order to make it easier for people to collaborate. I've definately noticed the 'squeezing around the corner monitor' problem, but hadn't thought of encouraging a different monitor/desk configuration to address it.

    Still, it's always nice to see people/companies actually thinking about their architecture, and fitting technology comfortably into it, when they get the chance.

    1. Re:What I got from this by mrseigen · · Score: 1

      I like the color-coded UPS outlets and readily available plug trough as well. I'm also really impressed by the eight LAN ports per office; like he says, one-port offices are for lawyers.

      The window thing is really neat, but I'd have to see how much glare there is from all of the cross-lighting. Ion Storm spent a bunch of money on some nice skylights for their office only to have their coders drape blankets over their cubes so the Daystar wouldn't blind them.

  54. He forgot the Super UltraDeluxe Body Odor Filters! by LibertineR · · Score: 2, Funny
    Come on, now.

    He is bound to end up with at least one of those no shoes, pizza-skittles burping, mosquito-attracting types, who's last shower was a hour before the interview.

    You gotta have the honkin' air conditioning unit to tame that stench, the kind with the HEPA, charcoal and whatever else you can use to keep breathable air for the rest of the staff, right?

  55. 425 s.f per employee?!! by sTalking_Goat · · Score: 1

    thats damn near bigger than my apartment.

    --

    My days of not taking you seriously are certainly coming to a middle...

  56. 6 weeks vacation by Freedom+Bug · · Score: 4, Interesting

    Joel is probably one of the only people that can attract the top 0.1%.

    Reasons:

    1) high visibility with his blog & columns in various magazines
    2) Downtown NY & salaries to match
    3) Office with a door
    4) Boss is a programmer, not an MBA
    5) smart coworkers
    6) 6 weeks vacation
    7) lots of other stuff, read his site

    I might be wrong about that 6 weeks vacation thing, the only reference I found on his site was when he was talking about hiring European developers.

    Note to managers: 6 weeks vacation is an absolute kicker of an incentive. It's cheap too. If you can't keep a company going without "key personnel", you've got bigger problems, and I don't want to work there.

    Bryan

    1. Re:6 weeks vacation by AlistairGroves · · Score: 1

      MOD PARENT UP I'd use the mod points if I had any :(

    2. Re:6 weeks vacation by Anonymous Coward · · Score: 0

      I used to think the same thing, until I actually tried CityDesk and FogBugz. I have now come to the conclusion that he hires the same way everyone else does, and then claims he has a super elite team of coders. The proof is in the products that they release.

    3. Re:6 weeks vacation by penguin7of9 · · Score: 1

      Top 0.1% of what? Windows programmers? Do many people really have any ambition to be in that slice of the population?

      And is the company really so attractive? What do they produce? A bunch of small desktop apps for content management, ground out laboriously using Microsoft's dull development tools. Where is the vision in that? Where is the excitement in that?

      And then, as a company, where are the retirement benefits? Stability? Career path? Where are those employees going to be 10 years from now? 20 years from now?

    4. Re:6 weeks vacation by Dnigh · · Score: 1

      This is one of the reasons I LOVE living in Australia. Down here companies MUST accrue annual leave. I don't feel like taking all of my mine one year it rolls over to the next. This is fantastic, because at the start I had no reason to take leave, so I just built it up until I wanted to use it.

      That combined with days'in'lue for time I'm on site means I gain holidays very quicky.

  57. Nice Digs by choiski · · Score: 1

    Too bad they've got those overhyped Aeron chairs. Give me a moderately hyped Steelcase Leap chair and I'd be comfortable.

    --
    Choiski
  58. Getting ready to move my company by prisoner · · Score: 1

    and I can tell you that 99% of the stuff done here won't make it in my world. Desks? $129 office depot jobs or folding tables from costco. Pastel paints on the wall? Not on your life. Whatever is there is staying. I'm more interested in *gasp* money and having some to reinvest in the business. We haven't finalized the move yet, still negotiating, but before I talked to the landlord we had a short staff meeting. Most people agreed that they'd rather keep the $$ in the bank as a cushion against shitty times (like now) and stay in business. Kudos to these guys if they can afford it but me? I'll shove those bucks into the bank and keep 'em there.

    1. Re:Getting ready to move my company by doinky · · Score: 2, Insightful
      I'm at a company that thinks like that when it comes to furniture; and yet we (like most other companies) have no problem wasting ten times as much on perks for useless executives like our VP of sales (gets a plane ticket back/forth from his home city every weekend) or last-second travel to companies to make deals that an idiot can tell you are never going to pan out (and never do).

      Thinking it's worthwhile to save a one-time 50 bucks per-employee on cheap chairs or a monthly 100 bucks per-employee on rent is very telling in our industry, where the average employee is supposed to be generating several times that revenue for your business every single day.

      Bankers don't put up with cubicles. Lawyers and doctors don't. Neither do architects (at least the ones I've seen). Why do programmers? Because too many of us buy into this shit that we're going to benefit later on by squeezing a few pennies now.

    2. Re:Getting ready to move my company by prisoner · · Score: 1

      You're probably right on for programmers. I don't employ any. I'm the only one that does any coding and I do it from beat to shit $139 desk. Most of my folks are doing outsourced IT stuff so they're gone pretty much all day. Outsourced IT is a cutthroat biz and we need to keep our margins low. Not pissing all our cash away on chairs helps. Don't mistake me, we don't sit on cinderblocks - that wouldn't be comfortable for employees and clients might be a bit suspicious but you won't find Aeron (sp) chairs either.

      We don't piss away money on perks for anyone. The only thing we "waste" money on is fast computers and games. Gotta feed the after-hours gaming jones. I expect this to change as the company gets older but I ain't buying plane tickets for anyone.

  59. Recruiting "superstars" by Zhe+Mappel · · Score: 1
    Having drop-dead gorgeous, private, windowed offices makes it a lot easier to recruit the kinds of superstars that produce ten times as much as the merely brilliant software developers.

    I'm sure it does, but just wait until they discover you didn't remove the brown M&M's and smash the office up.

  60. And the cool thing is... by Pvt_Waldo · · Score: 3, Funny

    ...we'll be able to buy all this stuff on E-Bay in a year!

  61. Statistics, and the lying liars who make them up by iSwitched · · Score: 1

    Further confusing the analysis is the fact that Fog Creek does VB, the most hated language on /. Therefore, does that mean that Joel is drawing his super-elite developers from the pool at the bottom-of-the-barrel 88% ??

    God, I'm confused....

    --
    "That naive cube! How long must I suffer this!" --Sheldon J. Plankton
  62. Re:Nice office... but who is going to pay for this by TheSunborn · · Score: 3, Insightful

    But it's not that expensive. He write that the price per developer is 700$/Month. I don't know the price of a typical offices, but even if a normal offices only cost half that much, I think that the 350$/Month per developer is a good deal, which will pay back.

  63. Re:Nice office... but who is going to pay for this by Anonymous Coward · · Score: 0

    Essentially, since it's Joel's company, /he/ will pay for it. Is it worth it? To him, apparently, it is.

    By the way, I also have to disagree about the crack crack. LSD maybe.

  64. flashy offices == wasted capital.... by freejamesbrown · · Score: 1

    i've got to agree here... these days, if looking for a job, cool offices is about 12th on my list of importance. i might even find cool offices to be a source of concern.

    let the healing begin!
    m.

  65. hello 1999 ?? by Anonymous Coward · · Score: 0

    geesh, this totally reminds of the bad old days when you spend like $500K on "buildout" of an office and make everything all pretty and nice for your prim donna software engineers.

    really neat, but not appropriate for the current times.

  66. Wrong approach by El · · Score: 1

    How 'bout giving me the $700/month/developer for office space and letting me work from home? (Yes, I know, true Extreme Programming requires 2 people in the same place. But although I already follow most of the tenets of XP, and I do strongly beleive in peer review, I'm not convinced that having somebody look over my shoulder while I'm typing increases productivity. Quite the opposite, it slows me down and increases my error rate, as I can only focus on one thing at a time - either the code or the other person in the cubicle.)

    --

    "Freedom means freedom for everybody" -- Dick Cheney

    1. Re:Wrong approach by splattertrousers · · Score: 0, Flamebait
      Yes, I know, true Extreme Programming requires 2 people in the same place.

      Don't worry, Joel doesn't understand true Extreme Programming so he won't make you do it.

      I'm not convinced that having somebody look over my shoulder while I'm typing increases productivity.

      You're 100% correct. That's why XP doesn't suggest that someone looks over your shoulder while you type. It suggests that you work with someone all the time. "Working with" != "being supervised by".

    2. Re:Wrong approach by Anonymous Coward · · Score: 0

      Gimme that $700 a month and I'll work from home and bring someone in for a little "pair programming".

  67. Gentlemen... by sharkey · · Score: 1

    We can redecorate it, we have the technology...

    --

    --
    "Outlook not so good." That magic 8-ball knows everything! I'll ask about Exchange Server next.
  68. most important are women by Anonymous Coward · · Score: 1, Funny

    The only thing you need to make your office better are hot babes. Hopefully scantily clad.

  69. Why all the doors ? by Laz10 · · Score: 1

    Is it really that established that programmers work best alone, undistrubed ??

    I like pair programming. And it would also appear to be encouraged in Joels environment.

    My worry is that it won't happen.

    Asking for someone to stop whatever they are doing to spar with you can be a big enough barrier if you sit right next to the guy.

    If you have to go knock on his door first, I am pretty sure that sparring sessions will drop to zero.

    I'd say sitting in groups of 4-8 people in a larger office would be a more efficient setup.

    And of course. Nobody should have to work in a room without a window. I don't think you are even allowed to place workers in windowless rooms in most (if not all) of europe.

    1. Re:Why all the doors ? by Anonymous Coward · · Score: 0

      I don't get it. I've worked in an office with no windows for years, and it never bothered me.

      What is this weird fascination with having a window? Could someone please explain this to me?

    2. Re:Why all the doors ? by Anonymous Coward · · Score: 0

      Just knock on the window.

    3. Re:Why all the doors ? by Anonymous Coward · · Score: 0

      Windows? We don't need no stinking windows...

      sigh
      I would settle for 6"x6" portal to the outside world

  70. Just tape off the floor around you. by LibertineR · · Score: 1

    They will think you are so nuts that if you are any good, they will put you in an office to hide you from others. If not, they will can you, and you will be motivated to find someplace else to work.

    1. Re:Just tape off the floor around you. by PostConsumerRecycled · · Score: 1

      Beleive me, I am looking for other work, there's just not much out there right now.

      --

      There is no dark side of the moon really, matter of fact it's all dark
    2. Re:Just tape off the floor around you. by JLyle · · Score: 1
      They will think you are so nuts that if you are any good, they will put you in an office to hide you from others. If not, they will can you, and you will be motivated to find someplace else to work.
      Don't know about that. This strategy never worked out for Les Nessman at WKRP in Cincinnati.
    3. Re:Just tape off the floor around you. by CrackHappy · · Score: 1

      What city do you live in?

      Just curious, as we're looking for a developer.

      --
      1f u c4n r34d th1s u r34lly n33d t0 g37 l41d Capitalization really works: i helped my uncle jack off a horse
  71. on a raised floor surrounded by vax terminals... by freejamesbrown · · Score: 1

    that's where most of the 99.9%ers i've had the pleasure of knowing preferred to spend their time.

    that's the kind of place where office ambience means that the whirl of fans is so loud that you sometimes have to shout. with so much white noise eminating from everywhere, you could listen to your music without headphones and not bother the guy on the other side of the racks...

    yeah, i can't see a 99.9%er giving two bits about windows... (pun intended?)
    m.

  72. little boutique shop... by ecloud · · Score: 1

    So who's got a good environment, and actually hires?

  73. this is offtopic, i know by jalfieri · · Score: 1

    i love the idea of putting an old door on milk crates (or old file cabinets), but where does one find an old door? Without an old (flat) door, nobody's saving any money. is there a hidden wellspring of old, flat doors?

    --
    -it's a prison-
    1. Re:this is offtopic, i know by bluGill · · Score: 1

      Try the bargin isle at home depot. You can get them (slighly damaged, put that side down) for a buck. Often they are on sale for half price, but a buck is the standard price.

    2. Re:this is offtopic, i know by kfg · · Score: 1

      In my basement.

      Barring that just about anywhere a renovation is going on you'll find old doors. Modern interior doors are so cheap these days they're treated as throw away items. Cheaper to replace than fix up.

      Don't worry about them being flat. An old paneled door becomes flat the second you put the quarter inch of masonite on top of it.

      Barring that MDF is dirt cheap and comes precut to 2x4 feet, for only a few bucks. Or watch for a kitchen countertop sale at the local home store. I've seen some really neat shit go for only a buck a foot.

      With some file cabinets, a kitchen countertop, a bit of masonite and a can or two of paint you can make a desk that looks like $400 for $40, and save your capital for things that actually matter to your business.

      You buy the fancy desk when A) You've actually made real money and B) need to invest some of it in "capital" to keep from just giving it to the government.

      At that point spend away. Those bastards have already bought fancy desks on your dime.

      KFG

    3. Re:this is offtopic, i know by tyen · · Score: 1

      ...but where does one find an old door?

      When I actually did this many years back in my first startup before the Dot.Com Era, I went out and purchased a plain door from Home Depot. If I recall correctly, it cost me about $75, including some 2x4 cut to spec, some of those nifty brackets that turn 2x4s into a sawhorse, and some wood screws. It was sturdy than all get out; the damn thing took longer to take apart than to put together. That was small change after the cost of the equipment and a year's rent was figured in; less than 1/100th the cost of all that. If your startup capital is that tight that $75 will break the bank, maybe you might want to rethink your capitalization plan. I think I figured out that on a per square inch basis for anything else of comparable sturdiness, that setup was cheaper than anything else I could find at the time. Standing on top of it while loaded down with gear was not a problem; you could probably even jump up and down but I wasn't about to risk my gear in the pursuit of geek research.

      That startup went bust, but I've since started another company. When I move into a bona fide office later next year, I'll probably try to patronize a Habitat for Humanity Re-Store because of their good works. I like Joel's idea of one long desk, and this time I'll build two such desks side-by-side. I screwed down a power strip along the back of the desk the last time, and this time I'll be adding network hubs as well.

  74. One last thing they could do.... by Stephen+Samuel · · Score: 0, Troll
    Server: Microsoft-IIS/5.0
    Date: Wed, 24 Sep 2003 21:26:39 GMT
    . . . . .
    I suspect that $700 per person is on the high side for software developers throughout the world, but if it means we can hire from the 99.9 percentile instead of the 99 percentile, it'll be worth it.

    It might help if they moved to a real operating system...
    (yes, I just had to say it).

    --
    Free Software: Like love, it grows best when given away.
  75. $$, anybody? by NineNine · · Score: 1

    Am I the only one that saw those pictures and instantly thought of the dot-bomb days? That office is expensive as hell. Where's that money coming from? VC's? A deep-pocketed mommy and daddy? Overpriced software? Hiring lots and lots of overseas programmers? I've worked in many places, even during the dot-bomb days, and I've never seen offices that nice. Hell, rent alone is ridiculous.

    1. Re:$$, anybody? by ctid · · Score: 1
      That office is expensive as hell. Where's that money coming from? VC's?

      May I suggest that you RTFA instead of just looking at the pretty pictures? He says, "the build-out was done on budget and paid for almost entirely by the landlord."
      --
      Reality is defined by the maddest person in the room
  76. Joel's opinion of Slashdot by El_Smack · · Score: 1

    Go to Joels article on Guerrilla Hiring and click the link (in the article) that says "unwashed masses". No wait, if you are reading this, you have already been to the site he links to.
    Yeah, those stupid slashd... Uh, wait a second.
    Damn!

    --


    There are 01 kinds of cars in the world. The General Lee, and everything else.
  77. We're so cool, everyone wants to work here... by aquarian · · Score: 1

    ...which is why we can afford to pay you less.

  78. lack support for WebDAV by stonebeat.org · · Score: 1

    gotta have support for WebDAV if you wanna create a HTML editor of the future.

  79. Warning signs by John+Miles · · Score: 2, Insightful

    From Joel's Guerilla Guide to Interviewing:

    Some signs of a good programmer: good programmers have a habit of writing their { and then skipping down to the bottom of the page and writing their }s right away, then filling in the blank later.

    Sounds great, Joel! <smile, nod amiably, back slowly toward door>

    They also tend to have some kind of a variable naming convention, primitive though it may be... Good programmers tend to use really short variable names for loop indices. If they name their loop index CurrentPagePositionLoopCounter it is (a) sure sign that they have not written a lot of code in their life.

    Or that they just like long variable names. The most annoying programmers to work with (and the ones I'd be least likely to hire) are the ones who use names like "i1", "i11", "ii1", "iii1", "a2", "b" for everything.

    For example, if you ask them to reverse a linked list, good candidates will always make a little drawing on the side and draw all the pointers and where they go. They have to. It is humanly impossible to write code to reverse a linked list without drawing little boxes with arrows between them. Bad programmers will start writing code right away.

    Okey-dokey, then.

    Occasionally, you will see a C programmer write something like if (0==strlen(x)), putting the constant on the left hand side of the == . This is a really good sign. It means that they were stung once too many times by confusing = and == and have forced themselves to learn a new habit to avoid that trap.

    There are good interviews, bad interviews, and then there are a few things you can do to get me to call security to escort you out of the building:

    1) Start a fire for no obvious reason.
    2) Make fun of all the old-school Duran Duran songs in my phat MP3 collection.
    3) Call strlen() to see if a string is empty.

    From what I can tell, what Joel considers the "99.9th percentile" is actually a level of competence I'd expect from a bright high-school kid who skipped some, but not all, of his introductory computer-science class. It's not exactly hard to hire people at this level; most of them are, or should be, brushing up on their Hindu grammar to help them train their replacements.

    --
    Dahlmann tightly grips the knife, which he may have no idea how to use, and steps out into the plain.
    1. Re:Warning signs by eatdave13 · · Score: 1

      Some signs of a good programmer: good programmers have a habit of writing their { and then skipping down to the bottom of the page and writing their }s right away, then filling in the blank later.

      Sounds great, Joel! <smile, nod amiably, back slowly toward door>

      This IS in fact a sign of a good programmer. A good programmer looks at as few different levels of complexity at a time as possible. Although it doesn't make sense when you're doing something like

      if (foo == bar) { barTheFoo(foo); }
      when you won't be coming back to that for a while, only a sadist would make himself try to parse the different levels every time he comes back to it until he's done.

      They also tend to have some kind of a variable naming convention, primitive though it may be... Good programmers tend to use really short variable names for loop indices. If they name their loop index CurrentPagePositionLoopCounter it is (a) sure sign that they have not written a lot of code in their life.

      Or that they just like long variable names. The most annoying programmers to work with (and the ones I'd be least likely to hire) are the ones who use names like "i1", "i11", "ii1", "iii1", "a2", "b" for everything.

      Using those short names for everything is annoying, but good truly good program structure can alleviate that to the point that it isn't even an issue anymore unless they write code that looks like it's been disassembled. Using long loop counter names IS a sign of either a novice programmer or one who is completely uninterested in saving time.

      For example, if you ask them to reverse a linked list, good candidates will always make a little drawing on the side and draw all the pointers and where they go. They have to. It is humanly impossible to write code to reverse a linked list without drawing little boxes with arrows between them. Bad programmers will start writing code right away.

      Okey-dokey, then.

      Agreed. That was one of the dumbest statements I've heard in a long time.

      Occasionally, you will see a C programmer write something like if (0==strlen(x)), putting the constant on the left hand side of the == . This is a really good sign. It means that they were stung once too many times by confusing = and == and have forced themselves to learn a new habit to avoid that trap.

      Since when is strlen() a valid lval? The compiler would warn you either way, and putting the constant on the left ... just feels wrong. Besides, anyone who's been programming C for a while can count the number of = and == in a page of code in a couple seconds. If you get tripped up by that, a good interviewer would smell you from a mile away.

      --
      "Verbing weirds language." -- Calvin
    2. Re:Warning signs by Anonymous Coward · · Score: 0

      Since when is strlen() a valid lval? The compiler would warn you either way, and putting the constant on the left ... just feels wrong.

      I assume he meant to write "if (0 == x)", which is a case where the compiler could provide a useful error message if you wrote an assignment by mistake. strlen() was about the worst example there is, pretty much.

      More recent versions of compilers do warn you about assignments within conditional expressions, but that wasn't always true.

      Besides, anyone who's been programming C for a while can count the number of = and == in a page of code in a couple seconds. If you get tripped up by that, a good interviewer would smell you from a mile away.

      I'll screw it up about once a year, just as a typo. Not exactly hard to catch.

    3. Re:Warning signs by eatdave13 · · Score: 1

      Nope, not hard to catch, especially considering that even if your compiler doesn't that you made an assignment in a conditional (get a new complier :P), I don't know of ANY compilers that don't fail to compile completely if you try to assign a value to a function.

      It takes exactly the same amount of mental effort to put an rval-only on the left side of your equality operator as it takes to make sure that you use '==' instead of '='. If he's putting bad examples like that in print, how good of an interviewer is he?

      --
      "Verbing weirds language." -- Calvin
  80. been working in an office like that for 3 years by Anonymous Coward · · Score: 0

    before, during and after the .com bomb. Pics

  81. Not the physical building's fault though by bluGill · · Score: 1

    Yep, I've worked in places where I just wanted to go home again. Wasn't the fault of the building though. The Cubes were nice enough, and worked. Not as nice as the artical, but good enough. Management was sending signals that my job was doomed, and that didn't motivate me to salvage it. Sure enough, the entire plant was shut down and everyone let go the day the last version was released. If I had known what to think I would have realized that after version 2.1 there was no development, and no plans for development was ever approved. Instead I just saw promises of a roadmap coming soon that were broken. At least everyone saw that broken promise

    Did I mention the office I didn't like working in was built on a swamp, and sunk just a little every year, sometimes flooded out, and the plumbing was going bad? It was physically bad place to work, and everyone wanted to move elsewhere. However the physical parts of the building never detracted from my wanting to work there in the pre 2.0 days there there was plenty of interesting work.

    1. Re:Not the physical building's fault though by BeermanUK · · Score: 1

      Oh hell, I know I shouldn't, but..

      "The other bosses said I was mad to build an office on a swamp, but I built it anyway.

      It sank into the swamp.

      So I built another one. That sank into the swamp as well.

      So I built a third. That burned down, fell over and then sank into the swamp.

      But the fourth office. That stayed up."

  82. Re:MOD PARENT DOWN by lostindenver · · Score: 1

    I'd say mod ya up but..........Well how about good point I hope more people read it

  83. MOD PARENT DOWN! by kdsolutions · · Score: 0
    Just wish I had windows...

    --
    Error 666 - Satanic SCO code found in your Linux kernel.
    1. Re:MOD PARENT DOWN! by Tsali · · Score: 1

      (w)indows... Not (W)indows (tm)(r)(c), etc....

      I'm stupid - but not that stupid. :-P

      --
      This space for rent.
    2. Re:MOD PARENT DOWN! by kdsolutions · · Score: 0

      it was a joke anyway... seems the mods got it this time tho... lol

      --
      Error 666 - Satanic SCO code found in your Linux kernel.
  84. I love programing by bluGill · · Score: 4, Insightful

    I was out of programing for a while, and to pay the bills I went into construction. I had a beatiful office then: outside with fresh air. I got to play with toys all day. (saws and nailers mostly, but once in a while I could attempt to get the 4 wheel drive forklift stuck) I hated it. Oh, I like working with my hands and building things, but I don't like doing it all day. I several times found myself standing on a 2x4 20 feet in the air and wishing I was anywhere else, (preferably the ground) while the other guy ran across the other wall and then teased me for not being at the other end already. I had to listen to the radio station the foreman picked. Then I finially got home after working 10 hours, and was dead tired. Even when I had a moment free, I couldn't pick up my mandolin because my body hurt too much.

    I'm now back in programing, and I love it. I get paid to read code all day. I sit inside an office (with a window that I never look out of) that is air conditioned. I write code! They pay me to write code! Once in a while I have to test my code, and that isn't nearly as much fun, but my job is writing code. I work less hours. I can choose my radio station, or bring my own CDs, or work in silence, my choice. When I get home I can play mandolin without pain.

    To each his own. I've tried your plan. The work was different, but I didn't like it.

  85. Re:There is a much easier way of getting this effe by eatdave13 · · Score: 1

    Ah, but then you can only work one or two days a week, or it would start getting very expensive.

    --
    "Verbing weirds language." -- Calvin
  86. Re:There is a much easier way of getting this effe by Anonymous Coward · · Score: 0

    That's going to result in an 'interesting' code base...

  87. Isn't news my ass by SendBot · · Score: 2, Insightful

    Speak for yourself about not getting a cool office. I work from home and have spent a great amount of time tuning my office space to a great place to spend time making a living. Someone develops a nice office with some very inventive architectural ideas (I'm particularly fond of the window to the next office's window idea), and you write it off as useless due to it having no direct use to you.

    Whereas those who get ideas to incorporate into their own ambitions will enjoy this news, you narrowly percieve this as "Dot Bomb flashback syndrome".

    Living in the past is for suckas!

  88. Some other suggestions... by herderofcats · · Score: 1

    I've twice been responsible for creating small offices of the caliber of Joel's vision -- it is hard, and the compromises are never obvious until you've lived in it a year.

    The biggest design program is the "closed door" problem. Ever programmer needs it to concentrate, but it makes making the place more pleasant far more difficult.

    My biggest simple advice is a weird one -- install a washer/dryer someplace where it will not disturb people. Even though we worked hard to keep a 40-45 hour work week, it was still the most used 'perk' of our office ;-)

    Some easy tips:

    * There are some really nice drawer sized dishwashers (ours is from Fisher/Payel) -- it is perfect for the small office where it is hard to make everyone responsible for cleaning up the office kitchen. The small drawer size means that you can wash with fewer items, more people take responsibility as it is easy.

    * Windows that open -- you may not want to very often in some climates, but it really makes a difference.

    * Ventilation -- consider two systems -- one for your HVAC, a second that is nothing but circulation with a little intake some exhaust. I forgot the number, but I think they recommend 10% fresh air an hour as a good compromise for efficiency and good indoor air quality.

    * Avoid composite materials -- they outgas for months. We decided not to glue the carpet, it worked fine.

    * Design desks for two trash cans -- there is never enough room for recycling and trash if you don't, and people knock them over.

    * Steel white walls are nice for each office and common areas, great for writing but also using magnets to hold stuff up. We had over 5 linear feet of white walls per person in the office! To save money, you can get porcelain over steel material for restaurant fridgerators cheaper then from office supply places.

    * There is never enough storage space. We designed our storage space around the standard banker-box sized boxes, which made storage much easier. We also crammed storage everywhere, under stairs, over low-ceilinged spaces, etc.

    * Consider not totally finishing out ceilings -- acoustic tile and other approaches really don't absorb enough sound. Instead, have spaces where the rafters show, mixed with some normal ceilings. This causes sound to baffle, both into the open spaces of the rafters, and from there into/above the fixed ceilings. Much more effective for deadening sound.

    -- Herder of Cats

  89. Re:I was fortunate [and often quite wet]. by Anonymous Coward · · Score: 1, Funny

    My very first Microsoft office was outside with a view.

    I think having your office outside is a little extreme, even if the view is better. What if it rains? Did they at least give you a tent or something?

  90. But... there's no drawers in the desks! by Your+Momi · · Score: 1

    Geez, where am I gonna hide my secret food stash and my tissues and my caffeinated mints and my antacid and my can of Whoop Ass (no wait, that goes on TOP of the desk as a warning) and my extra candy and my hand lotion and my pens and pencils and comb and hairspray and chapstick and cold medicine and headache remedies and scotch (no, nm, didn't say that) and purse and pda cables and sewing kit and book....?

  91. Re:Nice office... but who is going to pay for this by sakyamuni · · Score: 1

    But it's not that expensive. He write that the price per developer is 700$/Month.

    According to Joel the $700 figure is for a fully staffed office. Since Joel coyly avoids more detail, we can only guess what his current cost is. FogCreek is a young company. Assuming that their new offices are 50% full (which I don't get the impression they are), that rent-per-head figure is more like $1400/month at the moment. And who knows how long it'll be before their business justifies hiring more people to fill up those empty offices.

    Well, if the snazzy digs don't motivate them, then their bills will -- or at least it'll motivate the person who has to pay the rent, i.e. Joel, to crack the whip harder! :-)

  92. Re:Nice office... but who is going to pay for this by Lord_Dweomer · · Score: 1
    " When you start your own company your first desk should be an old door propped up with a couple of old milk crates. You have more important things to spend your money on when you start up."

    Right, because when you have potential clients/customers in your office to pitch to them, you don't really want them to be impressed by your company. Granted, this does vary based on the company, but appearances DO mean something when you're starting out.

    --
    Buy Steampunk Clothing Online!
  93. Re:Nice office... but who is going to pay for this by kfg · · Score: 1

    This is certainly correct (although, as you note, this can vary considerably by the company).

    That's why the receptionist ( who you could probably live without for a while ) gets the best desk first. Not the Owner/CEO.

    In the case of Salon, to take an example, their offices needn't look any better than average small town newspaper's, because it's their webpage that determines the public's perception of "what they look like."

    They could be serving those pages from somebody's garage for all anyone cares, including their customers.

    KFG

  94. Bring your ear protection by barzok · · Score: 1
    Four of them are colored orange and have uninterruptible power coming off of a UPS in the server closet,

    I'd hate to be anywhere near that closet when the power goes out. My single APC UPS is intolerable enough.

  95. Re:Nice office... but who is going to pay for this by Ian+Bicking · · Score: 2, Insightful
    If it's not in the middle of New York City I think you could get it for a lot cheaper. If it's not in downtown anywhere, you can get it a lot cheaper than that. I'm working in an office on the North side of Chicago right now, and it's great -- it's closer than downtown (for everyone in the office, as far as I know, not just me), it's obviously a much cheaper location for what you get, and it's just nicer. Maybe I'm just biased against downtowns (okay, I definitely am), but I prefer living and working in mixed-use areas. I like living by stores and businesses, and I like working by people's houses. It all feels much more natural to me. And I can bike to work.

    Non-central locations in a city are great, because there's all sorts of interesting spaces (not just office buildings), and there's stuff around. I don't want to work in a strip mall, or an industrial park, or a highrise. They are all examples of overly partitioned spaces, spaces that are serve a specific function then become wastelands on a daily cycle. I like being by restaurants that are open for lunch and dinner, I like seeing mothers with strollers go by, I like knowing that it's 3:00 because I see all the kids walking back from school. My only disapointment is that few offices have front porches.

    A lot of the stuff in that office also isn't about the programmers, it's about visitors. You can make functional, attractive, pleasant spaces without spending a ton of money. But they won't impress outsiders with your prosperity and modernity.

  96. The Programmer Pedestal by fm6 · · Score: 2, Insightful
    Well, it's my own damn company and I can do something about it, so I did.
    Oh gawd. I used to work for this guy. Well, no, not this guy, but one like him. And not for the guy himself, but for the company he founded. The guy himself got canned because he spent too much investor money on his dream office.

    Let me tell you what's going to happen. All that fancy cable-routing, pseudo-ergonomic office furniture is not gonna wear well, 'cause it's designed by idiots. It looks so cool in the catalog, but after a year or two the parts freeze in place (maybe you're supposed to oil them every month or something), and they stop being ergnomic and routing.

    Windows. Yeah, I love a window office. Natural light cheers me up. But most geeks seem to have glare issues, which they deal with by minimizing background light. So our fancy everybody-gets-a-private-window building had 3/4 of its blinds closed at any given time.

    And what do we do with the other people that help a software firm make money? Yeah, developers are key, but so are QA people, integrators, tech writers, sales people, marketeers, and of course the customer service people. But we can't afford to give all those bozos fancy private offices, so we'll just put them in cubes. Yeah, that's really great for promoting friendship and communication between the developer-gods and lesser mortals.

    Actually Spolsky avoided one mistake our own deity made -- he didn't put the developer-gods on a different floor, behind a separate set of keycard doors. (Of course if his company had more than two products...) Then again, sitting in one's cube, watching the "key" employes hang out behind their translucent walls, watching the plasma TV and doing other geek stuff, might be even more detrimental to morale.

    Here's the nasty thing about us geeks: give us a little money or power, and we turn into the stupidist, most arrogant assholes!

  97. design vs. adaptation by penguin7of9 · · Score: 1

    I think trying to design office space like that is self-defeating. Some of the most exciting science and engineering has happened in basements, shacks, Soviet-style office buildings, etc. Those places work not because some architect came in and set them up according to some fancy ideas, but because the people working in them adapted them to their work. Fancy furniture and construction is more of an obstacle to that than an aid, since they make occupant-driven changes much harder. If the place looks like a dump to begin with, you won't mind putting stuff where it is most useful, rather than where it looks best.

  98. Is this so fascinating? by Shamashmuddamiq · · Score: 2, Insightful
    Did this guy sleep through the dot-com boom and the dot-bomb bust? Did he learn anything? This sounds like articles I used to read way back in 1997.

    I was one of those "elite" programmers that got hired to an "elite" company, and it was great at first. They had all the frills and benefits. Company trips to Las Vegas, kitchens with free food that didn't quit, games, toys, paintball, etc. Laptops and cell phones for everybody, and an office view looking out over the hills.

    It didn't work, and let me tell you why. The work sucked. We weren't just encouraged to work 16 hours a day, we were expected to. We were forced to use crappy build tools, a crappy home-brew revision control system, a crappy OS (Windows), and worst of all, I was stuck programming a GUI client in Java (GOOD LORD!).

    The office frills are certainly a good thing, but it pales in comparison to the effect the work itself has on you. Is it fun, interesting work? Are you treated like a contributor of ideas, or are you just treated like an "implementation monkey"? Do you believe in the product of your efforts? Is this the kind of thing you want to do the rest of your life? Are you learning important skills? Is your career actually progressing, or do you feel hogtied?

    All of these questions need to be answered positively by an employee before you can start to think about keeping him/her around. If you can have toys and pretty offices on top of that, then fine. Just make sure your employees are happy with their work and their future, and they'll stick with you always. Treat them like cattle, and they'll perform poorly and leave you as soon as they get a better offer. Most software engineers would be happy working in a dank cellar if the work was still fun and challenging.

    --
    ...just my 2 gil.
  99. Heres a company about to fire people by cerebralpc · · Score: 1

    Time after time after time this sad story happens to great companies. How could Joel possibly justify the amount of money he has spent on this office - what an arrogant wanker. Joel isn't going to suffer - its the workers who are going to be sacked when the cash flow runs dry. Sorry but this guy is a prick and I'll never goto his web site again.

  100. 700 a head isn't bad for an office by MerlynEmrys67 · · Score: 1
    Of course with everyone getting 10 cents on the dollar for office space - Hey I have seen startups leasing office space for 25 cents on the dollar that the leaseholder is required to pay.

    In fact the last startup I was with cut their office rent by half by moving into a space that was better than twice as large.

    In reality a 20x22 space isn't that large - I've got a little larger than that where I am at, no window though, but who wants the glare on the monitor anyway

    --
    I have mod points and I am not afraid to use them
  101. Re:Nice office... but who is going to pay for this by eidechse · · Score: 2, Insightful

    His point wasn't about getting luxury items; it was that this setup is an investment that will result in increased programmer productivity and therefore profit. He may or may not be correct, but I don't think that it's the same as the dot com idiocy.

  102. Parkinson law, chapter 6 by mericet · · Score: 1

    According to 'Parkinson's Law' by C. Northcote Parkinson, in chapter 6 'plans and plants', this marks the start of the decline of the company, lets hope it's a counter example.

  103. Amazon.com by Anonymous Coward · · Score: 0

    I've had to do business with Amazon.com numerous times throughout the years. On my first trip, they almost literally had the door on creates. After a couple building moves to their current one, they had moved up in the world. They now have doors with wodden legs attached to them by the in-house maintenance crew.

    If it is good enough for Amazon, it is good enough for any new company.

    I've talked to Jeff Bezos about it too. And just like software, you start off simple and want to be adverse to moving up to anything more complex.

  104. Correct, but in the wrong way. by Anonymous Coward · · Score: 0

    One of the first rules to building wealth, and one that all self-made millionaires know, is that you become stingy with your money. You save where you can and don't overspend. The same is true for a company starting out.

    Anybody that you are trying to get funding from will immediately recognize the meager spending as a good thing. Any clients you are hoping to build a partnership with will also think better of your venture knowing that you are in it for the long haul and not just for burning money over the next 5-10 years.

    If you must, you have one nice, but not expensive, meeting room. And the receptionist always gets the best of everything. Everybody else can make do until steady cash is pooring through.

    This productivity argument that Joel makes costs him cash that most likely could be spent better in the beginning, especially since things never go how you imagined them when starting out.

    I've had a hand in starting too companies now. Sadly, both eventually closed up. However, I'll be trying a third shot as soon as I can get funding together.

  105. Cheap by Anonymous Coward · · Score: 0

    If you buy an entire book of acid tabs, you can get them for literally pennies a hit.

    1. Re:Cheap by eatdave13 · · Score: 1

      But what do you do when it takes a sheet to get off?

      --
      "Verbing weirds language." -- Calvin
  106. Peopleware by follower-fillet · · Score: 1

    Anyone that is interested in "knowledge workers" and work environments should read "Peopleware" by Tom DeMarco and Timothy Lister:

    http://www.amazon.com/exec/obidos/tg/detail/-/09 32 633439/

  107. Re:Nice office... but who is going to pay for this by nneb · · Score: 2, Informative

    AFAIK, there's no VC money behind Fog Creek. They do consulting work to allow them to develop shrink-wrap applications. Also, it's not a new company - they've just moved offices.

    They've been profitable (see last para) for some time, so the answer is that they can probably quite easily afford it as a natural part of the business growth.

  108. Two children, by bythescruff · · Score: 1

    ...he thought. That means he did it twice. At least.

    --
    Chuck Norris: Socialism == a thousand years of darkness.
  109. Re:Nice office... but who is going to pay for this by JimPooley · · Score: 1

    I fail to see how sofas and a big telly are going to improve productivity. Decrease productivity when all the programmers hang around to watch TV when they should be working, yes.

    And who the hell wants to hang out at the office!!!!??? Have these people no lives? There's something seriously wrong with anyone who doesn't get the fuck away from their workplace ASAP when their working day is done!

    --

    "Information wants to be paid"
  110. There's a fair amount of research to back this up. by PinglePongle · · Score: 1

    In one of Steve McConnell's books there's mention of research into developer productivity - the long & short of it is that offices with doors that close and enough space for 2 or more people to chat around a table appears to have a direct influence on programmer producitivity. Peopleware by Demarco & Lister contains a few chapters on the subject too; I seem to recall sample office layouts from some IBM hangar which was cited as a good example of office space for software developers.

    I like the photos Joel posted, except for the fact there doesn't appear to be space for whiteboards and book cases.

    --
    It's all very well in practice, but it will never work in theory.
  111. super developers exist by ShaggyZet · · Score: 1
    I've worked with a wide array of software people. Programmers, engineers, developers, what ever you want to call them (yes, words have specific meanings, but I don't feel like debating what those meanings are right now). I've worked with PhD CS grads who couldn't create basic logic. I worked with a former country radio disc jockey that could come up with great ideas, and get them implemented quickly. I've worked at places that hire "really smart people", regardless of major, and train them. I've worked at places that really value advanced CS degrees.

    But I have never worked in a place (or had a CS class for that matter) where the skill of the programmers didn't look like a bell curve or where the difference between the top and the bottom wasn't at least an order of magnitude. The low end of the curve is people that are utterly useless, and probably steal productivity by wasting more skilled people's time. The top end are so amazingly productive that they can do things in a day that other programmers would never have even conceived.

    I think there is a reason for this bell curve though. If you have too many on the low end, you go out of business. If you have too many on the high end, they fight with each other and some of them leave, or just don't produce to they're true capacity.

    1. Re:super developers exist by crazyphilman · · Score: 1

      I don't trust bell curves, because they're usually used to reinforce a small elite's position in society, and I think their utility is fairly limited. Anyway, I think you're misusing the concept of the bell curve. Think about it this way:

      The vast majority of data points on a bell curve fall within one or two standard deviations of the mean. So, something like 96% of people are somewhere around IQ=100 on the old-fashioned IQ bell curve, for example. Then you've got the people under IQ 95, and the people up over IQ 105, and you've got the about two percent of people who are up over IQ 120, and then, you've got the small percentage of people up around 140 and higher.

      Now consider programming. IF there really is a programming "bell curve" (and I seriously doubt it) then you would expect similar results. Around 96% of programmers would have skills which lie around some mean, and would all be roughly equivalent in ability. Then you'd have about a couple of percent who are really crappy, and a couple of percent who are really amazing. Of course, it doesn't work this way at all!

      In real life, because of the politics of IT hiring practices, you've got an entire spectrum of programmer abilities out there. You've got the no-skill wannabes on one side, people who were working in McDonalds and whatnot and took a VB course. Then you've got people with advanced degrees on the other, who could probably roll their own operating system. I met a man once who used to periodically send a few commands to Voyager (no shit! He was kinda cool, worked at Northern Arizona University). And, you've got a mixed bag in between.

      My point was that once a person achieves a certain skill level, usually through university study but occasionally through hackerish self-instruction (I've met some pretty good people who did this) he's GOOD ENOUGH and can tackle most tasks without too much trouble. Anything above that just adds icing to the cake. Skill levels BELOW "good enough" are just plain bad of course.

      And, in my opinion, on the whole programmers who are actually working as professionals are at that good enough level. So I think the whole idea of uber-programmers is hogwash. It's a bunch of elitists stroking each other. I think it's kind of silly.

      --
      Farewell! It's been a fine buncha years!
    2. Re:super developers exist by ShaggyZet · · Score: 1
      It's quite possible the I'm misusing the concept of a bell curve. I'm not a statistician, I just work for one. At the very least, your percentages are off. 10% are above 120. And I don't think IQ is linear, but I'm not sure.

      In any case, I've seen way too many CS majors, some with advanced degrees, that couldn't code their way out of a for loop to accept that a CS degree brings someone beyond the most basic level of programming skills.

    3. Re:super developers exist by crazyphilman · · Score: 1

      Well... Ok, I'll give you that, accepting that there is a range of skills among college grads, I mean that's just common sense. However, four to six years of studying computer science brings with it knowledge of discrete mathematics, file structures, data structures, algorithms, basic machine architecture, operating system principles... All bodies of knowledge that give a programmer with such a background a leg up over people who don't have it. And, it is my opinion that a programmer with the background info can actually handle most of the tasks that would be thrown at him. The fact that he graduated at all, thus passing the junior and senior level classes, is in itself a good sign.

      So, really, you're a little bit off base. The "most basic level of programming skills" is language syntax, nothing more. And every wannabe with twelve hundred bucks and some time to kill can go to a certificate mill for that.

      We're talking about programmers, not wannabes.

      --
      Farewell! It's been a fine buncha years!
    4. Re:super developers exist by ShaggyZet · · Score: 1

      To me the most basic level is syntax and the ability to use that syntax to create a logical flow. It doesn't have to be pretty, but it has to be correct. Loop the correct number of times, run conditional portions when you actually mean to run them. I've worked with CS grads that couldn't do that. I fired a PhD CS grad who couldn't do that. And in this particular case, their PhD was from a reasonably good (at least top 50 or so), nationally known school. I'm going to stop now that I'm sufficiently off topic.

    5. Re:super developers exist by crazyphilman · · Score: 1

      And, I'll finish up with a simple statement drawn from freshman-level philosophy:

      An extreme, individual case, like a PhD you used to know, has never been a valid proof of any point. After all, he could have been an anomaly; he could have lied on his resume, he could have had mental problems, he could have cheated in college, etc. It's anecdotal evidence, the weakest kind, and it means nothing.

      On the other hand, apply a little deduction and draw a more reasonable conclusion. We all know that someone who has spent several years in school studying a subject knows a great deal more about that subject than someone who has only tinkered with it for a few months. From this basic information we can draw the conclusion that on the whole, an educated programmer will be superior to an uneducated one. In other words, a programmer who has studied the fundamental constructs of computer programming for several years will be superior to one who has only studied syntax.

      I know this flies in the face of your personal "experience" but then, that's life. Since I don't work for you I don't have to pretend to agree with you. It's refreshing, isn't it? I'm guessing you don't get this sort of feedback much.

      --
      Farewell! It's been a fine buncha years!
  112. I'm confused by Catullus · · Score: 1

    What's wrong with calling strlen() to see if a string's empty?

    1. Re:I'm confused by John+Miles · · Score: 1
      What's wrong with calling strlen() to see if a string's empty?

      Look at the case where the string isn't empty. Unless strlen() is implemented as an intrinsic by a compiler that's smart enough to realize that the expression result is only compared to 0, it will step through every character in the string to see how long it is. Some compilers are smart enough to do that, but a lot aren't (or they may be configured to optimize for code size rather than speed), and in any event, it's sloppy coding.

      If all you want to know is whether a C string is empty or not, you only need to look at its first character. If you ever catch yourself writing
      if (strlen(x) == 0)
      you probably want
      if (!x[0])
      instead.
      --
      Dahlmann tightly grips the knife, which he may have no idea how to use, and steps out into the plain.
    2. Re:I'm confused by Catullus · · Score: 1
      Fair enough... but if you know that the possible strings that x might contain are never going to be that long, or this isn't a time-critical part of the system, I'd argue that strlen() is considerably more readable and understandable.

      Personal preference, I guess.

  113. Re:He forgot the Super UltraDeluxe Body Odor Filte by YrWrstNtmr · · Score: 1

    You gotta have the honkin' air conditioning unit to tame that stench, the kind with the HEPA, charcoal and whatever else you can use to keep breathable air for the rest of the staff, right?

    So THAT'S where the 'bionic' part comes in.

  114. Hand optimizations by fm6 · · Score: 1
    I used to know more about machine code, but haven't worked with it for years. So don't flame me if this is lame.

    Don't most modern processors have a hard-wired operation that returns the first byte past an index that matches a value? Even if not, this strikes me as such a simple optimization (an inline function with a constant argument!) that any optimizing compiler that couldn't spot it would have to be considered crap.

    (Such a compiler would also issue a warning for another of Joel's pet mistakes: an assignment statement inside a boolean expression. Although I've never understood why programmers who are that nitpicky can't simply spot an "=" where a "==" should be.)

    Then again, I suppose people who are still programming in C would have a prejudice for manual optimization. Trust in abstraction is for C++ programers.

    Then again again: A long time ago, I was working with some people who were porting Unix (system 5 with some BSD features) to the 68010. One of them mentioned being suprised by the code generated by their fancy optimizing C compiler. But when he examined the code very closely, he said to himself, "Yes, that's what I meant to do, only better!"

    On the same theme: when I was trying to become a programmer (I know the tech, but I don't have the right kind of brain for software development) I was indoctrinated to not worry about saving cycles unless I was coding a tight loop. Otherwise you risk creating brittle, bug-prone, hard-to-maintain code without any real benefit.

    But hey, what do I know?

    1. Re:Hand optimizations by John+Miles · · Score: 1
      Don't most modern processors have a hard-wired operation that returns the first byte past an index that matches a value?

      Yep (REPNE SCASB in x86-land), but it's not free, and because it's a microcoded instruction, it's not necessarily faster than coding a search loop by hand. Somebody -- either your code or the CPU's microcode -- still has to read each memory location to find the zero termination, wasting time and dumping potentially-valuable data out of the caches.

      Even if not, this strikes me as such a simple optimization (an inline function with a constant argument!) that any optimizing compiler that couldn't spot it would have to be considered crap.

      MSVC actually isn't "crap" in most respects, but I just tried the following code, and its strlen() intrinsic does use REPNE SCASB when compiled with /Ox /G6:
      #include <stdio.h>

      int main(int argc, char **argv)
      {
      if (strlen(argv[1]) == 0)
      {
      return 0;
      }

      return 1;
      }
      I was kind of surprised, actually... I'm pretty sure there are more efficient ways to code strlen() than that. The x86 string instructions haven't been competitive with hand-optimized loops since the 486, but I suppose it's possible that Intel tweaked them in the P6 core.

      Either way, you don't want to use strlen() when !x[0] will do.
      --
      Dahlmann tightly grips the knife, which he may have no idea how to use, and steps out into the plain.
    2. Re:Hand optimizations by fm6 · · Score: 1
      OK, on x86 processors, it's better to hand-optimize your loops. If I wanted to start a CPU flame war, I might suggest that this says something about this series of processors...

      In any case, the truisms about "good programmers" that JS and people like him love to talk are kind of on the trivial side. OK, you save a few cycles by saying !x[0] (though isn't x[0] != '\0' clearer? if properly optimized, it will be just as efficient). And you can maybe catch more errors if you put constants first in your == expressions. But I can't take seriously anybody who would focus on this kind of trivia as identifying a "top 0.1%" programmer!

  115. Jobs the visionary (God help us) by fm6 · · Score: 1

    GA! Jobs wanted one bathroom for everybody, in order to promote casual interactions. Yeah, everybody loves talking shop while they're defecating!

  116. Re:Nice office... but who is going to pay for this by leifm · · Score: 1

    I think that his point is, and I don't really know if it's valid, is that if your employees enjoy being in their work environment they'll be happier, and more productive. At least in part I would think this is true.

    --

    "Windows Me offers tremendous reliability and stability improvements..." -- Paul Thurott
  117. Re:Nice office... but who is going to pay for this by Jellybob · · Score: 1

    I second the working out of town call there.

    I think my current office has the best of both worlds - it's in a mixed use area, but is *right* on the fringe of the city centre (ours is the last road before the blocks of offices above shops), which makes it convineant for those "hey, it's payday!" moments :P