Disclaimer and License

Opinions expressed here by Tim Tripcony are his own and not representative of his employer.

Creative Commons License
Tip of the Iceberg is licensed under a Creative Commons Attribution 3.0 Unported License.
Based on a work at timtripcony.com.

Unless otherwise explicitly specified, all code samples and downloads are copyright Tim Tripcony and licensed under Apache License 2.0.


« the reason panel data sources can't be accessed outside the panel | Main| an easy way to give Domino Designer a ridiculous performance boost »

they told me I could be anything

The technology with which I am currently most associated is IBM XPages, but, as I’ve mentioned before, I consider myself a Java developer. That’s a fairly recent mindset shift for me, and has been very liberating.

My first Notes job started nearly 16 years ago (January of 1998). I was warned upon my arrival not to get too comfortable, because Notes was already dead at that point, and the company would soon be transitioning to something else. I was fine with that, because the whole point of taking this job was to do something temporary until I could decide “what I want to be when I grow up”. My plan was to sit there and just create and delete email accounts for a few months, maybe a whole year, and then go do something else. I didn’t know what, but I knew I’d find something that was a good fit for my personality and aptitude.

And I did. As it turned out, I already had. Here I am, 16 years older, a published author and patented inventor, working almost entirely from home writing code for a “dead” platform in collaboration with people I respect and admire in nearly every time zone on the planet. My job is fun, challenging, and rewarding. Thank the goddess I didn’t allow myself to be scared away by those who told me that attaching myself professionally to Lotus Notes was a mistake the very day I started my first “real” job… or the next year… or every year after that. All of what I’ve experienced thus far in my career would, theoretically, still have been possible had I, instead, chosen to pursue some other technology or profession. But here I am, 16 years older, with some amazing memories that are inextricably linked to a pursuit I’ve been advised almost continuously throughout to abandon.

It’s not as though that feedback hasn’t had an impact. I recently realized that, despite being a champion (though, not always a Champion) for the Domino platform throughout my career, there has always been more reluctance than I’ve wanted to admit — even to myself — in my embrace thereof. Every year, I’ve seen and heard the claims that my beloved platform is already dead, that there’s no more work to be found for those of us choosing to focus on it, that it’s time to jump ship and do something else. And every year, I’ve felt more secure in my career than the year before — perhaps not always in the specific job I held at the time, but simply the overall sense that I don’t need to go master some other technology to avoid imminent starvation. And yet, knowing that everybody needs to do what they feel they must, both for themselves and for anyone in their life that might be depending upon them, and continually seeing this “trend” that everyone else seems to be abandoning Domino, some small part of me has always, at least somewhere in the back of my mind, been looking over a conceptual shoulder wondering when this trend will finally touch me. When will my reckless foolishness in continuing to duct tape my entire professional existence to a dead platform finally catch up with me?

For the past five years, my message to others in similar circumstances — namely, others developing for this long-dead platform — has been to embrace XPages. The most public form of this message has been that XPages can drastically improve the capacity of Domino customers to empower their end users in ways that were never before possible (or, at least, easy) within the Lotus Notes client. And that’s all true. But little by little, this shifted to become a self-defense strategy for developers. If you learn XPages — and I mean really learn the technology — you’re learning what so many other developers already know. You’re obtaining a comfort level with XML, Java, JavaScript, CSS, and HTML. These are technologies you can talk about with developers that have never even heard of Domino, much less written Domino apps, and they’ll still know what you’re talking about. You can learn from them, and they can learn from you. You can ask the Google (and stackoverflow)  how to do something you’re attempting to accomplish, and you’ll get solid answers from people who don’t know Domino exists. But purely in the interest of self-preservation, when Domino does inevitably die, you’re qualified to get a job that has nothing to do with Domino. You don’t have to learn a completely foreign technology overnight to avoid starving to death.

Until recently, however, this message has been theoretical. It sounded true, it felt intuitively correct, but I didn’t have any firsthand evidence of this. Now I do.

Over the course of this calendar year, I’ve gained on-the-job experience with several technologies (most notably, in my opinion, native Android development) that are not new, but were new to me. While each has had its own unique learning curve, I attribute the ease with which I was able to comprehend each directly to the comfort level I’ve acquired with the technologies that, as previously mentioned, are fundamental to the nature of XPages. One of these technologies, about which I’ll likely be blogging at some point, is the Play framework. A couple months ago I encountered a professional need to learn it. I can’t claim to have mastered it, but I was instantly comfortable with it. I was able to produce valuable results using this framework the same day I was asked to start learning it. How is this possible? It’s MVC, and it’s Java. It’s template-driven, not component-driven, but for an XPage developer, this is easy to learn. I feel confident in asserting that this would not be nearly as instinctive a transition for a Lotus Notes client developer.

Am I now announcing a plan to abandon Domino and become a Play developer? By no means. Rather, my exposure to these other technologies has produced a surprising, but exciting development: I am now embracing Domino with no reluctance or hesitation. The reason is that I now have proof that I don’t need advance warning of Domino’s demise. Every hour I spend developing XPage apps can serve as practice for doing something else. Given that mobile has truly arrived, and is here to stay, the percentage of my time that is spent on mobile development is practically guaranteed to continue to increase over time, just as it has over the past year. Much of this development will involve Domino in some middleware capacity, and some of it will not. But as long as our customers continue to ask us to provide them Domino solutions, I see no reason to walk away from that demand. When Domino eventually does die — for real — I’ve already learned what I need to know to do anything else, because I’ve embraced XPages. If I were still writing procedural LotusScript full time, it’s likely that I could survive a direct transition to SharePoint development. But because I’ve immersed myself in the technologies fundamental to XPages, if I realize someday that I want — or need — to do something else, I can do anything.