Fog Creek Software
Discussion Board




Outsourcing and Stratification

It seems to me, listening to all the arguing back and for about outsourcing, that our profession is stratifying.

Look at construction. There's a clear deliniation between architects and builders. It seems like there's a similar thing going on with outsourcing for development. Everybody's concerned about losing their job to outsourcing.

My best advice would be: start being an architect, and stop being a builder. From what I've seen, there's no innovation going on in software in these outsourcing countries. They're just builders for hire. Sure, companies with 10s or 100s of thousands of employees can afford to outsource the building work. A company with 5 or 10 people? Not if they want to survive. They're going to need their devleopers to all be architects, not builders.

Brad Wilson (dotnetguy.techieswithcats.com)
Tuesday, August 05, 2003

Fog Creek seems to be surviving and thriving. Are the employees there architects or builders? I would guess they are both. This is because with good software, building and architecting is the same process.

.
Tuesday, August 05, 2003

A story: 

I worked at winamp. The good version of winamp, 2.x, the one everyone uses, was written by one guy. It still is maintained by one guy. He knew what he wanted to build, and knew how to build it, and just built it himself.

The bad version of winamp, 3.x, the one hardly anyone uses, was written by a team of guys, led by an "architect." The architect of winamp 3 drew boxes and diagrams and wrote documents and told the builders to build things based on his diagrams and documents. If the architect of winamp 3 ever gets sacked, he will never find work again.

Thus I'm not sure if Brad is giving good advice. I think the true way to succeed is to get good enough that you can write an entire product yourself, then figure out a product you can sell. Software is hard, deal with it.

.
Tuesday, August 05, 2003

winamp 2 - built by a craftsman
winamp 3 - built by a 'stratified' committee


Tuesday, August 05, 2003

oh, and a good link explaining the difference:

http://software.ericsink.com/No_Programmers.html


Tuesday, August 05, 2003

Yeah, the WinAmp comparisons are well and good and everything except for the glaringly obvious fact most developers out there aren't single developers working on their own "killer-app" applications.

WinAmp is an exception. Not the rule.

The odds of a single developer hitting it big like WinAmp are about the same as the average band getting a Top-40 hit. It happens, but the odds aren't in your favor.

I believe that Brad was referring to the bulk of development which is the boring corporate development kinda thing. To that end, his advice was reasonably sound. (Although architects can be outsourced as well...)

Mark Hoffman
Tuesday, August 05, 2003

"If the architect of winamp 3 ever gets sacked, he will never find work again."

I doubt that statement will turn out to be true.

There are plenty of non-technology companies out there that only hire model building, document writing type of architects.

