« Looks like we all get a taste of "Hannover" today! | Main| A question for the class.... »

The Domino Developer Bell Curve

QuickImage   
Category
Bookmark : del.icio.us  Technorati  Digg This  Add To Furl  Add To YahooMyWeb  Add To Reddit  Add To NewsVine 


A friend of mine asked me about my thoughts on the "breakdown" of skills and abilities of Domino developers - what is the spectrum of the skills and abilities of the Domino developer community? I have been giving this some thought, and I have come up with a table that describes the "Notes/Domino Developer Bell Curve", as shown in the graphic above. Before I send this back to my friend, I thought I would post it here for comments, suggestions, etc.
Curve Position Description Skills %
Power Users Power Users are typically what users were before they became "Notes Developers" in the R3.x days. Power users come from a nontraditional programming background, and usually not even a technical background. Power users may have built one or two simple apps using Simple Actions, Forms, Views, and Formulas; typically they only do private views and simple actions, They don't understand the Domino Object Model nor any other deeper technical aspect of the platform. They simply do the minimum to get their jobs done.
  • Basic Form creation
  • Basic View creation
  • Simple Actions
  • Some Formula language
5%
Notes Developers "Notes" Developers build simple applications using Forms and Views, and they create Agents and Action buttons using Formulas. They only build applications for the Notes client. They typically fear scripting languages such as LotusScript, Web development, etc. Many developers in this category became Notes developers during the R3.x days, but did not progress as Notes/Domino progressed. Many of these people were employed as Notes Developers during the early 1990s, but were washed out when the IT Boom busted.
  • Form creation
  • View creation
  • Formula-based Actions
  • Formula-based Agents
  • Use hide-when formulas
  • Understand the basic concepts of ACL, security, etc.
10-15%
Domino Developers Domino Developers have moved forward as Notes/Domino has moved forward. Domino Developers understand the concepts of design VS data, they have a basic grasp on the container model, and they "get" Domino security including Groups, Roles, ACL levels and priviledges, etc. Domino Developers are very comfortable with LotusScript, but are not doing much Object-Oriented programming in LotusScript, if at all. Many (those who have been doing it awhile) are also "experts" in the Formula language. This group has not developed any Java development skills. Many in this group are developing applications that have Notes interfaces, Web interfaces, or both so they have good skills in Web languages such as HTML, CSS, and Javascript. Domino Developers rarely venture outside of core Domino development. Domino Developers understand more complex application archtecture models such as multi-database applications, centralized configurationn and management, and so on.
  • Advanced Form creation
  • Advanced View creation
  • Use of subforms, shared actions, script libraries, and other Domino design elements
  • LotusScript
  • HTML
  • CSS (some)
  • Javascript
  • Security skills including roles, groups, encryption, reader/author access, etc.
60%
Domino Plus Developers Domino Plus Developers flex their "mad Domino skillz" by venturing into other adjacent technologies such as COM/OLE integration with other products, advanced LotusScript skills such as C API calls, Object-Oriented programming (creating classes, etc.), and more. Domino Plus Developers are also building complex Web-based applications in Domino. They understand the larger concepts of Web development, and they are able to apply them to Domino development. Domino Plus Developers are integrating Domino into with other platform technologies such as Websphere, or they are integrating it by accessing enterprise systems such as Oracle, SAP, etc. They also are coming up with creative workarounds and kludges in Notes/Domino. Domino Plus Developers also understand the Domino Object Model at an intricate level. Some Domino Plus Developers have moved into Java development as well. These folks are usually the best Notes/Domino developers in their organizations.
  • All of the aforementioned skills, at a higher level
  • COM/OLE
  • Some Java
  • Object Oriented programming.
  • Data access skills using SQL, ODBC, and/or third party tools
10-15%
Domino Geeks Domino Geeks are a rare breed. They understand Domino intricately, but have also developed skills outside of Domino. Some are excellent Java developers, some have moved into relational backends, some have turned into exceptional Web developers, but all of them are the cream-of-the-crop in Domino development. They understand the value proposition of Notes/Domino, but are working with other products and platforms as well, and are using Domino in the context of really large projects. Domino Geeks tend to be architects as well. Most Domino Geeks are well-known in the community at large, and are usually involved in Design Review teams with Lotus/IBM. Domino Geeks are the "thought leaders" of the Domino development community.
  • All of the aforementioned skills, but are experts
  • Some other technology or platform expertise
  • Usually enterprise architects as well
5%


How do you see the Domino development community breaking down? Did I miss a key skill? How is my percentage of distribution? Keep in mind that there is a much larger development community than we see interacting in blogs, etc. - I see this when I speak at conferences, as there are still 40-50 people in the "Jumpstart: LotusScript" sessions, which means we still have newbies coming into our community.

Help me tweak this table, and then I'll send it into my friend.

Thanks!

Rock

**Who was the first one who thought that the white thing that came from a hen's butt looked edible?

Comments

1 - @Jens - I agree, that many people move from left to right on the bell curve, based on a number of things (desire, motivation, work environment/demands, etc.) Also, there are many people who move from this curve to other technologies altogether.

@Ben - As for the name "Notes Developers", I use that name because typically a "Notes Developer" is also a nontraditional programmer who only took up programming when they started doing it in Notes. Most Notes Programmers learned to develop for the Notes client first, and are Notes client-centric in their development efforts. Furthermore my experience is that these people fear Web development, much as they fear LotusScript. As for your adjustments to the numbers, I probably agree with that, and will adjust them accordingly.

As for the "inlfux" of developers from other programming environments I fear that there just aren't that many of them out there, and those numbers are so small as to be statistically insignificant. Furthermore most of them who come from other programming backgrounds (and are good at it) quickly pick up the skillset to be considered Domino or Domino Plus Developers, IMHO. In any case this is a generalization, and not meant to be legally binding or anything

@Rich - Thanks for the positive comments. I think you're right, you could divide that group up even further, and your cuts definitely describe some "substeps" that occur during a developer's progression through the spectrum. I will probably leave the bell curve as-is, but mention your subdivisions in my note back to the person asking. In any case, thanks much for the input

Rock

2 - @4 I certainly think you're right with Notes Developers being non-traditional programmers. Certainly in my case I started out as senior user on the pilot project for Notes in a UK government department, then moved into development from there. I think the low numbers of developers coming in from other software environments can be attributed to the fact that it takes a lot for a traditional developer to "get" Notes - the mindset to a certain extent has already been fixed, so it takes people who actually use software, rather than write it, to build what's needed.

My 2 penn'orth, anyway

3 - The latent quantitative social scientist in me says that for a simple 2-D projection of the skills continuum this is a pretty good cut. One thing I'd do is split the middle group into three equal parts and call the lower one "Notes Plus Developers" , the middle one "Domino Developers" and the higher one "Domino Web Developers", each at 20%. I'd define them as follows:


Notes Plus Developers := Notes Developers who understand how to use @DbLookup and @DbColumn.

Domino Developers := Notes Plus Developers who understand how to use LotusScript

Domino Web Developers := Domino Developers who understand how to use JavaScript.

-rich

4 - Simply one word:

Great!


Yes, I think, this is a very good description of the current situation. Indeed, there are new people comming into the developer community as you describe, so it is in fact somewhat moving from left to right. And there is movement beyond what used to be the core notes/domino development. We (Bernfried Geiger and I) have seen that at the last Entwicklercamp in Germany, we had a very high interest in our Java-Workshop from the Notes developers there, even it was not related to any notes/domino java development.

5 - I just was browsing blogs and saw this post. Fairly accurate, but I do have issue with the following statement:
"Most Domino Geeks are well-known in the community at large, and are usually involved in Design Review teams with Lotus/IBM. Domino Geeks are the "thought leaders" of the Domino development community. "

I think there are a lot of us who would otherwise fit in that category, but whose non-Domino skills have become such a large part of our work that we just don't participate in the Domino community. Frankly, the last few years when the future of Domino seemed vague made a lot of us edge away from it. I think you are selling us short by presuming that if we are not in the community, then we must not be as skilled.

6 - What about those admins who think they are developers? Probably fits into your power user category, but every company I've worked for has an admin that swares he's a developer. Usually, that means he's looked at code before and can make a view.

Don't get me wrong, there are a few that know code, but usually they don't know as much as they think they do.

I think the reverse is true for some developers. They know the basic structure of how replication and clustering works, but ask them to do it and they might not be able to. They think opening the admin client means they they admin skills. Of course there are people that span the spectrum when combining both dev/admin, but thought you might want to add that admin who thinks he's a developer into your mix.

7 - I think your Power Users is 5-10%, although it has descreased significantly since R3 days, when it was closer to 20% or more. Your Notes developers (although I disapprove of the name, as it implies that developing for the Notes client requires less that developing for the Domino server, which which I don't agree, but I'll leave that aside)... your Notes developer number seems quote low, and I think is more like 25%. These people are usually in corporations, not consulting companies, but I run across them all the time. They often have other responsibilities than Notes development, but are still the most advanced Notes development resource in their companies. If you then call Domino Plus developers 10%, which sounds right to me, and Domino Geeks 5%, which also sounds correct, you have about 50% for Domino Developers. Not a huge change, but definitely more in the Notes developers than you suggest.

The only other problem I have is the idea that every level encompasses the skills of the level before them. How does this address the influx of web developers who know Java, HTML, CSS and VB, but precious little about the Notes object model or the special tricks the Domino Plus Developers know?

Meet Rocky

Rocky Oliver
Rocky Oliver
If you see me at a conference, please stop me and say hi!

Calendar

Search

Categories

Proudly Employed By

Thawte Notary

Thawte Web of Trust Notary

LOTUS GEEK gear

Social Networking


Add to Technorati Favorites

View Rocky Oliver's profile on LinkedIn

Rocky  Oliver

LotusGeek Blog Roll

Why display a blog roll when Planet Lotus does it so much better?

Dilbert

Buy my book!

Blog Buttons

Cost of War

Atheist - Unitarian - Humanist

Atheist Symbol

chalice_150.gif

Happy Humanist

Poker Players Alliance