Architecture Journal Profile: Udi Dahan

The Architecture Journal

The Architect Most Valuable Professional (MVP) program at Microsoft has recently been relaunched after a short recess of a few months. Our featured guest for this issue’s profile has been recognized as a Microsoft Solutions Architect MVP many times over: Udi Dahan is a free thinker, SOA and IT authority, and celebrated “simplist.”

AJ: Who are you, and what do you do?

UD: My name is Udi Dahan, and I’m an independent consultant focusing primarily on enterprise development and service-oriented architecture. While the majority of my work is with Fortune 500 enterprises on large, multi-year projects, I also help smaller companies in their technology choices and architectural decisions. On top of my regular consulting work, I speak at international developer conferences, lead an open source project (www.nServiceBus.com), and run a fairly popular blog.

AJ: Many of our readers know you as “The Software Simplist.” Can you tell us how you went from Udi Dahan the individual to Udi Dahan the Software Simplist?

UD: When I was working at my last consulting firm, as a part of the rebranding effort, each senior consultant was to be given a unique title, something that would differentiate them from other consultants. I was pretty busy when all of this was going on, so I asked one of my friends in the marketing department to find something for me. My only request was that it be simple. When he came back after the weekend with “The Software Simplist,” I kind of liked it and it grew on me. After that, it just stuck.

AJ: So tell us about your origins as an architect. Did you start your IT career as a developer under the supervision of a lead developer or a project leader? What factors determined your destiny as an “architect”?

UD: I guess I started my IT career at the age of 8, when I wrote my first program. My dad worked at the local university in the information systems department, so we had a computer at home, which wasn’t very common at the time. When I asked him if he could get me some games for it, he promptly took me to the programming section at the library and gently explained that I’d be writing my own games. From that point on, I never really stopped programming.

After high school I got my first paid programming job working for one of the faculty at the university. There was no lead developer, just a professor telling me what he wanted the application to do, and me doing it. That direct connection to what users want, need, and think has permeated the rest of my career and helped me develop the business and communication skills that are critical to the success of an architect. Since then, I’ve always been working in close collaboration with end users looking for ways to make systems work for them, rather than the other way round. That strong connection to the business was definitely a defining factor.

AJ: What advice would you share to those who want to be recognized for his/her abilities as an architect?

UD: First and foremost, you have to know your stuff. Beyond reading endlessly on software architecture, design, patterns, technology, and development methodologies, you need to actually do it, and that means coding as well.

To be recognized, one needs to be successful, and that includes being perceived as successful. You can’t escape from the organizational politics, and since architects rarely have any real organizational power, success means working with and through other people in the organization. Often, this means giving up some ego in order to create win-win scenarios that all stakeholders can buy in to.

AJ: Looks like it’s not enough to be an architect but we must also make others take notice. In that sense, you have done an admirable job. You’ve long been publicly acknowledged — you are frequently enlisted to speak at conferences (Dr. Dobb’s, TechEd’s everywhere, QCon, just to mention a few). Do you have any advice to share with other architects who aspire to but don’t know how to become a luminary?

UD: ”Luminary” is quite the title to live up to and I’m not sure I’m there yet. I can say that if you want to be publicly recognized you have to do publicly visible activities like writing for magazines, blogging, and speaking at conferences. Interestingly enough, the written and oral communication skills that help architects be successful in their own organization are the same skills that will drive their recognition publicly.

AJ: The architect role requires understanding current and future technical trends to get the best for the business benefit — how do you stay up to date?

UD: On top of the voracious reading I mentioned, going to conferences is just as critical. Hearing from industry leaders about which trends are important helps, but talking to other people and getting their perspective on what works and when is truly invaluable. As a speaker at many conferences, I’m in a better position to hear this from other speakers, experts in their field. Also, my consulting practice lets me see the direction many verticals are moving in and which technical trends will best serve them. Regardless, however far along one is in their career, many of us are smarter than any of us — your network will give you more knowledge and insight than you could possibly learn on your own.

AJ: That’s true, however — does this happen to you? — it can be frustrating when you’ve tried to keep up-to-date on the latest technologies and trends, but after investing the considerable effort on the latest-and-greatest technologies (coding, watching webcasts, testing demos, and so forth), a dozen of new ones emerge from the pipeline (just look back to the last PDC). Do you have any recipe to efficiently deal with such avalanche?

UD: There is indeed a continuous flood of information coming at developers today. Never has so much information been so readily available and accessible to so many. It turns out, though, that much of that information is about how something works, less about what problem it is intended to solve, and much less about which problems it isn’t suited for. As an architect looking at choosing the right tool for the right job, I focus a lot more on the last two. Often, I go digging to find out why a tool isn’t a good fit for a job. So, I guess my recipe is to mostly ignore the avalanche and tap my network to find out the stuff the avalanche won’t tell you.

AJ: Name the most important person you have ever met in this industry — What made him/her so important?

UD: I’m really in no position to judge relative importance, but I’d have to say the person that had the biggest impact on me was Charles Simonyi. I had the pleasure of cornering Charles over dinner at the Software Architecture Workshop in the northern mountains of Italy a couple of years ago. This was before he became an astronaut, but still, I wasn’t exactly in the habit of eating dinner with billionaires. During those three hours, Charles shared with me his decades of experience and perspective, planting the seeds for much of my intention-focused design practices. Recently, I’ve started presenting on these practices at conferences, showing how well they handle diverse concerns like validation, persistence, and service layers. It never ceases to amaze me — how much practical value can grow from the seed of a quality idea.

AJ: Is there anything you did that you’d like to do differently if you could turn the clock back on your career?

UD: One role that, in retrospect, I regret not taking was that of a tester. When I was just starting out, I had the choice of taking either a testing or development position. At the time, I viewed testing as something beneath development — something junior people had to do before being able to move into development. Naturally, I took the position as a dev. Today, my in-depth understanding of development serves me well, helping me optimize the work of the dozens and hundreds of developers on my projects. Had I spent more time in the testing trenches, I feel that I might have been able to do more for the testers I work with today.

AJ: What does Udi the Architect’s future look like? What do you hope to accomplish in the next few years?

UD: As the Nobel Prize-winning physicist Niels Bohr said, “Prediction is very difficult, especially if it’s about the future.” I’ll probably continue with my blog, speaking engagements, and the big three to five year projects I’m consulting on today. I hope to take my open source project, NServiceBus, to the level of its peers in the Java space. Also, I’m flirting with the idea of writing a book (after having contributed a couple of chapters in others), but that’ll have to wait until my two-year-old lets me get a full night’s sleep.

AJ: Thank you very much, Udi.

UD: My pleasure.

Dd393311.aj18Profile01(en-us,MSDN.10).jpg

Resources

NServiceBus
https://www.nservicebus.com/

Udi Dahan - the Software Simplist: a blog on Service-Oriented Architecture and Enterprise Software Development
https://www.udidahan.com

Wikipedia - Charles Simonyi
https://en.wikipedia.org/wiki/Charles_Simonyi