| As I drove across the central Texas landscape, my excitement and anxiety were both building. I was driving to a new client that would change everything for me. This short trip would take me an hour south to a small college town, but symbolically I was beginning a much longer journey. I was going from Java to Ruby.
The past year, I had been involved in my first non-Java project in more than a decade, and based on that success, I had recently written a book called Beyond Java. I called into question my investments in not only the Java platform but also ten years of skills, hundreds of customers, scores of enterprise applications, four Java books (including three Java One best-sellers and a Jolt award), and a reputation as a pragmatic Java developer. As often happens, researching Beyond Java changed the way I think about software development today. Modern programming should be about leverage, with much more emphasis on total cost and productivity. The more I learned, the more I believed that this industry was heading for a revolution that would change the way we write most database-backed Internet applications first and a much broader suite of applications later. I put together a plan to ready my company for the pending revolution, but planning and executing show much different levels of commitment. This client would be my first full-Ruby client.
I had worked on a small Ruby implementation before, at a small startup, but as a project manager, I had taken only limited peeks at the Ruby code. At other times, I had also taught some small half-day Ruby classes. This account would be my first large all-Ruby engagement, but I was convinced that Ruby was the right language for my customer, and for me, based on a number of criteria:
• Many of the programmers I respected the most raved about the productivity and beauty of the Ruby language. With the Java language, my productivity had been increasingly restricted under the growing weight of a steady stream of new frameworks. Java began to feel restrictive.
• The Ruby on Rails framework was experiencing explosive growth. I had seen programming languages explode like this only twice over the span of my career, with the introduction of the C++ and Java languages.
• Ruby motivated me. The Ruby language rekindled some fires for the love of programming, which I had not experienced since the early days of Java.
• Ruby on Rails was gaining maturity. As Ruby on Rails kept stacking up a steady stream of achievements, I started to believe that this framework could satisfy the needs of my customers.
So I drove through central Texas, contemplating my longer journey, filled with nagging questions. Would Ruby succeed or leave me hanging? Would I be able to fill my calendar with Ruby work, and would I be able to fill the gaps with Java assignments? I knew my customer was having the same kinds of doubts. |