home | blog | become an author | about us | contact us | link to us
Articles
By Column

angryCoder
Bits That Byte
Reviews
Nancy Ruthless
En "Code"
Advice
NET Income
Top 10
The Brutal Truth
Whatever
Cartoons
Email Court

Articles
By Author

become an author
ALL ARTICLES (297)
Jason Bock (16)
Nancy Carver Abbott (5)
Jonathan Goodyear (122)
Danny Lesandrini (8)
Clint Lewis (8)
Jason Mauss (9)
James McCutcheon (6)
Peter McMahon (5)
Brian Peek (10)
Jason Salas (8)
Eran Sandler (6)


Advice Email This Article | Advice column | Printable Version

How To Survive The Coming Bust



Many of us in software feel pretty smug right now: We "made it." The crash came, the jobs left, but we survived. We persevered. We studied, we worked, we applied ourselves, and we made ourselves worth employing in a down market.

Well, it's going to get worse. I will explain. Most of us realize that the economy moves in cycles: Things change, new jobs are created and old jobs become obsolete. The 1930's created many jobs in the automotive industry, but who used those machines? In the midwest, tractors replaced the horse and plow, and enabled a single person to do the work of dozens. Of course, this made it uneconomical to be a farmer.

By the 1970's, globalization came to the auto industry. Instead of the big three, competition came from Japan, Korea, and Germany. Many Americans felt pride, even loyalty to their country; Yet, when the import cars came with the same quality for fifty cents on the dollar, American money went overseas, and the jobs went with it.

Right now, globalization is hitting the office furniture industry. The American companies that are doing well have stopped building themselves: They are importing components and doing assembly work, or have moved plants to Mexico, India, or other areas with cheaper labor and materials.

Globalization is coming to technology.
This comes as no surprise to many people: The largest company in India is TaTa Consulting, which has been offering trained software consultants for rock-bottom prices for years. Twenty years ago, author Ed Yourdon wrote Decline and Fall of the American Programmer. After ten years and major changes in the economy, Yourdon wrote Rise and Resurrection of the American Programmer. You see, communicating across continents and time zones is hard. Then came the internet. Yourdon wasn't wrong...just too early.

Right now, today, it's possible to write up a specification for a piece of software and send it off-shore for far less than it would cost to develop in America. In this age of tightened belts all around, why would anyone buy American software when they can buy it from someone else for one tenth the price?

Of course, this article is titled "How To Survive The Coming Bust". The answer is simple: If you can't win on price, compete on something other than price.

Keep in mind the reality; Businesses want to reduce cost and risk while increasing revenue. To succeed as a software developer, don't try to sell working software for less money than others; instead, reduce cost, reduce risk or increase revenue for those companies. I will discuss a few ways to do these things, and do them well.

1) Provide Guarantees.
So the other person provides a lower hourly cost. So what? Does that mean that the total cost is going to be less? Most people that deal with software contractors know that an estimate is rarely worth the paper it's printed on. That's why fixed-price and fixed-date contracts are so appealing to customers: It moves the risk from the shoulders of the customer to the selling organization. As long as the buying organization is certain to make money, hourly rates won't matter. (How do you compare $6/hour and "We think it'll take about six months" to "$10,000 and it will be done in three months." How about to "I'll take 30% of gross revenues. If you don't make a dime, I don't make a dime...and this will enocourage me to make it good enough to re-sell")

2) Analyze the business and provide a better solution
Joel Spolsky once wrote that "Customers Don't Know What They Want. Stop Expecting Customers to Know What They Want." In other words, the attitude of "Just give me the requirements" fails because it has the customer solving the problem; the software developer becomes just a glorified technical writer that knows how to write in the language of a machine.

3) Dramatically decrease the defect rate
Are people willing to pay for quality in software? Sadly, generally, the answer is no. Quality in software is hard to measure; unlike automobiles, there are usually no crash or endurance tests to compare against, especially for custom software. Yet we all know that plumbers, electricians, and roofers with a reputation for quality have more work orders than they know what to do with. Producing software with less defects, that is usable, that does what the customer expects will net a major competitive advantage for years to come.

4) Create well-documented, maintainable code
Despite all the jokes about job security, companies want well-documented, easy-to-understand and easy-to-change systems. This allows them to reduce risk, and, as we've previously discussed, reducing risk has tangible, measurable value to a company. The great thing about increasing the value of what you sell is that you can now charge more for it.

