Tag Info

Hot answers tagged

391

Whether project managers get higher salaries than programmers and business analysts at all exist as a class depends squarely on the software world you live in. A simple answer to this question would be "because in our societies, we still think the salary is bound to the position in the hierarchy." But this answer whilst reflecting the fact that people are ...


167

Talking from personal experience of having managed off-shore projects from an on-shore base the most significant challenges are: misaligned interests availability of information control security and compliance communication As far as "does it EVER work" concerned: it does. It doesn't work well though. Most people can run, but it doesn't mean that most ...


102

This answer summarises many of the answers to the following questions, along with some additional research and opinion. Open Source: Balancing Altruism and making a wage Making money with Open Source as a developer? Synopsis Open source can be a viable primary or auxiliary business model, both directly through specific project work and indirectly ...


85

They take more risks than programmers do. They have to make decisions based on whatever information we gave them, and then face the stakeholder's harsh criticism when their expectations aren't met. Part of the pay package compensates for this risk. Another factor may be the years of experience needed to prepare a project manager who can plan, estimate and ...


85

There's a famous military saying, attributed to Helmut von Moltke: "No battle plan survives contact with the enemy". In the same vein, I do not think it's possible to make a spec that will not have to be changed - not unless you can predict the future and read minds of the stakeholders (even then they may not have yet made their minds, even if they claim ...


82

Programming may be more difficult by some measure, but it's also more pleasant. You just sit there and solve the nice programming puzzle while managers deal with all kind of crap between their subordinates, their clients, their own bosses and stakeholders. That's why so few sane people actually want to be managers, so you have to compensate for that by ...


72

Reducing management to creating charts and writing documentation is like saying that programming is typing. To each their own, but for me programming is much easier than managing people.


68

I'll start with the hard truth: If your business model only works as long as you can get an expensive resource (developer talent) for a price lower than the market price, then you don't have a business model. The fact that you're competing against larger companies isn't an excuse. In the development field, larger organizations typically have higher costs per ...


65

Most out-sourced software development ends up with a product that is late, over budget and delivered without all the agreed upon features. As we all know, this never happens with in-house software development. With that said, the only outsourced system that I've seen actually work well was one that was a reverse engineering project. There were two old ...


58

Though I'd love to live in a world where it would be perfectly safe to just drop them a note to let them know, I'd suggest involving your legal department first. Realistically, it's entirely possible that however well intentioned your bug report is, someone in the competitor's organization will interpret it as "our competitor just paid one of their ...


45

Offshoring: does it EVER work? = Do mediocre programmers EVER create good software? Would the answer really change based on the country of residence of the “average” programmer? I really doubt it. I tend to believe (though I could be completely wrong) that management gets quite “greedy” when offshoring projects and hires very mediocre programmers in the ...


40

Deliver something (I hesitate to use the word anything) early and deliver often. That is - use some sort of iterative development methodology. This is the basis of Agile development, but can be used with (almost) any methodology. By breaking the project down into a series of mini projects you get more control as you can put something in front of the client ...


36

Everyone here is focused on the negatives. I've never met a programmer that likes office politics and good managers shield you from that sort of garbage. Having interacted with a lot of people at our main client, half of them are insane and I'm glad to have my PM there to soak up that insanity for me. If they pay them a lot, that's fine. He or she needs it ...


36

Computers are not physical monolithical entities anymore, use virtual machines ! Your developers should be able to access different work environments as they need, and virtual machines are the perfect way to do so, you can : keep a legacy environnement easily accessible. have multiple, independent environments (ex: 1 environment per client) have test ...


35

Pretty much everybody with a computer has encountered the concept of "bugs" these days, so you might start there. "What's the most annoying way an application has ever failed on you? Multiply that by ten, and you'll have our users' experience if we don't devote enough resources to testing and maintenance." And don't underestimate the value of establishing ...


33

There are billions of unfinished problems in the world. Not to mention human greed which needs new tools to satiate its fancy everyday. If you really think there are no pending problems left, try solving some of these: Software to help people communicate on a mass scale when hostile governments switch off telecommunication networks. Software for food and ...


30

We have a simple rule in our company, as we are a small software house. Can we do it as well as a third party Will we save more money by doing the work internally or would it be more cost effective to work on another project Do we really have time for the additional work Is there any other elements that internal staff may not be aware of such as ...


29

One approach that I've found successful is this: We all know that a computer does only and exactly what it is told to do. Programming is the way that we tell a computer now what we what it to do later. This means that the way your behaviour behaves now is due to the combined intentions of everyone who wrote any of the code that is running on your ...


28

This is going to sound awful (at least compared to most answers here) but, here goes my 2 cents : Why should you do anything about it? First thing's first, they already have employees who should be doing that sort of work (finding problems and fixing them). Secondly, the way you formed your question makes it sound as if this is some kind of a moral ...


28

You need to think outside the cubicle. Take advantage of your flexibility. If you want to hire a top talent programmer, but cant pay a full salary... hire a part-time, top talent programmer. You'd be suprised how many people would jump at a 20 or 30 hr/week job, so long as the hourly rate you were paying them was in line with what they'd be expecting. ...


27

At my workplace we are pretty big into using offshore consultants. As a matter of fact, half of my team is offshore. We use a Globant for an offshore resource provider (http://www.globant.com) In two words: Highly recommended. Our interaction with the Globant team is somewhat different then what I am used to with an offshore development team. They are ...


26

I work in a large company (50k+ employees worldwide) with design and technical centers in the Philippines, China, India, etc. For the particular project I'm working on at the moment, the team includes several people from each location. I don't know what the price difference is, so I can't speak towards whether it 'works' because I don't know whether there ...


26

As a counter-example, take the flower shop up the street. Their experience with software might go something like: Install some accounting software - much better than paper ledgers Set up company email Put up a little brochure web site since everyone else is Add a POS system Add a simple customer ordering form to the web site Buy a simple CRM tool to manage ...


26

A programmer's job is translating natural language requirements into machine language implementations. You can't do that effectively if you're only fluent on one side or the other. Unless you're writing compilers or version control software, pretty much every programming job will require a significant amount of non-programming knowledge.


26

You can try to get new grads who are desperate for a job willing to put up with less pay for the experience. But you will have to have a really good eye to pick out the undervalued person with high potential from the majority of them who are just plain bad. The problem is even if you get the undervalued person who are really good, you shouldn't expect them ...


25

Take it away, Mr. Spolsky: Camels and Rubber Duckies. ...One of the biggest questions you're going to be asking now is, "How much should I charge for my software?" When you ask the experts they don't seem to know. Pricing is a deep, dark mystery, they tell you. The biggest mistake software companies make is charging too little, so they don't get enough ...


22

The theory that it is possible to completely spec out a software project of any significant size is a complete fantasy. This theory has been found not to work in organizations from large to small for pretty much the entire history of software development. You MUST find some way to accommodate changes as you go! They ARE going to happen, because most of the ...


21

I believe there's two factors you should consider that you at least didn't cover in your Q. Let me define these as I use them, then I'll get onto the business of answering your Q. Risk Opportunity cost Risk is probably obvious: The chance that they pile a mountain of money into something that goes nowhere. Risk is compounded by what Brooks called "Second ...



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