Slashdot Log In
Outsourcing Winners and Losers
Posted by
michael
on Sun Dec 07, 2003 06:03 PM
from the codemonkey dept.
from the codemonkey dept.
An anonymous reader writes "The New York Times has an article on the winners and losers of the outsourcing trend. It's a Q and A session with a distinguished panel of experts on the topic, including Professor M. Eric Johnson, who says that, 'Low-skill jobs like coding are moving offshore and what's left in their place are more advanced project management jobs.' Now I know coders aren't rocket scientists, but less advanced than project managers? Ouch."
This discussion has been archived.
No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
Full
Abbreviated
Hidden
Loading... please wait.
Wow... low level (Score:5, Insightful)
Re:Wow... low level (Score:5, Insightful)
However, the quote mentions _coding_. Coding is not about writing high-quality software, it's about hacking together stuff like GUI frontends for simple database-driven business applications in a way that somewhat satisfies the customer and maximises the manufacturer's profit. Coders don't think about software architecture, that's what their bosses do. Coders are given specifications for small tasks and hack together some code that does approximately what the specs require, according to mostely rudimentary quality assurance testing. Coders generate heaps over heaps of cumbersome, hard-to-maintain, very redundant, error-prone code that could be easily replaced by a concise, reusable, highly configurable, transparent (as in easy to debug) implementation written by a good programmer.
However, it's mostly a non-trivial problem to find good programmers and pay them adequately, too. That's why most software is implemented (not necessarily planned) by bad coders who are indeed doing very low-skill work. And yes, that's one of the reasons why most software sucks.
Having said that, I'll go and RTFA now
Parent
Re:Wow... low level (Score:5, Insightful)
Even GUI glue benefits from well-planned rewrites, and copious commenting. Unless you plan on writing nothing but GUI glue, and don't mind writing the same thing over and over (in which case, programming is NOT the field for you), you should:
Structure your code to be modular and reusable.
Comment like crazy so after working on a different project for a year or so, and having not written code in this language for a number of years, you can pick things up with a minimum of effort.
Document any assumptions being made while writing the code - these are usually the things that cause code to break when porting to different platforms/languages.
Coders can write good code and bad code. Please don't demonize the word "coder" like the media have done with "hackers." Not every programmer codes, and not every coder programs, but to paint the process of coding like some sort of untrained serf work is an elitist attitude. Good programmers can throw out trash, good coders (without formal CS degrees) can implement well written, easily maintained code. Plus, when you have to optimize assembly, I have to ask, is that a programming discipline, or is that a coder discipline?
Parent
Re: Coders don't think about software architecture (Score:5, Insightful)
I think a lot of this comes from "management" getting tired of "artisans" refusing to ship products on a schedule (even acknowedging that very often, the schedule is set by unrealistic managers that have about as much of a clue on development cycles as would a North American farmer planting soybeans in late August).
Having spent most of my career between the two camps, I've seen a lot of executives get beyond frustrated with even the most mediocre programmer refusing to understand business requirements, instead pursuing greater and greater perfection and subsequently getting paralyzed in the process.
I think this probably contributes to management desiring to falsely perceive technology development as a manufacturing process (and likewise this treatment further encourages the programming folk to believe they're artisans in a guild, refusing the pressures of deadlines). Neither are dealing with the reality very well.
So... tossing assembly line and guild models out the window, is there a conceptual approach that works?
*scoove*
Parent
Re: Coders don't think about software architecture (Score:5, Insightful)
Coders, who implement fairly straighforward little programs according to existing specifications, are not necessarily incompetent, and it sometimes _is_ a good idea to hire a few coders that can so programmining on a rather low skill-level. Yeah, those are a pest. Those and the arrogant hackers who run around calling everyone they think they have to disagree with a 'popmpous prick'.
Parent
Re:Wow... low level (Score:5, Interesting)
Another important factor is the fact that application development has changed a lot. Design is becoming much more important and the coding has become easier. Mostly because a lot of low-level work is done in libraries allready. It's now possible to just say 'fetch that file using http' instead of openning a socket, sending a request and read and parse the answer. And that's just one example. The fact that computers have become faster and cheaper makes a difference as well. Optimizing code has become less important. From a managers point of view this means there is the choice of spending two extra day on optimizing memory usage or just buy 1gig of extra ram. I know wich one is cheaper...
The good programmer you are looking for likely mainly has to be a good designer. What most bad programmers mis IMHO is the ability to analyse a given problem, chop is into pieces and work out a technical sollution. Every good coder does that, knowingly or not. When you separate this part from the actual coding you can simply document the sollution and have a 'decent' programmer to write the actual code. Most big company seperate the design and implementation anyway so taking to coding somewhere else is not that hard, but might make a big difference since 'decent' programmers tend to be expensive over here.
Parent
Re:Software sucks? (Score:5, Funny)
You lucky bastard! Can I borrow your users for the evening?
Parent
Why on Earth would I outsource losers? (Score:5, Funny)
In an unrelated story... (Score:5, Funny)
Programming is Creating... (Score:5, Insightful)
Re:Programming is Creating... (Score:5, Insightful)
She is stating a fact to support a deception.
The number of people who have enough money to put into the market so that its ups and downs make any material difference to their immediate economic situation is vanishingly small.
She is talking about the "investor class", which is not he same as the class of people who are invested, in some form, usually IRAs or 401ks, in the market. It's hard for me to believe that she is not perfectly well aware of this.
The investor class actually has so much money, that the market can make them hundreds of thousands of dollars a month. Those are apparently the people she is used to hanging out with.
The vast majority of poeple in the market are hoping that their investments will accrue enough so that they can retire at 75 or 80 now that Congress has given the money they paid into Social Security to the people in Mr Farrell's circle of friends in the form of tax cuts.
It's hard to get your mind around how far away they are from us. To them, we're something like unfortunate insects whose place in life is to accept our fate at the hands of forces they control.
We're that vast bobbing mob that history "happens" to that and who they read about in books.
They, on the other hand, have been intelligent enough not to get caught in our situation.
The differences in our fates is clearly due to their superiority and it is wrong for us to begrudge them their deserved success or in any way attempt to curtail the implementation of their globalist vision, which will make them richer yet and us poorer. What's the moral basis of all this? Well, in the long run (after you're dead), it'll all work out for everyone.
Understand this- by worrying about what happens to you in your lifetime, you're being petty and shortsighted. Thank god for the chiseled jaw CEOs with the long range vision and the fortitude to keep a firm hand on the wheel and steer us through these trying times into safety.
Parent
Re:Programming is Creating... (Score:5, Insightful)
These are the kinds of projects that are getting outsourced overseas and, to be honest, Americans have no business complaining about overseas competition. After all, your country has been the driving force behind free trade throughout the world!
Parent
Re:Programming is Creating... (Score:5, Insightful)
There seem to be several misconceptions about programming in the general public.
I get a lot of "you're a programmer, what is this pointy arrow on my screen for?" kinds of questions from random acquaintances. This type of question reveals that people know that programming has something to do with all the shiny buttons on their screen, but know little else.
With such a superficial understanding of what computer science is all about, it is not hard to see how members of the general public might think programming is something anyone can be trained to do, rather than something that requires individuals with a special type of thought process.
They also think programming is just a way to make a living, much as their jobs might be. They don't realize that many of us have been doing this since a very early age and will continue to do it job or no job. I don't think many secretaries would go home and type up letters just for the fun of it.
Professionals outside the world of engineering usually get a degree in communications or the like because it is the path of least resistance to getting a college degree, not because they are particularly interested. They probably will be "trained" when they reach the workforce, because their degrees didn't endow them with any particular abilities.
On a different note I wonder how our leaders could feel comfortable allowing know-how to be developed abroad. Maybe we control the purse strings now, but if we lose the ability to do, rather than just manage, there will come a time when they will do it without us. I also wonder why they believe that managerial positions will be immune from outsourcing. It seems like you could outsource positions like CEO and get just as little for less.
Parent
Advanced project managers... (Score:5, Funny)
Plus I have a fine art degree... try finding that overseas!
Re:Advanced project managers... (Score:5, Insightful)
Dennis Kucinich
Dean has hinted as this, but will not commit.
It makes you wonder why the "left wing media" claims he has no chance. Kinda a self fullfilling prophecy by a self indulging ("left wing") media.
Parent
Off-Shore (Score:5, Interesting)
Talking to them it seems that the majority of their time is really spent rewriting the code in a more readable, more secure format. However, they don't have the time or manpower to do it all.
Therefore, more bugs get in the final product...
What an odd system... especially in a hospital were errors can mean lives.
davak
Re:Off-Shore (Score:5, Funny)
Parent
Outsourcing managers (Score:5, Insightful)
Low skill, or low social status? (Score:5, Insightful)
It's about legitimation: "my" skill is a high-level, professional skill, and I "deserve" my salary because of it (because the companies are run by people I went to college with, etc.) "Your" skills are replaceable and commodifiable, because I dress more like the people who run the mutual funds that own the company.
The cultural perception element of this sort of thing is difficult to quantify in economic terms, so economists - especially ones busy telling the managerial crowd exactly what they want to hear - tend to ignore it. But it's a reality.
Not that I'm a protectionist for these sorts of jobs, mind you - at the end of the day, I think that the creation of middle-class professionals in the developing world is a good thing. But I can still recognize self-serving disingenuous rhetoric when I see it.
it's their loss (Score:5, Insightful)
Some may think this is the best way to do things at their company, but it's essentially turning their coding process into a factory job.
Look at it this way: would you rather have the wristwatch that is hand crafted to perfection, works better, and will last forever, or would you rather buy the watch that came off of the assembly line, always loses time, and will break on you in a year or two?
By leaving the coding process to people outside of the company and its interests, and thereby making the whole process more mechanical than creative, they are essentially assuring themselves the lowest-quality product. It's unfortunate if they think that's the best way to go, but in my opinion they will eventually get what they paid for, so to speak.
Re:it's their loss (Score:5, Insightful)
I think you have identified the key difference in perspectives. You can either have things built by craftsmen or things that are built according to some process.
The thing is, craftsmen don't scale very well. That is because, well, it takes a lot of time to become really good at all the different aspects of building whatever it is they are building. Craftsmen are a scarce commodity, regarless the trade. On the other hand, processes where each person does a part can scale. Further, you can get consistent output from such processes. And, since the output can be consistent, you can improve it incrementally, measuring the impact of each process or training change you implement. (Yes, I know that sometimes the output is consistently bad, but that is the explict fault fo the people/person in charge of the process, not the people in it.)
Can you imaging the price for automobiles built by "craftsmen"? Actually, you don't have to, just pick some number greater than 400,000 USD and you have it.
Craftsmen don't scale, they're a poor route to take for processes that need to scale.
All that said, I'm not yet convinced that software development has reached the point of maturity where we understand it enough to be able to move from a craftsmen oriented system to a process oriented system and still produce decent software.
scottwimerParent
Re:it's their loss (Score:5, Insightful)
Unfortunately the reality is that hand-crafted watches typically lose several seconds per day, have major imperfections (humans aren't perfect), and cost a bucketload. The watch that comes off the assembly line will probably lose a second per month at most, will never break in its entire lifetime, and cost 1/10th what the hand-crafted watch did.
To give a clearer example, the rapid increase in reliability and efficiency of cars while still reducing costs was a direct result of Ford and his assembly lines. The Japanese took this one step further through quality assurance methodology and strict adherence to quality control. None of this would have been possible if all cars were hand-crafted.
The important lesson from the car industry is that hand-crafted cars have all but disappeared (except for ludicrously overpriced and unreliable sports vehicles). The software industry wants to repeat the success of the car industry by moving towards factory reproducibility and measurability. The trick is to get away from the menial job of coding and into the role of designer. The designer in a car company is still paid a metric shitload.
Parent
Re:it's their loss (Score:5, Insightful)
Parent
Coder vs. Mgr is an old, boring flamefest (Score:5, Informative)
Well said (Score:5, Interesting)
Bioinformatics, wireless technologies, AI, robotics, there are so many fields which are budding. So many opportunites. Why do we have to look back at the financial software jobs that went away? We have much more interesting projects to be done.
Bring the Students On! (Score:5, Interesting)
Lets consider a world population of 10 billion with average life expectancy of 70. If the average person spends 6 years in university (things are getting more complex), then we're looking at 850 million post-secondary students worldwide at any given time. Google suggests that 1 academic staff for every 10 students is not an unreasonable number, so that's 85 million jobs -- that's almost the entire US workforce right now! Add all the support staff to provide services to the academic staff and run the surrounding infrastructure and you've got yourself an economy!
Parent
Well it's kind of true (Score:5, Interesting)
I know I could outsource my coders, but that's mostly due to the design being complete enough that anyone can just sit back and code up exactly to spec. It's not hard to code when given "you need a box that takes in X out puts Y and here's how you convert X to Y". I would guess that you couldn't outsource a design of " We need something that does Z. I suppose my job could be outsourced but I already find dealing with the customers over the phone in the specification gathering stage quite difficult. I happen to know their markets quite well and that tends to be how I get through. If I didn't understand the market then I'd be screwed. So yeah someone that knows the market including all of the little local issues(taxes, strange holidays, legal issues...) could do my job from just about anywhere in the world, It's over the phone anyways. Someone that doesn't know of the little things couldn't do it.
When I looked into outsourcing our coding I decided not to.
Reasons include
- my programmers are already paid slightly below national average and the cost savings wouldn't be huge.
- My programmers are proven known pieces in the puzzle. I know which guy does what best and I can pretty accurately estimate delivery schedules based on that.
- I like working with my guys, they help out a lot when I do design or come up with ideas on things we may want to try.
- shipping jobs away from here doesn't help me or anyone else enough to be worth pissing the locals off.
- If I screw over my workers by shipping their jobs away, who will be their to back me when the owner decides someone else can do mine.
The final victory in a decades-long war (Score:5, Insightful)
Management people have always sought to devalue programmers. It makes them uncomfortable to think that some of their subordinates can do things that they can't. The current situation is no doubt making those people very happy indeed. Because now a programmer is, it seems, just a low-value job - like telesales - that can be cheaply and easily farmed out to some third-world sweatshop. The manager is once again demonstrably superior to all his subordinates.
It all depends on how you look at it.. (Score:5, Informative)
Higher quality means higher prices, which means higher wages are acceptable.
It's basically a refinement of the market, not a disappearance.
I live in Sweden, which has some of the highest labor costs in Europe. Yet, Sweden has a strong steel industry, despite steel manufacturing being quite a 'low-tech' industry, with cutthroat international competition.
(Coming from Japan, and increasingly China)
How do they compete? Simple: They don't. Sweden switched its industry to high-quality and specialty steel production requireing more skill.
The USA really needs to move their steel industry in this direction, but instead they leveled tariffs on imported steel. (now dropped after trade-war threats)
(Also, note that swedish steel was exempt from these tariffs, for the reason that they don't compete with american steel manufacturers, who aren't in the specialty market)
So, for the software market, I think we'll see something similar. And a choice will have to be made whenether to face reality, at a cost of the lesser-skilled jobs, or give the industry artificial resuscitation through tariffs.
Someone's about to get an email (Score:5, Interesting)
To use an analogy, how many individuals have you known become team leaders or shop bosses in a manufacturing plant without actually at least working near or around a plant floor. I'm going to say not too many. Thus, this sort of thinking will end any sort of software project management as well.
I like this choice quote too We will require different services, medical devices, all kinds of things to support an aging population.
Of course, instead of actually producing things that will make our lives better and move us ahead in the world we can focuses all our energies on something that none of the world seems to want to pay for prescription drugs, life-saving procedures, and incredible medicial devices. The whole entire world looks to us to subsidize this stuff so they can get it on the cheap. I don't see a lot of Indians or Chinese companies coming out with these products, but I see whole lot knock-offs and piracy coming from them. We cannot export those products.
As much as I like to say free trade, free trade is only free when everybody plays by the rules. No one plays by the rules, we slap a tarriff on products, but other countries subsidize their industries because they worry about their own workers unrest (Steel comes to mind). I think their is a very large difference between the manufacturing movement of the 80s and now. In that time, you could go back to school (government subsidized) retrain for a new position and get another job. What happens when you have already gone to school, your now sitting on $50,000 worth of college debt, and somebody tells you sorry...you shouldn't have done that, but your more then qualified to take a $30,000 a year job. What happens when your paying $283 on month on a student loan which is 20% of your entire salary after taxes. I'm thinking you wouldn't be buying a whole lot of stuff. (Not me thankfully at the moment, that's why I am paying down my college debt as fast as possible.)
Used to be education could get you ahead, now you just have to live in another country and work for an obscenely low wage in comparison to the US.
Sure we're un skilled (Score:5, Funny)
How long can we be make good project managers? (Score:5, Interesting)
The problem with that reasoning is that the good project managers once were code monkeys. It was while doing the grunt work that they developed the insight which led them to be good project managers. You know, inside understanding of modern technology and practices...
How much longer can we be a land of managers-only? And how good will our managers be if they never did the work in the trenches, because that stuff was outsourced? It seems to me that we can't avoid outsourcing management jobs if we are outsourcing the lower-level jobs.
"Protectionist" ad hominems (Score:5, Insightful)
(Note: I didn't read the entire article, so this post may not hold up to my usual standard of fairness. In particular, I might understand Ms. Farrell better in context of other parts of the article.)
By attaching the label "protectionist" to anyone who decries offshore outsourcing, Ms. Farrell seems willing to draw a thick line between sides of the debate. Why? Intellectual laziness, I suppose.
"Protectionism" means using taxing power to favor domestic industry over foreign competition. Her use of the word is analogous to the frequent abuse of the word "censorship": it's not censorship to disagree.
Why would a company outsource jobs in order to create other jobs? They don't have job creation as their motive, and it's disingenous to say they do. Neither do investors consume more than others. The hole in her argument is that money paid out to investors doesn't necessarily end up in consumption, and money the company saves doesn't necessarily end up being reinvested. It may end up as bonuses paid to the managers who decided to offsource (tm), or to make payoffs to analysts.
The real question is this: is it proper to allow loyalty to a particular country to interfere with business decisions? Internationalists would say no, that nations are an artifact of a less enlightened time. Nationalists argue that there must be independent governments in the world, or the world government will have nothing to check it, and so we should be loyal to ours.
What I'm about is quality. Offsourcing is a short-sighted tactic, and I find it difficult to believe that companies trust offshore developers more than domestic ones. I'm missing something. Oh well, they must know what they're doing.
Manager/Worker (Score:5, Insightful)
Basically a manager should allocate resources, direct the team and communicate with the outside world.
This doesn't sound like much, but it is valuable, and really not a common skill set.
hmm, low-skill coders? (Score:5, Interesting)
Let the perl regex marathon begin!
Seriously, I work for an insanely large international telecommunications company and our project managers don't even understand the basic technologies involved in the projects they're managing. I don't envy their job, but I have a hard time believing that their (basically administrative) skills are any more important than the skills of those of us who actually make the stuff work. If PM skills supercede mine, I wonder why I'm always on (endless) conference calls explaining things to them.
*shrug* Their cluelessness is pretty good job security so I don't complain until they hit utter braindeadlessness.
--K.
It's about the business model, not the skill level (Score:5, Insightful)
The nature of the coding to be done is also important. One of the facts that I've come to realize in studying computer science is that, to a large extent, the majority of coding work is routine and does not require in-depth knowledge or familiarity with computer science techniques. Most real-world coding consists of pretty mind-numbing tasks of gluing different APIs together in a reasonable hodge-podge. Many of these tasks require only a familiarity with the syntax of a language, some familiarity with a few common APIs, and access to a machine. None of which is very skill-intensive.
During the dot-com boom many people were employed doing coding work at incredibly over-inflated salaries who had read one or two 'for-dummies' type books. This was possible because there was a shortage of coders who could do even the most routine tasks. The high salaries attainable with very little training meant that there was naturally a rush on such teach-yourself-coding books, and suddenly there was a glut of people who could do routine coding. Now, because of that glut, there is an excess of able code-monkeys to do routine programming tasks, which means that much of this work goes to the lowest bidders ( ie Asian sweat shop coders ). Supply & demand is all it is.
But the future is hopeful, I think, for those who are willing to tough it out and obtain Comp.Sci. degrees. Right now we're stuck in a kind of computational limbo where the market is not sophisticated enough to demand really sophisticated software, so there is little demand for people who can design highly sophisticated applications. There are some jobs which require knowledge of high-performance computing, knowledge of efficient algorithm design, AI, etc. but not very many. Right now basic code-monkey work is what satisfies the majority of the market demand. This is changing rapidly, I think. The more consumers get a taste for sophisticated technology, the more the demand for truly intensive software will rise, and the need for more people with real skills ( ie University level training ) will increase.
There is a big difference between a carpenter and an architect. One is a trade, the other is a profession. The confusion that is happening right now in the labour market for programmers is because this type of distinction is just now starting to emerge. It used to be that there were only professionals in the programming world. With the dot-com boom & bust this has changed, and there is now a new class of worker, who programs as a tradesman, not as a professional. The mind-set of the market has not yet come to fully realize this distinction, and so we have these problems. Eventually this will settle out and there will be two classes of programmers - those equivalent to architects with high levels of training, and those equivalent to carpenters with much practical knowledge, but little or no theoretical or 'design' skill. I expect this will occur more and more as the demand for sophisticated software increases, and we'll see the re-establishment of 'programmer' as a profession.
Re:Those that do (Score:5, Funny)
Those that can, do.
Those that cannot: teach.
Those that connot teach: manage.
So, I guess 'those that can' are on the bottom rung, huh?
Parent
Re:Those that do (Score:5, Funny)
Those that cannot manage: sue.
Parent
Re:Those that do (Score:5, Funny)
Those that cannot manage: sue.
I think you meant "Those that cannot manage: SCO.
Actually, I guess it's the same either way, nevermind.
Parent
Re:Those that do (Score:5, Funny)
Parent
management incomprehension (Score:5, Insightful)
The only people you can't outsource are the ones who have to talk to the client directly and the ones who make the decsions as to who to outsource.
If I were starting up a new software company I would go to India or China or Eastern Europe and hire people away from the big outsourcers. Get experienced people pre-trained. Eventually with competition wages may get to 50% of American levels, which is what some people I know (good people, too) are currently accepting.
It's easy to be cavalier about jobs when you are a venture capitalist, a VP, or a journalist; only the journalist can be outsourced, and not easily. It's not so easy once you think that literally everything else can go, leaving American workers working at Wal-Mart.
Parent
Re:management incomprehension (Score:5, Insightful)
Yeah, and just about everyone who sells to Wal-Mart is forced to outsource jobs in order to keep their costs down. See the December issue of Fast Company.
Parent
Re:Those that do (Score:5, Interesting)
Note my question marks in my original post as I didn't mean this to be taken as a truth.
I would be ashamed if any of my former teachers saw my comment... or my spelling...
Teachers rock ass and do not get paid for it. Teachers and programmers share the quality that they are underpaid for their work.
My comment was a reflex at somebody in academia making judgements without any experience.
I am sad that my comment has brought out the anti-teacher shmucks.
Davak
Parent
Re:coders are less advanced than architects (Score:5, Insightful)
That's true, but "architect" and "project manager" are different jobs. You may have one person performing both roles, but they're different skill sets, with only a little overlap.
An architect designs the application/project/whatever, at least on a code level, and quite possibly including hardware, network details, etc. A project manager, managers the project - liasing with clients, helping gather requirements, ensuring team members are fully-booked but not over-booked with work, keeping an eye on the deadline and financials, etc. So yeah, some overlap - an architect will need to talk to the client to find out their requirements, etc, but may well not be concerned with making sure that all the programmers have enough to do.
Like I said, the two roles may be being performed by the same person, but there's no reason to suppose that that's the case. I've never actually worked with a technical project manager, let alone one who could do an architect's job. (Conversely, I would make a mediocre project manager, at least at the moment)
Parent
Theory vs. Practice (Score:5, Insightful)
-If your project is underfunded, underspecified, and open to change, then managing it is more difficult.
Now, where on this spectrum do you believe most software development efforts fall?
Parent
Re:Theory vs. Practice (Score:5, Interesting)
A nice side-effect for inflated egos is that outsourcing allow bigger idiots to be successful in management.
Now I'm wondering: Where is the obviuos flaw in my reasoning that I'm missing?
Parent
Re:Makes sense... (Score:5, Insightful)
You're suggesting that education == skill?
Parent
Re:classic 'enterprise' VB coders (Score:5, Insightful)
I take away from this comment that you don't shop around, right? You either randomly buy without considering cost, or in fact search for the highest-cost vendor for a particular product, right? You use pricewatch, but you sort by price in descending order, right?
I'm guessing you don't. Well, then in fact, you should be fucking yourself because competition is driving low-skill jobs overseas. Without outsourcing to cheaper regions, a company cannot compete for the business of those who attempt to find the lowest price.
FWIW, I am a software architect, and was a software engineer for many years. I know that the kinds of things I do for my company cannot be done by a random coder straight out of CIT (Calcutta Institute of Technology, remember?
I'm sure the leftist/statist/communist anti-globalization pro-third-world-status-quo Slashdot moderators will bury this comment, but I hope at least some of you read it. Stop whining; understand the problem; figure out what you can do about it; and do it!
Parent
Re:Ouch to you (Score:5, Insightful)
If a project is going poorly, replacing twelve good developers with one good project manager won't advance the project one iota if the project is already being competently managed. Conversely, if you already have enough developers on a failing project, adding twelve good engineers and removing a good project manager isn't much of a save either.
To try and establish some kind of mapping between the two is absurd. It's like saying "An axle is worth a dozen engines!"; the car isn't going to go far if you're missing either set of skills. If a project is lacking project management, you need more project management. If it's missing engineers, you need more engineers.
Part of what leads to these sorts of statements, of course, is that neither skillset is easy or readily understood by either side of the debate. Coders don't understand how hard it is to do good project management (mostly because they're typically exposed to the lousy sort, and because you can always muddle your way through). Project managers often have no insight into what it takes to design and build good codeTo compound the misunderstanding, they see that there's one project manager and a dozen developers and they think that they're worth a dozen developers. It's a fairly typical management error.
Ideally, project managers would all have heavy coding experience, and every developer would have project management training. If they don't, then it's up to the experts on both sides to educate across the aisle. If your project manager doesn't get it, it's your fault for not taking an hour to explain it. And if you don't understand why the project managers do what they do, try asking about the process they use to put together a project plan, to do resource balancing, risk amelioration planning, cross-team scheduling, and the like.
Parent
Re:Ouch to you (Score:5, Insightful)
Even in a poorly run shop, a good PM is worth 2 or 3 coders. However, a good engineer is similarly rare, and worth 30 or 40 average, as opposed to good, PMs.
Face it, most PMs are glorified clerks. And yes, most programmers are just coders. The fact is that being a typical programmer requires more skill than being a typical PM. Programmers almost universally understand schedules, resources, and budgets, even if they couldn't manage their way out of a wet paper bag. PMs do not understand what a functions, objects, or design. You can promote a programmer to become a PM. This happens a lot. The opposite almost never happens.
This is because your AVERAGE, as opposed to GOOD, PM is merely a coordinator, not a manager. They take requirements, hand them to engineers for design and estimates, request resources, propose schedules, and talk to the client. This is quite a job, but it doesn't require years of training to do it at all. Being a secretary also requires a lot of hard work and the ability to multitask, but hard work does not equate to high skill levels.
However, PMs are viewed as managers because the traditional job assignments pass through them. To upper management, someone who passes orders to others is a manager. They (in a few cases, correctly) view themselves as skilled, and those below them as less skilled or less experienced. It follows that a professor of Organizational Management will view things as heirarchical down to the chain where the work gets done. After all, if the secretary who types the memo is less skilled than the manager who dictates it, then the programmer who executes the problem given to them by the PM must similarly be less skilled.
So comparing a GOOD PM to an average coder only obfuscates the fundamental organizational bias the good professor demonstrates. Comparing a typical PM to a typical programmer gets at the root of why programmers feel organizationally slighted.
Let none of what I have said suggest that I don't view GOOD PMs as worth their weight in platinum, or that I think that even being an average PM doesn't take work.
Parent