[Blog Map] This blog is inactive. New blog: EricWhite.com/blog
There is a lot written about Mort, Elvis, and Einstein developers. Here is my (in a nutshell) take on them:
There are other definitions. But that is my take, also that of my boss here at MS.
These personas are just one way to categorize developers. The characteristics of an Einstein developer is someone who, for instance, is concerned with architectural purity. For instance, they study type systems, and how type systems relate to various styles of programming languages. They study n-tier systems, and the various ways to break a system into tiers, and the advantages of each of the ways. Then, they are in a good position to design a large system, and coach a set of journeymen developers so that the system is successful. While there are exceptions to this rule, I think that most new CS graduates don't have enough experience to do this. There is so much in the development world that is communicated verbally between developers that I think that until someone has been exposed to a number of projects from beginning to end, they don't see all of the ways that projects can go wrong. These new CS graduates are people that I would categorize as Elvis developers. Of course, there are some Elvis programmers who don't proceed to become Einstein developers. I can think of some off the top of my head. However, I can also think of a number of Einstein developers who would have been categorized as Elvis earlier in their career.
These personas have to be taken with a grain of salt. They are mainly useful in identifying the potential users of a class library. So, for example, a library that makes explicit use of parsers and abstract expression trees may be targeted to an "Einstein", whereas a forms library that allows developers to set properties to connect to database tables may be targeted to an "Elvis". A set of Excel macros that enable construction estimating my be targeted to a "Mort" construction estimator. A library written in Fortran that models fluid dynamics may be targeted to a "Mort" aerospace engineer.