Senior Java Consultant Resume
Orlando, FL
SUMMARY
- A driven and experienced Software Engineer with over 20 years of experience in Object - Orientated Analysis (OOA), Object-Orientated Design (OOD), Software Architecture and Software Development.
- Has experience in all phases of the Software Development Life Cycle (SDLC) and can contribute in all of the phases.
- Over 15 years of experience working on high volume systems. Extensive experience working in Agile environments and is a Certified Scrum Master (CSM).
- Posses excellent written and verbal communication skills.
TECHNICAL SKILLS
LANGUAGES: Java, JavaScript, PHP, HTML, CSS, C++, COBOL, SQL
SCRIPTING: Linux (Bash Shell, Korn Shell), Windows Batch Files
FRAMEWORKS: Spring Framework (Core, Data, Security, Boot), JBehave, CXF, RESTEasy, JUnit 4.x, EasyMock 3.x, JEE, Struts, JSF, AngularJS, jQuery
APIs: Swing, JNDI, JDBC, JAXP, JSP, SOAP, Collections, Logging, Hibernate, Hibernate Search, Lucene, Selenium 2 (WebDriver), JAX-WS, JAX-RS
SOFTWARE TOOLS: Eclipse IDE, Netbeans IDE, Git, Github, Bitbucket, Perforce, SVN, FindBugs, PMD, Clover, Cobertura, Jira, Fisheye, Logstash, Elasticsearch, Kibana, Docker
BUILD TOOLS/SERVERS: Bamboo, Jenkins, Maven, ANT
DATABASES: Oracle, MySQL, HSQL, H2, Couchbase
CLOUD COMPUTING: AWS (DynamoDB, CloudWatch, Elastic Beanstalk, API Gateway)
APPLICATION/WEB SERVERS: JBoss 7.x, Tomcat 8.x
OPERATING SYSTEMS: Windows, Linux, Android
PROFESSIONAL EXPERIENCE
Confidential
Senior Java Consultant
Responsibilities:
- Work as a developer on a team that is adding new features to the existing system to allow for flexible rules processing. This will be used to allow clients to easily add or update how they sell products, specifically room inventory. I'm involved in the design, implementation, and testing phases for changes added to support this new functionality.
- As a member of a Scrum team, I am involved in Sprint Planning and estimating User Stories. I also work closely with the Product owner to prioritize User Stories and defects. Collaboration with QA members is also part of my day-to-day activities to discuss how to test features.
Confidential
Senior Java Consultant/Full Stack Developer
Responsibilities:
- Work as a developer on a team that is creating a new application that will be deployed to the cloud. As a member of this team I have had to ramp-up on Amazon Web Services (AWS) so that I could quickly contribute to the project. This included learning about DynamoDB to persist data, deploying applications using Elastic Beanstalk, and using CloudWatch to monitor applications and view log files. The application uses a front-end stack consisting of jQuery, Bootstrap, CSS, and HTML 5. The backend stack is Java and Linux deployed to AWS. The RESTful web services use RESTEasy, CDI, Guava, and connect to AWS services (i.e. DynamoDB, etc.). Unit tests are written using JUnit and PowerMock.
- Quickly ramped up on several technologies, including jQuery, CSS 3, and Bootstrap that I had very little experience with. Within a matter of a week or so I was fixing defects across the entire technology stack.
- Researched and fixed defects in the existing D3 Application Suite. I worked in all layers of the application, from HTML to CSS to jQuery to Java. I modified REST services using RESTEasy, JSON, MyBatis, and MapStruct. I also performed analysis, design, implementation, and writing unit-level tests.
- Led an effort to re-design how the application performs authentication and authorization. This included understanding the existing design, documenting it, providing design diagrams, and reviewing with the lead Architect. This re-design greatly simplified how the application did authentication and authorization (access control). It also improved the overall code quality, performance, and flexibility of the application.
- As part of triaging and fixing defects, I also analyzed database schemas, tables, and views. I ran SQL queries (Oracle database) when fixing defects or implementing new features.
Confidential
Staff Software Engineer / Lead Java Developer
Responsibilities:
- Designed and developed REST APIs used by dozens of internal clients. I implemented the RESTful web services in Java and used the Spring 4.x Framework and other open source libraries.
- Daily tasks included analysis, design, Java development, database design, and unit testing. I also write automated functional tests to ensure that the changes worked as expected and these tests were run in the Continuous Integration (CI) pipeline.
- Trained and mentored junior developers in Java coding best practices (conventions and standards).
- Worked on a Reference Implementation (RI) of a new version of their RESTful service architecture which included things like framework upgrades, introduction of best practices, and changes that made the code more maintainable. I also introduced a better way to document the REST APIs using Swagger.
- Used several new open source libraries that made development faster, like Dozer and DropWizard.
- Work closely with test engineers to improve the testing process and reduce the amount of time it takes developers to create new functional tests.
- Helped with the design of the Continuous Integration pipeline and presented it to managers.
- Proposed and implemented several Agile process ideas that improved the team's velocity. I also provided Agile coaching as a Certified Scrum Master.
- Other projects included, but not limited to: migration of the Disneyland Paris e-commerce site to new platform, migration of the Disneyland California e-commerce site to new platform, and projects to replace legacy Disney Travel Agent sites.
Confidential
Web Service Architect/Java Web Service Developer
Responsibilities:
- Developed fixes for defects in multiple web services that comprised the platform.
- Led an effort to improve overall code quality in the platform. The goal was to raise code coverage by 10%, decrease code violations by 200, and decrease the time it took to run the tests. Using Sonar to get the current metrics, I achieved these goals by adding unit tests, re-factoring code, fixing violations, and improving tests performance.
- Participated in code reviews and design sessions for the REST services that the NEP team maintained.
- Recommended ways to improve processes, like code reviews and Jira workflows. For example, suggested adding new states to the workflow to better track the progress of work. Also ways to improve the Continuous Delivery (CI) pipeline. For example, adding a Jenkins plugin for performance testing that fails the build when metrics went below a certain threshold.
Confidential, Fort Myers, FL
Senior Java Developer
Responsibilities:
- Researched and fixed software defects in the e-commerce application. The application was built on the Oracle ATG platform (J2EE) and uses Oracle 11g as the database. Wrote unit tests using JUnit for all new or modified code.
- Participated on projects to add enhancements to production sites and systems. For example, I worked on a project for the reconciliation of POS receipts at the end of each business day in thousands of stores.
- Worked on efforts to improve the maintainability of the code by reducing tech debt. Also worked on initiatives to make supporting Production systems easier (e.g. centralized logging using Logstash, Elasticsearch, and Kibana). Also provided mentoring on Agile best practices as a CSM.
Confidential
Senior Java Developer / Technical Lead / Automation Engineer
Responsibilities:
- Served as a Technical Lead of a cross-functional team that was responsible for implementing changes in Confidential World website and mobile platform for a multi-million dollar project that allowed guests to completely customize their stay at Walt Disney World resorts and theme parks. This include changes to RESTful services that were built using the Spring Framework and deployed to Tomcat. One of the goals is to provide a scalable solution, so we are using many asynchronous technologies on both the client and server. It also included developing one of the first SPA (single page application) within this group.
- Designed and developed an automated testing framework that was built on JBehave and used the Selenium WebDriver API. The goal of this new approach was to increase stability and maintainability to our test suite, which in turn would decrease the amount of manual regression testing needed. This effort also included getting the changes into the deployment pipeline (Bamboo was the build server).
- Led an effort to improve the Continuous Integration process within the WDPRO organization. This included meeting with Agile experts from ThoughtWorks (r). I helped to draft a plan to improve major areas in the pipeline and move WDPRO in the right direction in the area of Continuous Delivery.
- Worked on a re-write of Confidential World Dining Reservation site. The project used the Agile methodology and had an aggressive 6 month timeline. I was the lead engineer for a team of 12 engineers for about 1 year and was responsible for attending daily SCRUM meetings and estimation meetings with the product owners. I was also responsible for completing user stories and fixing defects. This included design, development, and unit testing using JUnit. As part of this work I was responsible for designing RESTful APIs. The application is built using the Spring Framework, uses JPA for the persistence layer, and Couchbase (used behind memcached) as the datastore. To increase productivity, I created several profiles in the Maven POM to make deployment to Tomcat easier for developers.
- Developed on enhancements to the My Disney Vacation website which is the site that allows guests to plan their vacations, retrieve existing reservations, and perform post-booking activities like Online Check-In. These changes improved the overall guest experience and reduced the check-in time by up to 60%.
- Designed and developed code using various Java technologies and frameworks (J2EE, Spring, Hibernate) and databases (Oracle, Couchbase) for several other projects, including, but not limited to: the Disney Visa Instant Credit (DVIC) consolidation project which removed duplication of code across several sites and reduced maintenance cost for the business, the Online Check-in project which allows guests check-in via Confidential World reservation website before they get to the resort, the 'What Will You Celebrate' project which allowed guests to provide information regarding a special occasion that they will be celebrating when they come to visit Walt Disney World, and the Scheduled Events project which allowed guests to make dining reservations, including for shows and special events. The application was developed in Java using Spring MVC and Hibernate. I also was tasked with learning and integrating Hibernate Search (based on Lucene) as part of this project.
Confidential
Java Developer / Full Stack Developer / Application Support
Responsibilities:
- Managed the release of 4 existing applications to address database performance issues and fix high priority defects. This included managing both on-site and off-shore development resources.
- As a Full Stack Developer on this team, I made changes to all the layers in the 4 existing applications, as needed. This included changing JS, CSS, HTML, etc. as well as changes to the Java code.
- Worked on a project to migrate an existing application running in WebLogic to WebSphere 6.0.2. The application was a high visibility application for the company, and it was important that the migration be transparent to the end users. The migration project went in on-time and there were major issues.
- Made changes that allowed much of the deployment to be automated. I did this using ANT files and shell scripts. This significantly freed up resources on the development and infrastructure teams.
- Led an effort to improve the overall EJB performance in existing legacy applications. This was done by switching to local interfaces for the SSBs and by implementing Singletons in many parts of the application. This maintenance release improved the application performance by about 20% overall.
Confidential
Java Developer/ Software Architect
Responsibilities:
- Designed and developed a 100% pure Java batch framework used to build enterprise batch jobs that run on a 24x7 schedule in a high volume production OLTP environment. I used best practices and design patterns in the design of this framework and that allowed it to be easily extended and modified to fit a variety of needs. This formed the foundation of a middleware system that interfaced with legacy systems and a new time and attendance system that Walt Disney World® implemented for all its parks. I also designed the database schema for the application and worked with DBAs.
- Responsible for analyzing union pay requirements, then implementing and configuring rules in the time and attendance system used to pay over 80,000 Disney employees.
- Developed tools to help support this new middleware application. One example is a J2EE application that was developed using the Struts framework which allows users to quickly see the health of the middleware system, as well as configure and view logs for the system.
- Worked on several applications used in the Disney portal known as “The HUB”. This is an internal employee portal for things like entering work hours, viewing pay stubs, posting communications, etc. I worked mostly on the Tip Board and Alerts applications. These were run inside the Vignette ECM and were J2EE applications. I was one of the first to introduce SOA into this group using SOAP-based web services and also used XSLT to transform the XML into HTML. Also, introduced pro-active monitoring of applications.