All the news that isn’t

2005/10/24 at 13:28

I receive a weekly email containing links to tech business news articles from This morning’s email contained a link to a story that I find just shocking.
The article’s thesis: as software becomes more complex, it contains more defects and is more difficult to test:

Despite ever-more sophisticated tools and procedures for spotting software problems before they imperil systems, more bugs than ever are fouling up computers. The Standish Group, a Yarmouth research firm, estimated software deficiencies cost the U.S. economy $59 billion in 2003 and says the total has been rising since.
Systems fail more often today due to the demand for “intelligent” programs that execute complicated tasks instantaneously. But new theories on software development are becoming mainstream, ending what some believe is a vicious cycle of escalating system failures — and perhaps create a virtuous cycle for vendors who can anticipate bugs before they are ever born, rather than rooting them out after the fact.

And if that thesis alone isn’t enough to rock your world, the reporter dug deep to find new and relevant examples of such problems: the Y2K bug and the 2003 Northeast blackout.
Boy, this article took some first-class reporting.

Thoughts on outsourcing

2005/10/13 at 10:27

I currently manage an outsourced team of three QA engineers in Costa Rica, and at a former job we had team members in Bangalore, India. Due to this experience, people often ask me my opinions about outsourcing. Here are some of my thoughts that I usually share:
First, I like to point out that American jobs have been moving overseas for a long time now, decades at least. For the longest time, though, those were all manufacturing jobs. In my opinion, the current concerns about outsourcing are simply due to the fact that it’s moved up the socio-economic ladder to white collar jobs (such as software engineering) and people in those industries are feeling threatened. It’s not a new phenomenon.
As a liberal and someone who has traveled and lived abroad, my opinion is that the moving of jobs, especially higher level ones, from the U.S. to lesser-developed nations is a good thing: it will serve to level out the standard of living world-wide to some degree.
However, as someone who has been personally affected by outsourcing, I see that not only will it raise the standard of living of other countries, it will also lower the standard of living of Americans somewhat. And I don’t like having my job threatened any more than anyone else.
So, how do I reconcile these two views? Well, first of all, I view outsourcing as inevitable; there’s nothing that we Americans can do to stop it, short of major social restructuring. Therefore, I’d be foolish not to try to accommodate myself to the situation. In my case, that has meant getting experience managing outsourced teams.
In addition, I stick by my liberal principles. Outsourcing will be tough on Americans–even, possibly, me and my family–but in general, lesser disparities in standard of living are a good thing for everyone.

Interviewing software engineers

2005/06/23 at 10:56

This has been making the blog rounds the last few days. Joe Kraus has three interview questions can be used to tell whether an engineer might be a good fit for a start-up software company:

  1. Do you have a blog?
  2. What’s your home page?
  3. Do you contribute to an open source project?

When I read his post, I immediately thought of a coworker with whom I’ve worked at two start-up software companies. This guy is brilliant, articulate, hard-working and one of the most productive programmers I’ve ever seen. He’s been a huge asset to both start-up companies. But when this guy leaves the office, that’s the end of his technical life for the day. As far as I know, he doesn’t look at a computer outside of work.
So, this co-worker passes the spirit of Joe’s questions with flying colors, but would fail the actual questions miserably. I see what Joe is getting at with these questions, but the questions themselves are an absurd reduction.

More test data in production

2005/06/08 at 13:16

I was searching the Texas sex offender database (out of morbid curiosity) when I ran across this ‘offender’:
(Click on image for larger version)

Crunch mode

2005/05/24 at 13:18

Joey deVilla has a good blog post about crunch mode, which he defines as “working extra hours each day for extended periods in order to meet a (usually arbitrary and unrealistic) deadline.”
I agree completely with Joey that extended crunch mode is counter-productive. As work hours increase, productivity decreases, and at some point, you’re making so many errors that it becomes counter-productive.
The issue of work hours almost always comes up in some form when I interview for jobs. My stock answer is: software development is a cyclical enterprise. I understand that there are periods when much greater effort is necessary, and I’m willing to put in that periodic work.
And as a manager myself, I tell my team members that if they have to be in crunch mode more than periodically, then it’s a management failure.
I usually welcome this topic in a job interview, because the interviewer’s attitude toward crunch mode tells me a lot about the culture of the company and whether I want to work there. Thankfully, I’ve had the opportunity to work in several companies where management essentially agrees with me about the dubious value of perpetual crunch mode.

This is placeholder text

2005/04/21 at 11:08

In the same vein as yesterday’s post about test data in production applications, today I present production web sites that have the text ‘This is placeholder text‘.
(Via Jim Heid)

Test data in production

2005/04/20 at 10:35

If you go to the Nike Women Store Locator and select Afghanistan from the list, you’ll see that there’s a store named ‘blabla’ in a city called ‘test’ (found on This is Broken).
Oops. Somehow, the developer of this little application managed to get test data into the production application.

Well, it could have been worse: at least the city wasn’t named ‘f*ck’ and the store, ‘sh*t’ (asterisks for the sake of web filters, not because I’m a prude). As a software QA engineer, I used to use profanities in my test data. My vulgar data never made it into production, but my test system got used often enough for demos to management or, heaven forbid, customers that I finally learned my lesson.

What the Bubble Got Right

2004/09/29 at 16:34

Paul Graham, whose “Great Hackers” essay was making the rounds recently, has written another great essay, this one about the positive lessons we should take from the great internet bubble of the late 90s. I particularly liked his sixth section, titled “Nerds” (I prefer the term “geek”):

Clothing is only the most visible battleground in the war against formality. Nerds tend to eschew formality of any sort. They’re not impressed by one’s job title, for example, or any of the other appurtenances of authority.
Indeed, that’s practically the definition of a nerd. I found myself talking recently to someone from Hollywood who was planning a show about nerds. I thought it would be useful if I explained what a nerd was. What I came up with was: someone who doesn’t expend any effort on marketing himself.
A nerd, in other words, is someone who concentrates on substance.

Makin’ Bacon

2004/06/10 at 09:22

I already knew a bunch of people at my new job: the company was founded by some guys I worked with several years ago. Plus, they just hired as development manager the guy I worked for at two jobs since then. And, they also just hired someone I worked with at yet another job. Someone commented yesterday that I’m the Kevin Bacon of the Austin software development universe. I’m not sure what to make of that.


2004/05/21 at 15:16

A New York Times article discusses some designers’ call to simplify technology. These people claim:

There is too much needless complexity in the world, he argues. Technology, which was supposed to make our lives easier, has taken a wrong turn. In 20 years we’ve gone from the simplicity of MacPaint to Photoshop. While the first fostered a creative explosion, the second gave birth to an industry of how-to books and classes. And such complexity is commonplace, Dr. Maeda says. Despite the lip service paid to “ease of use,” “plug and play,” and “one-click shopping,” simplicity is an endangered quality in the digital world, he adds, and it is time to break free from technology’s intimidating complexity.

And of course they mention Microsoft Windows. I see their point, but they offer a tired argument. Can you do all the things with MacPaint that you can do with Photoshop? Of course not. PhotoShop (or Word, Windows, etc.) may have a zillion features, but these are programs with lots of users with very different needs. Sure, any individual user may only use a small subset of a program’s features, but there’s a group that needs every feature that’s been included. Contrary to what these folks imply, we aren’t just making things more complex for its own sake.