5) Provide better feedback
If you prioritize every feature, you can work on the most important features first. A series of small releases gives the customer the most important features first, and the opportunity to provide feedback. This is not a new idea; It is one of the core ideals of the Extreme Programming model, and it's an excellent way to give the customer more while costing you less. (Think about this: Most large projects run late and over budget. Many small projects do not. Instead of "biting off more than we can chew" next time, why not refuse to run a large project and instead run a series of small projects?)

6) Show the customer how you will make them money or allow them to cut costs.
This one is a no-brainer. It's easy to charge more for your services and still win the bid if you are selling something fundamentally different: This is why McDonald's franchises sell for more than Jerry's Pizza Shack franchises. Imagine the two sales pitches:

Jerry's: "Hey, for $10,000 and 3% of your sales revenue, I'll let you use my name, my sign, my recipies, my suppliers for food, cups, plates - the works!"

McDonald's: "For $1,000,000 and 8% of your sales revenue, we'll give you everything Jerry does - plus throw in a lease on a furnished building in residential area X. We'll promise no McDonald's competition (except the ones you own) in a 50-mile radius of your store. We'll provide management training for your people. In fact, here's a breakdown of our 200 stores in areas with a similar population to X, and their sales compared to expenses for the first five years of business. As you can see, since 1995, only 10 of those stores failed to be profitable within three years, and they were all profitable within five years."

Conclusions
From the last example, you can see that McDonald's and Jerry's are selling two fundamentally different things. They both seem to "solve" the same problem: "I want to own a fast-food business." McDonald's chooses not to compete on price; Instead, they compete on delivered results.

Most banks compete on delivered results for investment. While they may occasionally advertise that they have low or no minimum balance, it is far more common to hear about a low rate for a loan or a high rate for an investment. If we are to survive the coming bust, we must Promise and Deliver Results. These results must substantially differentiate us from other, cheaper competition.

If you try to build a house and base every decision on cost, you will probably get what you deserve. Most people know this, and factor other things into the decision. As the software industry matures, we must learn to provide and market those "other things." In order to survive, we must stop being glorified technical writers and become businessmen...and the need for good businessmen is not decreasing, but instead it is constantly increasing.

Footnotes
1) This McDonalds example is complete fiction. However, a recent Fortune Magazine did point out that most franchisees pay a 4% fee on sales, while McDonald's in fact charges a base 4% fee plus the cost of a lease on the building, which is roughly another 4%.I will not eat green eggs and ham


Poll:
Do you think that international outsourcing of programming jobs will become more common?
Yes | No | View poll results

Do you think that international outsourcing of programming jobs will become more common? Have you felt the effects of this trend first-hand? What have you done to help secure your value? Talk back!

Article Feedback View all comments | Post your comments

