Wednesday, June 11, 2008

How to Be the Best Web 2.0 Developer

One of the sites I blog for is my friend Silvia Bassi’s CW Connect, a community for IT and telecom professionals in Brazil. Today a computer science student in the community asked what core skills are most valuable for developers aiming to work in the Web 2.0 environment. I’m a business person, not an engineer, so I passed the question to Joe Kleinschmidt, the CTO of Leverage Software—an online community software and services company that provides the CW Connect platform.

Joe promptly sent back a thoughtful response that I’ll share here, for the benefit both of aspiring Web 2.0 developers as well as managers who are building teams to actualize Web 2.0 product or business visions.

CTO Joe Kleinschmidt’s advice for building the most valuable skillset possible for the Web 2.0 world:

“Wow, quite an interesting question! Well, because technology tends to move so quickly--today's Ruby is tomorrow's FORTRAN--I typically find it's much more important to develop skills which span across technologies. For me the most important skills fall under the following headings:

  • Communication. Web 2.0 applications today are designed by interdisciplinary teams, distributed across the globe, for a set of demanding customers, in a rapidly-changing industry. Thus, the best web developers I've ever worked with are outstanding at communication--both technical and nontechnical. Technical communication is frequently visual, so I recommend developers learn how to read and write architecture diagrams, data models, object models, UML--things that tend to cross language boundaries. Of course nontechnical communication is equally important. There is no substitute for elegant writing and speaking skills to convey an idea to a customer, partner, or colleague.
  • Architecture. Web 2.0 applications are all about scale. Great developers understand--at their core--how an app will work when millions of people are using it. Learning about performance, stress-testing, being able to write simple, loosely-coupled apps that can be distributed across multiple servers at multiple locations is a tremendous skill. Great developers can "see" (and avoid) bottlenecks in code right out of the gate.
  • Design. Call it the iPod effect: so many products succeed wildly because they are elegantly designed and a joy to use. Some developers think that usability and design "isn't their job," but I've found that the best web developers tend to have enough of an eye to know when something "feels right." Developing that creative intuition--whether through an art class, usability seminars, or anything--means that great designers will simply find it easier to work with you, which in turn means you're more likely to work on beautiful (and successful) products."

Great information Joe! One other thought: it’s helpful to have some insight into the business mindset as well. A course or two in economics, finance, or marketing can open the door on how and why business goals and priorities are set (maybe there’s a reason they’re counting those beans). That can facilitate getting everyone on the same page and aligning resources, efforts, and objectives. Especially in such a fast-evolving and competitive environment as Web 2.0, the more efficient the organization, the better the odds of success.

Are there other skills we should add to the list? Leave a comment with your thoughts.

No comments: