Architecture enabling business

A convocation address

Posted in Uncategorized by jeromyc on November 3, 2008

I thought I’d share a short speech I gave when I was awarded an honorary doctorate last summer from Algoma University College, in my home town of Sault Ste. Marie, Ontario, Canada (that’s here). People generally ask, “why the heck did you get an honorary doctorate?” Fair question. I was as surprised as anyone, but certainly very honored. That’s pretty much all I have…

This was delivered as a convocation address to about 400 faculty, students and their families. This is the raw text of the speech, warts, embarrassments, misconceptions (in retrospect, many months later) and all.

Graduates, distinguished faculty, ladies and gentlemen, thank you for the opportunity to spend a few moments addressing you today. Drs. Ross, Woodsworth and Perlini, and to the Algoma University College Board of Governors and Senate, my sincerest thanks for this honor.

I am truly thrilled to be recognized in this way at the institution at which I first recognized my passion and took the first step in my career. My passion and my career are technology. The bad news for you is that technologists … let’s face it, geeks … aren’t known for their speech-writing skills. So, I’ll keep this brief.

The start that I got here at Algoma University College was thanks to Dr. Michael Keppel-Jones. And it’s thanks to him that I’m here today. Dr. Keppel-Jones coordinated a Saturday morning computer class; I was 11 or 12 when I joined and became fast friends with Dr. Keppel-Jones’ son Stephen. And it was thanks to Steve that I decided, years later, to pursue a degree in computer science at the University of Waterloo. Although I’ve been in the United States for several years, I’m extremely proud to say that a key enabler that allowed me to capitalize on each opportunity with which I was presented is the education I received in Canada. This education provided the theoretical and practical foundation that allowed me to take the rich, varied and challenging course I have.

That course took me to some interesting places: from my start as a software engineer at Nortel, to my time at the Software Engineering Institute at Carnegie Mellon University, through the dot com bubble in Silicon Valley to AOL, Microsoft and now to Fidelity Investments. Each opportunity presented a different set of challenges, technical, cultural and organizational, and each provided a learning experience that shapes my perspective on striving for and achieving goals.

Some environments, like the startup companies I’ve cofounded, gave me the entrepreneurial perspective – the perspective that fosters a desire to take your destiny into your own hands, to shape your own direction, and to accept the risk that comes with that ownership. Startup companies can be extraordinarily rewarding – and I’m not just talking about the rare windfalls characteristic of the dot com bubble. I’m certainly lucky to have been able to participate in that bubble, but the most important rewards were not financial – they were the ones that came from working hard with close-knit teams to make a vision into reality. To deliver a product that I could be proud to say I had a part in.

The other end of the spectrum is the large enterprise. I’ve been part of several. Each of these comes with its own particular set of challenges, including the obvious technical ones, but also its own unique set of cultural and organizational trials. Of course, these challenges always represent opportunities and the potential for significant personal and professional rewards. The trick is turning the former into the latter.

I am frequently asked how I can make the transition back and forth between startups and large enterprises; I wish I had an answer that had some practical value, but unfortunately I don’t think I do. I think it’s simply that I find aspects of each type of environment to offer a different set of opportunities to which I can apply my experience, but with a core of commonality – the practice of technology.

When I get frustrated with the ponderous bureaucracy characteristic of large enterprises, and long for the hopeful, entrepreneurial and innovative environment of a startup, I lean on a set of principles that try to bring the spirit of a startup, through the actions of individuals with dreams and drive, to any organization. Until recently, I didn’t know these principles have a name – intrapreneuring. Intrapreneuring is an idea initially formulated by Gifford Pinchot in the 70s, and is based on the idea that anyone can innovate, be entrepreneurial, within a corporate environment. Mr. Pinchot described ten commandments to be followed by the intrapreneur:

1. Come to work each day willing to be fired.

2. Circumvent any orders aimed at stopping your dream.

3. Do any job needed to make your project work, regardless of your job description.

4. Find people to help you.

5. Follow your intuition about the people you choose, and work only with the best.

6. Work underground as long as you can – publicity triggers the corporate immune mechanism.

7. Never bet on a race unless you are running in it.

8. Remember it is easier to ask for forgiveness than for permission.

9. Be true to your goals, but be realistic about the ways to achieve them.

10. Honor your sponsors.

Let me clear – I don’t suggest any of you go out and aim to get fired – this isn’t a lecture on subversion. But these principles can help us all as we work within established organizational paradigms to strive for something bigger, to bring an innovative spirit to every endeavor.

A challenge I’ve had throughout my career is explaining what I do to anyone that’s not a technologist. When I say “I’m a software engineer”, I usually produce more confusion than clarity; when I say “I do software architecture”, I usually face blank stares. When I began my career, software architecture was still an emerging discipline struggling to become mainstream. Software architecture is concerned with the principles that make software possible, particularly when software needs to achieve large scale in terms of scope, team size, user population, complexity and longevity. Many try to reason about software architecture by analogy with building architecture, but I generally find this a flawed approach. Software isn’t like buildings.

I thought I’d share with you part of a fictional letter that a building architect might receive if building architecture was like software architecture. For the new software engineers among you, you may find this a sobering truth. For the rest, you may achieve an appreciation of the challenges we face in software every day.

Dear Sir:

My house should have between two and forty-five bedrooms. Just make sure the plans are such that the bedrooms can be easily added or deleted. When you bring the blueprints to me, I will make the final decision of what I want. Also, bring me the cost breakdowns for each configuration so that I can arbitrarily pick one at a later time.

As you design, also keep in mind that I want to keep yearly maintenance costs as low as possible. This should mean the incorporation of extra-cost features like aluminum, vinyl, or composite siding. …

To assure that you are building the correct house for our entire family, you will need to contact each of my children, and also our in-laws. My mother-in-law will have very strong feelings about how the house should be designed, since she visits us at least once a year. Make sure that you weigh all of these options carefully and come to the right decision. I, however, retain the right to overrule any decisions that you make.

Also, do not worry at this time about acquiring the resources to build the house itself. Your first priority is to develop detailed plans and specifications. Once I approve these plans, however, I would expect the house to be under roof within 48 hours.

While you are designing this house specifically for me, keep in mind that sooner or later I will have to sell it to someone else. It therefore should have appeal to a wide variety of potential buyers. Please make sure before you finalize the plans that there is a consensus of the potential home buyers in my area that they like the features this house has.

I advise you to run up and look at the house my neighbor built last year, as we like it a great deal. It has many things that we feel we also need in our new home, particularly the 75-foot swimming pool. With careful engineering, I believe that you can design this into our new house without impacting the construction cost.

Please prepare a complete set of blueprints. It is not necessary at this time to do the real design, since they will be used only for construction bids. Be advised, however, that you will be held accountable for any increase of construction costs as a result of later design changes.

PS: My wife has just told me that she disagrees with many of the instructions I’ve given you in this letter. As architect, it is your responsibility to resolve these differences. I have tried in the past and have been unable to accomplish this. If you can’t handle this responsibility, I will have to find another architect.

PPS: Perhaps what I need is not a house at all, but a travel trailer. Please advise me as soon as possible if this is the case.

Of course this is funny because it’s got a core of sad truth – it makes pretty clear how challenging the field of software is: we in information technology have serious trouble communicating with our customers, when the most important success factor is establishing a common understanding of needs and constraints. Unfortunately, rather than focusing on working with our customers, us-and-them attitudes are extremely common – on both sides – and this just furthers the divide that stops us from understanding our mutual goals. Even more unfortunate is that none of these are new problems – they represent a long-standing status quo in the field. One of my primary goals is to change this status quo at every opportunity.

This idea leads directly to recognition of a fundamental challenge that we all face, and must, as a community, overcome: that of appreciating and understanding the wisdom of those that have come before us. My work in information technology represents an exemplar microcosm of this challenge. I experience an unfortunate phenomenon every day, in every project, on every task: every time we tackle a problem, we think it’s the first time. It very rarely is. The real problem is this: how do we organize, share, communicate and collaborate to overcome this challenge? A solution may be represented, at least in part, in the principles of the admittedly much overhyped and ill-defined “Web 2.0”. These principles provide the opportunity to share knowledge in ways never before possible, without rigid control structures and rules, such that knowledge and experience can become universal. Overhyped or not, I believe these concepts represent a paradigmatic change in the way we think about community. This change will give us, all of us, the opportunity to share knowledge in ways never before possible.

The one universal recognition, that applies to every endeavor, is the importance of striving for quality. To have the desire, the passion, to make whatever you do be the best that it can be. After this recognition, your only task is to find the projects, challenges, the environments, the teams, the coworkers and colleagues that allow you to demonstrate that passion and desire. In words familiar to those that have seen The Matrix, and as I tell my staff at every team meeting: “there is no spoon”. Your world is what you make it.

I have four more special people to mention. I’m proud to have my wife Jeannie, my daughter Julia and my dad Rene all here today. My mother, Marylyn, passed away last December. Without her patience, her lessons, and her encouragement, I could not possibly have come to where I am today.

Thank you all for your patience, and good luck.


Leave a Reply

Please log in using one of these methods to post your comment: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: