Re: Re: Information gathering exercise

James Ashley <[email protected]> Thu, 25 Feb 2010 10:05:21 -0600
Newsgroups gmane.comp.programming.language-of-the-year
Message-ID <[email protected]>
On Thu, Feb 25, 2010 at 6:02 AM, Jeroen Wenting
<[email protected]> wrote:
>> On Wed, Feb 24, 2010 at 12:12 AM, Jeroen Wenting
>> <[email protected]> wrote:
>>>> Hello, Jeroen.  On Monday, February 22, 2010, at 12:14:14 AM, you
>>>> wrote:
>>>>
>> I'm going to have to stick my $0.02 in.  I didn't comment to that
>> message, but those upgrade cycles just don't match anything I've ever
>> seen.  It's been my experience that dev teams usually get new
>> computers, rotating through some level of seniority.  Most of us don't
>> *want* to change, because it wastes so much time getting our
>> individual development environment set back up.
>>
> True. I've been offered to exchange my machine for one with Windows 7 to
> replace Vista, not going to.
> Would take me several days to get it set up correctly, which according to
> company policy would mean a weekend spent working as we're not allowed to
> do that in company time.

Wow.  The more I hear, the more I want to avoid working anywhere that
even vaguely resembles your company.  No offense, but I just wouldn't
put up with that kind of nonsense.

Hmm. The last time I was in this situation, the computer I was
upgrading from would just randomly stop responding for a few minutes
at a time.  So I'd switch over to the new one and work on installing
stuff while I waited on it to start responding again.

When my boss saw my time sheet, he told me to just go ahead and forget
the old computer and finish setting up the new one ASAP.

>> The "old" computer seems to get rotated down to whoever [on the dev
>> team] needs it the most, and his computer either gets put out to
>> pasture or handed down to someone like the CEO.
>>
> Would love to see that, but never have.

The key is to work for companies with CEO's who have a clue.


>> And for something like a centralized build server?  I've never seen a
>> company skimp on one of those.  (Well, I have...until we pointed out
>> that a build was taking 6 hours).
>>
> Typically a 5 year old clunker built by some of the dev team out of
> leftover parts from broken down computers.
> Sometimes something purchased on project budget at the local computer
> store from money left over somewhere.
> Best I've seen was the database server of the test environment doubling as
> version control and build server.

Ouch.

At that point, why even bother with a build server?


>>> You know full well that the machines he uses are not only above average
>>> for what's being used in the industry as a whole
>>
>> I'm tempted to get snarky over this comment, but I won't.
>>
>> Maybe in the "industry as a whole" in your country.  Or maybe for some
>> specific industry?  But my experience hasn't matched yours at all.
>> I've rarely had cutting-edge gaming-level hardware, but I usually have
>> something fairly comparable to the latest $500 offering from Dell.
>>
> Typical here (from what I've seen in a variety of companies mostly in the
> financial sector)

That tells me a lot.

I have a friend who does a lot of consulting with financial companies.
 Some of his stories...I don't have a lot of respect for the way
management treats IT.

Although their "typical" approach boils down to "throw more hardware
at it," so that doesn't match up very well with what you're saying
either.  I'm guessing cultural differences.



> is for dev teams to have old equipment.
> 4-5 years old is the norm.
> IF new equipment does become available (like where I now work, where
> everyone got a new system 2 years ago, from the CEO on down, and all
> identical) it's usually a midrange system from one of the major brands
> (IBM, Compaq, hardly ever Dell).
> Certainly nothing highend like OP was looking for, nor the power machines
> several others have listed as being typical in their workplaces.

I have something similar to the setup the OP was shooting for.
Neither one comes even close to my home computer, which is 3 years old
(and I deliberately low-balled it back then...I think it ran me $600).
 I wouldn't call any of them "power machines."

Pretty much all my friends have much more powerful laptops.  And they
spend quite a bit of time grumbling about how under-powered they are.


>>> but more than adequate
>>> for just about any professional level development
>>
>>
>> That's a complete crock.  It depends on what kind of development
>> you're doing and what environment you're doing it in. For that matter,
>> it can depend on the size of your source code files.
>>
> A 286 with 1MB RAM can be used as a perfectly good source editor for
> typical source files.

For some value of "typical" and "perfectly good."

I know plenty of "professional level" (well, good enough to be
speakers at various regional conferences) who can barely manage "Hello
world" without visual studio and resharper.

> I wouldn't want to, not now that I've become accustomed to dual core
> systems with several GB of RAM, but I've done it.

Were you dealing with multi-MB source files?  I know we never should,
but office politics sometimes becomes a factor.  If you hit <Enter>
and then have to wait on the system to swap before your editor inserts
a newline, your system's too slow.

