SM: What kind of work did you do in your early IT career?
RJ: I started off as a regular developer and rapidly moved into senior architect roles. I worked for a variety of companies in the London area, including the Pearson Group, who own the Financial Times. I worked for London Clearinghouse as well.
SM: Where does the story of SpringSource begin?
RJ: In my late 20s I discovered that I had entrepreneurial instincts, which I had not expected. Looking back I can see where that comes from in my background.
SM: Where does it come from?
RJ: It comes from my father. My father absolutely hated the idea of working for anyone else. He invented a number of things and ran little businesses around them. He wasn’t tremendously successful. If he had actually become a doctor he probably would have ended up making more money, but he did not care about being rich. The most important thing for him was independence. I definitely have elements of that.
One thing I found very, very frustrating was being in situations are being made which are going to doom some particular project and being unable to change that. I often used to think of the analogy of WWI. The average life expectancy of the British lieutenant on the front line was two and a half months. If he was particularly good, it might make a few days’ difference. The decisions were being made much higher up with tactics which were fundamentally flawed. A lot of IT projects are like that. The people doing the most of the work and the people running the teams do not have that much influence on success and failure.
Very early on I was involved in Enterprise Java. I ran quite a number of projects that were successful, which I really enjoyed. I had to go back to Australia because my mother fell sick. I had been in Australia for six months. I really loved the job I had been doing for the past two years and I decided that I did not want to take a six-month contract in Australia because it would be an anticlimax.
Since I did not feel I could really achieve anything significant in six months I decided I would write a book on Enterprise Java. I rather naively thought I would write this book in three to six months, and it ended up being 12 months full time. During that time I found I was able to think differently because I was outside the workforce. It is difficult to think deeply when you have a daily job. I actually had the luxury of thinking differently and the luxury of throwing away weeks of work if I thought it was not the correct approach. That ultimately became my first book on J2EE in late 2002.
With that book I published 30,000 lines of code illustrating the concepts in the book. Those lines of code became the Spring framework. A lot of people were interested in the code, and I was approached to OpenSource it, which I did. The book sold very, very well for an Enterprise Java book.
SM: At that point, what was special about the code?
RJ: It was basically infrastructure code. In Java Enterprise, at that time, there were application servers which were typically from very large vendors like IBM. There were sets of APIs and usage models around that which were defined by Sun based on the various standards of Java.
SM: People were using blocks of your code to build their own applications?
RJ: Exactly. The Spring Framework demonstrated a way that was dramatically simpler. At that time, the conventional wisdom in Java was that it did not matter if it was complicated because real developers do not mind complexity. That is unbelievably destructive. The whole purpose of Spring is to try to solve the right problems to ensure that your business logic, which you as a business application developer writes, is simple and that the framework takes care of concealing most of the complexity.