Canadian Information Processing Society (CIPS)
 
 

CIPS CONNECTIONS

INTERVIEWS by STEPHEN IBARAKI, FCIPS, I.S.P., ITCP, MVP, DF/NPA, CNP

Leading International Authority in Eclipse and Acknowledged Expert in Enterprise Java and Object Oriented Technologies

This week, Stephen Ibaraki has an exclusive interview with Carlos Valcarcel.

Carlos Valcarcel, a Director of Technology at Trivera Technologies, is a highly regarded subject matter expert in the field of Enterprise Java and Object Oriented Technologies. With almost twenty years development experience, Carlos has spent the bulk of his career architecting and programming critical object-oriented business systems, utilizing his extensive skills in Java, J2EE and other leading-edge technologies.

Currently Carlos reviews and troubleshoots various proprietary enterprise systems for select clients, calling on his extensive knowledge of Object-Oriented Technologies, Enterprise JavaBeans architecture, Java 2 Enterprise technologies, CORBA, RMI, Networking, multi-tier distributed systems and other advanced programming APIs and technologies.

As Director of Technology, Carlos is responsible for the integrated mentoring, education and development programs at Trivera, designed to bring teams of engineers up to speed with the latest web development technologies, regardless of their skill level and background. Carlos’ in-depth Skills Development Programs combine in-depth, custom classroom instruction modules, paired mentoring programs and structured project development modules and learning initiatives.

He recently worked on the Trivera team responsible for delivering a series of leading-edge web services technical tutorials for IBM® developerWorks®. Carlos also regularly instructs advanced Java courses, while participating in the development of training curriculum and leading structured mentoring team.

His recent book credit, “Eclipse Kick Start” (Sams), is a fast-paced introduction to Eclipse 3.0 which focuses on the practical uses of Eclipse including plug-in creations and architecture.

Discussion:

Q:  Carlos, thank you for doing this interview with us!

A: I appreciate the opportunity to share this time with your readers.

Q:  You have dedicated much of your career to architecting and programming critical object-oriented business systems, and have used your extensive skills in Java, J2EE and other leading-edge technologies. Give us a life history explaining how you got into computing, and describe your career and the roles you’ve played to get to your current position at Trivera.

A:  I have always had a passion for all things computer. I began programming on Atari and Amiga computers back in the 80's and learned C when programming was something a lot of people did because they enjoyed it and not necessarily for the financial reward. My first programming position was with a Long Island firm named Kenilworth Systems which built cashless wagering systems. I was a junior programmer with a lot of experience on units like the Atari and the Amiga where all the real leading edge ideas were being played out. After Kenilworth I went to a Wall Street software vendor named Quotient where I got my first real taste for the high-stress environments of financial firms. Shortly thereafter I started at Lehman Brothers where I stayed for just over 3 years until Java broke out. At that point, I left the world of day-to-day programming and began eating, sleeping and breathing Java. Fusion Systems Group, the company where I started my Java career, was one of the finest companies I have ever worked for. The Fusion technical staff and business partners were the best folks I have ever worked with and helped to grow my knowledge of distributed systems architectures like CORBA. That experience allowed me to be successful at large and small client alike whether in financials, manufacturing or insurance. So my career moved from pure-play development to design, mentoring and teaching. I still enjoy all three aspects.

Q: Describe your work as Director of Technology at Trivera Technologies and what it entails.

A: As Director of Technology at Trivera I get to work very closely with the executive staff in both a technical and business role. My time as an independent consultant helped me to gain a better understanding of what clients are looking for and how to satisfy the conflicting needs for high-quality, full-featured software with the reality of time and budget constraints. Kim Morello, the CEO of Trivera Technologies, is extremely focused on customer needs, while I work out which technologies clients are looking for and how best to present those technologies in either a training or a mentoring environment.

Q: You pick 3 topic areas from your extensive experience as a developer, educator, and expert in the field of Java and Object Oriented technologies, please share 3 special and useful tips on each topic.

A:
Topic 1: Object-oriented technologies

1) Read books, articles and code to gain a better understanding of OO.
2) Talk about your work and don't be afraid to ask for constructive criticism.
3) Start looking in Aspect-oriented Programming.

Topic 2: Java

1) Read books, articles and code to gain a better understanding of Java.
2) Keep a copy of Effective Java by your monitor and refer to it often.
3) Develop code using test-driven development and continuous integration.

Topic 3: Eclipse

1) Read books, articles and code to gain a better understanding of whatever IDE you are using.
2) Keep a copy of Eclipse Kick Start by your monitor and refer to it often.
3) Buy extra copies of Eclipse Kick Start and give them away to deserving friends and relatives (okay, okay, keep the extra copy).

Q: Provide an overview of your recent book credit, “Eclipse 3.0 Kick Start”? Why should our readers study this book?

