Sr. Java Developer Resume
Leesburg, VA
SUMMARY:
- Software engineer with 18 + years of experience developing commercial, object oriented software and e - commerce sites.
- Projects range from a midsize e- commerce site responsible for 80% of the client’s domestic sales to a shrink wrapped, enterprise level, web based, collaborative software product.
- Java/JEE/Web development
- Object Oriented Analysis and Design
- Web Services, XML, and JSON
- Framework design and implementation
- Direct customer support to multi-million dollar clients
- Multiplatform, multinational Java development
TECHNICAL SKILLS:
Java APIs:
JEE 5.0/6.0 : JAX-RS, EJB 3.0/3.1 (Stateless, MDB, Singleton, and Timers), JPA, JTA, JAX-WS 2.0/2.1, JMS, JAXB 2.*, Annotations, JMX, JNDI
J2EE 1.3/1.4 : Servlet 2.4, JSP 2.0, JSTL, EJB 2.1 (Stateless and MDB)
Core Java : Concurrency, Collections, Generics, XPath, Enums, Swing, AWT, I/O, i18n, ScriptEngine(Rhino)
J2ME : CDC JVM, Thinlets
Spring Frameworks: Core 2.*, 3.*, 4.*, JDBC, MVC, Batch, Boot, Roo
Big Data: Kafka (0.9.*), Storm (1.0.*), Zookeeper, MongoDB 3.*
Java Frameworks: Hibernate 3.*, Thymeleaf, Velocity, Mule 2.2, Junit 3/4, Jbpm 3, Struts 2, Wicket 1.4, Stripes 1.5, JDOM, Log4J, SwiXml, Selenium, UISpec4J, Thinlets, JaxMe
Java App Servers: Tomcat 5.0/5.5/6.0/7.0, JB oss 7 .0, Weblogic 10.3, Glassfish 3.0, JB oss 4.2, JBoss 3.2
Web Tier : AngularJS 1.*, BootStrap 3.*, JavaScript, HTML 3.2/4.0, CSS, HTTP 1.0/1.1
Databases and Tools: Oracle 9/10, MySQL 4/5, MongoDB, MS SQL, DB2, Sybase, Squirrel
Code and Coding:
IDE’s and Editors : Intellij, Eclipse, VI, Emacs
Build/Project Definition : Maven 2.* and 3.*, Gradle, Ant, Make, Shell scripts, Hudson, Jenkins, Bamboo
SCM : Git, Subversion, Mercurial, CVS, Perforce, BitBucket, GitHub, Clear Case, Visual SourceSafe, StarTeam
RAD : Spring Boot, Spring Roo, Rational Rose, Home Grown Schema to Spring Persistence generation
Process and related Tools:
Methodologies : Scrum, XP, RUP, Waterfall, Start Up
Tools : Confluence, JIRA, VersionOne, Rally, Bugzilla, Rational ClearQuest, Crucible
Technologies: AJAX, Memcached, Apache Web Server 2.0/2.2, ActiveMQ
Development Platforms: Windows 8/7/ XP/ 2000, Linux ( Redhat, Suse, CentOS, Mint), Mac OS X
EXPERIENCE:
Confidential, Leesburg, VA
Sr. Java Developer
Responsibilities:
- Addressed defect in SPAM attachment processing of compressed files. Add unit and integration testing for this functionality
- Improved existing functionality for searching and downloading catalogued SPAM attachments
Confidential, Clear Lake, IA
Performance Engineer
Responsibilities:
- Work with Kafka / Storm / MongoDB stack to capture real-time monitoring data
- Identify tools to use for performance testing and production monitoring
- Identify best practices with regard to performance with an initial focus on Storm
Confidential, St Cloud, MN
Sr. Java Consultant
Responsibilities:
- Implemented datagrid driven by JSON retrieved via Spring MVC using AngularJS ng-repeat
- Datagrid supports sorting by column, filtering by column including a columns with checkboxes dates using AngularJS Directives .
- Allows editing dates of selected rows by either a JavaScript calendar popup or manual entry of text
- Multiple validations were performed on data changes and the submit button was not enabled unless the form data was valid and there were data changes
- Java backend was implemented using Spring Boot , Spring MVC/REST , Hibernate , and Thymeleaf
- Defined and deployed database schema for both MySQL ( DEV ) and SQL Server (Stage/PROD)
- Designed and Implemented Web UI for generating Blackline/Redline change reports
- Implemented Web page using AngularJS and Bootstrap
- Implemented table driven by JSON data generated by AngularJS ng-repeat that allowed selecting two rows to use in a comparison to generate a Blackline difference report
Confidential, Clear Lake, IA
Sr. Consultant
Responsibilities:
- Implemented several new API calls that are exposed via JMS Messaging using JSON formatted requests and JSON responses including implementing JUnit unit tests
- Implemented Encryption/Decryption using CryptoJS in the browser and the JCA API in Java . Used ECMA compliant Javascript engine in Java to write JUnit tests for full round trip testing between Javascript and Java Proof of concepts/demos for Java Development Environment
- Reviewed current development environment and investigated a possible move to either Maven or Gradle .
Confidential, St. Cloud, MN
Sr. Java Consultant
Responsibilities:
- Logic/implementation duplicated across nearly a dozen client implementations with some client specific logic
- Identified common code/logic/queries and conversely areas that need to support client specific implementations
- A key challenge was pulling implementation from Roo managed projects without affecting the existing development process
- Re-Implement EAS Address Correction to use Spring Batch API and Configuration
- Existing Address Correction consisted of multiple batch calls using asynchronous response processing, with overlapping concurrent steps. This prevented using standard Spring Batch API’s and configuration
- Implemented custom Java ThreadPoolExecutors and Spring Batch ThreadPoolTaskExecutor to handle retry logic and multiple steps taking place concurrently
- Implemented custom ItemWriter to call EAS for batch of corrected Addresses to process
- Analyzed and then implemented custom Spring Batch PartitionHandler to initialize and manage ThreadPoolExecutors and overlapping Steps using Java CountdownLatches to know when a Step completes to let Step listeners know when previous, concurrently executing step has completed
Confidential, Salt Lake City, UT
Sr. Software Developer
Responsibilities:
- Added new functionality and updated existing functionality based new customer requirements
- Application was a Struts 2 based application using the JQuery framework with Hibernate in the backend
- Added new JS popup dialog with HTML Form for customer to contact supplier and added support in the backend to send email. Added new Struts 2 action with validation and security checks. Added new Velocity template to generate email with Velocity context populated with form data.
- Added to functional test coverage of existing e-commerce application using Selenium , CDI , JPA , and JBehave
Confidential, Minnetonka, MN
Consultant
Responsibilities:
- Spring 3.1 based Service hosted in Tomcat that provides two approaches for providing a full listing of primary keys/IDs for various business objects - a REST based API and a timed service that pushes to cloud hosted cache. Used Spring Persistence to access stored procedures with data.
- Cloud based service to provide unregistered remote devices a unique DSN ID via REST based API
Confidential, Golden Valley, MN
Techical Lead
Responsibilities:
- Identified and refactored (re-implement functionality without) 3 rd party Intellectual Property that existed in the application in the form of Java code, .Net Web Services, and database schemas.
Confidential, Fargo, ND
Consultant
Responsibilities:
- Designed/Implemented Proof of Concept for High Volume Sensory Network Event processing using JEE 6 technologies: JAX-RS , JAXB , JMS , JPA , and local Caching
- Provided analysis of current Architecture/Design
- Provided recommendations for Architecture/Design changes to support scalability/performance
- Implemented new functionality/Fix defects in existing platform
Confidential, Golden Valley, MN
Technical Lead
Responsibilities:
- Implemented persistence layer for multiple projects via Spring JDBC . Used combination of a Spring DAO pattern, Schema Crawler to read the database, and wrote template processing application using Velocity to generate scheme driven, table specific Spring DAO classes using information from Schema Crawler to integrate into the DAO pattern.
- Tech Lead for HMR Project at Confidential ( 4 on -shore, 15 off -shore developers)
- Responsible for design and implementation of J2EE , dual portal Weight Management application
- Project used JSP/Servlets/Spring MVC/Spring Core/Dojo for the presentation layer and Spring Persistence with custom persistence Framework (see above) for backend
Confidential, Boise, Idaho
Consultant
Responsibilities:
- New feature to help new members fill out profile and fitness goals via sequence of web pages
- Signup Wizard was implemented using Wicket 1.4 on the Web Tier, deployed to a cluster of Tomcat 6.0 servers calling a Business Tier API to capture data and Memcached to for caching
- Implemented pages in the wizard to capture personal data including gender, weight, height, current percent body fat, and goal physique using a variety of Wicket Components including Ajax enabled radio buttons, text fields, check boxes, drop-down lists, and selectable images (image in anchor with Ajax call)
- New feature to allow members to track individual workouts, workout history, and rollup data
- ( Web tier ) Implemented new Landing page to display rollup data, last three workouts, last three workout templates in Wicket 1.4
- ( Business/Persistence Tier ) Implemented rollup by exercise and member history including persistence API and tying together RDBMS data( MySQL ) and NoSQL data ( MongoDB )
