10 ms·
Why doesn't every company buy developers the best hardware?
- PaulHoule 15y agoIn a lot of organizations, software development is secondary, so the machine you get is going to come out of some system that does a mediocre job of procuring machines for salespeople and secretaries. If you're lucky you get a new mediocre machine, if you're not you get a hand-me-down laptop from a salesperson who couldn't sell. It doesn't make any sense, but 70% or so of people who hire developers don't seem to look at this rationally. On the other hand, they usually don't provide you good specs either.
- xiaoqmaskk 15y agowelcometo: http://www.fullmalls.com http://www.fullmalls.com The website wholesale for many kinds of fashion shoes, like the nike,jordan,prada,, also including the jeans,shirts,bags,hat and the decorations. All the products are free shipping, and the the price is competitive, and also can accept the paypal payment.,after the payment, can ship within short time. free shippingcompetitive priceany size availableaccept the paypal ===== http://www.fullmalls.com http://www.fullmalls.com ===== jordan shoes $32nike shox $32Christan Audigier bikini $23 Ed Hardy Bikini $23Smful short_t-shirt_woman $15ed hardy short_tank_woman $16Sandal $32christian loubo utin $80 Sunglass $15 COACH_Necklace $27handbag $33AF tank woman $17puma slipper woman $30 ===== http://www.fullmalls.com http://www.fullmalls.com ===== ===== http://www.fullmalls.com http://www.fullmalls.com ===== ===== http://www.fullmalls.com http://www.fullmalls.com ===== ===== http://www.fullmalls.com http://www.fullmalls.com ===== ===== http://www.fullmalls.com http://www.fullmalls.com =====
- stewiecat 15y agoEven in shops where software is the business I've been given a standard Dell laptop for development. The IT folks didn't want to bother with procuring different laptops for different business functions, so everybody got the same thing.
- inthewoods 15y agoA rather silly post - there are a lot of reasons why companies don't buy the best hardware - the comments on the thread do a great job of listing them.
- icebraining 15y agoIsn't that the point of the question - to get those answers? It's a Stackexchange site, not a blog.
- inthewoods 15y agoEven then, it's still a silly post. The reasons for not buying the latest hardware are rather obvious.
- mistermann 15y agoIf the productivity gains outweigh the cost is it still obvious?
- inthewoods 15y agoThe point is that productivity gains are only one obvious metric - businesses constantly battle capital spending vs. productivity.
- bad_user 15y agoI have mixed feelings that the best hardware yields better productivity. I worked with a Macbook Pro, top of the line, with 2 x 24 inch monitors attached, with an ergonomic keyboard and wireless mouse and all that crap. Now I work with a $500 ASUS that doesn't even lit my keyboard, with Ubuntu Linux installed and I'm using it directly (no external monitors or keyboard) since I'm on the move a lot. As far as my productivity is concerned, I still get things done at the same pace. Hardware is not my bottleneck. Of course, this has more to do with my other preferences. I like keeping my toolchain as light as possible. I don't use bloated IDEs, even when working with languages that require an IDE, such as Java. I don't do heavy processing often and when I do, I prefer offloading that work on AWS. I am also proficient with manipulating virtual desktops. As far as startups go, I think that spending money on expensive hardware is not frugal spending. If you're my boss, I would rather prefer a bonus than the latest and shiniest crap -- if I want shiny crap, I can buy it myself while respecting my own priorities.
- swah 15y agoHow much memory do you have?
- bad_user 15y ago3 GB
- icebraining 15y agoMy meager single-core 1.6GHz laptop has been fine for development, until the time I had to use Eclipse instead of Vim. Why, oh why, does it freeze while I'm just writing code!
- Kliment 15y agoEclipse shows you build errors by compiling your code in the background as you type. I believe you can disable this, or make it happen less frequently. This is the cost of red wavy underlines for compile errors. I don't remember the exact setting, as I haven't used Eclipse in years, but it's in there.
- deleted 15y ago[deleted]
- wladimir 15y agoI don't care so much about the hardware as long as it does its job and there are no crazy wait times. Having good and recent software on the other hand is very important to me. I simply hate having to put up every day with bugs that have been solved five years ago. And especially if there is no reason beyond simply the slowness and conservativeness of the IT dept that causes this.
- robryan 15y agoAs well as just the hardware speed, I think for some it would also improve their motivation, and you may gain more from an employee in that. It also depends what your doing, if you are after someone to produce great pixel perfect designs, get them some decent screens. If you have an app where the latest i7 and SSD can cut compilation time in half you can probably make a good gain there by not having the programmer get distracted each time they compile.
- motters 15y agoIn the past I have been content with hardware which is several years old. One advantage with slower machines is that benchmarking becomes easier, such that any slow operations are really obvious at the development stage. The other advantage is that customers are also often using similarly aged hardware. Older hardware forces you to make your algorithms efficient, rather than relying upon faster machines to hide the bloat. In my case I was also often developing for embedded target hardware which was a good deal slower than a typical PC, so older PCs were more realistic for testing. The advantage of always being on the latest hardware is if you're developing large software systems which take a long time to compile, or if you're doing something which fundamentally requires significant number crunching - such as games or computational chemistry.
- codgercoder 15y agoI don't know if it's anyone else's motivation, but developers should have machines that approximate the machine of their software's customer base. Otherwise what runs OK on a developer machine can be painful to use out in the field.
- Game_Ender 15y agoDepends on what you are developing. If your tests and compile times take 5 or 10 minutes, you are losing tons of productivity.
- tomjen3 15y agoOnly if you write plugins for the same IDE you use to develop in. If you write Java code, you need 2GB for the IDE on a large project. But then, many people don't write software to run on customers machines.
- to3m 15y agoRemote debugging works pretty well on Windows, and I imagine it's the same story on anything Unix-like. You can work on your decent PC, debugging your program as it runs on some rubbish old castoff PC that was destined for landfill. If the budget isn't even enough for the necessary peripherals, you can get away with just a kettle lead and a network cable and then use Remote Desktop to interact with it. The remote debugging setup process isn't very slick, but it doesn't take long to figure out, and with a bit of folder-sharing you can keep all the files on your work PC so that it's all nice and convenient. I did this for quite a while, working on Windows, and it worked well. I don't recall any significant problems with it. If cost is what's preventing you getting a nice PC, then that's one thing, but the issue is just ensuring that slow code doesn't go unnoticed, this approach will probably keep you/your programmers happier...
- miahi 15y agoThat's the reason we have test VMs, to approximate the customer's environment. Sometimes I just get a VM clone of the production machine with everything set up. Right now I write code for a 32-CPU 64GB RAM 300MB/s machine, should I request one exactly like it for myself? And it's not even a hardware issue - the OS, DB and middleware licenses to use on that HW cost >$1M.
- allenp 15y agoReal question: I know these are huge companies with diverse teams and projects but can anyone share what type of hardware Google, Apple, and Microsoft provide for their devs?
- yesbabyyes 15y agoDon't trust me at all but I've read about Microsoft's machines (probably here on HN) and as I recall they have really top-end hardware. I think Google has a lot of MacBooks but I don't know where I get that from.
- egeib 15y agoI spoke with a Google sys admin a few months ago. He said he had a MacBook and a Lenovo Thinkpad with Ubuntu. It was in the news a while ago, that they only use Mac or Ubuntu. Any Windows OS has to have some type of signoff from management.
- glassx 15y agoThat's what I've heard too. Also, according to this article, 70% of the laptops run OS X and 30% run Ubuntu. Most desktops are Linux, though. http://digitizor.com/2011/07/12/google-android-linux-dream/ http://digitizor.com/2011/07/12/google-android-linux-dream/ and http://news.ycombinator.com/item?id=2755050 http://news.ycombinator.com/item?id=2755050
- deleted 15y ago[deleted]
- deleted 15y ago[deleted]
- cletus 15y agoGood questions to ask when being interviewed: - What is your standard developer hardware configuration? - How often is it refreshed? You get bad answers to those questions and it's a definite warning sign (IMHO). If you're working for a cash-strapped startup (possibly bootstrapped), you may want to negotiate a deal whereby you supply your own hardware (in exchange for higher salary and/or stock/option grants) if they're only in a position to provide substandard hardware. One side note: what constitutes good hardware depends on what you're doing. If all you're doing is writing PHP/Python/Ruby in vim/emacs and running a local Apache/nginx and possibly a MySQL server then it almost doesn't matter what hardware you have... apart from the monitor. But if you're compiling huge C++ (or even Java) projects then you probably want good I/O (possibly an SSD, preferably in RAID1 config for redundancy), lots of RAM and a good CPU. As one data point: I have a 6 core machine with 12GB of RAM and 2 24" monitors (some opt for 1 30") plus a Macbook Pro 15" with SSD. You can refresh your hardware every 18 months if you want to (but most don't unless they have a pressing need; I know some people with 4-5 year old workstations because those are fine for what they do).
- masklinn 15y ago> possibly an SSD, preferably in RAID1 config for redundancy Since the code should be in a source control system, I don't see the point of this. RAID5 (increased redundancy and throughput) maybe, but even then you're increasing the chances of failure (the RAID hardware itself can fail) and you're not gaining much (if any) in the way of IOPS, which will be your biggest issue.
- cletus 15y agoIt's not about source code backup. It's about a developer not losing half a day when an SSD dies. With RAID1, at least in theory, when one dies you should be able to replace it and keep going.
- rcfox 15y agoGoing half a day without committing code is missing the point of version control.
- encoderer 15y agoTo any development manager who wishes they could offer better hardware within their budget: If you haven't already done this, buy an SSD for every workstation. Nowadays, you can get 128GB for $200 or less. Do that, and make sure the system has 4GB+ RAM, and 2 monitors at high resolution, and your hardware will feel brand new to the guys on your team. I did this a couple years ago as one of my first acts after being promoted, and it worked great. I paid a bit more to get the drives that came with an upgrade kit (that is, an enclosure and imaging software). Gave them to each dev to take care of themselves. I didn't have to wait on and work with the bureaucratic IT department, and a dozen SSDs was cheap enough I could put it on my card without needing CFO approval. You don't need "The Best" hardware. In fact, it reminds me of the saying that "People buy horsepower, but they drive torque." What matters to developers isn't how many FLOPs you can do, but how quickly can you load your VMs and start Eclipse and grep your local filesystem.
- StavrosK 15y agoMy five-year-old Macbook with a new SSD is very noticeably faster than my brand new Macbook Pro with an HDD. I don't know why people still use HDDs. Don't answer, it was rhetorical.
- SkyMarshal 15y agoI'll answer anyway since it's an interesting question. Space is still cheaper on hdd's, and data volatility concerns. Is the latter still an issue with SSDs, or have they reached the point now where you can store your music collection on them and not worry about losing it in two or three years?
- alain94040 15y agoI empathize with you, the developer. I still want the best machine money can buy. But I have also been on the other side. Let me give you a simple question to ponder: assuming an engineering team of 50, and the cost of 2% to upgrade machines, would you rather upgrade everyone, or hire one more developer? As the manager, I can tell you that everyone is asking for an extra headcount: "we need a full-time person to handle builds", "Tom could really use an extra hand with the XYZ module". Etc. It happens to cost the same: hire an extra developer, or upgrade. So, as a manager, you handle the trade-off. Life is all about trade-offs, not absolute. I'd love to have a faster machine. I'd love to have more engineers. I can't have both.
- etaty 15y agoGive each year/month credits to your engineers to buy a new computer and give them a way to 'buy' extra credits. So some of them will wait longer, some will buy a new machine each year. Give them the liberty to choose!
- jlaurend 15y agoThere are certainly benefits to having everyone upgrade at the same time, though. From a technical standpoint, it seems better to have everyone on the same setup so that you only have to deal with the same set of problems. You might also be able to get a deal for buying in bulk. Additionally, it would be frustrating to use your credits too soon and then the guy next to you gets something twice as good one month later. So just play it safe by keeping everyone on the same playing field.
- willyt 15y agoOr suddenly all the machines in the office are bluescreening at the same obscure graphics driver bug and nobody can do any work...
- ben_straub 15y agoAs a father of two, I heart this idea. This takes the budgeting headache away from the manager, and is completely fair. It implies that every developer is responsible for his/her own workstation maintenance, though, and that might be a risk/pain you don't want.
- djhworld 15y agoIt's probably easier for smaller companies to make hardware refreshes but in big corporations there's the whole issue of "standardised desktops" and so on to get around. Getting a new machine isn't just a case of plonking a new one on your desk, I'd imagine a lot of red tape goes on in the background
- gdulli 15y agoMy company proactively offered to upgrade hardware for whoever needs it. Even bought a huge monitor for everyone, which I didn't need and doesn't fit on my desk. But a $99 software license I asked for 4 months ago that will make me more productive every day, I'm still waiting for it. One time I was at a large company that gave all developers ridiculously fast and powerful machines. By far the highest specs I'd ever used. But the machine crawled because of all the million background processes IT put on there, and the crappy tools in our software chain. Software is so much more important than hardware.
- rch 15y agoIs that $99 for tasktop? I've been waiting a week for that one, and will just buy another license myself if it hasn't come through by Thursday. Just as I did for Fusion and Igor... Now, if I could just afford a CX1...
- rch 15y agoI once had to watch a startup skimp on dev hardware, only to splurge on 'launch' parties and (no kidding) billboards... The founder, a marketing major, had a hard time explaining things to their investor once the inevitable end was clear. I'd ask the question: why wouldn't a company trust the developers' specs for adequate hardware?
- jasonkester 15y agoDefinitely a no-brainer. Always buy the best machine you can get. I'm surprised that most developers don't take the same approach to tools. If you're using Eclipse or (god forbid) a text editor to write code, spend a minute and tally up all those 5-second chunks of your life you've spent this year looking up the names of variables, objects, whatever, and running into runtime errors from typos. Multiply by $$$/hour and see what you could have spent on a decent IDE. JetBrains makes IDEs for pretty much every language out there by now, and any one of them will pay for itself in about four days.
- ams6110 15y ago"Best machine you can get" would often be overkill. Consider the "best" on the Apple Store today: a 12-core Mac Pro with RAID and 2 27" Apple Cinema displays, you're looking at more than $12,000. And unless you're overflowing in VC cash like it was 1999 it would be insane from a business point of view to equip every developer with this kind of hardware. By the way many folks are highly productive using a text editor to write code. They might start off slower but end up actually learning the language and libraries they are using. IDEs that step in and try to take over while I'm typing drive me insane. Back to the primary topic, certainly it's a false savings to skimp out on buying an adequate machine for the task, but for most devs who spend most of their time in an IDE or editor, something like buying last year's best is often completely adequate and much more economical. To expect the "best machine you can get" without regard for cost is not realistic.
- _mayo 15y ago> If you're using Eclipse or (god forbid) a text editor to write code, spend a minute and tally up all those 5-second chunks of your life you've spent this year looking up the names of variables, objects, whatever, and running into runtime errors from typos. Multiply by $$$/hour and see what you could have spent on a decent IDE. This is a bit of FUD. There are plugins for most text editors that give them features that most IDEs have. For example, my Vim setup has tab and code completion, snippet management, syntax error highlighting in real time, code folding, document and file search, etc. I can also traverse a file faster in Vim than an IDE, my fingers do not ever need to leave the keyboard, and it's completely free (as in beer and freedom).
- YetAnotherAlias 15y agoAnother important 'hardware' that doesn't get enough attention is the chair & desk. I believe that having an ergonomically designed and adjustable chair and desk is as important as the PC specs to programmer productivity. In my current job I have a bad chair/table and it is breaking my back. Probably this issue also gets worse with age. Investing in good furniture might also save the company on health care costs. From personal experience I have spent quite a bit on fixing my back.
- d4nt 15y agoIf you're working in an in-house IT dept. then giving the staff of a cost-centre better equipment than the "people who make all the money" is a big issue. If you're working in a big company then central IT probably have a standard PC supply agreement and standard image and will oppose allowing anything non-standard on the network until someone signs off on 2 or 3 extra support engineers to "support" this non standard stuff. If your company isn't making much money, any capital expenditure like this is hard to justify. So, you really want to work for a small software company that's making lots of money.
- matwood 15y agoMy philosophy. Buy a nice monitor (2 if you can afford it). Buy whatever hardware is reasonable for ~1k or less. Repeat yearly. This will always keep the developer with a good machine without spending too much money. With the way HW is nowadays, it's possible to go 2 years on each machine. The story changes if you need laptops. After using LOTS of laptops over the years, if given a choice I'll only use MBPs now.
- SoftwareMaven 15y agoI concur with all the above. It doesn't take a fortune to keep developers in really nice machines. I do prefer to get my developers laptops, though (unless they explicitly prefer not). Convenience is just too nice (not too mention the occasional time at home always pays for the extra cost).
- matwood 15y agoI agree and will personally never buy another desktop. With laptops I budget them to last 3 years as my primary machine. I've owned 2 other MBPs, all of which are still in use by the people who I either old them to or gave them too. The original G4 PB is still kicking strong with a guy from work, my mom loves my old SR MBP, and my current i7 runs great to the point where I could see it lasting 5 years by simply replacing the HD with an SSD when prices are right.
- vacri 15y agoWhat constitutes 'best hardware'? I have a friend in high finance whose desktop is a (dual?) quad core with 12GB ram which he regularly maxes out. I have a colleague that writes firmware on windows XP, which with his various drivers and Eclipse problems causes a BSOD about once a fortnight. I keep offering him to get a new computer, cards, whatever, and he refuses because of the cost to him in terms of getting his environment set up 'just right' again - he's quite picky (at my previous workplace, a digital circuit designer on six figures didn't want to move from his PIII to a Core 2 for the same reason). Another colleague runs a quad core on an SSD and complains that his CAD program runs slow... but when we run it through its paces, it doesn't seem to hit any bottlenecks bar the initial load (which isn't his complaint); it just 'feels' slow. as with all things computery, the answer is: "it depends"
- djipko 15y ago>I have a colleague that writes firmware on windows XP, which with his various drivers and Eclipse problems causes a BSOD about once a fortnight. I keep offering him to get a new computer, cards, whatever, and he refuses because of the cost to him in terms of getting his environment set up 'just right' again - he's quite picky (at my previous workplace, a digital circuit designer on six figures didn't want to move from his PIII to a Core 2 for the same reason). I've seen this before (and was guilty of this kind of thinking a few times) and I believe this is simply misguded. No matter how good of an "old-school" developer someone is, she needs to keep her tools fresh. To me this is no different than having a very manual build or deployment process (maybe not as bad but still). I believe when it comes to HW + toolset for development, you simply must consider: -Computers break - you need to be able to set up a new one in a matter of hours (or 10s of minutes). Maybe it does not need to be this drastic everywhere, but if your computer breaks and it takes you a few working days to get it just right - something is wrong - you need to automate it or reconsider the tools (which may not be always possible especially in embedded/hardware design world). If you get this right - upgrading will not be (such) a problem. -You need to keep up with the tools - maybe more than you need to keep up with the libraries. With this I don't mean only the newest versions, but to constantly be on the lookout for the better alternatives - blogs, forums etc. there is simply no excuse for not doing this if you are a developer other than laziness. This will help you get rid of some stuff on your machine you don't actually need because you may end up with better alternatives. I am a firm believer in getting rid of clutter in your life. Not all devs in all companies can follow these, of course, due to policies, the nature of work, "legacy stuff" and whatnot, but it helps a lot if you can, and point 2 means you are learning - so you are not bored.
- elviejo 15y agoThis is a reason why I'm interested in "Bring Your Own Computer" idea. I mean I still bring my laptop to work anyway. Normally my personal computer is more powerful than what I have at work anyway. And if the company would pay or give me some bonus for it I'd be really happy. http://www.zdnet.com/blog/sybase/the-year-of-bring-your-own-computer-to-work/113 http://www.zdnet.com/blog/sybase/the-year-of-bring-your-own-...
- mmagin 15y agoIANAL, but in the modern world, that can result in a lot of potential legal hassles. E.g. company gets sued, and suddenly your personal computer gets subpoenaed in the process. You're without your laptop AND other people are looking at potentially embarrassing personal data, etc.
- rdl 15y agoDue to all the costs of adding extra developers (management overhead, communications complexity, inertia), spending $20k per person (every year or two) on hardware (desk/chair, home and office setups, laptops, phones, etc.) is still a win, if it lets you have smaller teams for the same overall productivity. The bigger hassle for me is that upgrading machines causes some downtime, so it's better to buy loaded boxes and replace them slightly less frequently (every 18-24mo) vs. a new machine of lower spec every year. Tools also are a great place to spend money; having a great build/provisioning/tinderbox/etc. system saves developer time, and doesn't add communications complexity.
- euroclydon 15y agoDo you think John Resig needs the latest hardware to run VIM and Firefox?
- jodrellblank 15y agoDo you think all developers are running VIM and Firefox and developing JavaScript?
- 51Cards 15y agoI've made this comment before on here. I purposely develop on older hardware because of performance concerns. Pretty much any code you write performs well on an i7 but will it perform well when it gets to your clients who are all stuck running Celerons? I always keep my development machines back a few levels so that I know if it runs well for me, it will for the end user.
- martianpenguin 15y agoideally, you should have an entire test environment with every level of hardware that your product could run on... that should be entirely separate from your dev/coding machine. That should be much easier to justify to management too.
- dangravell 15y agoThat's often my thought too. Surely we can have the best of both worlds though? How far has virtualisation come in _simulating_ slower machines, whether it be cpu, network, memory or storage constraints?
- aidenn0 15y agoNot good enough. Caches are the killer. A coworker of mine committed code that ran fine on his machine, but was rejected by our nightly tests on older machines. It turns out it wasn't that long ago that sub 1MB caches were standard, but his machine has 8MB of cache. This meant about a 20x reduction in performance on this algorithm (though some of that was also ALU performance).
- Havoc 15y agoSurely the best way to do it is to develop on the best machine available but then occasionally test it on inferior hardware just to make sure you're still on track? Intentionally crippling the entire dev environment seems a bit drastic to me.
- 51Cards 15y agoI don't see it as crippling at all... I don't develop on a 486 :) But you also don't need to sit on an i7 either which was the thought in the article. If your target audience is using typical hardware then most of the time you can easily use typical + 1 to develop. Then you can spot issues as they arise and not later when you kick to the test environment. The more you can catch in-process is less you have to re-architect later. Of course every situation will vary. Just my thoughts anyhow.
- mhb 15y agoYou're a programmer making $100K/year. If you're confident that a new whatever will demonstrably increase your value to the company, spend $1K/year on the new whatever and make the case later that you are more valuable and should be paid more. And, yes, this doesn't take into account that the company might not want to support your idiosyncratic hardware choices.
- martianpenguin 15y agomany company security policies won't allow you to use your own hardware either
- Slackwise 15y agoThose few seconds of delay between performing actions can mean the difference between keeping focus on your work, and getting annoyed and distracted. I simply can't understand why anyone wouldn't want to give their developers at least a fast CPU, plenty of RAM, and an SSD.
- mnutt 15y agoFrom the other side, as founders, when did you switch everybody over from using their personal laptops to company laptops? A funding event? Certain size of the team?
- rdl 15y agoEven before paying for salaries, we buy hw for founders or employees as needed -- early on, pretty flexible (I got a desk and chair for home so I could wfh; cofounder got a new mbp 2011to replace a 2009, but since I have a 2010 personal, I didn't feel any need to upgrade myself. One of the big advantages of being a small startup is flexibility -- no need to have policies for stuff like this, just handle it on an ad hoc basis.
- BadassFractal 15y agoI had to buy myself a couple of SSDs. When building your project takes 2-3 hours of time, every improvement really matters. Our management just tells us to go context switch onto something else, there's always lots of thrilling email answering and documenting to do. At other times you can switch to fixing bugs or working on another feature, even though I personally cannot stand continuous context switching as it decreases the quality of my work.
- hippich 15y agowell. if it is 2-3 hours task - i believe 15 minutes wasted for context switch is still better then 2-3 hours lost waiting =) Questions is - will 2-3 hours task become 30 minutes task with SSD drives?
- alex5092 15y agoI worked for a huge company in their IT dept. We tried to convince our management to upgrade all the development machines using some of the arguments already mentioned in this thread. They did not want to believe that a hardware refresh would actually improve productivity ("show us the ROI"). A couple of us decided to build a tool to gather some metrics on how long it took to build and deploy our app on localhost (if you're interested see http://lopb.org http://lopb.org). We then compared results before and after a simple RAM upgrade on a few machines. We were able to show hard numbers to support the claim that better, faster hardware would save time waiting for build & deploy to complete. Although building in less time did lead to happier developers, it did not lead to more features getting built in the given time frame. We did eventually all get RAM upgrades at least, but the development process and technology stack we were using were the real time sucks that we could not fix with better hardware.
- bradfa 15y agoI work with 135,000 of my co-workers and we all get rather slow, outdated, Windows 7 boxes with 2GB of ram. It's the standard config regardless of what you do. Supposedly it's much cheaper to manage for the IT dept than if we got our own stuff individually and I imagine it's much cheaper to buy 50,000 of the same computer from Dell than order a whole bunch of variety. Seeing as developers are a small percentage of the total workforce, even if all of them complained, it would be drowned out by the mass of people who have computers good enough for their jobs. The cost of having to deal with ordering and supporting different computers (beyond just laptop versus desktop) is not 0. The quantifiable gain from having some people have better computers is very difficult to calculate. Thus, it's easy to just give developers the slow boxes and listen to them complain. Related, I've previously emailed to ask why my company has a policy that every PC must be shutdown every night even though it can take up to 8 minutes to start up in the morning (we have a lot of required anti-viri/spam/malware and disk scanners that run). I was told that the company expects us to not be fully efficient all the time, go get some coffee while your computer boots. Also, different budgets cover PC cost versus payroll.
- jerf 15y ago"I was told that the company expects us to not be fully efficient all the time, go get some coffee while your computer boots." Who told you that? Well, actually, it doesn't much matter to me, but if you were told that by IT, you may discover that forwarding that email up to management will have exciting and entertaining consequences. As long as you don't mind making an enemy or two. On a more practical note, some machines can be set to turn on at a certain time, via BIOS settings, or hardware that takes advantage of Wake-On-LAN or other such things. If you're really personally bothered, you may be able to take advantage of that. You may also want to consider trying to simply suspend the machine. It'll mostly look and be off, but should come up more quickly... if it works.
- bradfa 15y agoManagement told me that ;) Our IT is some low paid people answering the phones in a foreign land. They don't much care if I complain. The IT managers higher up who make the decisions aren't any better at listening to employee complaints. Their motivation appears to be save as much money (that they decide to count) as possible. Their impact to costs outside of the IT budget aren't high on their priority list. My laptop gets locked in a cabinet at night, I just suspend it and everything appears to be off. If you have a desktop, that's not necessarily possible, and the Dell's we have usually have some blink'en lights still going when the machine is asleep. BIOSes are generally locked down so employees can't change them. Laptops have mandated full disk encryption that uses the MBR in special ways, so dual booting is not possible. I actually was told once that I had left my 21" CRT on overnight. The little stand-by light was still on when I left one day. That's a big no-no. There's somewhat random checks for these types of things. Fun, eh? Thankfully, the work I'm doing is interesting and the pay's good. The politics and budget antics are rather annoying but I get the impression that's the way the world works at large companies. Maybe I'm wrong?
- kraemate 15y agoAm i the only one who thinks developers asking for good hardware is an extremely bad idea? All the greatest software ever written has been developed on extremely slow hardware (especially by today's standards). Fast compile times is an oft-cited reason, but you can always work on the program while it compiles. Are 'developers' these days really that perfect and busy that they need to build their 10GB codebase in 10 seconds? And they have /nothing/ else to do while it builds ? According to me, all programmers should be given absolutely the bare minimum hardware to program on. This way we can eat our own dogfood and hopefully reduce program bloat. The primary reasons programs suck these days is because 'developers' have terabytes of RAM on their development boxes and consuming 1G of memory for an applet isnt a big deal for them. I say give all these developers asking for more hardware a 386!
- kaffeinecoma 15y agoThere is this concept of "flow"- a break in your concentration (for example, because your IDE is too slow to keep up with your typing) can often be enough to push you out of this state of flow. Sure, if I know my compile is going to take a few minutes I can plan for it, and work on other stuff in the mean time. But for me the tiny interruptions really add up, and contribute to me not being as productive as possible. This is especially true when you're hunting a bug, or working in a tight TDD loop where you're constantly editing/compiling/testing. Having to wait for the machine is a real morale-killer.
- totalforge 15y agoDevs should be required to _test_ on that older machine, and benchmarks should be recorded and distributed, to keep everyone aware of the base-supported-config performance. The software can also suck from hundreds of hours of time being wasted by the older gear. If your competitors don't think the same way, you have a problem.
- groprate 15y agoIt would be way to easy to ignore and rationalize away numbers on a table, making it personal for them means automatically fast for every user.
- silverlake 15y agoAs long as your machine provides reasonable performance, I doubt the marginal return of a better machine amounts to much additional productivity. I'd rather spend that money on 2 or 3 monitors, better software tools, or a quiet work environment.
- johnrydell 15y agoI believe that most developers will gain 1 hour per day of productivity by having at least 2 monitors. Any company that isn't paying for multiple monitors is making extremely foolish management decisions.
- walexander 15y agoAnother point to make: if you're a developer, don't be afraid to ask for the best hardware. I've seen many developers sit around staring at laptop screens while I'm working on my 2x24" monitors. Do not feel like you're being greedy. Ask your boss. The most he can do is say no, but the likely thing he'll do is 1) ask why, 2) say yes.
- chadgeidel 15y agoDoesn't it seem that everyone is avoiding the "elephant in the room" here? Virus scanners are a severe drain on productivity. Perhaps I'm in the minority by running a Windows box, but when I open up Process Monitor (http://technet.microsoft.com/en-us/sysinternals/bb896645 http://technet.microsoft.com/en-us/sysinternals/bb896645) it sickens me to see how much I/O is going toward stupid virus scanning operations. Not to mention the 500MB of real memory that the various scanner binaries are consuming. My virus scanner consumes more memory and I/O than my IDE (Visual Studio 2010). Maybe I'm in the minority here, but I would expect that a developer should know enough about computing to not get a virus. This, of course is assuming the organization has a competent IT department and is "securing the perimeter" with firewalls/proxies, and only allows approved software loaded on machines. Sure, this would be a radical approach to IT, but I think it's a policy that needs to be implemented.
- rawsyntax 15y agowhat's interesting about this is that you now have a new virus... the virus scanner itself. They are difficult to uninstall, take up CPU and RAM, much like a real virus
- Havoc 15y ago>500MB of real memory that the various scanner binaries are consuming. I think you need a new AV. MSE uses <50MB and does an acceptable job. Another 5MB for a firewall and you're set.
- johngalt 15y agoIT here who has tried this. Completely agree, av tools are pigs and they never seem to stop viruses. Intuitively virus writers must test vs common av tools before releasing. A locked down network without av on the endpoints worked better in my experience, and the users loved it. The only reasons I still use av for some offices is this: 1. A manager will inevitably ask "omg why wasn't there AV on this users station?! Are you negligent!?" 2. Locking down the network can get in the user's way too. Just because I have good network practices doesn't mean that the software you require does too. All it takes is one business need/damn the damn the risks, and you are left scrambling.
- fmavituna 15y agoI believe real cause that managers don't know math, bureaucracy or disability to see the big picture. Simple rule in our company we buy the best tools (software / hardware) that money can buy, because mathematically it make sense (there are a few exceptional cases)
- deleted 15y ago[deleted]
- megaframe 15y agoThey give us fairly mediocre laptops at my job (I looked it up once at their bulk price they come to $350/ea) and they treat them like throw away computers, rightly so... But I only write code on this machine, they have us compile out in a cloud of some of the best machines I've ever used.
- kemiller 15y agoSomething I always wanted to do as a manager was to offer not just great hardware, but essentially an allowance. That is, the developer is expected to buy and maintain their own hardware, but they get a budget. Say, $3000 at signing, $1500 annual refresh, and you have to pay it back if you quit or get fired for cause within the first 12 months. Coder gets to use whatever hardware they please, and keep it. I have predictable support costs, and in the grand scheme of things, it's a pretty cheap perk. Never could convince my superiors. But maybe when I start my own...
- dsmithn 15y agoSounds like a good idea, but I would not want to risk getting stuck paying $3,000 for a machine I don't need anymore.
- kemiller 15y agoDon't... need? What? ;) So, if you already have hardware you like, use that and take the money as bonus. Or get a big monitor.
- miahi 15y agoThat's a very nice idea, but it works only for 10% of the developers. Not all the developers are hardware geeks. I usually upgrade my own machines, but I have to answer awkward questions from my managers ("why the hell do you need an internal 3G modem? don't you have the USB stick?" to "can you really have two hard drives in a 15" laptop?"). Sometimes I just buy the hardware and ask for a refund later, it's easier to prove that it's useful.
- gaius 15y agoC'mon, everyone knows enough to buy a laptop. They would do it for themselves anyway. Even if that's just going to the Apple Store and saying "give me a laptop" (which BTW is what I do, I have no pretensions about knowing anything about laptops).
- chaz 15y agoNot everyone can do it, but for smaller purchases, it's much easier to just get it on your own and file an expense for it. 8GB memory SODIMM kits are about $75 and probably have the biggest impact on performance. I used to upgrade company-issued hardware all the time -- IT never knew and my manager didn't care.
- jrockway 15y agoIf you work at a big company, it's because most people are bad at programming, and the assumption is that you are too. Therefore, doing anything other than the bare minimum to prevent employees from burning down the building is a waste of money: a new computer is never going to increase productivity if the person using it doesn't know how to program. The reality is that organizations don't change, and if programmers are considered code monkeys at yours, you need to GTFO if you aren't one. The reason your coworkers don't do more to change the status quo is because it's great for them: no real obligations and a nice bump in titles every five years. They don't need a better computer because they don't do any work. If you actually want to program computers, though, then you need to look for other opportunities. <jedi hand wave> This isn't the employment opportunity you're looking for. If you work for a small company and have this problem, it's simply because they're cheap.
- int3rnaut 15y agoI've been reading a lot of Paul Graham's works and one of the big things he points out is being cheap is good. "8. Spend little. I can't emphasize enough how important it is for a startup to be cheap. Most startups fail before they make something people want, and the most common form of failure is running out of money. So being cheap is (almost) interchangeable with iterating rapidly. [4] But it's more than that. A culture of cheapness keeps companies young in something like the way exercise keeps people young." http://paulgraham.com/13sentences.html http://paulgraham.com/13sentences.html Take those few moments of lag or downtime or whatever and enjoy your day--do something else that's productive or have a drink or something; make the best out of life.
- brudgers 15y agoThe economics in the article are faulty because they do not include the considerable amounts of staff time entailed in swapping coumputers out. Those include not just the obvious time spent acquiring a computer such as determining what is available, comparing specs and pricing, ordering, receiving and physical installation, but also all the productivity losses which configuring a new computer entails - e.g. installing and configuring all the various pieces of software for the new OS installation which invariably accompanies those Macbooks which the author advocates (the same would hold true for Windows machines as well and even the drivers on Linux would have to be tweeked for new hardware). And lest we forget, there's handling and disposing of the old computer which also takes time. It's the sort of thing which can easily consume 40 person hours - even without the considering the inevitable time lost playing around with the new toy. Finally, there's dealing with the inevitable pissing and moaning which accompanies any change - some people just want their damn computer left alone because it works fine, thank you very much. Other's wanted the 15" MBP not the 17", while the OSS fanbois cannot believe that they were once again thwarted in favor of commercial software.
- coldarchon 15y agoI got the best machine they have at Alienware because I got fed up with managers and customers sending me 200mb pdf containing 8 raw bitmap files. I don't regret it although I still have my indy from silicongraphics for nostalgic reasons. one of the best benefits? I can look something up in no time.
- specialist 15y agoMy work dev laptop is bitchin fast, but runs slower than my 3 yr old personal. Because of useless software (cya-ware) installed by corporate IT. Useless anti-virus crap (ever hear of sudo?), ridiculous hard drive encryption, remote monitoring/management stuff. Just working in Eclipse, I often wait every single keystroke. Yes, Eclipse is mostly a pig, and I've disabled/closed everything I could. But I have zero hassles working on my personal laptop, even when I have video (or audio) running too.
- grandalf 15y agoI'd rather have developers use slow machines. This prevents a lot of foolish performance problems. The developer's laptop should not be faster and have 5x faster storage than the servers that will host the app.
- algoshift 15y agoMinimum two large monitors, say, 24in 1920 x 1200. Preferably three. This, in my opinion, enhances productivity far more than the difference between a 3GHz and 4GHz machine. That said...fast is good...faster is better...ridiculously fast is just fine! All of our workstations have a minimum of two monitors, some three. A few are overclocked and use fluid cooling to keep them from going up in flames.