Web Developer Spectrum

March 15th, 2008 by jeremychone

Web Developer Spectrum SmallIn the last few years, the technology industry has been particularly focused on Web developers, and the last couple of weeks have been a relatively good example of such attention. First, Adobe released its Adobe AIR and their Flex 3 products; Microsoft did a massive SilverLight push at its now famous MIX event (see Read/Write post); Google announced Google Gears for mobile devices and, finally, Steve Jobs splashed the market with his “Flash not good enough for iPhone” comment (which, in my opinion, is more of a strategic move than a technical reality). Meanwhile, “non-corporate-backed” Web frameworks, such as Spring, Ruby/Rail, and many AJAX frameworks, also continue to attract more and more Web developers. Consequently, Web developers have now, more than ever, a wide variety of technologies at their disposal.

Having worked for many technology provider companies (e.g., Netscape, Oracle, and Adobe) and being a developer myself (mostly on weekends), I have always been fascinated by the dynamics and trends in the developer industry. I think that, coupled with the open source and software as a service dynamics, this industry is experiencing an auspicious time for interesting technological and business opportunities.

If you happen to build a [Web] developer strategy for a company or a project, you will often need to have some sort of representation of this market. To this end, I have been developing a simple—but useful—representation of the Web developer community in the form of a spectrum which I have called the “Web Developer Spectrum.”

The Web Developer Spectrum consists of four main contiguous sections, from Enterprise Technology Developers up to Hackers/Hobbyists. It is important to note that an individual developer may belong to multiple sections, depending on the nature of his or her projects at a given time.

Here is the representation and description of this spectrum.

Web Developer Spectrum

Enterprise Technology Developers

The Enterprise Technology Developers category consists of developers who work for big technology companies, such as Oracle, IBM, and Sun, and create technologies and standards that will be packaged in complete product offers targeting large enterprise IT departments.

These developers tend to be focused on architecture, completeness, and standardization, sometimes at the cost of simplicity and accessibility. Compared to other developer segments, these developers usually have an adequate amount of time and resources to get their job done.

Some good examples of technologies coming out of this segment are: J2EE, JSF, EJB2.x, and SOAP. As previously mentioned, some of these technologies, especially EJB 2.x, could be considered by some enterprise developers a little bit over-designed. EJB 3.x has addressed some of these issues by adopting the persistence model from alternative open source frameworks, such as Hibernate.

Business Application Developers

This segment includes developers from system integrators, such as Cab Gemini, Infosys, IBM-Services, and developers from various enterprise IT departments. The main priority of this segment of developers is to build and deploy enterprise applications in order to maximize the overall business productivity.

These developers are usually application-centric, meaning that they focus mostly on bringing the right functionalities to the right users in a timely manner. They tend to favor technologies with high returns on investment (i.e. with the highest “application-out/time-in” ratio), and they usually like to mitigate risk by contractual relationships with technology “vendors” (i.e. product licensing and support agreements).

JSP, ColdFusion, asp.net, Spring, Hibernate, and XML-RPC are the types of Web technologies used by the business application developers. Many of these developers are coming from the 3GL/4GL client/server development world, and often require quite extensive training to learn these new Web development paradigms and tools.

Web 2.0 Developers

By Web 2.0 developers I mean developers who build Web application for consumers, such as Digg, Delicious, Facebook, Bebo, Twitter, Craigslist, and many other Web companies. The successful one tends to start small and scale fast, while the others tend to move from project to project until they find the one that can attract a good user community.

Web 2.0 developers tend to be user-centric, prioritizing application simplicity and design over completeness. Web 2.0 developers tend to like dynamic, simple, and scalable technologies, such as Ruby/Rails, REST, and MemCache, Java (minus J2EE), to name a few. This is a relatively difficult business for technology and tool vendors since this community is very self-serving and usually pushes technologies in the opposite direction from what a typical enterprise would require (scalability vs. transactional).

Hacker & Hobbyist Developers

Last, but not least, there are the hacker (in the open source sense) and hobbyist developers. While many of these developers are actually paid to work on their projects, some of them (the hobbyists) code mostly for fun and self-satisfaction. This segment could be another spectrum in itself, but I combined it for simplicity.

Great quality products, such as PHP Gallery 2.x, WordPress, and PHP BB are coming from this community, as well as some smaller projects, such as greasemonkey, and other application plugins. This community tends to be self-serving as well and extremely proficient at fulfilling its own needs.

Hobbyists tend to use more scripting language, such as Python, PHP, Javascript, and other accessible technologies, while hackers tend to go relatively deep in the software development stack to accomplish the required tasks.

A few weeks back, I showed this spectrum to Rich Levandov from Master Head Venture Partners, and he raised a very interesting point. Prior to the open source development, technology vendors, such as Oracle, Sun, and IBM, represented the largest developer community on the market, and, consequently, were the main technology sources for the industry. With the popularization and maturation of the open source development and distribution model, community-created technologies have become more and more relevant, to the point where they even eclipse vendors’ technologies. AJAX and Hibernate are probably the most recent examples of such a trend. I still see major technology vendors making most of the technology distributions (given the enterprises’ need to mitigate risk); however, I think they will have to adopt more and more community technologies and standards if they want to stay relevant in the marketplace.

Web Developer Flow

 

Obviously, this representation in not perfect, but, many times, it has helped me to visualize “developer” business opportunities. I hope this will be useful to others, and I definitely welcome any and all feedback.

2 Responses to “Web Developer Spectrum”

  1. Brad Neuberg Says:

    Great blog post. I work with Google on the Google Gears team and wonder where you would place Gears in terms of your spectrum. While most folks only think of Gears in terms of offline, Gears is more generic than that; its actually an open source way to get arbitrary new features into current browsers, offline just being one of those. Where on your spectrum would you place it, and how would you see it expanding into other segments? Great analysis!

    Best,
    Brad Neuberg
    Google Developer Program
    http://codinginparadise.org

  2. Jeremy Chone Says:

    Brad,

    Thank you for the kind words.

    Currently, I would position Google Gears for Hackers/Hobbyists and Web 2.0 [early-adopter] developers, mostly because it is still a new technology and not yet very integrated with enterprise technologies.

    I also believe that the next big web evolution is going to be around web and desktop convergence (beyond AJAX). Technologies such as Google Gears, Adobe Flash/Air, and Nexaweb UCF are going to be key to this trend.

    This is my 2 [Euro] cents, but I would love to hear your thoughts as well.