Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×
United States Books Media Book Reviews

Review:Rise & Resurrection of the American Programmer 78

SEGV, the old faithful of reviews, has sent in one of his latest reviews, this one of Edward Yourdon's latest book Rise and Resurrection of the American Programmer. For those of you who remember, several years ago, Yourdon wrote a book about how the American programmer/developer was doomed. Recent years have changed his opinion, and in this book he talks about the change that he says across the landscape. Fascinating idea-click below for the review.
Rise and Resurrection of the American Programmer
author Edward Yourdon
pages
publisher Prentice-Hall, Inc.
rating 8.5
reviewer SEGV
ISBN 0-13-121831-X
summary A few years later, this industry autopsy remains an interesting and insightful read.

Decline and Fall

In the beginning of this decade, Edward Yourdon wrote Decline and Fall of the American Programmer, a pessimistic assessment of the American software industry in the global marketplace. I haven't read that book, but Ed conveniently summarizes it in the first chapter of this book.

His premise was simple: North American programmers are more expensive, less productive, and produce lower quality software than programmers elsewhere in the world. Therefore, he argued, competitive forces will drive them into extinction. He backed this up with a battery of data, figures, case studies, and anecdotal evidence.

This was apparently a wake-up call. After all, Ed wasn't merely an ignorant consultant. Rather, with 35 years in the industry, he had programmed mainframes and helped to invent structure design methodology. People listened to him.

Rise and Resurrection

But something happened during the first half of this decade. Not all of Ed's predictions came true; not all software development migrated to Bangalore, India; not all American programmers fell off the evolutionary ladder.

This book, Rise and Resurrection of the American Programmer, was written mid-decade to reexamine the situation then. Remember 1995? The web was just taking off, Microsoft Windows 95 was just released, Java was just beta, and Linux was just a hacker's toy.

Now the decade is closing, Ed is focusing on Y2K issues, and I've just finished reading this book. Some of Ed's views have dated, and some remain relevant. I'll try to enumerate a few of them here.

Java and the Internet

Ed stressed the importance of corporations embracing the internet. After all, he argued, competitors will. This has turned out to be correct. He also was extremely enthusiastic about Java, which wasn't even shipping when he wrote the book. Although most of the chapter explains the language and environment, and ends up sounding like a Sun white paper, one interesting nugget is Ed's suggestion that Microsoft may simply "embrace and assimilate" Java for themselves.

The Microsoft Paradigm

Let's be frank; Microsoft is quite successful, and does some things right. Ed dissects the corporation and comes to several conclusions. With section headings such as "The Dark Side of the Force" and "Into the Belly of the Beast," this chapter acknowledges public sentiment and should interest most Slashdot readers. But Ed concludes that Microsoft's hackers are growing up, and the corporation's powerful position will be difficult to assault.

Linux and Open Source Software

Ed pretty much missed this one. I didn't see any mention of Linux, hardly a blip on the radar when this book was written. Curiously, I also didn't see any mention of open source software, a wider concept that has been around for decades.

The closest hint I saw of the rising phenomenon was regarding Java's ability to change the economics of paying for software. Ed suggested that downloadable applets and web interaction make it possible to sell a "one-time usage" of software components, which could threaten existing software vendors with monolithic products.

An Enjoyable Read

At just over 300 pages, this book covers quite a few topics. I thought the chapters on peopleware and good-enough software were quite well done. Other chapters spurred me to learn more about the Capability Maturity Model and Personal Software Practices.

Ed is a frank and readable writer, and the book is quite digestible. It's fun to read recent predictions and analyze where they went wrong, and right (remember, hindsight's 20/20!). The book is almost a time capsule of the mid-nineties, which coincidentally being when I started working with computers in earnest was a refreshing read for myself. I think it will be for you as well.

Ed's web site is at www.yourdon.com.

Buy this book here.

TABLE OF CONTENTS

