- How could Scala do a merge sort?
- Scala pattern matching: a case for new thinking?
Thanks for talking to us! What have you been working on lately?
I have just started looking at Groovy, Grails and AngularJS. I hope to have a few blog posts about these subjects soon.
You write frequently about Scala--what is your history with Scala and what do and don't you like about it?
Ah, that's a good one. I have been working with Java since 1999. While I think it will always be around, there are a number of issues with it that have been well-documented.
I am interested in alternatives that can still leverage the power of the JVM but move things forward in areas such as developer productivity, or can just make for cleaner architectures. In addition, some of the ideas in functional programming that are possible in Scala are really interesting as is its Actor model for concurrency.
Are there any particular developer tools or resources you couldn't live without?
There is nothing better than working with helpful people. I find that exchanging ideas and hearing other people's opinions and experiences is a great way to learn and enjoy work.
Even just listening to someone rant about what annoys them about an architecture or technology can be beneficial and not just entertaining.
Do you have a favorite open source project (or projects) that you've contributed to recently?
I have two young kids so my free time goes there. They are not open source but are growing so quickly they should have some sort of source control with a decent version history that has a "view changes" option that all my friends and family could use.
Do you follow any blogs or Twitter feeds that you would recommend to developers?
I really like highscalability.com.
Did you have a coding first love -- a particular program, gadget, game, or language that set you on the path to life as a developer?
I was initially way more interested in math. Object-orientated design got me really interested in software. I loved the idea of abstracting things, encapsulating complexity and the challenge of creating a good design that could deliver but still be easy to change. I loved all the GoF stuff and then got really interested in technical architecture and non-functional stuff. While the abstractions and patterns at that level are all really interesting, I still think the truth is all in code and that's the most important thing. I have never worked in a role that has no code.
Anything else you'd like to mention?
I'd just to thank all the people I have the pleasure to work with and to learn from. There are too many to mention. Other than that, if I had the time, I'd like to resurrect my DJ career and play to massive crowds around the world. Failing that, I'd like my own mid-week TV show that is a mixture of politics, philosophy, electronic music and, of course, software engineering. Despite what all the naysayers say, I think there is a market for this! We all need thought-provoking material--it's a great way to enjoy life.