At SAP TechEd Las Vegas I wanted to bounce some ideas off the RedMonk Gang( Michael Cotè and James Governor ) about what I think the new Developer will look like instead I somehow got roped into a full blown interview on Synthesizers. So, I’ve frantically spent the last few weeks solidifying my ideas in this area.
The new Synthesizer will have a few required tenets, listed in order of importance, underneath are a many “optional” components. It’s okay if you don’t exhibit these characteristics — you might still be able to get a job flipping burgers:
Sorry, namby-pamby non-coder types need not apply. A real understanding of programming concepts is required. However, I’ve found that Synthesizers are generally not language Nazis. They are more opportunistic in their choice of language, they know a lot about probably one language but, also know when it’s not a good fit for what they are doing. For instance, why would write a screen saver in ABAP?
This is the area that allows Synthesizers to move faster then anyone else. They know what is going on, they’re “plugged in.” They know who is doing good work and they know how to stick those disparate parts together in order to get something better. Doug Mccune ( my model synthesizer ) has put it best in a post about TileUI:
…how badass [the] open source community libraries for Flex are. I was able to grab these open source libraries and within a few days have something pretty sweet to show for it. A big thanks to everyone behind the PaperVision project, and to Alec Cove for the APE engine. You guys make this stuff easy. [ The making of TileUI ]
What else is in this quote? Attribution, “A big thanks to Alec Cove for the APE engine.” Promoter, you can tell from Doug’s tone how much the open source community helped him write this application. Collaboration, without giving back to these communities you end up looking like a strip miner taking all the best out and not returning anything back. A example from a totally different world is Thomas Jung, SAP geek and ABAP coder #1. Thomas has built a ton of innovative stuff in ABAP from Matrix Screen Savers to a full replacement for the delivered web rendering system, changing it from HTML to Flex, named Flob. At TechEd this year he released Flob, built using my library AJS, which he mentioned he had a few fixes for functionality. This back and forth consumption and production allow open source projects to grow organically as need.
This is an obvious one, but again has a similar ebb and flow characteristic. The most effective Synthesizers have a blog or are really active in forums. They produce not only code but content, documentation, opinions — they care about what’s out there and what they are putting out there. They probably read RSS feeds from dozens(at least) of different sources from many different areas.
Underlying all these is less a tenet and more an obvious prerequisite. Synthesizers want to understand stuff, they want to know about many areas not just Coding. They might read about other sciences or be super into music. Samuel Agesilas Pastel is great example of someone with groundings in music and design who also happens to be a sick programmer. His UML modeling tool, called Saffron UML, parses actionscript libraries and generates great looking UML diagrams. Just read his blog of a bit and you will see the diverse view he takes to software development. That diversity allows Synthesizers to keep an anything goes mentality that enables them to see connections where other people see chasms they will never cross.
The funny thing with this set is maybe if you replace the first tenet with “industry analysis” or “accounting” you might get some other folks that are producing new Synthesizers — but I’m just a programmer what do I know.