Project Lead/senior Java Developer Resume
Waltham, MA
SUMMARY
- 12 + years of experience in various areas of software engineering like application design, development, maintenance and production support.
- Full stack developer with experience in JEE, Spring, Webservices (RESTful/SOAP), Hibernate, JPA, JDBC, JMS, Servlet/JSP, HTML 5, CSS, JavaScript, AJAX, ExtJS and React JS.
- Designed solutions for web applications, web services, asynchronous and batch processes.
- Extensive experience in maintaining and enhancing large, complex and legacy codebases.
- Strong experience in development methodologies like Agile and Waterfall.
- Good experience in end - to-end securing of web applications - controlling access to web application and web services, and securing user data.
- Expertise with SQL, PL/SQL stored procedures. Worked with various databases like Oracle, SQL Server, DB2, MySql and Postgresql
- Tuned web application response times and database performance.
- Well-versed with Windows, Linux and Unix platforms. Experienced in shell scripting.
- Used various IDEs like Eclipse, RAD, Intellij Idea, Spring Tool Suite and Netbeans.
- Domain expertise in health insurance, and in banking - wholesale payments, SWIFT.
TECHNICAL SKILLS
Languages: Java, Javascript, Shell scripting
Java frameworks/APIs: Spring core, Spring MVC, Spring Security, Hibernate, JPA, JDBC, Servlets, JSP, JSF, JMS, JAAS, JAXB, JUnit, XML, XSDLog4j: Webservices SOAP, WSDL, Apache CXF, RESTful, JAX-WS, JAX-RS, Jersey, Jackson JSON: JavaScript frameworks/APIs
AJAX, jQuery, ExtJS, React JS, Redux, gulp.js, babelnpm,: Web technologiesHTML 5, CSS, Bootstrap, Foundation CSS, Font Awesome: Build and configuration management tools, Maven, Gradle, Ant, git, Subversion, IBM Rational
Clearcase: Webservers and middlewareWebsphere, Tomcat, JBoss, IBM MQ
Series: Databases Oracle, SQL Server, DB2, MySql, Postgresql: IDEs and tools Eclipse, Intellij IDEA, RAD, Spring Tool Suite, NetbeansSQL: Developer, UML, Rational Rose, Visio, Klocwork, JIRA
Operating systems: Windows, Linux, AIX Unix
PROFESSIONAL EXPERIENCE
Confidential
Project Lead/Senior Java Developer
Responsibilities:
- Involved in solution design - webservices architecture to interface with MTS core services, and transfer data to and from the frontend. Created estimations for developing various modules.
- Implemented webservices using Spring, SOAP, WSDL, Apache CXF and JAXB.
- Developed rich user interfaces for the frontend using ExtJS. Used Spring MVC to coordinate web requests and responses. Used Apache Tiles to template web pages.
- Used Spring security and user roles to control access to the web application. Used OWASP ESAPI to escape request parameters. Protected application against Cross Site Request Forgery (CSRF) attacks.
- Profiled the web application to identify performance bottlenecks and bring application response times to within the parameters set in non-functional requirements.
- Designed and developed a service that uses JMS to read/write messages to IBM MQ Series.
- Helped with setting up a build environment using Maven - create pom.xml files with dependencies, configure repositories to use, create profiles to customize war files and run unit tests.
- Used JUnit and Mockito to write unit tests for various interfaces in the application.
- Lead an offshore team for the development of the application. Also acted as an onsite coordinator for the team.
- Supported other teams during component integration testing, system integration testing, quality assurance and user acceptance testing.
- T roubleshoot issues for MTS customers when they were deploying and testing the web application.
- Used Agile process - did backlog grooming on product backlog, Spring planning using planning poker, did Sprint reviews. JIRA was the tool used for Agile.
- Provided maintenance support for post-production issues.
- Conducted training sessions for the newer team members to bring them up to speed.
Environment: Java 1.7, Spring 4.2.3 (Core, MVC, Security), Apache CXF 3.0.7, SOAP, WSDL, Apache Tiles 3.0.5, JSP, AJAX, ExtJS 4, JMS, JAXB 2.2, JUnit 4.11, Mockito 1.8.5, Log4j 1.2.x, Tomcat 7.x, Websphere 8.x, Maven 3.3.x, Subversion, IBM MQ Series 7, Spring Tool Suite 3.6, IBM AIX 7.1, Windows 7
Confidential
Project Lead/Senior Java Developer Confidential
Responsibilities:
- Involved in understanding MTS which used a proprietary network database, a proprietary macro language and Cobol code which is translated to Java and then used in a Struts based web application.
- Created documentation on the legacy system from an architectural point of view and at a component level.
- Implemented a custom caching solution in Java to cache MTS processing rules.
- Worked on a scheduled service that extracted data from the proprietary database and exported it to an Oracle database.
- Worked on a batch processing service that took in SEPA direct debit bulk payment files and created MTS payments. A shell script monitors a directory for new bulk files and then invokes a Java program to process the payments.
- Created a web interface to display, review and release payments held back for OFAC sanctions.
- Updated the MTS core's web application to conform to yearly regulatory mandates for Dodd- Frank Act and SWIFT.
- Retrofitted bug fixes across different versions of MTS. Coordinated releases of monthly service packs.
- Analyzed customer specific modifications (CSM) requested for the MTS web application. Created impact assessments, estimates and technical designs.
- Tuned database performance by creating and restructuring indexes and restructuring SQL statements.
- Fixed production bugs in MTS that were reported by customers.
- Acted as onsite coordinator communicating with the offshore team and various client teams.
- Supported QA team in setting up their test environment and deployments.
- Conducted training sessions on the legacy system for the newer team members.
- Wrote shell scripts to automate starting and stopping of MTS services, to generate reports of activities from IBM Rational Clearcase.
Environment: Java 1.5, Spring Core 3.2.4, Struts 1.3, JSP, Servlet 2.3, JDBC 3.0, AJAX, Log4j 1.2, Tomcat 6.x, Websphere 7.x, Ant, IBM Rational Clearcase, Oracle 11g, Eclipse, IBM AIX 6.1, Windows 7
Confidential
Java Developer
Responsibilities:
- Analyzed customer specific modifications (CSM) to the RPI application. Created impact assessments, estimates and technical designs.
- Implemented the CSMs by enhancing the existing application built using Struts, JSP and Servlets.
- Interfaced with a proprietary MTS service called ASI to retrieve configuration data and to read payments. Write back the payment data captured in RPI to ASI.
- Implemented password salting when storing user login credentials.
- Updated existing SQL queries and stored procedures. Wrote new queries where required.
- Fixed production bugs in RPI that were reported by customers.
- Supported QA team in setting up their test environment and deployments.
Environment: Java 1.5, Struts 1.2, Hibernate 3.5, JSP, Servlet 2.3, JavaScript, Log4j 1.2, Tomcat 6.x, Websphere 6.x, Oracle 10g, CVS, Eclipse, IBM AIX 6.1, Windows XP
Confidential
Java Developer
Responsibilities:
- Analyzed requirements for new enhancements to the TMT application.
- Involved in creating technical designs for the project.
- Worked as a technical lead for the project guiding the team in implementing the project.
- Implemented an IVR interface where data is captured from the softphone and brought into the TMT web application.
- Implemented credit card validations by calling an EJB service layer provided by Confidential .
- Updated existing SQL queries and stored procedures. Wrote new queries where required.
- Created unit test plans and test cases.
Environment: Java 1.5, Struts 1.2, Hibernate 3.3, JSP, Servlet 2.2, JavaScript, Log4j 1.2, MS SQL Server, CVS, RAD, Windows XP.
Confidential
Java Developer
Responsibilities:
- Analyzed requirements for new enhancements to the EOE application.
- Involved in creating technical designs for the project.
- Worked as a team lead for the project, guiding team members in implementing the project.
- Implemented screens for the new Critical Illness forms.
- Wrote JavaScript modules to dynamically edit beneficiaries table.
- Wrote extensive JavaScript validations for multiple screens.
- Wrote modules to read configuration information from XML files.
Environment: Java 1.4, Servlets, JSPs, EJB, JDBC, DB2, Star Team, WSAD, Windows.
Confidential
Java Developer
Responsibilities:
- Fixed minor defects in the multiple screens.
- Modified SQL queries based on new requirements.
- Created and executed unit test cases.
Environment: Java 1.4, Struts, Servlets, JSPs, JDBC, DB2, Star Team, WSAD, Windows.