Professional Summary

Fifteen years experience in Java based client/server and web-based software. Well-rounded in full stack application development including intricate and sophisticated user interfaces, data presentation, web services, AJAX integration, JMX interfaces, middleware messaging, full SDLC management, and robust testing with Selenium and TestNG. Proven track record of engineering solutions for the most challenging requirements and technical hurdles demonstrated by the industry-leading "Infrared360" middleware management software as senior engineer for Avada Software.

Courses, Webinars, Seminars

Udemy Online Courses
  • Master Java Web Services & REST API w/ Spring Boot (8/27/18)
    View Course Highlights
    ▪ Intro to Spring Framework and Spring Boot
    ▪ IOC, Dependency Injection, Autowiring, Component Scanning
    ▪ SOAP and RESTful Web Services
    ▪ Basic Authentication Security
    ▪ Exception Handling and Error Codes
    ▪ Intro to HATEOAS and Swagger
    ▪ Internationalization, Versioning, Static/Dynamic Filtering
    ▪ Header and Content Negotiation
    ▪ Connecting RESTful Web Services via JPA
    ▪ Restful Web Services Best Practices
  • Spring Framework Master Class (9/30/18)
    View Course Highlights
    ▪ Dependency Injection, Autowiring, Component Scan
    ▪ Bean Scope, Prototype and Singleton
    ▪ IOC Container, Application Context, Bean Factory
    ▪ Components, Services, Repositories, Controllers
    ▪ JUnit Integration
    ▪ Basic Mockito w/ @Mock, @InjectMocks, @RunWith
    ▪ Spring JDBC, JPA, H2, Spring Data, MySQL Connection
    ▪ Basic Spring MVC w/ View Resolver, Model Map, Controllers
  • Angular 6, NodeJS, AWS/Cloud Dev, Mongo/NoSQL
    (In progress)

Training
  • Technical Introduction to IBM MQ (8/14/18)

Webinars
  • Advanced Test Automation Techniques Using Selenium (8/22/18)

Education / Training

Collin County Community College (CE), Plano, TX
Java, Javascript, CSS, HTML

Employment history

Senior Java Web Applications Engineer
Avada Software
February 2011 to Present
Senior developer and engineer for Avada's flagship software solution "Infrared360", a web-based middleware management portal. Core role consists of all SDLC efforts utilizing a wide range and diversity of APIs, techniques and frameworks.

Created a JMX process to acquire MBean data and invoke operations. Data is persisted and displayed as line or gauge charts. Wrote custom JSP tag encapsulating all boilerplate code and customizations. Charts saved as PDF, PNG or SVN. A major author of all server side interaction via AJAX/JSON.

Developed process to display data in grid tables. Wrote a custom JSP tag encapsulating all boilerplate code and customizations. Customized state caching for column widths, filter/search parameters, sorting, paging, recalling and highlighting the clicked row when user returns from other pages. Created methods to interact with web page and server side requests.

Constructed customizable dashboard comprised of charts, grid tables, HTML and URL widgets. Grouped widgets correlate to a tabbed display. A layout editor allows admins to customize the layout and persist it. Currently upgrading to "Packery".

Converting process of persisting state of user interactions away from browser-dependent "localStorage" to a JSON objects design.

Built a javascript tool to decipher, display, edit and create hex/ascii/EBCIDIC data using various character sets. Employed a binary tree searching technique for efficiency. It converts content of middleware messages into a readable format.

Critical lead role leading in implementing QA efforts using Selenium and TestNG. Wrote hundreds of test cases. Created Java wrapper class encapsulating and simplifying underlying Selenium code. Integrated HTML reporting complete with screenshots. Coaching and supporting QA staff.

Recent efforts include a POC for a diagram-based interface using GoJS.

Conducted research efforts of various technologies and presented POCs to company management to support evaluation efforts.
Web Applications Consultant/Developer
Self Employed
June 2010 to February 2011
Struts 2 based web applications design, development, testing and implementation. Creating dynamic and sophisticated GUI pages utilizing the power and flexibility of JQuery and the Struts2/JQuery plugin, web services (including secure/encrypted), and data access layers using OpenJPA and Hibernate. Web server environments include Tomcat and Glassfish.