In the business application development world stratification has always been present (at least at the corporate level).  Most companies looking to hire an architect/system analyst look for a Peter Coad type of clone, but somehow wind up hiring a Peter Sellers (don't have a clue) type of clone.

"My best advice would be: start being an architect, and stop being a builder."

The problem is that there isn't a whole of lot those jobs out there for the taking.

Small companies have always needed "jack of all trades" type of programmers simply because they can't afford to hire specialists.

One Programmer's Opinion
Tuesday, August 05, 2003

Allow me to clarify.

In my view, an architect is not just a coder. An architect is a designer, a tester, a researcher, AND a coder. An architect is involved in all stages of the development process, and is interested in the success of ideas and products, not just the success of his coding skills. They have business skills in addition to development skills. They are part of, and care about, the business process around development.

In differentiation, a builder takes the "blueprints" of others and sits down and writes code for 40 hours a week, and that's all he does. He doesn't know, and often doesn't care, about the business or the customers.

There's no question in my mind that I've seen both category of person, and it's usually pretty easy to differentiate one from the other. It's usually pretty easy to see when someone is a builder who wants to become an architect as well, because they are constantly looking for ways to escape their simple coding roles.

Clearly, I don't know how every company in the world works. However, I do have some experience and do spend some time talking to others about their development experiences. From what I'm seeing and hearing, virtually all innovation in this business is being done by relatively small groups of architects. Builders are not innovating. If they're LUCKY, they're helping to write innovative code -- which is not the same thing.

My experience has been that architects are on-site people. I've never, ever heard of outsourcing an architect from 10,000 miles away.

(Oh, in case it's not clear, I'm talking about pure software companies. I have no desire to work outside the main revenue stream of a business, so I have no idea what it's like for those working outside pure software companies.)

Brad Wilson (dotnetguy.techieswithcats.com)
Tuesday, August 05, 2003

All right, let’s try and deal with alarmist rhetoric.

The percentages that I have seen regarding offshore workers are between 5-15% in 5-10 years!

That means that between 95-85% will still be around?

Am I missing something? If anything, a majority of us will still be around.

What are we soooooo scared about?

--
ee

eclectic_echidna
Tuesday, August 05, 2003

"The percentages that I have seen regarding offshore workers are between 5-15% in 5-10 years!"

Good point, but that 5-15% could put a huge downward pressure on wages.  Also, that might not be so bad if the economy grows fast enough to add more than that many total jobs, but if not...

Jim Rankin
Tuesday, August 05, 2003

Wages are already depressed here. During the late 90s, seniors were making between 80k and 120k. Now, the offers I see are between 60k and 80k.

Brad Wilson (dotnetguy.techieswithcats.com)
Tuesday, August 05, 2003

One more thing:  how do we know that wages in India/China/etc. won't grow much faster than they will here?  Once the brightest coders/engineers/etc. find out they can get more by walking across the street (from, say, WiPro to IBM or vice versa), wages could start going up pretty quickly, as they did here way back in the 90s.

True, they could always get more fresh meat right out of the local college or tech school, but the experienced developer who gets results can name a higher price.

Jim Rankin
Tuesday, August 05, 2003

well, maybe winamp was a bad example. how does microsoft do it? I don't think there are many boxologists there, but I could be wrong.

.
Tuesday, August 05, 2003

I have a sneaking suspicion that they are going to run out of smart people in 3rd world countries.

The reason why manufacturing outsources well is because all you need is somebody who can follow directions most of the time and who can be counted on to show up to work.

It works better outside of the US because outside of the US, you can beat your employees when they misbehave or try to start a union.

The problem is that engineering and similar professions require a signifigant amount of intelligence and training.

Most of the so-called 3rd world countries are heavily stratified.  You either have a good college education or you are mostly uneducated.  Especially in India, there's signifigant social pressure to keep things that way.  When they run out of the top strata, it's going to be much harder to find people to shoe-in to technical positions.

Flamebait Sr.
Tuesday, August 05, 2003

Everything gets back to the fact that programming is a profession that's not in charge of its own work, unlike all the other main professions.

Brad's exhortation to become an architect is essentially a call for quality, but there are already well understood differentiations.

We all know some people are far better than others at programming and developing, to acknowledge Eric Sink's schema, but we also know those people do not get always or even generally get the rewards or recognition that would be appropriate. The reason is that power lies with people who don't understand and often don't care.

analyst
Tuesday, August 05, 2003

That's because programming isn't actually a profession.  There are some programmers who deserve to be classified as professionals, but programming itself isn't a profession.

T. Norman
Tuesday, August 05, 2003

I'm arguing that one of the characteristics of a profession is nothing more than the ability to exclude others.

analyst
Wednesday, August 06, 2003

A nice property that is shared with legislated monopolies.  Great way to command a premium salary, even when the market would not otherwise bear it, though, isn't it.

anon
Wednesday, August 06, 2003

There will be exclusion one way or another.  There aren't any formal barriers to entry in programming, but now de facto barriers have been imposed by corporations via outsourcing and rEdiCuloUs job requirements.  Nowadays if you are just finishing up college, you have a better chance of becoming a doctor or pharmacist or lawyer than landing a paying job in the software development field.

I would rather have the exclusion decisions made by members of the field than by exploitative managers.  When controlled by members of the profession, the exclusionary factors promote job stability and income and quality.  When controlled by corporate fat cats, the exclusionary factors depress income levels and result in major job losses.

T. Norman
Wednesday, August 06, 2003

And when the factors are controlled by the members of the profession, the salaries are kept artificially high and result in major waste (i.e. three guys to screw in a light bulb). 

The difference here is that on one hand, with a government approved body to control license distributions and enforce their requirement, you have a single option for getting something done, unless you want to risk legal actions, fines, and all that.  This option leaves no room for negotiation, no room for subjective evaluation of an offer. It benefits the protected "professional" at the expense of either the clients of the firm (who could get the product cheaper absent the inflated costs) or the owners of the firm (who would see an elevated return on their investment in the firm).  I can see why you would prefer this.

I've been listening to this issue debated over and over here and elsewhere.  All I hear is a bunch of people that have become accustomed to high salaries and powerful leverage griping because these things are no longer as readily available as they once were.  That's life.  It's a little more palatable when you wrap your bitching in language of concern and caring for your fellow countrymen, but the reality is you are looking out for number one.  You want to have your pick of employment opportunities, a nice comfy salary, and lots of negotiating power, just like you used to.  So just say it like it is and stop bullshitting.

There's no difference if the work goes overseas or stays here.  If you cannot compete by delivering more value at a lower price more quickly, then you need to find another business to get into.  I'm an American, and I will take your business and/or job away from you just as quickly as a foreign competitor will if I can figure out a way to do it.  I expect you'd to do the same. 

Stop the whining and scheming.  It's embarassing.

anon
Thursday, August 07, 2003

*  Recent Topics

*  Fog Creek Home