Monday, October 02, 2006

On Being A "Real Programmer"

Funny story...

I used to work for a large Fortune 500 company that had Notes throughout the enterprise. Everyone (for the most part), had a mail client and there were thousands of applications deployed. I was part of the IT group that worked at corporate headquarters and was the senior architect on the team. You'd think with all of the really cool applications that we had deployed that we would have some measure of respect. If you thought that, you'd be wrong. To the rest of the IT world, our little Notes team was the red-headed stepchild. Never mind that we deployed more applications that solved business problems than the other teams. Never mind that our embracing of the RAD methodology let us build business solutions cheaper and faster than everyone else. No...in IT, if you were involved in Lotus Notes, you were not a "real programmer".

While it would have been easy to, we never really took offense to this. We were getting a lot of great stuff done and our customers were really happy. In fact, we were constantly rated highly by our end users, not only for our solutions, but because they thought we were so easy to work with. Not being "real programmers" was a good thing in their eyes...unlike a lot of IT folks, we had real people skills! Over time, we came to embrace our position within IT and even came up with a tongue-in-cheek banner and slogan that we used among our group. Here it is...maybe you could identify and use it within your organization as well! And since they are out there listening, I have to say "Hi" to Sally, Joanne and Ashwin...my old "real people" colleagues. :-)

This story came back to me today as I was writing what I thought was some pretty cool code via Formula language. In one of the sessions I am doing for the upcoming Lotus Developer2006 conference, I am including a toolkit of DHTML items and one such component allows you to create a tabbed table in a document with a single button click. Of course, this is a DHTML tabbed table (from the friendly folks at WebFX) and not the poor web implementation we get with the standard Notes stuff. All of the complexity of the WebFX code is hidden and you don't need to know anything about the API. When you click the action button, you are prompted for the number of tabs and the code is immediately pasted into your field. Because it's so well suited for dealing with text, I implemented this in Formula language and had it whipped out in a matter of minutes. Using @For looping is just so simple and cool! However, I find that there are still people within the Notes community that look down on the Formula language, thinking that it's just a toy and not "real programming". I certainly don't profess to be a great programmer, but what's important in my business is the end result. If my customers are happy and the application works, I don't care if it's written in Sanskrit. Anyway, I guess there's no real point to this story. Just remember that even if your IT colleagues don't give you a lot of respect since you work with Lotus products, if you are building Notes apps that add value to your organization, then you most certainly are a real programmer.

Chris, thanks for sending me this link - great post! I can certainly identify with the sentiments about being looked down upon by "real" programmers.

I also get really annoyed every time I'm in a bookstore and the application development/programming sections are crammed with books on .Net or Java or C# or whatever, and the Notes books (all 4 of them) are hidden away in the "Networking" section. What kind of message does that send?!?

But the real tragedy occurs when the sort of prejudice you describe here gets taken seriously by whoever sets the IT budget. The "dump Notes" drumbeat everpresent in most organizations, but I've seen a number of instances where Notes remains but the application development mandate is shifted "the web" or .NET. Admittedly this was in part due to a buildup of mediocre Notes applications over the years, but that was due in part to having "programmers" and not developers building them ;-).

As soon as I shake this damn cold I'll blog about my Lotusphere Jumpstart which directly addresses this problem: http://www-142.ibm.com/software/sw-lotus/events/govfor.nsf/(UID)/D9C722D2DB09BCA3852572220069E7CD?opendocument