Learning Center
Plans & pricing Sign in
Sign Out

Enrique Lara


									Enrique Lara


  I have been working professionally as a developer since 1999, I have 7+ years of J2EE experience
and 9+ years in Web Development. I have designed and developed Web and Portlet Applications
targeted at Tomcat and WebSphere production runtimes. I have had the opportunity to work in a
handful of roles within the SDLC, from Application Developer to Tech Lead, Build/Release Manager
to System Admin/Integrator, with Production Support rolled in for good measure.


Programming              Java6, Java5, J2EE, JUnit, DBUnit, Struts, Spring-WebFlow,
                         Spring-IOC, Spring-Security, Hibernate, JPA, JDBC, SQL, Hibernate
                         Search, Lucene, Log4j, Portlets, JSR-168, C++, Perl, XML, XSL, HTML,
                         XHTML, CSS, Javascript, AJaX, bash
Software                 Hudson, Tomcat, WebSphere, IBM Portal Server, Jetspeed-1, Apache Http
                         Server, Oracle, MySQL, doxygen, JMeter, TCPMon
Configuration            cvs, subversion, git, mercurial, Visual Source Safe, Maven, Ant, Rally,
Management               Remedy, QC, Sharepoint, RPM, Solaris Packaging
Operation Systems        Windows, Red Hat Enterprise Linux, Solaris, AIX, tru64unix
Editors                  emacs, Eclipse, vi, Idea, Firebug
Spoken Languages         Fluent in English, Fluent in Spanish


Rose-Hulman Institute of Technology          Bachelor of Science in Computer Science, Minor in
Terre Haute, IN                              Japanese, May 1999
                                             Cum. GPA: 2.748 Maj. GPA: 3.038
Kanazawa Institute of Technology             Intensive Program in Japanese for Science and
Kanazawa, Ishikawa Prefecture, Japan         Technology (KIT-IJST)

                               Enrique Lara -

Object Computing, Inc. - May-2006 - Current

Client: MasterCard - February-2010 - Current

Programmer                                                                             St. Louis, MO
    I was part of a "SWAT" team brought togethor to design and develop an elegant way of
supporting configurable form field display and validation. The web-application is used by CSRs
across different clients with slightly different restriction, permissions and required fields. One
deliverable of this project is to permit configuring these parameters at run-time. My tasks include
researching the exising annotation-base validation framework and implementing a POC to validare
our design assumptions.
Skills: Annotations, Java5, RAD, WAS

Client: Boeing - December-2009

Programmer                                                                             St. Louis, MO
    In this brief assignment, I was brought up to speed and able to implement features critical to the
success of ADAF. This Java Swing Application is used to render plots of flight test data. In some
cases, the digital sensors used to collect measurements were run at differing sampling
frequencies/times. I enhanced this application so that it was able to plot these measurements on the
same graph, using data interpolation.
             We met with the flight-test Engineers to understand how the data were generated, as well
as gain insight as to how related tools managed the same scenario. I modeled the data massaging
functionality using the Strategy pattern. The first implementation used an algorithm based on a
sample and hold circuit. The second implementation option used linear interpolation to line up the
number arrays.
Skills: Idea, Java6

Client: Express Scripts - July-2008 - Dec 2009

Software Engineer                                                                      St. Louis, MO
     I was a part of a team tasked with identifying, documenting, and promoting web application
standards across the company. I implemented and maintained a reference web application - a book
store - that served as a working example of the standards. I worked with teams to identify
recommended usages for language features/libraries/toolkits such as Caching, Threading, Database
Ids, etc, that didn't otherwise have a existing examples in the book store.
     My team was also responsible for maintaining the continuous integration application
infrastructure - Hudson, Nexus, automated deploy scripts, and IDE support. My primary
responsibility in this area was the maintenance of a bundle containing free open source development
tools that saved the company approximately $4,000 in licensing per developer workstation.
     As part of my tool-smith role, I wrote a maven plug-in to create/update and delete Hudson jobs.
This maven plug-in used Hudson's REST API to copy an existing template job, and reconfigure it per
the project's requirements (SCM coordinates, branch, packaging).
     In order to leverage the existing Corporate Security infrastructure, I programmed a JAAS
                               Enrique Lara -
LoginModule that tied into Active Directory. I configured this as a Tomcat Realm for securing
Hudson, JSPWiki, etc. In a similar vein, I implemente a Spring-Security Authenticator to consume a
corporate Security Web-Service.
    For approximately three months I was the liaison between the Client and a Consulting firm
running a POC of Infrastructure Monitoring Tools. In this role, I helped coordinate the provisioning
of WebSphere environments, testing and infrastructure resources. I also served as the primary
administrator of the 10+ WebSphere instances for the duration of the POC.
             On occasion, I was called-in for production support. For cases that were determined to
be a result of code issues, I would implement and/or document the solutions.
Skills: CA, CGI, CVS, Gomez, Hudson, J2EE, JAAS, JAAS Realm, JDBC, JMeter, JSPWiki, Java,
LDAP, Maven, Nexus, OPNET, Perl, Production Support, REST, Spring-MVC, Spring-Security,
Spring-WebFlow, Standards, TCPMon, Tomcat, Web-Service, WebSphere, bash

Client: McCarthy - Jan-2008 - July-2008

Programmer                                                                             St. Louis, MO
    PM is a Java Web Application written to assist in the management of large Construction Projects.
My tasks ranged from new feature development to hardening of existing features for the 1.0 release.
    A lot of my smaller tasks included tweaks and fixes at the JPA/Hibernate tier. I worked through
some issues in the Transaction/Session Management code that manifested as lost updates to some
records. I addressed a specific bug in the CRUD that showed up in an object graph with bi-direction
relationship. Through the use of joins, I was able to circumvent the infamous N+1 select problem
that tends to arise with Hibernate.
    One of my bigger tasks was the implementation of the free-text search feature. This was
implemented using Hibernate-Search, which forced some code change to support updates to some of
the project dependencies. I set up all the annotations to the model-object, as well as implemented the
java calls to the Hibernate search. I also created an Indexing Service that was scheduled using
Quartz to periodically re-fresh the search indexes.
             The AJaX-Heavy front end relied on a couple different JSF libraries to provide a rich user
experience. I standardized the popups to a consistent look and feel throughout the application.
Some changes were as straightforward as changing an attribute on an A4J/JSF component. The
more complex fixes needed to factor in how different browsers implement layering in CSS.
Skills: A4J, Ajax, Hibernate-Search, JPA, JSF, Java5, Lucene, Richfaces, Seam

Client: Express Scripts - May-2006 - Dec-2007

Programmer                                                                             St. Louis, MO
   As a programmer, I worked on a handful of external and internal facing Web Applications,
including the main Member site. I was able to guide a re-write of the Company's Phone Directory
through the full Sotware Development Life-Cycle.
     I feel my major contribution to the Member Application was the coding of functionality allowing
DOD Members to convert their prescriptions to mail-order via the web-site. The successful and
timely delivery of this was noted as critical to the success of future conracts that where then under
negotiation. I implemented a new set of views, along with changes to the existing struts actions and
POJO services. I spent some time coordinating with external teams to then implement changes to a
set of data loading scripts implement using awk, bash and SQL. In addition to TMOP-HDE, I also
added some functionality to give members higher visibility into the current status of their
prescriptions - SOMP. This required additional integration with the CORBA back-end services, in

                                Enrique Lara -
addition to changes to the login and prescription conversion process flows.
     One of my earliest projects was to re-write the company's internal Phone Directory. There was a
Searching component as well as an Administrative application used to manage the data. The users of
the Administrative tool were the primary stakeholders/drivers for the re-write. I was commited to
this project from "scoop to nuts" - starting with a high-level estimate to gain funding. I maintained
an open dialog with the admins, gathering an initial set of requirements as well as receiving on-going
clarification based on experience gained during the development process. I also coordinated the
testing and deployment the DBA/QA/release management groups, keeping the Stakeholders informed
of the milestone dates. I was also responsible for the implementation of all the code, following the
guidance of my supervisor for architectural decisions. I re-designed the DDL, implemented the java
hibernate-backed services, as well as the JSP/Stuts tier. As part of the final deployment, I also
managed/coded the timelines/scripts to migrate the records into the new table structure. As part of a
later enhancement to the Phone Directory, I implemented a parallel set of XHTML tiles to produce a
Blackberry-friendly display.
             I spent a few months maintaining and enhancing the Client and Advisor Portal. I wrote a
maven plug-in that deployed the portlet war into a local WebSphere Portal Server instance to permit a
quicker turnaround during development. One of the more visible changes I made was to implement
the User Agreement validation/presentation. This involved integrating with the an LDAP back end,
as well as implementing a custom inter-portlet communication mechanism, using IBM guidelines. I
created a set of Ruby scripts to facilitate administration of the LDAP repository - for querying and/or
updating of user records.
Skills: Hibernate, IBM Portal Server, JSR-168, Junit, LDAP, RAD, Spring, Struts, Tiles, WebSphere
Portal Server, XHTML, jsp, maven, ruby