Project consisted of converting a large application from Struts 1 to Struts 2. This includes analysis of the existing application and recommend best practices and alternative solutions to streamline the application as well as increasing performance, efficiency, scalability, and future code maintenance.
Contract JEE Developer
GenQuest (Pantex Facility) Amarillo TX
Mar 2009 to May 2010
Obtained Q-Level Security Clearance DOD/DOE

Lead developer on major enterprise project from inception to production deployment. This included requirements gathering, technical consultation, development efforts, testing, documentation, and presentations to various levels of management throughout the US Department Of Energy.

Developed project entirely in Struts 2.1.6-8 using Spring injection, interceptors, validation, security, and Ajax provided by the Struts 2 framework. Heavy use of front end development using JQuery including writing custom plug-ins for custom dynamic interfaces.

Resolved technical issue regarding enabling secure web services on Weblogic both in transport and message level encryption. Deployed solution using Web Service Security and Policies standards 1.2. Developed Weblogic based ANT scripts for constructing web service components from an annotated JWS file.

Created customized DAO layer resembling annotated Hibernate beans. Using the Reflection API, created generic DAO class which introspected annotated DTO objects to create a concrete DAO object complete with all query and update methods including column ID, Keys, Delete Keys, and Named Queries. This allowed cross-deployment efforts between MySQL and Oracle environments required to remain in sync through the development process. The DAO layer implemented a DAOFactory which was constructed along with the various concrete DAO objects when the application was deployed. The DAO Factory was injected at deploy time as well and available through the application context. Incorporated JUnit for testing the DAO layer.

Created and maintained all documentation for the project including user guides, technical documentation geared towards developers, and project requirements. Other documentation included Javadoc comments as well as Wiki based cross-site collaboration efforts.

Ensured that all development and coding efforts complied with strict Cyber Security regulations and constraints.
Contract JEE Developer
Anderson Merchandisers, Amarillo TX
March 2008 to July 2008
Worked on two internal applications for complex data entry and maintenance purposes. This included Yahoo User Interface API (YUI), Struts 2 and Hibernate with a MySQL back end in a UNIX environment. I worked with QA and users to gather requirements. New application made heavy use of YUI to create a dynamic and editable tree-driven application simulating unique data structures and relationships as well as meeting users' needs and functional requirements.

Created an automated application integrating vendor supplied meta data for various media including music, movies and books. Heavy development using Pentaho's Kettle/Spoon business intelligence tool. Developed a process to gather monthly and master updates, loading numerous tables, checking/eliminating duplicates based on keys, and normalizing data.

Developed a master load process retrieving and filtering data from a DB2 system into a MySQL database to better facilitate multiple applications.
JEE Application Developer
Financial Payments, Amarillo TX
February 2007 to December 2007
Developing complex admin and reporting applications for proprietary check processing software. Heavy use of AJAX with DWR for dynamic displays of form data and verification. Developed DAOs, managers, controllers, beans, and Freemarker based views in a Spring MVC design running under Jboss with SQLServer backend. Interfaced with Hessian service for user management.

Developed specialized Hessian user service encapsulating complex business rules and processes into a single object with simplified interface. Included users' profile and roles/permissions.

Maintained existing Herring Bank's IBS application. Made significant improvements and bug corrections of this Struts 1.1 application and heavy Model 1 JSP design.

Maintained current version of check processing application written entirely in PHP. This included read/write database queries and email notifications. Cleaned up database connectivity code reducing several pages of duplicate code into one global import. Assisted with planning of converting it to J2EE.

Developed a Struts-based generic reporting application that accepted and displayed any query stored in a database table with other report parameters such as style sheets, headers, footers, and titles. Created an admin piece to manage each report's parameters and queries.

All development was performed with Eclipse including MyEclipse and Subversion plug-ins. Javadoc comments were required along with proper documentation in TRAC, our project management application.
Java/Oracle Developer
Atmos Energy Dallas, Dallas TX
February 2006 to January 2007
Development and support of Asset Creation and Estimation application. Migrated source code and control from third party to Atmos' systems. The application was a hybrid J2EE Struts and Model 1 application interfacing with various internal Oracle applications OPA, eAM and Configurator. Main tasks were fixing bugs, increasing performance and stability, and new functionality. Collaborated on a regular basis with technical and subject matter expert liaison. As directed by the company, I compiled an in-depth forty page analysis detailing many issues surrounding this pplication including a course of corrective action.

