Six Questions for Craig Walls, author of Spring in Action, 5th Edition

Interview conducted by Frances Lefkowitz, Development Editor, Manning Publications.

The author of Spring in Action (editions 1-5) and Spring Boot in Action, Craig Walls is a principal engineer with Pivotal and a zealous promoter of the Spring Framework. In addition to writing books and articles about Spring, he gives presentations about it at local user groups and larger conferences. When he’s not slinging code, Craig is planning his next trip to Disney World or Disneyland and spending as much time as he can with his wife, two daughters, two birds and three dogs.

 

 

When did you first get involved with Spring and what makes you so enthusiastic about it?
 

I’ve been working with Spring for nearly 15 years. I was working as a project manager and one of my coworkers asked me if I had heard of Spring. Long story short, Spring has been a part of most all of my projects since then. And that person who introduced it to me was Ryan Breidenbach, who became my co-author on the first edition of Spring in Action.

I’m enthusiastic about Spring for the same reason I was drawn to it in the first place: It makes developing applications easier by eliminating a lot of unnecessary boilerplate and “ceremonial” code that would otherwise be required. Of course, how it does that and the types of problems it is solving today is much different than 15 years ago. Back then we were using Spring to avoid EJB 2.0. Today it addresses a new generation of problems, such as working with different types of databases, reactive programming, and microservices.

 

Were you instrumental in bringing reactive programming compatibility to Spring 5.0? Can you talk about why and how this is useful, even crucial nowadays?
 

No, I can’t honestly say that I had any part in adding reactive capabilities to Spring. In fact, I’ll honestly admit that it took me awhile to get my head around it. Reactive programming involves a different way of thinking than traditional imperative programming. But it’s important because it enables more efficient use of threads on multicore machines. In short, fewer threads are able to handle more work in a reactive model than in an imperative model.

 

Which other new features in 5.0 are particularly useful?
 

Reactive is by far the most significant feature in Spring 5.0. But one of the more interesting new features, albeit tangentially related to reactive programming, is a functional programming model to handle web requests. At first I wasn’t a big fan of this new feature, but after some time getting to know it, I’m starting to warm up to it.

 

Which do you prefer: coding, writing, or teaching?
 

Coding. Hands down. Coding is precise. Coding is measurable and discrete. The code I write either works or it doesn’t work. And, I think the fun of coding is the reason most of us got into this field. I do enjoy writing and teaching, but both are a lot of work. Teaching, specifically, requires human interaction–and I’m naturally an introvert, so it is exhausting.

 

Manning authors are urged to come up with engaging examples to demonstrate how their technology works, but you really take the cake, so to speak, with your Taco Cloud app. How did you dream that up, and how did you make it work for your teaching purposes?
 

One of the most difficult things to do when writing a book like Spring in Action is to dream up a sample application that covers as many of the book’s topics as possible, without feeling like some of them were shoehorned into the sample. Meanwhile, I’ve been toying with a taco sample for a few years. As I began work on Spring in Action 5, I realized that the taco sample just might be the best fit. So I went for it.

As for the application’s name, I absolutely must give credit to my friend Andrew Rubalcaba who created the very first Taco Cloud (see  https://youtu.be/TRpNUTrUZEw and  https://youtu.be/xZOj7hi88-4) and was gracious enough to let me use the name for my sample application.

 

Speaking of tacos, how do you like yours? And what makes them a perfect food?
 

That’s a tough question! There’s an Austin-based chain of taco restaurants, Torchy’s, that has some of the most amazing tacos. The two I order most frequently are the Tipsy Chick (grilled chicken, grilled corn, green chilies, baby spinach, and bacon-bourbon marmalade) and the Mad Cow (skirt steak with black beans, corn, jack cheese, cilantro, and creamy chipotle sauce).

 

Those are some fancy tacos!
 

I think the word you’re looking for is “life-changing.”