HomeDigital EditionSys-Con RadioSearch Java Cd
Advanced Java AWT Book Reviews/Excerpts Client Server Corba Editorials Embedded Java Enterprise Java IDE's Industry Watch Integration Interviews Java Applet Java & Databases Java & Web Services Java Fundamentals Java Native Interface Java Servlets Java Beans J2ME Libraries .NET Object Orientation Observations/IMHO Product Reviews Scalability & Performance Security Server Side Source Code Straight Talking Swing Threads Using Java with others Wireless XML

One of the distinctive qualities of the high-tech industry is that the people who make technology love technology. They love its powerful capabilities, its potential, and the opportunity it provides for creativity.

But that love can also overflow and drown out little details like business plans and common sense. In the past several years, technological advances leapfrogged over real-world needs.

As a result, a lot of companies and highly creative, motivated engineers expended a tremendous amount of time, effort, and money creating "killer apps" that had no real problems to solve.

A typical example of this is a company that developed a supply chain application for the apparel industry. What the developers failed to realize is that the apparel industry at the time was running quite nicely via fax and paper.

Many of the intended customers for this high-tech application are small companies run by non-English-speaking people. For this application to work in the real world, its developers needed to convince everyone in the industry to (1) decide on a common language, and (2) buy into and learn one system. Guess what. It didn't happen.

It was once easy to find talented engineers to buy into these pie-in-the-sky enterprises, with the lure of untold billions once the product hit the street. But a lot of the senior engineers we talk to today now have a different set of priorities. They no longer ask, "How much stock are they offering and when is the IPO?"

Today's top engineers are no longer interested in building technology for its own sake; they want to build something that will solve real problems. Many of them tell us that they became engineers to make something useful. However, after months or years of hard work, many have found they've created something that's useless.

Chris has been a software architect for the past 10 years. His professional experience spans both startup and major corporate environments. For the past year and a half, he's worked at a major "household name" software company where teams of up to 50 engineers build his software applications.

"People who write software are creative," he says. "But on a large software project with teams of 10 or 20 people, not everyone can create their own error-handling mechanism.

"Lots of engineers come into a major project and think they can do it better, so they go off and do their own thing," says Chris. "The architectural discipline is important. There are lots of aspects that go into the product."

In his experience, many engineers lack the ability to follow an architectural guideline. He attributes this problem to the current focus of software engineering education.

"They spend a lot of time teaching programming languages, so everyone focuses on coding," he says. "But almost no one who's come out of school recently knows what it means to build a product or understands the value of architecture."

Recent engineering graduates entering the corporate world have an understandable need to prove themselves. According to Chris, many of them try to establish themselves by doing things their own way, trying to prove that they can do it better, faster.

"The startup culture encouraged that approach," he says. "Many had very loose, creative environments with people becoming heroes by working 24 hours straight over the weekend."

That culture also nurtured the attitude of "let's make it and then see if it works," which is the complete opposite of what's required when a major company sets out to design and build a product.

Many of these creative, lone-gun engineering heroes now have difficulty working in a collaborate environment, on a specific piece of a very large puzzle.

"From the company's viewpoint it creates issues," he says. "All engineers on the team need to be clear on the product and the architecture. They need to know the technology and the alternatives, to understand the whole product, not just one part of it."

Chris observes that with the startup boom behind us, the interview process has become more effective to a point. "People are looking for very specific skillsets now; they're not just hiring anyone who's available."

Yet the hiring process doesn't always screen out candidates who may be temperamentally unsuited for a large-scale project when the interview consists only of a candidate talking with a couple of people for two hours.

Many of the major companies have implemented more comprehensive, rigorous hiring processes to screen candidates not only for skillsets and technical expertise, but for their ability to work effectively in a team.

Because when creating major products to solve real-world problems, there's a lot more required than creativity and heroism.

.  .  .

E-mail us your feedback. We're always interested in hearing from you.

Author Bios
Bill Baloglu is a principal at ObjectFocus (www. ObjectFocus.com), a Java staffing firm in Silicon Valley. Bill has extensive OO experience and has held software development and senior technical management positions at several Silicon Valley firms.

Billy Palmieri is a seasoned staffing industry executive and a principal at ObjectFocus. His prior position was at Renaissance Worldwide, where he held several senior management positions in the firm's Silicon Valley operations. [email protected]

All Rights Reserved
Copyright ©  2004 SYS-CON Media, Inc.
  E-mail: [email protected]

Java and Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. SYS-CON Publications, Inc. is independent of Sun Microsystems, Inc.