> Someone (can't remember who) once said that developers should never have
> more powerful machines than their typical end users so they know the
> performance those end users are likely to encounter when testing their own
> creations.
> There's something very true in that statement.

Agreed totally.  But, again, it all depends on the environment.

If I'm targetting some embedded platform, it just doesn't make sense
for me to wait 15 minutes for a compile.



>> If your computer's so slow that it wastes a lot of your time, then
>> there's a good chance upgrading it will pay for itself very quickly.
>> Especially if you take things like "flow" into account.  Of course,
>> you have to be a good enough communicator to teach your boss about
>> flow, because s/he's probably never run across the phrase.

> I can't imagine how a 2.4GB dual core with 2GB RAM and dual 22" screens is
> going to be so slow it's wasting a lot of his time waiting for it.

I can think of several ways, but none of them really matter.  He
perceives a problem.  Telling him to suck it up because you can't
imagine that it might be a problem just isn't all that helpful.

Considering what he told us about what others have told him they're
using, his machines do seem under-powered.  Not that this is a
scientific survey, or that we're comparing apples to apples.


> That's the point I'm trying to get across, not that underpowered machines
> may harm job performance or enjoyment.

And I failed to get my point across.  What's perfectly fine for one
development environment scenario will be woefully inadequate for a
different one.




>>> (unless MAYBE he's a
>>> graphics artist and 3D modeller for a major game studio, in which case a
>>> quad code iMac Pro would serve him better).
>>
>> Ironically enough, our 3D modeller does get frequent upgrades to
>> bleeding edge tech (I know...big shock).  But he's a Windows kind of
>> guy.
>>
>> Then again, we're nothing like a major game studio.
>>
>>
> Not ironic. He's got reason to need bleeding edge hardware as his job
> places high strain on his machine and would indeed benefit from bigger
> hardware.

Not really. The "high strain" comes during the rendering portions,
which he offloads to a server cluster.

But the "irony" part I mentioned was that he hates Macs. Again, I
failed to get my point across.


> But most coders hardly make their CPUs tick over, let alone their
> videocards, except maybe during after-hours Quake sessions.

That's true for practically everyone.  Yet people almost always
perceive computers as being "too slow."

Any time you have to stop and wait on your computer, that breaks flow.
 It doesn't matter if the problem's the CPU (because you have to wait
on the compiler) or memory swapping.

I've worked plenty of jobs where I'd work on one piece of a problem
for an hour or so, then stop and have to close a bunch of windows so I
could open a bunch of others so I could work on another piece.
Because there just wasn't enough RAM to keep all of them open.

When you shaved your estimate to the bone, and then your manager cut
it in half, all those minutes here and there add up.  Admittedly,
there are a lot of other problems in this scenario.  But low-end
hardware is a factor.


>>> I see his question as similar to having a 2 year old BMW 3 series car
>>> from
>>> the company and complaining you're not getting a brand new Ferrari every
>>> 6
>>> months.
>>
>> Except that he admitted his computer was cutting edge 7 human years ago.
>>
> Given his specs that system seemed more like 2-3 years old rather than 7.
> I know it's better than what I was using 3 years ago.

If it's an issue for you (CPU-envy?), maybe you should consider
looking around at different industries.

It's been my experience that the quality of developer's hardware
varies widely from one company to the next.


>> Now, on the flip side of this, I *don't* think developers should be
>> using the latest and greatest hardware.  I suspect part of the reason
>> so much modern software is so slow and bloated is that the developers
>> have hardware that's so much better than the average end-user.  But
>> that's a different conversation.
>>
> Correct. Though it does some into the discussion. If your average user is
> using something in the class he's using, maybe he should not be using
> something better.

It all depends. If his "average user" is using a mobile phone, then he
probably needs something quite a bit more powerful.  If his "average
user" is modelling climate data, then he can probably get by with
something significantly less powerful.

I think the real point behind that idea is that a developer should
regularly run performance tests on hardware that's targetted at
"average use."


> We have a 3 year replacement cycle on hardware. That's the time it takes
> for it to be written off economically (law doesn't even allow a shorter
> time here).

Again, ouch.  And I thought U.S. laws were overly intrusive about
stuff like that.


> So maybe I'll get a new machine next year, if the economy picks up and/or
> it's calculated to be more economical to replace what we have now rather
> than to continue replacing failing machines (batteries and DVD drives are
> failing at a rather high rate) that go out of warranty.

The most important thing I learned in CS 101: if your computer's doing
what you need and performing OK, then there's no reason to upgrade.
Once you need it to do more, then you have your reason.

They could [probably] upgrade the dinky hard drives without an issue.
But 2 GB RAM sounds pretty minimalist to me, these days (for what I'd
consider most situations). Which means new motherboards, so,
presumably, new CPU's.

Regards,
James