Careers: Interviews
Leading International Authority in Eclipse and Acknowledged Expert
in Enterprise Java and Object Oriented Technologies
This week, Stephen Ibaraki, I.S.P., 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!
|