Senior Java Developer Resume
Wilmington, DE
SUMMARY
- Experienced in full software life cycle development of large - scale enterprise applications using Java & JEE and Master Data Management System using Informatica Power Center/Spring Batch.
- Hands-on experience of implementing Gang of Four (GoF) and J2EE design patterns.
- Hands-on experience with Spring Core, MVC, Batch, AOP, JMS, Web Services, Hibernate ORM, Caching using Ehcache and TDD using JUnit, Mockito.
- Experienced in designing & developing high volume data processing using Spring Batch.
- Experienced in multi-tenant/distributed/sharded data persistence using OpenJPA
- Experienced in OLTP, dimensional and factual data modeling.
- Hands-on experience of SQL queries and SQL tuning on Oracle 11g/MySQL databases.
- Well versed with SDLC, System Analysis, Unit Testing, Integration Testing of web applications & ETL/Batch systems.
- Experienced in using version control systems like Apache SVN, CVS, Tortoise and continuous integration using Jenkins and build tools Maven & Ant.
- Experienced in agile methodology, sprint scoping, capacity planning, daily scrums for discussing sprint stories.
- Strong communication skills and capable of handling teams independently.
TECHNICAL SKILLS
Language: Java SDK 1.5/1.7, SQL, XML
Technologies: Spring Suite(Core, Security, MVC, Web Services, Messaging, AOP, Batch, Data Solr), Hibernate 4.x, OpenJPA 2.2.x, SOAP, RESTful web services, Data Caching.
App/Web Servers: Jboss 3.2.3/4.x, Tomcat 7.x, WAS 6.1
RDBMS: Oracle 11g, SQL Server 2005, Sybase 12.x, MySQL 5.1
ETL: Informatica 8.6
GoF Patterns: Behavioral Patterns (Observer, State, Strategy, Template Method) Creational Patterns (Abstract Factory, Factory Method, Singleton) Structural Patterns (Adapter, Decorator, Facade, Proxy)
DB Tools: SQL *Plus, Toad, SQL Server Analysis Services 2005, Erwin
SCCS: CVS, PVCS, SVN and Tortoise
IDE: Eclipse 2.0/3.0/Europa, IntelliJ Idea
Monitoring: Logdigger, Yammer
PROFESSIONAL EXPERIENCE
Confidential, Wilmington, DE
Senior Java Developer
Environment: Java 1.7, Spring Batch 3.x, Spring JDBC, Hibernate 4.x, Oracle 11g, IBM Data Stage, Control M, H2
Responsibilities:
- Analysis of flat file specifications to automate generation of files.
- Used Java Concurrent API to develop Multithreaded Spring Batch jobs
- Designed and coded generic implementation to be reused across all DB select queries.
- Created partitioned multithreaded steps to handle high volume of data using TaskExecutor framework.
- Used EhCache to cache large volume DB calls.
- Configured nested StepJob to run nested jobs for parallel batch processing
- Used H2 DB for in memory DB for unit testing the framework using Spring4JUnitRunner
- Participated in end to end integration testing of the framework
- Worked closely with project management & architects to delegate the work to other developers.
Confidential
Lead Java Developer
Environment: Java 1.5, Websphere 6.1, Spring Suite, Hibernate 3.6, RESTful web services using Jersey 1.03, Jackson API, Spring JMS, Logdigger, Yammer
Responsibilities:
- Developed RESTful web services using Jersey API with underlying Spring 3.0 service layer and Hibernate DAO layers
- Developed RESTful web services method with appropriate RequestMapping for MediaType and HTTP Methods to align with the business functionality.
- Developed Exception Mappers to handle exceptions in the RESTful services to produce appropriate error messages using ResponseStatus specification.
- Configured role based authentication/authorization to REST URLs using Spring Security.
- Used Adapter design pattern to create new classes by reusing existing Hertz specific classes.
- Used Spring JMS to integrate to Hertz legacy systems to get the real time rates and fleet availability.
- Worked closely with project management & architects to delegate work to other developers.
- Developed filters to enable Cross Origin Resource Sharing(CORS)
Confidential, Wayne, PA
Senior Java Developer
Environment: Java 1.5, Jboss Application Server 4.3, Spring Suite, Hibernate 3.6, SOAP web services using Spring, Foglight
Responsibilities:
- Analysis of Fog Light traces for slow methods and memory leaks.
- Analyzing Hibernate mappings and fetching strategies.
- Writing proof of concept code to demonstrate efficient handling of Hibernate mappings to minimize HQL.
- Analyzing locks and blocked threads during performance tests
Confidential, Park Ridge, NJ
Lead Java Developer
Environment: Java 1.5, Websphere 6.1, Spring Suite, Hibernate 3.6, RESTful web services using Jersey 1.03, Jackson API
Responsibilities:
- Architected and developed RESTful web services using Jersey API to cater the data requirements of front end/web UI.
- Integrated the Jersey REST layer with the underlying Spring 3.0 service and Hibernate DAO layers
- Coded object mappers Jackson API to generate the JSON response for integrating the backend services with the front end UI system.
- Designed filters to implement single-legged OAuth to tokenize and verify incoming HttpRequests
- Designed shopping cart using the AOP scoped proxy technique.
- Created an independent unit tests context to perform unit test on Spring context classes
- Integrated Cobertura plug-in Maven to generate code coverage reports.
- Integrated Jersey Test API with JUNIT to use Grizzly web server to run the unit tests for Jersey web services.
- Configured second level hibernate caching using ehCache.
Confidential, Wilmington, DE
Senior Java Developer
Environment: Java 1.5, Tomcat 5.5, Spring Suite 3.1, Hibernate 3.6, Spring JMS, Spring Batch
Responsibilities:
- Developed batch jobs to load new and update existing accounts using Spring Batch 2.2
- Developed contract first web services for users to access the core functionality of the product.
- Enhanced the Java Spring Batch 2.1 jobs which generated feed of flat files to clients.
- Automated the tests of Web Applications using Selenium 2.1.
- Used test driven development (TDD) using JUnit & HSQL in-memory DB for unit tests.
- Used Freemarker 2.3 to generate statistics reports of the spring batch jobs.
- Also designing a home grown Cloud environment to distribute the processing of batch jobs over server nodes which will run over sharded database instances.
- Attended daily scrum calls/meetings and participated in peer review.
Confidential
Environment: Java 1.5, Spring Batch 2, Sybase DB 12, Maven, JUNIT
Responsibilities:
- Analysis & comparative study of business processes of the current & the new vendor.
- Designed object hierarchy, relationships using UML class diagrams & sequence diagrams.
- Analyzed and developed "Gang of Four" Design Patterns to simplify object hierarchy and promote object reuse and improve overall efficiency of core business functionality.
- Implemented composite readers & writers in Java Spring API to develop generic classes for persisting multiple OR mappings and generating flat files from various DB tables.
- Used test driven development (TDD) using JUnit & HSQL in-memory DB for unit tests.
- Used Java Cryptography DEsede algorithms to encrypt/decrypt the data files.
- Coordinating/managing the project schedule with the on site team in London.