Now in the 2000's, the average price for...  (8/1/2003 6:54:03 AM
not sure who this is geared to - a consu...  (caddy8/1/2003 7:54:53 AM
I'm afraid the suggested cures, while we...  (Walt Lounsbery8/1/2003 8:06:51 AM
at its Best - Especially the part about ...  (8/1/2003 8:11:43 AM
It's bound to happen. The science (or ar...  (LePugstre8/1/2003 8:17:08 AM
>One area I wouldn't see being outsource...  (Matt Heusser8/1/2003 8:29:04 AM
In the end, there are ONLY three theoret...  (Jesse Chunn8/1/2003 9:16:15 AM
BTW: Japan (and most other countries) m...  (Jesse Chunn8/1/2003 9:22:50 AM
Great article and great feedback already...  (GrumpyCoder8/1/2003 9:22:59 AM
I have been watching the move to globali...  (Saintpierre8/1/2003 9:26:32 AM
The only advantage "local" talent has is...  (AngryAtConsultants8/1/2003 9:30:05 AM
All this talk I hear these days about ov...  (J8/1/2003 10:12:06 AM
I really doubt that "globalization" will...  (Mike Hohm8/1/2003 10:24:40 AM
I say fuck outsourcing. I'm not for NAFT...  (cismic8/1/2003 10:31:21 AM
Foreign workers speak good English? Per...  (Thomas Boring8/1/2003 10:39:27 AM
Eventually, the countries which have eco...  (Thomas Boring8/1/2003 10:54:57 AM
WE NEED A UNION GUYS!...  (Saintpierre8/1/2003 12:34:09 PM
No, we need to be taken seriously as pro...  (KJ8/1/2003 2:22:32 PM
Its like this.....our group was somewhat...  (8/1/2003 2:34:25 PM
If you can't beat them, join them! ...  (Sidh8/1/2003 2:57:22 PM
Corporations allowed to import large num...  (FYI8/1/2003 4:16:05 PM
I know as a consultant I have a colored ...  (Program for BabyBoot8/1/2003 6:53:54 PM
Here are some things I'd like you to con...  (Rowland Gosling8/1/2003 8:10:56 PM
You guys are all dancing around the issu...  (rizzo8/1/2003 8:21:54 PM
Rizzo, Interesting you should mention a...  (Rowland Gosling8/1/2003 9:10:10 PM
IEEE-USA is lobbying this issue strenuou...  (Dave Finley8/1/2003 9:31:03 PM
India ? Japan ? I say it's all the Freak...  (Kentasy8/1/2003 10:26:24 PM
I would hold off on getting too worked u...  (Mike Ianieri8/1/2003 10:43:58 PM
It is mighty interesting that one person...  (AntiGlobalization8/2/2003 10:25:02 PM
I say Hack there fucking ass before they...  (Angry Hacker8/3/2003 6:22:03 AM
Ditto AntiGlobalization. You see the tru...  (DITTO8/3/2003 6:30:26 PM
All I can say is when I enter my office ...  (chornbe8/4/2003 9:01:36 AM
about half of our 30+ developers at my s...  (rael8/4/2003 10:37:02 AM
Watch out if your company is buddying up...  (p.o. programmer8/4/2003 3:46:20 PM
POP!!!! Whooooooooah..that feels better....  (H1BEnvy8/5/2003 1:55:54 PM
NAFTA: Not Another FUCKING To Americans!...  (CodePoacher8/5/2003 2:15:11 PM
I'm happy for the 3rd world countries th...  (Angry1stGenImmigrant8/5/2003 10:11:16 PM
I didn't intend to get all fired up this...  (Tired of Shitty Code8/6/2003 7:12:00 AM
I guess the post by "tired of shitty cod...  (p.o. programmer8/6/2003 8:13:07 AM
Ditto again. I agree "Tired of Shitty Co...  (DITTO8/6/2003 9:40:10 AM
I don't know why this topic is such an i...  (JimmyAnand8/7/2003 12:17:55 AM
the funny thing is that my little brothe...  (aaron8/7/2003 2:20:09 AM
I don't post code or help in newsgroups ...  (CodeMonkey8/7/2003 8:15:34 AM
I see the turn in the tech economy comin...  (gurg138/7/2003 11:18:22 AM
"Does anybody else seem like we are taki...  (Uk-Coder8/8/2003 8:36:49 AM
I think this downturn in the economy, ...  (anon8/8/2003 9:04:56 AM
You hit it right on the nose about the "...  (Tired of Shitty Code8/8/2003 11:36:38 AM
There's one place that will always be sa...  (civilServant8/8/2003 11:36:58 AM
I think we just really need to standardi...  (jtmerch8/8/2003 9:03:01 PM
Although the issue raised here is ge...  (symatheticCoder8/11/2003 11:35:42 AM
symatheticCoder, bite me dumbass!! ...  (8/11/2003 3:22:05 PM
civilServant has a good point. I work f...  (T. C. Boring8/12/2003 10:58:44 AM
Just like here in the 90s...everyone i...  (anon8/13/2003 7:24:36 AM
Note that government jobs are not safe f...  (Chris8/13/2003 9:09:26 PM
In SC as well. And get this shit, they'r...  (8/14/2003 3:35:47 PM
I think now is not as bad of time for Am...  (American Programmer8/17/2003 2:45:38 PM
Sorry, but that last message was ridicul...  (AngryAtConsultants8/19/2003 10:30:33 AM
Sorry but the response to becoming somet...  (American Programmer8/20/2003 1:49:02 PM
Is there anyone here who only owns Ameri...  (8/21/2003 5:45:10 PM
I am calling India's bluff. I don't thi...  (American Programmer8/22/2003 2:07:59 PM
I'm surviving -- barely. My pay now is w...  (calltoarms8/22/2003 2:28:39 PM
American Programmer, it is one thing for...  (AngryAtConsultants8/22/2003 4:36:25 PM
I am not arguing with anyone who says th...  (American Programmer8/23/2003 12:43:42 PM
Very interesting post.... I bet we will ...  (American Programmer8/23/2003 12:48:08 PM
Add to that increased terrorism...India ...  (anon8/25/2003 12:27:34 PM
I see your point... however, I disagree ...  (AngryAtConsultants8/25/2003 3:56:06 PM
Well logic and business is not a nerds f...  (American Programmer8/26/2003 12:10:56 PM
Great article, but only for the big guys...  (Russ Horton8/26/2003 4:32:03 PM
I've worked as a software developer for ...  (canadian9/1/2003 9:14:02 PM
As a corollary to my previous message, I...  (canadian9/1/2003 9:34:41 PM
I guess we have strayed a long way from ...  (argue9/4/2003 11:46:00 AM
Don't work for a low-margin company. Ve...  (AngryAtConsultants9/5/2003 1:26:26 PM
to chombe & angry1stgenimmigrant a si...  (Sad1stGenImmigrant9/12/2003 5:15:49 PM
Here is my opinion. Find the best progra...  (Dave Mohr9/17/2003 9:53:20 AM
I worked on a project with 4 other very ...  (10/3/2003 10:17:13 AM
It is ridiculous to see so many so calle...  (common_sense10/6/2003 8:28:29 AM
I am truly amazed at the rampant racism ...  (Amazed10/13/2003 4:32:29 PM
I couldn't agree more with Amazed. I...  (An American10/13/2003 10:05:10 PM
I think the previous two post missed the...  (American Programmer10/15/2003 2:02:02 PM
This article is nuts. Are you a devel...  (Sam Pottington10/16/2003 1:51:16 AM
Sam, I hope you don't mean weapons and a...  (AmazedAtStupidity10/17/2003 1:42:36 PM
Ok guys and girls. Lets get real. What ...  (developer199610/22/2003 11:40:50 AM
I'm afraid the loss of computer jobs wil...  (Jammin10/22/2003 11:43:00 AM
I think some of the posting here have pi...  (Derek10/31/2003 11:45:51 AM
My experience has shown that the quality...  (gb11/6/2003 7:27:00 AM
I agree with the poster that eventually ...  (EntryLevelProgrammer11/15/2003 12:18:39 PM
A little late to comment on the article,...  (Abhik Chowdhury6/16/2004 5:16:11 AM
Well this site is something else! I hav...  (MilDotNet7/30/2004 4:13:37 PM
This is bullshit...  (f. mejia10/28/2004 4:20:47 PM
Nice and comprehensive site. Deepa, http...  (Deepa1/26/2006 10:50:22 PM
Well Done. http://www.orchidsnroses.com...  (Naresh3/12/2006 12:04:40 AM
This is informative. http://www.orchids...  (Naresh4/6/2006 3:25:08 AM
Send flowers & gifts through www.rightfl...  (RKR5/2/2006 1:06:13 AM
http://www.delhionlineflorists.com Send...  (rkr5/2/2006 6:30:53 AM
http://www.la-ringtones.com/mp3/ rington...  (funny ringtones8/3/2006 3:58:13 AM
...  (8/3/2006 3:58:48 AM
http://www.la-ringtones.com/mp3/ rington...  (funny ringtones8/3/2006 3:59:24 AM
http://www.ringtones-dir.com/get/ ringto...  (ringtones free8/5/2006 4:16:03 AM
http://www.ringtones-dir.com/get/ ringto...  (ringtones free8/5/2006 4:16:07 AM
http://www.la-ringtones.com/mp3/ rington...  (funny ringtones8/6/2006 2:52:36 AM
http://www.la-ringtones.com/mp3/ rington...  (funny ringtones8/6/2006 2:52:37 AM
funny ringtones...  (cokwnbq@search.com8/6/2006 2:52:38 AM
http://www.ringtones-rate.com/mp3/ ringt...  (funny ringtones8/6/2006 7:21:43 PM
http://www.ringtones-rate.com/mp3/ ringt...  (funny ringtones8/6/2006 7:21:46 PM