Preface
Trademark Acknowledgements
Part One: Decline & Fall Reexamined
1. The Original Premise
2. Peopleware
3. The Other Silver Bullets
Part Two: Repaving Cowpaths
4. System Dynamics
5. Personal Software Practices
6. Best Practices
7. Good-Enough Software
Part Three: The Brave New World
8. Service Systems
9. The Internet
10. Java and the New Programming Paradigm
11. The Microsoft Paradigm
12. Embedded Systems and Brave New Worlds
13. Past, Present, and Future
Appendix: An Updated Programmer's Bookshelf
Index

This discussion has been archived. No new comments can be posted.

Review:Rise & Resurrection of the American Programmer

Comments Filter:
  • by Anonymous Coward
    When I was at university here in the US, I remember one time our assignment was to write a simple substitution-cipher program. I came across one of the "better" programmers writing out code like this:

    if 'a' then
    if 'b' then
    if 'c' then

    And so on... And this was for [a-z] and [A-Z]!! I tried to tell him that this could be done in one line of code, but his response was that since he had already typed in so much, he wanted to use what he wrote. I find this really sad. It would have been quicker to write a program to generate the 52 lines of code than to type them in!! No wonder Microsoft code is bloated, if this is the type of programmers they hire!!

  • by Anonymous Coward
    Being one, and having been trained with others, I can say that many of the newly graduating programmers are ill equipped. Too many people are taking up programming with an eye solely on money. That's all I ever heard classmates talk about before class... "I'm gonna make 60K / I'm gonna make 100K / This guy I know makes $x / etc." They learn enough to pass their classes (make a small database and a card game, or something), and get hired by people who know less than them. Apathy does not make good code, nor does an eye on your next raise.
    Obviously, there are some damn good American programmers, but the rest of us could be better. I imagine that anyone reading this is pretty good (or at least trying), as it shows the personal initiative of reading information on your field, but how many others just toe the line for a check? If those "programmers" end up losing out to better foreign programmers, that's their own fault. Would you rather have the air traffic control software for your flight be programmed by a shoddy textbook American or a foreigner who takes great pride in his work? Regardless of nationality, we all need to constantly assess ourselves. It's our skills that make us valuable, not our nationality.
  • This guy picked up on the y2k hysteria bandwagon and lost what respect I had for him. Blech.
  • I talked to a computer science researcher at the university of Kyto last summer, and he explained something very interesting about the way the language barrier worked:

    Of course, you have to know english to be able to do comp sci. It's what the vast majority of programming languages are based on (I've yet to see otherwise, in fact). Understanding english-based programming languages is not a problem for the japanese researchers. The problem is generating new ideas, and expressing them in english. If, for example, they want to create a new language, it has to be in english if they expect anyone outside of japan to use it. However, not being native english speakers they cannot conceptualize and express it effectivly, and this really hurts their position in comp sci reseach generally.

    Japan's main software industry is in entertainment. Otherwise, they use the Japanese version of Windows, the Japanese version of MS Word, etc... Software is imported and translated, rather than created at home. Basically, the American programmer is in no danger simply because of a natural language advantage, and an already dominating position in the global marketplace.
  • Recent events made him change his mind, eh? Like the events the proved his original thesis was completely wrong?
  • What you're missing is that many of these Indian programmers are Americans! A very large number of Indian programmers are US citizens or wish to become US citizens.
  • Well, America was built on immigration. A lot of the "foreign" programmers that come here do so with the hopes of becoming a US citizen or getting permanent residence. (Some are undoubtedly here just to make some cash as well). The fact that they can't get those types of visas easily is not necessarily their fault. So a lot of these people should count as Americans, IMO. But I agree with you that American companies do value the skills these people bring.
  • Predictions of massive loss of American jobs to foreign programmers reminds me of people constantly saying how America's poor educational system was going to cause us to fall behind competitors in Japan and Europe, whose students dramatically outperform US students in international comparisons. But guess what, the US is holding its own just find with Europe and Japan, despite an entire generating of people growing up in our supposedly third rate education system.

    What I think these analyses fail to take into account is how American culture makes up for a lot of things. Americans have a more anti-establishment, anti-authoritarian outlook than people in most other countries. I think this tends to lead to more questioning of the current ways of doing things and thus a lot of innovation (Java being a great example from this book). Americans have certainly been heavily involved in most major software innovations. Additionally, America is very socially mobile, and has a culture that encourages people to take risks by starting busiesses, or jumping to a startup in the hopes of long hours and quick bucks. America is also fixated on freedom and rights so it should surprise no one that the "free software" movement had much of its genesis in America. In short, people in some other countries might be able to reguritate facts on an exam better than we can, but we've got a few qualities of our own that can make up (in some cases more than make up) for that.

    The above paragraph is not meant to suggest that other countries are filled with sheep satisfied with their lot in life and with no ambition or mobility. I'm only saying that the elements I highlighted are more prevalent in America than elsewhere (which is something that many promient scholars agree with, BTW).
  • Posted by The Mongolian Barbecue:

    This is yet another example of how most pundits and generalists are full of shit. They make a career out of pulling ideas out of their asses. If they guess right about things, they claim to be prophetic, and if they are wrong, they make a bunch of money updateting their crap
  • Of course there are good programers from India. I've met some.

    There are a couple problems they have not overcome though. One is language. I don't expect them to be good, but they should be at least passable. According to the mythical man-month writing code is 1/6th of a programing effort. My expirence backs that up. So being good at writing code doesn't help these excelent programs (who are not particularry better then Americans) do the other 5/6th of the job. Still overall I can deal with a few of these programers on the team, I'll make up the slack, they do add to a team when there aren't so many that the other 5/6th goes lacking.

    The porblem is my expirence is that these people are a minority. I worked with them in College, since many of the other students were not American. Most were not compentant programers. They couldn't be trusted to write the code that needed to be written in such a manor that I could go in after them and make a minor change. Unmaintainable code is a death toll in the real world. Much of the Y2K problem exists in code written in the 50s and early 60s! Mind you I've seen americans who write code just as bad, and just as many. The difference is I can shunt those americans off to the other 5/6th of the task.

    The sterotypes exist for a reason. Some sterotypes exist for the wrong reason, others are no longer true, but most sterotypes once existed in truth.

  • Yeah, but the ones that are here earning $30/hr aren't as big a threat to my livelihood as the ones in Bangalore earning $30/month. I welcome competition against the foreigners who are here, because they have to earn a US standard of living same as me.

    As a Canadian working in the US (thank you NAFTA), I can't believe I just said that.
  • Remember
    The ties may bind...

    ... but if they are made of leather they also chafe
  • Well, I can see where you're coming from, but...."If not all your predictions come true, then never write again." Is that what you're saying? Who's gonna tell Arthur C. Clarke? :-)

    dylan_-


    --

  • Well, Yourdon is always right. Actually he says that in his book, with examples. Prediction is a hard thing.

    A lot of the book isn't about prediction. It's about bettering yourself and your company. For example, by using best practices, or reading books on your own if your company won't train you.

    The book is a light and interesting read, even if it gets somethings wrong. Even in the opinion section, I don't agree with it all. And it is several years old, so has more historic than practical value right now.

    Personally, having only entered this industry in the mid-nineties, I missed the whole IBM/COBOL/decline thing in favour of the Linux/Java/resurrection thing. And I'm not even American.

    Actually, the more I think about it I'd give it a 7/10, simply because I don't think it rates as highly as More Effective C++ and wish to be internally consistent with my ratings.
  • He has written at least two other books since Rise and Resurrection. He also coauthored another book in the same year.

    See http://www.yourdon.com/articles/articlesummary.htm l#Technical books [yourdon.com] for more details.

  • The recent increase in foreign H-1B visas should confirm that corporate america values some attributes that foreign engineers bring that they cannot in the domestic job market. This despite some major corporations announcing a number of layoff.

    Yeah, they (the corporations) like the fact that they can bring over some rather unsuspecting foreigner, and make them some form of indentured servant by paying them a pittance, and waving the threat of no citizenship or loss of the visa over their heads.

    Anyone who really belives that there were so few programmers in the US to fill all the jobs needs to have their head examined. Corporations made all that bullshit up just so they could get their fodder for a lot cheaper than they would have had to pay if the potential employees were American. And the government, clueful as they are, agreed with them.

    It's a sad, sad world.

  • Does this mean that there will be a civilisation after 2,000, and that angry mobs won't string all programmers up by their entrails in the centres of looted, burned-out cities?
  • Sorry I'm late.

    Amazon $13.56
    BarnesAndNoble $13.56
    Shopping $11.01
    Spree $13.56
    1BookStreet $15.26 (includes shipping)

    Regards, Ralph.
  • You guys are way to harsh. Yourdon's first book was a wake up call to the industry, and anyone who was around at the time knows it. The fact that many of his predictions didn't come true reinforces the idea that his first book had good value as a cautionary tale. It got many people to change the way they looked at their careers, to get off their butts and do something before the worst case scenario came true.

    Just because you have a bad case of 'pony tail guru' envy doesn't mean you can't do something about it. No one is stopping you from getting out there and writing the next big gloom-and-doom best seller. Go for it!



  • I would consider the Internet as a good example of concrete proof that open-source methodologies work better than CMM or any other proprietary whiz-bang methodology-du-jour. Nothing is more open than an RFC or its reference implementation.

    Not to mention Linux, Apache, etc...

  • "Writing another book to sell that is basically a correction of his last book. You'd have to be a sucker to buy it."
    Why does that make me think of Windows98?
  • If Amazon wants to subsidise my slashdot habit, great, but isn't this a review of a book that's been out for three or four years? And isn't it about time for a new one from him where he says this one and the one before that were all wrong?
  • Just a personal thing, maybe. I used to subscribe to Computer Language magazine back in the late '80s, and enjoyed it very much. Then Yourdon began writing a column for them, and the editors seemed to place great stock in his prescriptions. I found them to be tedious, annoying and just plain wrong. Consequently, I discontinued my subscription.

    Do they still publish, now?
  • You're talking about stereotypes? You basically just said that Indians and SE-Asians in general are better programmers because they're "foreigners". I think this assumption is based on the fact that are a substantial population of them in University but this has more to do with the fact that it's the "thing to do" - not because they are inherently better at it than your average "white folk."
  • Remember the 1990-1991 recession? Laid-off techies were moving out of Silicon Valley in droves, so many that the moving van companies couldn't cope.

    Those of you in your twenties don't remember hard times. They will come again. The business cycle hasn't been repealed.

    If you're tops in your field, you can do well even in recessions. If you aren't, or you were tops in your field but are getting a bit rusty, or you manage to get into a specialty that becomes obsolete, you may have big problems.

  • Comment removed based on user account deletion
  • The American programmers who leave after 5 years are generally people who have gotten tired of it. A lot of people who get teaching degrees burn out in the same fashion - they find it's not what they want to do with the rest of their lives, or it's not what they expected it would be when they were studying to get there.

    Don't confuse this with people who can't get jobs.

    Also, when talking about shipping programming jobs overseas, bear in mind the difficulty of coordinating that work with the programmers back home. This is definitely not trivial, when the time zones make it impossible to even teleconference during business hours.

    Jon
  • Stupid patriotism.

    Are we really waiting for such a book?
    Maybe yes, but why the **** AMERICAN!?!

    or is it just me?
  • Try _Death March_, by the same author. It's like _The Mythical Man Month_ but even more blunt.
  • Yourdon has pretty much been discredited in the software engineering community. The irony of this is that "Decline and Fall" was 50% right! In fact, there *are* many software engineering jobs moving to places like India. I know of several American companies that have opened operations there, or purchased pre-existing Indian subsidiaries.

    The difference is that high-tech jobs have grown at a much higher rate in the US, and despite the fact that the Internet makes the US->India system possible, there is still a lot of value in physical location (e.g. Silicon Valley/Alley/Route 128).

    One problem with many of these "sky-is-falling" types of predictions is that while they argue vociferously FOR their prediction, they fail to consider the another alternative -- that both systems prosper.
  • He did it again. His latest book is a doom and gloom Y2K book. Heard all about it on Art Bell, your quintessential fountain of paranoid delusional ramblings.
  • I thought many American programmer were already out of work. Statistics show only a small percentage of people who program when they leave college still doing it 20 years on.

    A lot of work certainly has moved abroad, and cheap labour is imported. I've spent quite a bit of time in Bangalore over the past year. Every street has some well known western companies, and each is employing 500 to 1000 people there. Nobody seems to bother with a small operation. It only makes sense to go off-shore if you do it big time.

    The results people get with these off-shore operations is very variable. Some of the best stuff in the world comes out of Bangalore - mostly software, but some chip design too. Some really low quality, low productivity work is also done there. Perhaps the results people get out of these operations reflect the effort they put into them.

    Now Hydrabad is on the rise, with thousands of prgrammers doing mundane Y2K work there. Chip design is also building up in Bangalore, Madras and Hydrabad.

    In Bangalore a reasonable programmer gets US$500 to US$800 a month. Even if they were not as productive as some other countries they would still offer could value.

    Cheap well educated people who speak good English sounds like an investor's dream come true. Perhaps the migration to India will gather pace now it has been seen to be successful. On the other hand it may be capped by a limited of suitable people. Prices have certainly soared in Bangalore in the past five years.

  • I was particularly frightened by the monetary figures... $500-$800 a month? Wow. I work for a VERY LARGE telecom as a contract consultant (programming, Oracle, etc) and they pay about $500 A DAY for me to be here. My consulting firm gets a cut of that, of course. So moneywise, it's certainly prudent for companies to look overseas. But...

    I work with a variety of people here. Indian, Romanian, Hungarian, and even a few Americans. My software group is 7 non-americans, 2 americans. But I don't worry. You know why? Because even though these people are smart, and write good code, they just don't get the big picture problems. They don't troubleshoot very well, and they don't self-task very well. They don't manage other people very well. They can't get their mind around the large issues, they don't understand the American way of doing business and serving customers, and they don't understand corporate politics and schmoozing. Their communications skills aren't as polished. Certainly there are exceptions, but that's my overall impression after working for 4 years in this industry. Also, I'm not defending some of the stupid corporate crap I put up with, but hey, that's what pays my (high) salary. I take the good with the bad. But I don't believe, not for a minute, that the majority of these programmers could do my job. If we pared my group down, one by one, I'd be the last to go. Multiple skillsets, superb communications skills, and cultural knowledge of how we do business are truly valued assets in a programmer. Why? Because so many programmers don't have them.

    Don't worry, be happy. And stash large amounts of $$$ for the future if I'm wrong.
  • Why are we even discussing this?

    I owe a lot to Ed Yourdon for his one truly great book: Managing the System Life Cycle. I unreservedly recommend it still, and wish he would update it.

    Decline and Rise both had some interesting history and surveys of the big iron software world, and I think his emphasis on software quality, SEI and the like are good, but frankly he's missed out on all the important new things happening since 1980, including but not limited to freeware/open source.

    Rise was published in 1996 and was out of touch even then. Why are we even bothering?

    --------
  • I dont see a need to distinguish between American and ,say, Finish programmers. When you become a programmer, you enter a culture that trancends the globe. You might be a citizen of country X or country Y, but if you program, your culture is one culture. Why do you think Linux is so good, because this culture has come together in one of its first collective, cross national efforts. Linux demonstrates the strength of these ties, despite great distances, and language barriers. Lets face it, when you program, you speak a common language. Granted, you might speak a dilect like C or Fortran, or whatever, but the roots of the language are the same. Programming is the tie that binds :)
  • Well, I've tried to hire qualified programmers, and it's a difficult thing to do. And it's not because they're being paid such poor wages -- I'm a programmer and I'm making a very good amount of money. But maybe it's just that I came here from the education profession. Maybe I just don't realize how much more deserving programmers are, but as a schoolteacher, I worked harder and was paid half as much.
  • Some of the Redmond-ites might see the place as a concentration camp, but Bill isn't exterminating them. In fact, they hang around till their stock options vest, and leave the place with a cool million or three.

    Comparing Gates to Hitler is just plain stupid, and shows a lack of imagination.

"Being against torture ought to be sort of a multipartisan thing." -- Karl Lehenbauer, as amended by Jeff Daiell, a Libertarian

Working...