One of the few sessions I was able to attend at OSCON was “What Developers Want” by Murugan Pal, Founder & CTO of SpikeSource. Coming at the end of a long first day, I thought it was very interesting. He began by sharing that the most commonly accepted opinion about what developers want is only good documentation, a highly capable editor, and a good debugger. I don’t think many developers would argue with that, but Murugan went on to opine that these are just the basics and don’t really explain what are the things that developers really want.
So after covering this initial premise, Murugan shared a list of wants that he believes more closely represents what developers want. Much of this is also available, in detail, in an article on the O’Reilly OnLamp.com web site.
- Minimal Input Maximum Output - Very simply what developers want is to invest as little as possible in order to obtain significant advances in our productivity.
- Shortest Learning Curves - Again, very similar to point one, developers want to be able to ramp up very quickly on a new language, technology or tool.
- Challenges & Hacks - A subtle point, but none the less true, is that developers want a language to stay challenging. If something becomes boring or too simple, then a developer will become bored and lose interest. Akin to this concept, if a technology is complex, deep, and challenging, then the community will begin to create hacks that leverage the power and ability of the technology.
- Tips, Pitfalls & Best Practices - Also, independent of the language, technology, or tool, developers want a community that surrounds and supports itself by creating, supplying, and sharing tips, pitfalls, and best practices.
- Instant Gratification - Finally, developers want to receive instant gratification. These days who doesn’t? But specifically, developers want to receive an instant payoff. They want to still have the language, technology, or tool to provide instant gratifications moments when things fall into place and they receive a jackpot, i.e., when all of sudden things work and they become instantly gratified.
Murugan also provided a new way to look at the evolution of software development. By looking through the history of software development, we can identify major trends that serve as an interesting model as we attempt to anticipate the future.
- 80’s - Vendor Driven
- 90’s - Standards Driven
- 00’s - Market Driven
- 10’s - Collaboration Driven
Finally, Murugan shared a list of some of the web sites that he believes represents this new “collaboration driven” software development. In addition, these sites also typify and support the five wants for software developers.
- koders.com - Koders.com is the leading search engine for open source code. Our source code optimized search engine provides developers with an easy-to-use interface to search for source code examples and discover new open source projects which can be leveraged in their applications.
- stumbleupon.com - StumbleUpon helps you surf the web. It is a free tool which lets you browse, review and share great webpages while meeting new people.
- welie.com - web design patterns - Welcome on my small web site. As you can see, it is mainly about Design Patterns. With these patterns I try to capture every bit of good design that I encounter. I will update the site regularily and add new patterns.
- wikihow.com - wikiHow is a collaborative writing project to build the world’s largest how-to manual. With contributions, we can create a free resource that helps people by offering clear, concise solutions to the problems of everyday life.
Do you agree?