Responsible for full compliance with company's software development lifecycle procedures aligned with Sarbanes-Oxley requirements and standards. Full documentation required for change management.

Project manager of new reporting and analysis tool for creating state regulatory data reporting. The tool pulled data from two different database schemas into a customized editing window where users built properly formatted reports. Filter/search capabilities were included for selecting projects data. This was a pure J2EE Struts application using complex SQL queries, AJAX and heavy use of DHTML for a "sentence constructor"

Organized and lead code camps to instruct other developers in Java, JDeveloper, HTML, Javascript and CSS.
Application Analyst/Developer
Ajilon Consulting (Texas Instruments), Dallas TX
October 2005 to January 2006
Temporary on-site client support of existing reporting and analysis application integrating mainframe, SQLServer, and Webfocus. Responsible for running existing complex processes to generate various reports for sales departments. Made significant improvements of overall process to increase efficiency and timeliness of reports. The result was eliminating a critical two to four hour "blackout" period of reports during business hours. Successfully completed significant work-over consisting of many configuration and code changes for the new reporting year of 2006.
Application Analyst/Programmer
Tetra Pak, Denton TX
April 2004 to October 2005
Major project converting extensive and complex factory production data into a near real-time reporting and analysis tool. A "couldn't be done" type of project, I achieved what was considered programmatically impossible. Three different streams of data were captured using QuickTest to emulate manual actions in the application GUI. The data was loaded into an Oracle database from flat files with additional processing to create value-added data, and finally loaded into a QlikView reporting tool. Additional calculations were created to determine various factory production efficiencies and analysis. Project recognized by Global Information Management group for company's global solutions effort.

Reverse engineered existing SAP Business Connector java code so that CLOB and BLOB Oracle data types could be handled.

Created B2B eBusiness process to accept customer orders in various formats such as EDI, XML, Email and flat files.
Senior Application Analyst/Programmer
Dallas Morning News, Dallas TX
December 1998 to April 2004
Recognized for outstanding achievements and efforts with promotion to Senior Application Analyst and Programmer in 2003.

Full life-cycle intranet applications design, coding, testing and production implementation. Heavy interaction with users including Directors and Vice Presidents to determine business rules, requirements and training. Developed complex applications with dynamic user interfaces and server side programming involving databases, session tracking, FTP, mail server and security.

Configured JAAS security within Tomcat for several security-sensitive applications. Developed JNDI interfaces to interact with the corporate LDAP server for authentication.

Lead role in converting major mainframe application to an Oracle and java client/server environment. Determined business rules and requirements in addition to data modeling and streamlining variousprocesses. Worked closely with consultant to develop data modeling structures, methods and procedures. Converted COBOL batch programs into PL/SQL and Java. Developed two intranet applications to aid in maintaining the database and to generate queries and reports.

Created several java programs to convert and extract various external data sources containing ASCII intermixed with expanded hex data. Result was displayed as numerical and float data in expanded format.

Instrumental in developing back-end java classes to access java interface modules in Code1 address standardization software. These java classes were called from within Oracle PL/SQL applications for our subscriber database.

Responsible for direct mail and demographic/marketing database. Maintained and developed complex batch processes for both external and internal clients including solo mail pieces and grouped mailings for "The Neighborhood Shopper".

Increased runtime efficiency and decreased redundancy in several batch programs as much as 30%.

Technical Skills

Java
Struts 2 MVC
Spring Boot
Spring Framework
Spring Web MVC
RESTful & SOAP Web Services
jQuery/Javascript
AJAX / JSON
jqPlot / GoJS
jqGrid
XML / XSD
HTML / CSS3
Bootstrap 3
Hibernate
JMS
JMX
Selenium
JUnit / TestNG
Mockito

Personal Skills

  • Enthusisastic team player
  • Strong communication skills
  • Great sense of humor
  • Dependable and reliable
  • Welcomes challenges
  • Always eager to learn
  • Enjoys mentoring others

Life Balance

  • Avid photographer
  • Amateur meteorologist
  • Stormchaser
  • Musician
  • Home audio recording
  • Travel and adventure
  • Aviation enthusiast
  • Bass fishing

My photography page
CaprockPhotography.com