Serious Software Engineer

Adam AntThe latest post on Brilliant Leap asks “What is a developer anyway?” Wikipedia has some interesting things to say about programmers and software developers; the article on software engineering says this:

The term software engineer is used very liberally in the corporate world. Very few of the practicing software engineers actually hold Software Engineering degrees from accredited universities. In fact, according to the Association for Computing Machinery, “most people who now function in the U.S. as serious software engineers have degrees in computer science, not in software engineering.”

I call myself a software engineer (when not compelled to bear the also-liberally-used title “Software Architect“) and have a degree in Computer Science. Do I function as a serious software engineer? Me, serious? I might be desperate, but I’m not serious. Let’s save the semantic cage match between programmers, engineers, and architects for another time.

The Brilliant Leap article is more concerned with commerce than convention: What do customers expect to get from a software developer, and how much are they willing to pay? After a few decades, the business world still can’t gauge developers on individual merits. They’re still fumbling around with college degrees, certifications, and “reputable” consulting firms, none of which assures top talent or good fits. The problem may no longer be just a search issue.

Welcome to the decline and fall of the IT developer. IT software development is a costly support function; it may be important to the business, but so are fax machines and photocopiers. Businesses love to reduce or eliminate costs, and it’s easy for a CEO cruising at 40,000 feet above actual business processes to see anything not directly contributing to the bottom line as taking away from it. Lacking metrics to assess the bottom-line benefit of new software systems only bolsters that impression as cost without profit.

Goose That Laid the Golden EggsMany companies actually make their money by selling code or silicon. Developers are the golden-egg-laying geese for companies like Apple, Google, and Bioware. These companies thrive on innovation and creativity, something that generates a real market for talent. Such companies also draw talent directly to themselves. Like many of my coworkers at Commodore, I was drawn to the company by being an enthusiastic user first. That, a little luck, and a good friend led to the best three years of my professional life. Maybe not the highest paying, but imagine that you work at Apple and somebody whips out their iPod Touch and starts raving about it. You contributed some part, however small, to something that is inherently cool and generates real enthusiasm–fanaticism even. How do you think that would feel? Job satisfaction can be such a wonderful thing.

I’ve noticed some trends over the last few years that support the notion of a feedback loop causing the decline and fall of the IT developer, especially in the Documentum world. Each one deserves some serious discussion, so I’ll elaborate on each in separate posts:

  • Fewer interesting projects
  • More mediocre developers
  • Poor management decisions