Dev of the Week: Vlad Mihalcea
Thanks for talking to us! What have you been working on lately?
You write quite a bit about Hibernate. Tell me about an interesting problem or application you've solved with Hibernate.
I chose talking about Hibernate because it's so widely used and sometimes so little understood. We use it a lot in our applications, mostly because it frees us from the Create Update Delete SQL hassle. As for the Retrieve part, we let Hibernate handle our simple queries, while we intervene for the ones requiring special tuning. One interesting problem I recently solved with Hibernate is preventing "lost updates" in our concurrent batch processors, and thanks to an automatic retry mechanism (I'll blog about it in upcoming posts) we can have both consistency and throughput.
Are there any particular developer tools or resources you couldn't live without?
Do you have a favorite open source project (or projects) that you've contributed to recently?
I have a lot of favorite open source projects: Apache Commons, JUnit, Mockito, Spring, Spring Integration, Hibernate, MongoDB, STM, Akka. I haven't yet contributed to any of those, but I submitted bugs and test cases, and I really appreciate all the effort that's put into delivering all these tools. Without these guys' great work and passion we would have to spend our clients money on building modest versions of these tools over and over again.
Do you follow any blogs or Twitter feeds that you would recommend to developers?
I don't use Twitter and that's because I enjoy browsing the blogs I'm interested in by myself. I like to follow new posts from Robert C. Martin, Martin Fowler, Bruce Eckel, and Matt Raible to name a few of all the great people I admire.
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 started writing programs in QBasic on my HC Romanian-made computer as a gymnasium pupil. My brother who is an artist was designing graphic characters on a notebook, and I was in charge of calculating sums of power of 2 and the DATA command to represent his drawings. Then I switched to Math and Physics, and as a student I'd chosen a telecommunications career. But it was the "Programming in Java" book by Calin Vaduva that opened my eyes. I discovered the wonders of OOP, and it felt like I was playing Lego rather than calculating math formulas. Ever since I've been learning programming by myself through reading books, articles, blogs, and the wonderful java.dzone.com.
Is there anything else you'd like to mention?
Becoming a programmer made me understand how learning works. While I don't deny there are good techniques to improve your learning abilities, if you are passionate about something you won't ever need them. The brain knows how to learn and that's what it does best. You just need to keep doing what you really enjoy and it will take care you remember tons of stuff, ideas, tricks, patterns, idioms and paradigms you'd never thought they can fit into a single guy's mind.
Check out Vlad's blog!