GOING GLOBAL
I'm an IT manager for a small manufacturing company. I've been discussing offshoring with friends for some time and wanted to comment about your "Runaway Production" editorial (Comment, May 2005).
I worked as a contractor in Hayward, Calif., for a company that had a number of contract programmers from India. When a coworker complained that "they" were stealing jobs from Americans, I asked one of the programmers what he'd be making in India doing comparable work. He replied that he'd be making $7 to $11 an hour. I knew that he and the others were making $40 an hour here. So I asked my complaining coworker, "If you could make three to four times as much elsewhere as you were making here, would you go?" Without hesitating, he replied "Absolutely." Maybe we're not so different after all. In this global economy, there's always someone somewhere who will do it cheaper.
We as American workers are stuck. Until cost and pricing stabilize around the globe, our economy will suffer the most because we have the highest cost of living. I find it interesting that because corporate America controls globalization, the new global economy benefits corporations while crippling American citizens. And of course our aging politicians support the corporate-defined process. Since John Q. Public started going broke, corporations have shown profit based on reduction of cost rather than actual sales or services.
The global economy is here to stay, but let's replace the old dogs with young dogspeople who understand the new technology and can manage it to everyone's benefit; young blood can create a win-win for corporate America and the public. For example, why not let the corporations outsource, but when the end product returns to America, fix the profit to a certain percentage of cost?
Michael L. Wheelen |
NO FURTHER USE?
I agree with the film industry about keeping jobs in the United States. A great many software developers here are willing to accept reduced wages just to have a job. I've been out of work in the software arena for almost five years now and have finally decided to exit the trade. I've passed my state insurance license exam and am walking away from more than 20 years as a programmer. I need more than hit-or-miss temp jobs to fund my retirement and keep a roof over my family's head. I never thought that at age 48, I'd be of no further use to society as a programmer.
Mike Glahn
Technical Support
Pearson Educational Measurement
Iowa City, Iowa
AMERICAN DECLINE
Since the May issue arrived, I've been thinking about Alexandra Weber Morales's editorial, "Runaway Production." Although I agree with her thesis, I don't completely agree with her conclusion. Yes, wily corporations are biting off their noses to spite their faces, and yes, they have the "opportunity" to exploit workers and grow multinational organizations, but the problem goes much deeper.
What my Michigan-based company has been doing is indicative of the fundamental problem. A few years ago, we merged with another organization that proceeded to blow through $4 million on a project that was going to Save the World and Make Us All Rich. You can guess how it went: lay off, trim down, new management, new project. This time, a consulting house has been brought in. Though the bill will be higher, the results will surely be the same: missed dates, big performance problems and all the normal mess that accompanies this kind of endeavor. Interestingly, the project aims to replace a "legacy" system that works just fine, and the expertise to grow it is all in-house. By contrast, every single person working on the Save the World project is from overseas.
American companies are run by fools interested only in short-term results, and the offshore community is ready, eager and willing to step in and take over. Because the relationship between government and industry in the United States is adversarial (compared with that in, say, Japan and Korea), we've seen the steel industry more or less vanish, the automobile industry get into deep trouble and the electronics industry disappear. We've allowed special-interest groups to tie up industrial growth in lawsuits to the point where no one will even try to build a basic industrial facility anywhere in North America, and we're on the rapid road to becoming a client of other countries that are willing to invest in their future. If we had to fight a war with Asia, we wouldn't be able to produce the basic materials we'd need to do so. Now that we've let our industrial capability go, we're letting our intellectual capability go, too: Witness American students' sad 17th-place showing in the ACM's International Collegiate Programming Contest this year.
Your magazine is full of "tools"tools that do everything but require the developer to have any idea of what's going on behind the scenes. That's indicative of the fundamental problem in the industry: if it's not "click and drool," it's not going to happen. Yes, globalization is inevitableand so is the ultimate decline of America, unless we stop fooling around and get back to work.
Thomas Ronayne
Senior Software Engineer
Location Withheld
FRESH FEATURE
I realize that Mike Riley probably wrote "Cross-Platform Development ... On the Cheap" (May 2005) before the release of PostgreSQL 8.0, but I thought I'd point out that as of 8.0, there is a native Windows port of PostgreSQL, and it works very well.
Joey Smith
Web Engineer
Novell
Provo, Utah
Mike Riley responds:
Yes, the lag time associated with old-fashioned ink on paper often befuddles the best of us. However, even with the release of the PostgreSQL Windows client, its usability pales in comparison to MySQL (which in turn pales in comparison to commercial tools from Microsoft, Oracle and IBM). Nevertheless, it's great to see that the PG folks haven't taken a hard line against GUI-based RDBMS administration tools, as they often take products beyond the computer scientists who dream in binary into the realm of real-world developers swimming against the tide of overbearing deadlines and commitments.
ARGUING AGILE ALGORITHMS
In "Agile Handcuffs" (Feedback, May 2005), Tom Pittman responded to an article by Robert Martin ("The Tipping Point: Stability and Instability in OO Design," March 2005), and I noticed a couple of errors that I believe merit attention.
In his letter, Mr. Pittman states "... it's an easy process ... to attain infinitely stable code ... simply by creating a single monolithic module." I reviewed my copy of Martin's Agile Software Development: Principles, Patterns and Practices (Prentice Hall, 2002) and found that the actual formula for instability (not stability) is I = Ce/(Ce + Ca), where Ce is the number of classes in other packages that the subject package depends on, and Ca is the number of classes in other packages that depend on the subject package. In the degenerate case of a single package, both figures are 0, meaning that the package is infinitely instable.
Pittman's comment "... but that's trivially and easily reduced to a best-case D metric of 0 by adding a single meaningless dependency" ignores the fact that the meaningless dependency package would simply take over the -1 D metric, thereby exposing the "trick."
I certainly appreciate that one size doesn't fit all and that there are legitimate circumstances in which such metrics aren't valid. However, I believe that the examples given aren't examples of this.
John Elrick
Fenestra Technologies
System Designer & Test System Developer
Winchester, Va.
Robert C. Martin responds:
These metrics are certainly not perfect. There are many ways for them to give misreadingsso no one should enforce rules about them. The intent of the metrics is to provide developers and architects with hints about things that might be going wrong with a design.
If a package (and remember, a package in this context is a JAR file or a DLL) deviates from the main sequence (has a D metric greater than zero), this indicates that the package has concrete classes that other packages depend on, or has abstract classes that other packages do not depend on. Either of those conditions is suspect and may warrant further review.
Even though false negatives and false positives are possible, it seems to me that some help is better than no help. By the way, check out the FitNesse tools that use JDepend to calculate these metrics in an acceptance-testing framework.
NOT .NET
In "Marco Polo, Meet GPS" (New and Noteworthy, May 2005), Rick Wayne mention a product called "Team Remote ASP Debugger." The second paragraph starts "For ASP.NET developers, there's now a simple, cost-effective tool that lets you run a debugger on ASP, VBScript and JavaScript in place on the server." The article goes on to discuss how this device can help ASP developers remotely debug their applications.
I contacted the manufacturer, Spline Technologies, and found that the product is just for ASP, not for ASP.NET. They were happy to hear about the review, but they weren't sure what the .NET part was about.
I wanted to let you know that, as well as the fact that this review will probably result in a purchase.
There's always something in each issue of SD that makes me read the next one. Keep up the good work!
Bill Wehnert
DBA/Sr. Software Engineer
AON Safetylogic
Glenview, Ill.
NO MORE CONSPIRACIES
It's striking that all of the examples of e-voting problems cited in Alexandra Weber Morales's "The E-Vote Allies" (Comment, March 2005) robbed votes from Kerry and gave them to Bush. It's as if Morales wants us to believe that 100 percent of e-voting errors were discriminatoryas if there really were some sort of conspiracy.
While Morales certainly has a right to her opinion, Software Development is not the place to air political bias or conspiracy theories. (One author doing that every month on the last page is enough!)
Morales relies on The New York Times as her source. Gee, now there's an unbiased sourcenot! Nor does she mention the fact that studies show that e-voting is improving voting accuracy.
It's also interesting to note that the only reference for the derogatory quotes is "an article posted on the ITAA website." She wants us to believe that whoever wrote the article represents or speaks for ITAA. Let's see a reference, please.
Last, e-voting has proved to be more accurate than other forms of voting. Comparisons between the 2004 and previous elections bear this out (or I suppose the ITAA's falsifying these studies, too). But because it's not perfect, and some people's chosen candidate didn't win, outlandish accusations of cheating and theft have arisen. I wonder if any of these would be an issue, or if this article would have even been written, had Kerry won. Somehow, I doubt it.
William Mostyn
Trophy Club, Tex.
Alexandra Weber Morales responds:
Not all of the voting errors I cited were in favor of Bush. I specifically quoted the New York Times article that said a "malfunction wiped out some 4,500 votes in local races in Carteret County, N.C.apparently because the machine had been programmed to accept a lower number of votes than were actually cast." The specific candidates and whether votes were cast for or against them were not named in this instance. I also spoke favorably about the Diebold AccuVote systems we've used in my county since 2000, saying that I find the final "review your vote" feature a vast improvement over scanning a punch card to make sure its holes match up to my intended votes.
Nor did I air a conspiracy theory (I don't believe in them). I did quote the Information Technology Association of America's president, Harris Miller, who blasted "conspiracy theorists who think something went wrong" in my opening paragraphperhaps you confused that quote with my thesis, which was to follow the money and report the behavior of IT's most powerful lobbying group (the ITAA has also played an important role in facilitating outsourcing; see my February 2005 editorial). I didn't print claims of cheating or theft, either.
As for sources, I read various publications, cited the ITAA's own data extensively (never claiming it was fraudulent) and personally interviewed Miller. My point, clearly stated in closing, was that politicization of the e-voting process, via lobbyists representing the six largest e-voting manufacturers, is inappropriate for a democracy such as ours. The role of software systems in society is well within the purview of Software Development. Perhaps if you read the editorial again with these points in mind, you'll come to a different conclusion.
Warren Keuffel responds:
I would point out that in my home state, Utaharguably the reddest of the "red states"the legislature and governor (Republicans all) have enacted legislation requiring a paper ballot trail. This from a government that is in the process of rejecting President Bush's No Child Left Behind program as an intrusion on states' rights. Since there are no liberals here to speak of (certainly not enough to bother to appease), why would these worthies require a paper ballot trail if it were a vast left-wing conspiracy?
See the map to see which states have passed voter-verified paper ballot legislation.
C SUCCESSES
Pertaining to "Praise C, Sir?" (Timewarp, May 2005), C is a perfect language to do anything in. It doesn't have the overhead of Java and requires programmers to actually think about what they do with memory, pointers, strings and so on. Other languages lose their validity and can't be streamlined like C; for example, LISP and Lambda closures. If you think in Lambda, by all means forget C. However, if you dive down into that application software you love so well, you'll find extern Pascal APIs, extern C APIs and more.
I'm not a big GUI programmer. I love utility command-line interfaces written in C. I've ported several of these programs over to Java and watched the runtimes go up; I've reviewed the C-to-Java coding techniques with peers and found many good suggestions.
Mapping your data in a database or XML can help. However, most VBScript programmers are so far away from structured programming, they might as well be trying to navigate the ocean in a rubber life raft.
Ever write a connectionless website? Several tight 300+-line C programs running on a local system awaiting some XML info on disk can do the job faster than that garbage dynamic ASP code that connects to the database from the browser.
Name withheld
Merrimack, N.H.
NO PHONY HISTORIES
I like Robert Martin's Craftsman series, but the phony WWII history at the beginning, although cute the first time or two, wastes space, and in the May issue ("Obliteration in Overdrive"), it was actually offensive. My father was a helmsman on the USS Saratoga carrier in the war, and Pearl Harbor was a terrible tragedy that cost many lives. This fictional storyline doesn't belong in a software development magazine. Why not stick to the story of Alphonse and Jerry and leave the science fiction for some other publication? Please ask Mr. Martin to limit his contribution to the meat.
Name withheld
Robert Martin responds:
I'm sorry that you found the Pearl Harbor story offensive. Alternate histories are ways of looking at real events from different points of view, and sometimes that's uncomfortable.
I try to keep the back story short so that it doesn't detract from the article's intent, which is to teach best practices in software.
WE'RE NO HEROES
I know that Alexandra Weber Morales, in "Murphy's Law" (Comment, November 2004), and the anonymous writer of "Sisterhood Is Powerful" (Feedback, March 2005) in response to that editorial meant no disrespect, but I was put off after reading these.
It's as if women who have careers and children are to be worshipped for juggling them, while men with careers and children are just men with careers and largely ignored. Excuse me, but men with children juggle career and fatherhood as well. In today's two-income families, both parents must work together to manage the household. But somehow, society wants only to recognize the ever-popular "mother juggling a career."
I go grocery shopping, pay the bills, do the wash, pick up the house, make dinner, and stay at home with the kids when one is sick. Am I a hero? NoI'm simply doing what I'm supposed to do.
I'd be surprised if many of the "interoffice geek club" were married, with kids. While playing computer games is certainly a male-dominated activity, it's also something single people are more apt to do.
I work with women, and while most don't share my interest in programming as a hobby or reading sci-fi, we still have plenty to talk about, especially regarding our families. I also love music, dance and reading nontechnical, non-sci-fi books, as well. It's unfair to stereotype male programmers as men who simply spend all of their free time programming and playing computer games, while leaving their wives to raise the kids, run the household and have a career.
I encourage the anonymous letter writer to make more of an effort to mingle with her coworkers. I think she'll find she has more in common than she thinks, especially with those near her own age.
William Mostyn
Trophy Club, Tex.
Alexandra Weber Morales responds:
The main motivation behind this editorial was the perfect irony of interviewing a prominent IT expert about the absence of women in the open-source software community while having a childcare meltdown at the same time. I found it interesting that a number of readersnot all femalewere inspired by my story to share their own problems with juggling family and career. While career and domestic work parity between men and women is certainly improving, until we can statistically show equity in the home and at workand that has yet to happenwe can't say that the problems don't exist.
That said, your point about being more well-rounded than the geek stereotype is exactly what I discuss in this month's editorial.