Nikhil Kithari (development lead on ASP.NET team) had an
interesting blog about developer persona's. It seems that they break developers into three primary persona's, as he says:
- Mort, the opportunistic developer, likes to create quick-working solutions for immediate problems and focuses on productivity and learn as needed.
- Elvis, the pragmatic programmer, likes to create long-lasting solutions addressing the problem domain, and learn while working on the solution.
- Einstein, the paranoid programmer, likes to create the most efficient solution to a given problem, and typically learn in advance before working on the solution
It seems to me that this is more a state of mind at a particular time, than a persona as such. I know I have been Mort, Elvis and Einstein at some time or other. But it is interesting to see how this affects the development of server controls in Nikhil's case:
Mort would be a developer most comfortable and satisfied if the control could be used as-is and it just worked. Elvis would like to able to customise the control to get the desired behavior through properties and code, or be willing to wire up multiple controls together. Einstein would love to be able to deeply understand the control implementation, and want to be able to extend it to give it different behavior, or go so far as to re-implement it.
I was thinking of this from the perspective of the delegates on my asp.net courses. It turns out that the most successful courses I deliver are aimed at Elvis. I think courses aimed at Mort would be pointless (because they could probably work it out pretty quickly anyway, or just not bother), and Einstein would want a 1 to 1 customised course, with specific content targeted to his particular needs.
And when I think back to courses I used to run on Visual Interdev, it explains why the Design Time Controls were never popular - they just didn't have the flexibility to satisfy Elvis, and you needed to be an Einstein to understand the implementation (for sure!). Current asp.net controls certainly appeal much more to Elvis, in my opinion, but things like the DataGrid probably tend toward Einstein when you try and produce rich real world solutions with it. Which is probably why there is a large third party market for them.
If this jargon takes off, then I may start tagging my courses with a persona, so my delegates can easily identify the level it is aimed at...