A: Well, the book is my effort to present the strengths of Eclipse from the perspective of a developer who may not have the resource to buy an expensive IDE who still needs to get his or her work done. The Eclipse Kick Start book walks the readers through numerous tutorials focused on teaching them very specific skills whether it is using JUnit, the MyEclipse J2EE plug-in or hooking Eclipse up to CVS and using the team features to develop Java in a team environment. The first section is an in-depth look at a subset of Eclipse's features, specifically the Java Development environment, followed by a section that just discusses enterprise-level plug-ins that support UML, J2EE, Web services and Struts. Finally, the book ends with a section that goes into great depth on how to add fundamental plug-in constructs like preferences pages, wizards, dialogs, pop-up menus and project wizards.

Q: Eclipse offers JAVA developers an alternative to command line programming, SWING etc. providing a customized IDE consistent with the environment’s operating system.  Can you please comment on the ability of Eclipse to meet the needs of programmers wishing work in multiple environments on the same project that is, integrating command line and or SWING with Eclipse environment development?

A: The Eclipse Java Development Tooling enhances a developer's efforts by supporting the development of standalone (command line driven) Java applications as well as JUnit test cases, applets, plug-ins and JUnit plug-in test cases. The addition of a plug-in like MyEclipse also supplies support for running server-side components like EJBs from a wide assortment of application servers. With all that, I would never recommend deploying a program directly from any IDE. Code should still be stored in source control and a build file should be used to build and deploy the code from the source control repository. The support Eclipse has for CVS makes the use of source control almost trivial and the Ant support means that the build files can be run from within Eclipse if they are not run from the command line.

Q. Eclipse.org lists a growing number of Eclipse plug-ins on its Community Plugins Page.  Can you project this five years into the future and describe the evolution of this community both in membership and content?

A: Predicting the future is such a losing proposition! I appreciate the offer to look into the proverbial crystal ball and describe what I see but it might just turn out to be Sirius Black. What I can say is that the excitement surrounding Eclipse reminds me of the excitement surrounding Java when it first made its appearance in the mid-1990s. In the same way that I don't expect the excitement surrounding Java to abate any time soon I don't expect the excitement Eclipse is generating to disappear any time soon as well. In five years it will be past version 5.0 and will not behave anything like what we see today. The support for enterprise applications will grow, the number of plug-ins will have gone through the roof and other proprietary IDE vendors may start to use it as their main IDE code base. SWT may also catch on in a big way, but GUI trends are even harder to predict. Who could have predicted Eclipse's popularity 3 years ago?

Q: Eclipse does not currently provide a plug in for TOMCAT. Given the importance of TOMCAT in web environments leveraging XML, do you think there is a plan to create this plug-in in the near future?

A:  While it is true that out-of-the-box Eclipse does not support Tomcat as a launch platform, developers can use the Sysdeo Tomcat plug-in (http://www.sysdeo.com/eclipse/tomcatPlugin.html) with Eclipse 3.0 or they can download the Web Tools Platform project from Eclipse.org for Eclipse 3.1 at http://download.eclipse.org/webtools/downloads/. The current build supports Tomcat as a web development platform. Another milestone build of the Web Tools Platform project is due December 22, 2004 and will provide initial support for XML, JSPs and EJBs.

Q: Can you share your 10 most valuable guidelines on using Eclipse?

A: 1) Learn to use keyboard shortcuts instead of the mouse to save time.

2)  Before using any of the shortcuts understand what the shortcuts are meant to do.

3) Develop an understanding of the Preferences of the plug-ins you use the most.

4) Use conditional breakpoints to focus your debugging efforts.

5) Keep an additional copy of Eclipse handy so you can try a plug-in without affecting your current Eclipse installation.

6) Set up a separate plug-in directory so you can easily replace your Eclipse installation without having to reinstall your favorite plug-ins.

7) Look for new plug-ins.

8) Take advantage of JUnit and other JUnit-based testing frameworks that are appropriate to your work.

9) Spend some of the money you are saving by using Eclipse to buy one or more books on Eclipse. Even one new time-saving tip more than pays for the book.

10) Ctrl+spacebar.

Q:  What prompted you to start writing?

A: I enjoy Eclipse so much that writing a book was the least I could do. It was an incredible challenge for me, but the folks at Sams were supportive every step of the way. I could not have done it without them. I hope that my enthusiasm for Eclipse comes through on every page. Of course, if there are questions readers can always email me at carlos@eclipsekickstart.com or visit the book web site at http://www.eclipsekickstart.com. I am always adding to the site and expect to begin posting tutorials on areas like Cheat Sheets soon.

Q: What kind of computer setup do you have?

A: At home I have three IBM ThinkPads I use to develop courseware and software. When I am on the road two of the ThinkPads come with me both as a back-up and to leverage the drive space so I can set up the client software environment on a machine that won't interfere with my regular work.

Q: How do you keep up with all the changes?

A: I don't know anyone who can keep up with everything going on in the IT world, but reading voraciously makes a big difference. Also, enjoying change makes the constantly evolving world of software technology an interesting challenge instead of a chore. There are days where I wish the pace would slow down for at least a few days, but that hasn't happened yet!

Q: Carlos, thank you again for your time, and consideration in doing this interview.

A: You are quite welcome. Let's do lunch!