5 ms·
I'd say you're making the wrong choice there. Developers productivity doesn't work the way you think it does. 51 developers on crap hardware won't be 2% more
by jasonkester 15y ago
I'd say you're making the wrong choice there.
Developers productivity doesn't work the way you think it does. 51 developers on crap hardware won't be 2% more productive than 50 developers on good hardware. It won't even be equal.
Somewhere in that stack of 50 developers are a few of those mythical 10X-100X guys, who are currently spending a lot more time than you think arguing politics on Reddit. When you're writing code and your machine bogs for whatever reason, it kicks you out of what you were doing and almost forcibly alt-tabs you over to look at lolcats.
Give those guys good machines that don't piss them off, and you'll find them a lot more productive. And not, like, 2% more productive. More like 2X more productive as a group and 10X productive for some individuals.
Try it yourself one day and let us know how it works out for you.
- tptacek 15y agoYou've polarized the issue pretty intensely here. A developer using the '10 MBP is not really going to be less productive than one using the '11 MBP. But that's where this logic leads.
- masklinn 15y agoBut that's a minor update of a pretty good machine already, especially if both are kitted with SSDs and maxed in RAM. jasonkester mentioned "crap hardware" versus "good hardware", a pretty minor revision of a machine likely won't move it from one to the other.
- mtogo 15y agoMBP = Macbook pro, for anyone else wondering. Took me a minute.
- ben_straub 15y agoI think you're straw-manning the premise. He's not talking about the difference between a '10 MBP and an '11 MBP, more like the difference between a mid-to-high-end '08 MBP running Leopard and a mid-to-high-end '11 workstation running Lion. Try going back to 3-year-old machine for a week, and I think you'll find it's kind of annoying, and your morale will die the death of a thousand papercuts.
- tptacek 15y agoIt is a total straw man. But tell me you don't know developers who would make the argument anyways. I've employed people who made similar arguments.
- enjo 15y agoI'm typing this on a 3 year-old machine... I'm doing just fine:) I should elaborate: I'm running an almost 3 year old MacBook Pro. I do all of my development within VirtualBox (Ubuntu 10.11). I have it connected to a gasp single external monitor. I work every day on a MongoDB/Python stack. It could be faster, sure... but I'm hardly unhappy with it.
- aaronblohowiak 15y agoI dunno, man. I do most of my ruby/node/c development on an 11" mba, which is about as powerful as an '08 mbp. Sometimes, I am annoyed by slow test suites, but overall I dont feel the machine is holding me back. If you asked me to work on a windows box, I'd end the conversation politely.
- HeyLaughingBoy 15y agoI work on a pretty big C++ project and had a ~5 year old Thinkpad until about a month ago. I can't say that I notice a useful difference. Incremental builds mean that I rarely have to rebuild the entire solution, and when I do, even on the old machine, it's not a big enough deal that I would bitch about it. I think that for most of us, a few gig of RAM, 2 cores and a 22" monitor (that was my setup last month) is enough that more horsepower wouldn't make us substantially more productive.
- protomyth 15y agoWell the '11 comes with thunderbolt and that Promise RAID sure beats the other external drive options on that box. // haven't tried putting the VM's on the Promise RAID yet
- Havoc 15y ago>But that's where this logic leads. Clearly you get diminishing returns here. And in your example you selected the comparison points (MBP'10 vs '11) so high and close to each other that the effect is negligible. jasonkester on the other hand is comparing "crap hardware" and "good hardware"...there the effect is huge.
- Terretta 15y agoHaving worked as an indie dev for a decade and a manager of 150+ developers for a decade, I find this comment misguided. Here's "how it works out" for me. I wrote code as fast on an Apple //c as on this late-2010 MacBook Pro 17". I'd argue faster, as context switching to something unproductive was actually a chore. For writing, Appleworks 2 on the //c was, if anything, more efficient than the latest MS Word, for the same reasons some hardcore devs prefer EMACS over Visual Studio. In my experience, the single most meaningful programming productivity boost in the past 25 years is a second screen. Running PageMaker on an SE/30 with an external Radius Pivot, for example, ran productivity circles around working the built-in screen alone. But before second screens, devs managed to get by. In the Apple II coding days, an Imagewriter printout of code thus far taped to the wall behind the monitor served as the "second" screen, and physical books lying open around the desk served as reference tools. In many ways, I'd argue the simplicity and thoughtfulness of that approach was more efficient. It's as though the mind can keep separate threads for each type and physical location of media. For horsepower, as the rest of the comments here point out, a team does want a source code and build system that screams, but each developer workstation could arguably be a text terminal provided it can handle a few windows. The psychology of latest toys contributing to job satisfaction contributing to productivity is a separate argument. I have found giving dev groups machines tuned for LAN parties (latest graphics, high GHz CPUs) more relevant to productivity than providing machines tuned for compiling (striped raptor HDs, quad xeons).
- mahyarm 15y agoIt really depends on your build and testing times. If you have to wait another fucking 15 minutes so the entire build system can compile the project, or 30 minutes to run through all of the tests before you can compile, it does kick you out of coding.
- regularfry 15y agoI find it's not the 15 or 30 minute builds that are a problem; I can usefully context switch to something else, get it done and come back in that time. It's the 5 minute builds that are the problem. If I know something is going to take between 2 and 5 minutes, chances are I'll crack open Chrome, hit "news.y<enter>" and lose the next 30 minutes until noprocrast kicks in.