Settings

Theme

Ask HN: Our lead architect says 4GB is enough for a developer machine

14 points by insamniac 10 years ago · 34 comments · 1 min read


I work in an alleged data center, building enterprise Java applications. For remote work we're "upgrading" to VDI clients with a single core and 4GB of RAM. I posted on an intranet forum that this was insufficient, and the reply from our de facto Java guru was: "..physical workstations at sadplace only have 4GB and that works fine for most developers. We have made a request for 6GB - that's under review.."

My reactionary response would be something like "Dude, it's 2016. Eclipse, Chrome, and WebLogic max me out" (Yes, WebLogic, that says it all.)

Should I just leave this place ASAP, or has anyone had success in lobbying their company for better hardware? If so, can you give me some tips on how to pull it off? Your tax dollars are involved!

MalcolmDiggs 10 years ago

I'd recommend breaking down the time lost due to the slower machine, and spelling out how that equates to dollars down the drain. Here's an example (with arbitrary numbers):

"With a 16GB machine, it takes my test suite 5 minutes to run. With 4GB, that suite runs in 20 minutes. I need to run it on average, 10 times a day. So by giving me the 4GB machine, you're having me sit idle for an unnecessary 15 minutes, 10 times a day. So that's 2.5 hours per day that you're paying me to spin around in my chair and surf HackerNews. That's X wasted dollars every day, which is significantly more than the cost of the upgrade from 4GB to 16GB. So you'll save money by giving me a faster machine".

If there's a way to speak dollars-and-cents to the bureaucrats in your org, then there's a better chance of them approving your request.

Zelmor 10 years ago

Sounds like a shortsighted company led by sales people. If there is this amount of penny-fucking at your company, maybe it is best to interview at other places and leave asap.

Things will not get better, as management has costs to cut. Your work equipment is one of those costs. If it was up to them, you'd be shoveling with 3 spoons instead of a shovel, since "it works for most", meaning "we only assign shovels on a 1-1 basis so that we wouldn't need to spend bigger amount now." What are your salary raise prospects at such a company?

rt2016 10 years ago

Yikes, that's pretty low for local development work. If you were mostly doing remote access to a more powerful development server that might work but for doing anything more serious you'll want to consider at least 8GB. Chrome uses a gig by itself so you're already down quite a bit. Most of my dev machines have been 16GB minimum.

  • mattkrea 10 years ago

    This. Around 2.8Ghz core and 16GB ram are standard for us. Occasionally we have to settle for 8GB if that is what all that is available in Apple refurbs.

    • markbnj 10 years ago

      I don't care about CPU speed very much, but yeah, 16GB at least for a dev machine. You need something you can run a database on, perhaps an http server + framework, etc.

      • mattkrea 10 years ago

        Virtual machines are a killer too. We are primarily web but end up doing more than our fair share of legacy WinForm app updates and that requires a lot of ram if you're going to have at least somewhat of a pleasant experience in VS inside the VM.

nness 10 years ago

So, hardware purchases for large organisations (and what I assume might be a government agency or government vendor) seems to be driven more from strategic sourcing relationships and cost as a priority, and actual technical requirements second. Seldom do people go "here's what we need, lets cost it!" More likely its a compromise between cost and service.

That being said, 4GB is stupidly low for a development machine and that should be alarming for the development team (6GB is not much an improvement).

I would argue the "works fine for most developers" point. What works now (the current state) is certainly not going to last. 4GB is already too low and it is only going to get more difficult as the requirements increase (bloat is a constant).

The conversation should be "what is the practical life of this hardware and do we intend to upgrade when it runs out." You should think about performance hits (in the people sense, not hardware sense) if these environments are abandoned by your developers. All hardware purchases have an effective life and what you've described is a purchase which will barely last another 12 months, imho.

  • insamniacOP 10 years ago

    Yeah it's not a single company making the hardware decisions. Like most government contract situations it's more akin to a 20 company gang bang at a public facility using shared work space and hardware.

    I don't even know where I'd begin to petition for a change. This was mostly just my way of ranting somewhere I'd get support, since no one made a peep on the internal comment I posted. I don't think most developers are fine with the 4GB situation. Those that are don't matter, and the others have likely just been beaten into submission or don't want to be seen as fussy.

lightlyused 10 years ago

"fine for most developers", sounds to me like the Java guru needs to provider proof of that statement.

Gallup does surveys for businesses and one of the questions they ask is "Do you have the right equipment to do your job".

http://www.gallup.com/businessjournal/26773/why-employees-ne...

