Every week here and in our newsletter, we feature a new developer/blogger from the DZone community to catch up and find out what he or she is working on now and what's coming next. This week we're talking to Andrew Lee Rubinger and Arun Gupta, the authors of DZone's recent Java EE7 Refcard. Rubinger is an open-source engineer, developer advocate, and Program Manager at Red Hat, and Gupta is Director of Developer Advocacy at Red Hat, focusing on Red Hat JBoss Middleware.
1. What have you been working on lately?
Gupta: I’m responsible for developer outreach of JBoss Middleware at Red Hat. Recently I’ve been traveling all around the world and talking about Red Hat’s middleware offerings at JUDCon India, JavaLand, Devoxx France, and several other user groups. I’ve also been helping coordinate WildFly launch at different Java User Groups around the world. Recently we completed talking about WildFly at 40ish JUGs, and with that we’ve covered all 6 continents now. Read more about it at: http://blog.arungupta.me/2014/04/wildfly8-40jugs-6continents/.
Rubinger: My history has been in engineering of developer usability projects and enterprise runtimes at JBoss; and I’m now working as Developer Advocate for Middleware. Most recently I’ve released “Continuous Enterprise Development in Java” (http://shop.oreilly.com/product/0636920025368.do) with O’Reilly Media, and have wrapped on the premiere of our new open-source conference for application developers and maintainers, DevNation (http://www.devnation.org). Thematic throughout my career have been attempts to make complex tech easier without glossing over inherent complexity.
2. We just published a new Refcard on Java EE7, which you wrote -- thanks again! Is there anything we couldn't fit in the card that you'd like to add now?
Gupta: Java EE 7 is a big improvement to the Java EE platform. Refcard is a great start because it provides a quick introduction to the main technologies without digging into the details. In addition, I strongly recommend looking at https://github.com/javaee-samples/javaee7-samples that provides an extensive set of samples for Java EE 7. Also look at https://github.com/javaee-samples/javaee7-hol that is a self-paced end-to-end hands-on lab teaching design patterns of Java EE 7. And you can always read lot more detail about each of the technology in my Java EE 7 Essentials book.
3. Are there any particular developer tools or resources you couldn't live without?
Rubinger: When I’m writing APIs that make heavy use of generics, I find it helpful to have a bytecode viewer window open adjacent to my source. Also I make frequent use of static analysis plugins in the IDE to catch potential bugs as I write. And the Arquillian project, which I’ve been involved with for years, ends up being the little engine that could in terms of enabling testable development where it may not have been feasible before. In my mind, testing is the most important bit of code after the API.
Gupta: Most of my heavy lifting is done with NetBeans, Maven support there is seamless and out-of-the-box. I do try other IDEs like JBoss Developer Studio and IntelliJ but always keep coming back to it.
4. Do you have a favorite open source project (or projects) that you've contributed to recently?
Rubinger: Lately I’ve been tinkering with Vert.x from quite a few angles; after spending my maturation in Java EE, it’s an interesting challenge to re-imagine the thread-per-request paradigm into something completely different and think in a more asynchronous manner.
5. Do you follow any blogs or Twitter feeds that you would recommend to developers?
Rubinger: Sure, but don’t just mimic my feed. Generally-speaking, I’d suggest folks seek out the official channels of software and companies they work with. Find the lead developers of those projects and follow them. See who they interact with. While social media can be noisy and give a megaphone to the uninformed and uninteresting, it also gets you access into the minds of really bright people who wouldn’t otherwise be expressing themselves in mainstream media. So curate your feed carefully and cull out distractions. And if all else fails, follow @SeinfeldToday.
Gupta: Typically, my homeline will have tweets from four categories. First, I following generic twitter handles like @opensourceway, @techcrunch, @dzone, @javaposse, and @java that provide cross-industry spectrum. Secondly, the twitter handles of projects that I like to follow. Sometimes it may be the project lead or one of the key engineer of the project as well. Conference handles also fall in this category.Third, twitter handles of fitness related activities like @MensHealthMag, @RunnersWorld, and @runningtimes. Last, but not the least, co-workers, friends, and some other key community members that I’ve known for several years now.
6. 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?
Rubinger: As mathematics are by definition an abstraction for explaining the world around us, I’d grown up fairly unimpressed with the years of education I’d put into it; its applicability was not something I had recognized and valued.
I began programming in my first year of university, and it was like unlocking a power which had been laying dormant for a long time. The fourth exercise of the class was to create a simple game, animating balls that kind of bounced in a box on the screen. And I thought: what if they could accelerate? What up, Physics? What if I could have ‘em move at various angles? Hey, Trigonometry!
In time my study of software and modeling began to influence my decision-making process in other aspects of life, and I ultimately make more well-informed choices as a result. I hope.
Gupta: I did my MS in Computers, so in a way that defined the path to life as a developer. But still remember getting introduced to the retro snake game during my early days of MS, and the ability to manipulate the color and length of the snake. That felt pretty powerful. One of my first job assignment involved writing an Applet and retrieving rows from a database. That’s how I got introduced to Java.
7. Is there anything else you'd like to mention?
The JBoss community offers 100+ projects, all listed at http://www.jboss.org/projects. Do you want to build mobile applications? AeroGear is your answer. Do you need tools for container-independent enterprise testing? Arquillian is your answer. Want to run Google App Engine on your private cloud? Try CapeDwarf. Rapid Java EE development in a container-independent way, try Forge. Hibernate for persistence, Keycloak for integrated SSO, Picketlink for security and identity management for Java applications, RESTEasy for RESTful applications, Torquebox for Ruby applications, Vert.x for polyglot and high performance applications on JVM, Netty for asynchronous event-driven application framework, and the list goes on.
Last but not the least, Java EE 7 lets you fly wild, without any inhibitions, fly wild with WildFly ;-)
Thanks, Andrew & Arun!