Tag Info

Hot answers tagged

227

Many companies are certifiably insane around this. Seriously. If you asked 10,000 tech mangers, "Let's say you paid Danica Patrick $100,000,000. Do you think she could win the Indianapolis 500 by riding a bicycle?", I'm sure not one of them would say, "Yes." And yet a good percentage of these same managers seem to think that highly-paid software developers ...


170

I would suggest that, in reality, one cost is visible and quantifiable, while the other cost is neither. If failing to upgrade the hardware bleeds even as much as $1000 per developer per week from the budget, no one outside (read: above) the tech department ever sees that. Work still gets done, just at a slower rate. Even in the tech department, calculating ...


140

I will start from the lowest level that might be relevant (I can start from even lower level, but they are probably way too irrelevant), starting from Atom, to Electricity, to Transistors, to Logic Gates, to Integrated Circuits (Chip/CPU), and finishes at Assembly (I'd assume you are familiar with the higher levels). In the Beginning Atom Atom is a ...


95

I will put my 2 cents in here from the employer's side ... who is also a developer. I agree that low end machines are useless but top end machines are overkill. There are a number of reasons why you don't get the top end machines: Cashflow is a real issue, not just a theory. You might be getting paid $60K-$80K per year, but this month we have a total ...


95

What are you hoping to save, as a fraction of the development budget? It seems to me that you are worrying about an epsilon. The cost of machines for developers is less than 5% of the total cost to keep a developer on staff. Therefore the only important question is "will it save developers time?" It could, if they don't have to spend time installing and ...


64

You spend 40% of your waking time at work. Might as well make it pleasant. I expect my employer to provide the tools I need, but anything I want to make it more pleasant I deem my own responsibility. It's not like I'm donating it to the company. I'm consuming it for my own personal enjoyment and will take it with me when I go. I know developers with ...


57

I think you're being penny-wise and pound-foolish. First of all, machine costs are trivial compared to the cost of a developer. You should work at maximizing productivity, not minimizing machine cost. Second, latency (not bandwidth) is the key to many programming tasks -- especially text editing. For every dollar/pound/euro you save on machines for your ...


56

The difference of productivity between the "top-end" machines and "almost top-end" machines is negligible. The difference in price is significant. Not to mention the IT support for different machines instead of having all the developers using the same HW and SW images (which you can't do if you're buying a top-end machine for every new hire, the top-end ...


51

Though they have their own internal IT team, they have asked me on what will be the hardware requirements for the live servers eg. RAM, 32 bit or 64 bit. Perhaps they figure that as the developer, you have more insight into the app's requirements than they do. You've presumably been running the application and know how much memory it requires under ...


40

Really, there is absolutely no reason to exempt developers from having anti-virus software on their machines. And overwhelmingly many reasons to require it. Most of the disadvantages you mention can be addressed by telling the anti-virus software that your development folder (the one tied to your code repository) is a trusted location. After we had done ...


38

The one reason to use anti-virus software on development machines that trumps all your arguments is: To comply with security audits. Banks, government agencies, large regulated firms with sensitive data don't have a choice on this matter.


31

A lot of really early work was done with 5-bit baudot codes, but those quickly became quite limiting (only 32 possible characters, so basically only upper-case letters, and a few punctuation marks, but not enough "space" for digits). From there, quite a few machines went to 6-bit characters. This was still pretty inadequate though -- if you wanted upper- ...


30

The simple answer is often the best: re-writable CD's? Also for saving time, write relatively small files. Only do larger files every so often.


30

Management understands it will take longer to develop and maintain software when you don't have full access to test hardware. You need to take this into account when doing your estimates. Part of the acceptance criteria for putting your software into production should be that you have a way to maintain the software under most circumstances without stopping ...


29

No. Nobody understands what's going on at the hardware level. Computer systems are like onions -- there are many layers, and each one depends on the layer underneath it for support. If you're the guy working on one of the outer layers, you shouldn't care too much what happens in the middle of the onion. And that's a good thing, because the middle of the ...


27

Because most employers do not understand how developers think, act or work. Or, how top tools can save the company money while increasing productivity. This leads to the loss of a point on the Joel Test, failure to provide "the best tools money can buy". This also leads to loss in productivity and job satisfaction. Thats just the way it is. Maybe one ...


26

On developer machines? Yes because developers tend to download all sorts of things (both related and unrelated to work). On build machines, it's also important simply to protect yourself. It would really stink to deploy/ship your code only to find that it has a virus once it makes it to its destination.


25

First off, not all requirements are hard requirements, but rather the minimum supported hardware. If someone has less than the minimum, it may run - but not optimally, or it may not run at all. In either case, its not a supported system and the problems you have are your own. The simplest way to get hardware requirements is guess. The developer looks at ...


21

Development needs a LOT of space. We use VM images as units of configuration management for developer setups. Once you've copied the VM onto your machine you start it, update the source code from the VCS and you're running. No futzing with developer setups. Each VM image is about 20Gb. 4-5 of those. i.e. we generally need 100 to 120Gb Gb Mind you, they ...


20

CPU (its memory controller specifically) can take advantage of the fact that the memory is not mutated Advantage is, this fact saves compiler from using membar instructions when data is accessed. A memory barrier, also known as a membar, memory fence or fence instruction, is a type of barrier instruction which causes a central processing unit (CPU) ...


19

If you are on linux, you should be able to set up a "cd device" that is just a named pipe. Your api writes to the "device" and you hook the other end up to a program that lets you see what it does/convert it to a disk image. Lots of options there. See this article for info on named pipes. Kevin's answer is far easier IMO.


18

We use on-demand amazon ec2 instances as developer machines. This has nothing to do with cost. We have a "pool of developers" working on several projects, and we need the ability to move across projects quickly. In general, the VM saves initial setup time. But longer term, it wastes time due to loss of productivity. Cost is a non-axis, because developer ...


17

No. If I'm working with their equipment, it is up to them to provide fast, reliable hardware. I am not going to buy my own equipment for their benefit. They will buy it or they will deal with the productivity cost incurred by less-performant hardware. Do not even set the precedent. Your last question about a retroactive reimbursement, that's just folly. If ...


17

That was one of my ideas in the past: having a high performance server which has all the required software, and a bunch of low performance desktop PCs which would be used only to connect to the server through Remote Desktop. The benefits would be: The solid backup. Some developers may not want to backup their desktop computers regularly, so a central ...


17

The existing answers focus on ISA changes. There are other hardware changes, too. For instance, C++ commonly uses vtables for virtual calls. Starting with the Pentium M, Intel has an "indirect branch predictor" component which accelerates virtual function calls.


16

These are almost certainly useless, and may even be worse than useless. Two of the major "selling" points from the Steelseries Scope site jump out at me: I-AMPĀ® LENSES Enhance the properties of the human eye and its interaction with digital devices This is pure marketing speak and therefore meaningless. SHARPEN SIGHT Enhance details for ...


16

I don't know about specific 'computer glasses', but I wear regular glasses with an anti-glare lens coating designed for long computer use. Stopped my migraines.


16

At Google you get a fairly powerful Linux workstation with either one 30" or two 24" displays (your choice). Besides that, you can also choose between a ThinkPad laptop and a MacBook Pro (either 15" or 17").


15

is it my responsibly to let them know of the any specific hardware requirements which may impact the performance of the project? It is responsibility of a product provider (your company, in this case) to define minimum requirements for the successful product operation. As a responsible person within your company; it might be tech-lead of the project ...


15

The keyword for thinking about these things is abstraction. Abstraction just means deliberately ignoring the details of a system so that you can think about it as a single, indivisible component when assembling a larger system out of many subsystems. It is unimaginably powerful - writing a modern application program while considering the details of memory ...



Only top voted, non community-wiki answers of a minimum length are eligible