SirsiDynix - June-2001 - May-2006

Programmer                                                                             St. Louis, MO
     In my five years I worked with applications written in C/C++/Java, from standalone services,
webapps, and some thick clients. I implemented the Model/Service refactorings/enhancements to the
Web2 OPAC - a C++ Web-App. I used IOC and the Bridge pattern to support integration with a new
back-end server.
     My first foray into professional J2EE development was with the Rooms/EPS Portal application
suite implemented in Jetspeed-1. I wrote a POJO service to index the application data model into
Lucene. I also implemented a search Portlet to present results for URL accessible model objects.
Many of the portlets were pre-configured with URLs annotated with Dublin Core information. I
created multi-threaded Java service which identified and collected applications URLS, pulled from
content files and/or database records. URLs were checked for validity and the results stored for later
report generation.
     One of the projects in which I take the most pride, was my design and implementation of an
Online Public Access Catalog (OPAC) in Java. The OPAC was implemented using MVC, IOC,
relying on an abstracted Command pattern that permitted the same business logic to operate under
multiple platforms - Jetspeed-1, JSR-168, and a Struts web-application. The design permitted code
re-use to support AJaX and RSS views into existing OPAC Command objects. I worked with a
load testing team to tune this application such that its response times were comparable to an
analogous standalone C++ application.
     In order to support the full set of features required in the OPAC, I factored out an ILS
communication protocol abstraction from a 'mega-project' into self contained sub-project. As part of
this effective I created and enhanced a JUnit test suite.
             I had the opportunity to work on a handful of Research and Development projects. One
item was an event tracking application with a Struts based reporting front end. Event signalling was
accomplished via TCP and/or UDP socket-based Log4j appender. Event capture handled by a Java
                                Enrique Lara -
server that store results in a MySQL database via JDBC. The XML messaging protocal was
designed to be compact enough to fit within one standard UDP packet. Another topic of research
was the prototyping of a Java Swing application to edit XML config files.
Skills: AJaX, C++, IOC, JDBC Realm, JSR-168, JUnit, JUnitPerf, JVM profiler, Java5, Log4j,
Lucene, MVC, MySQL, Portlets, RSS, Single-Sign-On, Spring, Struts, TCP/UDP Sockets, Tomcat,
Tomcat 5, YourKit

Amdocs Inc. - July-1999 - June-2001

Programmer                                                                        Ramat-Gan, Israel
   This project was a C++ application that relied on a custom distributed application framework to
support horizonal and vertical scaling. I spent much of my time analyzying the Oracle schema to
support the extraction/migration of records using embedded SQL. As a tool-smith, I created perl
scripts and NT-batch files to simplify the setup and backing-up the local development workspace.
Skills: Oracle, SQL
Programmer                                                                         Chesterfield, MO
   I spent a few months on a Enterpise-Scale Integration project using various toolkits/engines to
interface a new Amdocs system with a customer's legacy application. I initially was implementing
the data bridging using Mercator. I later served as the developer for the evaluation of Data Junction
for suitability. For this I both explored the Windows IDE as well as integration with the embedded
DJEngine C++ SDK.
              A smaller research and development project was the creation of an EJB based
web-application to test the feasibility of porting functionality from C++ through CORBA.
Skills: C++, CORBA, Data Junction, JSP, Java, Mercator, Perl
Programmer / Administrator                                                          Toronto, Canada
   I spent about three months in Toronto working as a programmer and build manager on the
customization of a web-application for Sympatico. I learned to, and ultimately, built and deployed
Solaris packages, and coordinated with development and deployment teams to determine the relevant
code for weekly patch releases. I helped to define/document a branching and versioning scheme to
support maintaining the current release along side with ongoing development.
Skills: MD5, Solaris Packaging, cvs, perl
Administrator / Systems Integrator                                      St. Louis, MO ; Monroe, LA
  In the early phases of this project to customize the Solect/Sympatico web-application for
CenturyTel, I was the primary administrator of the team development environment - cvs, Solaris,
iPlanet. As the project proceeded, I served as the primary point of contact between the customer and
project team of 25 for requirements gathering, status reporting, and deployment coordination.
On-site with the customer, I coordinated between teams in four different office locations in two
countries to configure system interaction with LDAP. I also created scripts to convert Solaris
Packages into bundles deployable onto tru64unix.
Skills: LDAP, Solaris, Solaris Packaging, cvs, iPlanet, perl

                                Enrique Lara -

To top