If your workstation is slow, or you have to deal with OOM issues, and can't get your work done, that is something that needs addressed not by guessing, but my management doing their job and providing you with the right equipment from the start.

If the company isn't willing to provide you the right equipment based on what the employees think and not just on what one person says based on hearsay, than I'd question if that is a good place to work.

insamniacOP 10 years ago

Oh, I forgot to add: Single Core, 2666 Mhz.

I really wanted to ask if I could donate my old netbook and remote into that.

chrisbennet 10 years ago

It's very easy for someone on the Internet to tell you to run away from conditions like this. I'm not going to tell you that but consider this: the world is full of places like that but it is also full of seriously great places to work as well. Every minute you work at some crappy job is a minute you could be working at someplace nice instead. When you start interviewing for your next job, be sure to ask them about their development hardware. ;-)

Spooky23 10 years ago

We deploy 2 cpu and 4 GB for office 2016 VDI users. That's tight for a developer.

Unless you're offshore and your wasted time is not as valuable, that's a poor VDI use case that doesn't make sense

Fight it with vendor recommendations.

http://blogs.vmware.com/consulting/tag/vmware-view-storage

http://www.vmware.com/files/pdf/view/Server-Storage-Sizing-G...

cdvonstinkpot 10 years ago

I second what MalcomDiggs has said, but run some benchmarks on your home box with all the memory. Find an amount at which performance increases level off, & request a just amount based on hard data. If they don't respond after making it perfectly clear as to what you need to do your job properly, then leave. (Assuming you can easily get work elsewhere)

Maybe link this comments thread in your intranet post, a community like HN expressing sane norms might help your case.

stephengillie 10 years ago

You'd be surprised what a single, well-scheduled CPU can put up with. Don't want to add too many and deal with CPU Ready, where the hypervisor is trying to schedule all those cores on the host. Smaller VMs are easier to schedule and thus have less opportunity to be forced into idleness.

But yeah you need twice that RAM, minimum.

bjourne 10 years ago

That'll just lead to a dick-swinging contest if your resident Java guru already said 4gb is enough. It's futile. There are many ways to reduce the memory consumption of your desktop machine. Start with those.

davelnewton 10 years ago

Put your own RAM in.

I used to have to upgrade my own machines. For years. Monitors and RAM. I haven't had a place that gave me anything less than 16G for years now, though.

  • stephengillie 10 years ago

    It's VDI. Virtualized Desktop Infrastructure. Good luck accessing the datacenter.

  • insamniacOP 10 years ago

    Oh how I wish. I would build and donate a machine if it were that easy. It makes it so much worse that I have 96GB of RAM here at home and remote in to 4GB that are probably overprovisioned too.

dmarlow 10 years ago

I would expect this from a cost center vs profit center workplace. I have 24 GB on my W530, the more, the better...

icedchai 10 years ago

Laughable. 4 gig was adequate in 2008, maybe.

  • wingerlang 10 years ago

    This hits home. I'm working on a 2008 macbook that was (I guess) upgraded from 4gb to 8gb RAM when I bought it off of some guy.

    It works for me to develop on though. But I wouldn't recommend it to anyone.

  • insamniacOP 10 years ago

    Heh. My on site machine is actually a 2008 Dell Optiplex 960, which had 4GB until I complained enough to max it out at 8GB.

thrwawy20160421 10 years ago

Run away

throweway 10 years ago

Oh dear! Can you BYO laptop?

throwawayXOXO 10 years ago

Run

detaro 10 years ago

Well, if it really is a VDI client and not used for more then the specs would be fine, not much happening locally that would need more.

But then you wouldn't be running Eclipse, Chrome and WebLogic locally on them, so that's probably not the case? And even Chrome alone can easily eat more than 4 GB, so that's kinda laughable for any kind of dev work.

  • throweway 10 years ago

    Point?

    • detaro 10 years ago

      Trying to understand why OP talks about VDI clients (basically dumb terminals), but then complains that they don't have enough RAM to run apps locally.

      • throweway 10 years ago

        Good question. I misread the op the first time. So yeah whats the advantage of stuffing more on the thin client. Unless he is also using the thin client to run stuff he cant run remotely.

        • insamniacOP 10 years ago

          Just a terminology mistake on my part. I don't know what to call the virtualized OS I'm remoting into. We just refer to it as VDI, but that's more general.

          What's the term for the instance I connect to? I guess I should have just called it the VM. My VM only has 4GB of RAM and one core and I'm supposed to write and test (deploy) decent sized applications on it.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection