Over a million developers have joined DZone.

The Heroes of Java: Ola Bini

· Java Zone

What every Java engineer should know about microservices: Reactive Microservices Architecture.  Brought to you in partnership with Lightbend.

Time to catch up with my "Heroes of Java" interview series. The 14the part is dedicated to Ola Bini. The London JUG connection made this interview possible (Thanks Martijn) because I sadly never met Ola in person until today.

Ola Bini works as a language geek for ThoughtWorks in Chicago. He is one of the JRuby core developers and have been involved in JRuby development since 2006. He has written a book called Practical JRuby on Rails Projects for APress, and co-authored Using JRuby for the Pragmatic Programmers, talked at numerous conferences, and contributed to a large amount of open source projects. He is also a member of the JSR292 Expert Group.

General Part
Who are you?
I'm a Swedish programming language geek living in Chicago!

Your offical job title at your company?
Well, it says "Computational Meta-linguist" on my business cards. =)

Do you care about it?
Absolutely. I work as a consultant for ThoughtWorks and there are many really good things about it.

Do you speak foreign languages? Which ones?
Swedish. Although strictly, I guess English is the foreign language for me, since Swedish is my mother tongue.

How long is your daily "bootstrap" process? 
Well. 0 or infinity. I do it continuously with other things.

You have a twitter handle? Why?
@olabini why not? =)

Whom are you following in general?
Mostly contacts or interesting people in the computing industry.

Do you have a personal "policy" for twitter?
Not really.

Does your company restricts or encourages you with your twitter ussage?
We are encouraged to build our personal brands, and using Twitter is definitely a part of that.

What's your daily development setup? (OS/IDE/VC/other Tools)
Mac OS X, Emacs, Terminal (with ZSh). Everything else is incidental.

Which is the tool providing most productivity to your work?
Emacs, without a doubt.

Your prefered way of interacting with co-workers?
Pair programming.

What's your favorite way of managing your todo's?
I use the iOS Reminders app for a lot of things, and I use Emacs
org-mode for most things.

If you could make a wish for a job at your favorite company: What would that be?
I already work for my favorite company!

You're programming in Java. Why?
I'm programming in many languages - I do Java because it's a pragmatic choice in many regards. The power of the JVM is really the reason I use Java.

What's least fun with Java?
How verbose and limited the language is.

If you could change one thing with Java, what would that be?
I would like to stop it from changing completely - I want Oracle to do a non-backwards compatible Java-like language instead.

What's your personal favorite in dynamic languages?

Which programming technique has moved you forwards most and why?
That's really hard to say. I don't actually know.

What was the biggest project you've ever worked on?
In terms of people or lines of code? I worked on a team with about 25
Ruby developers for a while. In terms of largest in LOCs, that varies a
lot from language to language, so it's hard to make comparisons.

Which was the worst programming mistake you did?
There are so many to choose from! Most of my mistakes during my career
has actually been social and political rather than technical.

Microservices for Java, explained. Revitalize your legacy systems (and your career) with Reactive Microservices Architecture, a free O'Reilly book. Brought to you in partnership with Lightbend.


Published at DZone with permission of Markus Eisele, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}