Senior Programmer Analyst Resume
Memphis, TennesseE
SUMMARY:
- Senior Software Developer/Lead Software Developer with an extensive experience in requirement analysis, object oriented design and development, cloud based development, and web development
- Over 16 years of experience in Java development including J2EE/JEE, REST APIs, Spring/Spring Security
- Over 3 years of experience developing cloud based applications using Docker containers
- Experience in deploying cloud applications on Amazon AWS and Cloud Foundry
- JavaScript experience including JavaScript MVC frameworks: Backbone.js, Ember.js, Angular and React
- Exceptional knowledge of software engineering principles, methodologies and concepts with expertise in financial services industry, transportation industry and healthcare industry
TECHNICAL SKILLS:
Application development skills: requirements analysis, object oriented development, web developement, web service development, application security (LDAP and SSO)
Programming Languages: Java, JavaScript, Groovy, Kotlin, Ruby/JRuby, SQL, Python.
Java Related Technologies: JMS, JAX - WS, Spring, Spring Boot, security frameworks Spring Security and Apache Shiro, JSP, JSF (RichFaces and ICEFaces), Grails, EJB, Swing.
Web Frameworks and Technologies: jQuery, Backbone.js, Ember.js, AngularJS, React
Tools: and Platforms: IBM Websphere, Oracle Weblogic, JBoss, Docker, Amazon AWS, Jenkins, Cloud Foundry, Github, Web Services (SOAP and REST style), IBM DB2, Oracle, Microsoft SQL Server, MySQL, Postgres, open-source tools (Hibernate, Spring framework, Eclipse, Netbeans, Ant, Apache Tomcat, JasperReports, iReport, Grunt), Wily Introscope, Oracle Coherence, Intellij IDEA.
Operating Systems: Windows, Linux, Mac OS.
PROFESSIONAL EXPERIENCE:
Confidential, Memphis, Tennessee
Senior Programmer Analyst
Responsibilities:
- How to use application servers (Weblogic and JBoss) and how to deploy application builds
- Implementing common security recommendations (i.e. HTML and URL encoding)
- Mentoring teams on how to use common development APIs (i.e. JAX-WS and ICEfaces)
- Implement monitoring tool (Wily Introscope) and create custom reports in WilyOne of the goals of the Jumpstart team is to introduce agile development principles to FedEx. Because of that, all projects were implemented following Scrum principles including daily stand-up meetings, 2-week sprints, sprint retrospectives, etc.
- Enterprise Address lookup service. This application is planned to be the definitive source of the address-related information for the whole corporation. The application is running on JBoss application server and provides access to all US address via SOAP web service API. The duties performed on the project included writing a performance test drivers and executing load tests which helped resolve some performance problems.
- Enterprise GIS service. This application is the main source of GIS information for Fedex’s geography attributes such as routes, service centres, drop off locations, etc. The application provides REST API for accessing GIS information. It also includes GUI built on top of ICEfaces which is used to configure GIS client registrations and GIS service catalogues. 3 different GIS client APIs were implemented (Java, JavaScript and Adobe Flex) to support future users. I also provided the training to junior developers on the implemented features.
- FedEx Enterprise Location Service. This application is one of the FedEx largest projects. Its purpose is to provide a central repository for all kinds of FedEx operations: sort operations, retail operations, package and delivery operations, etc. It also provides location attributes and capabilities such as schedules, transit times, geographical attributes and contacts. In addition to the standard technology stack used at FedEx (ICEfaces, JAX-WS web services, Oracle DB, Weblogic), the application platform also contains a data grid built on top of Oracle Coherence whose purpose is to cache the web service responses. The reason to use a data grid was to support very high transaction rates and provide response times in 20ms range. I was personally responsible for developing a caching layer and also configuring the Coherence cache server nodes.
Lead Developer
Responsibilities:
- Implemented very rich security model based on Apache Shiro framework. The security model is used heavily in building UI, so users in the system have customized UIs based on their roles and permissions.
- Designed the whole application, including the data model (over 20 domain objects/tables with complex relationships)
- Developed the page views using GSP (Groovy Server Pages) and Javascript (jQuery/YUI). Used jQuery selectors and jQuery AJAX support extensively.
- Implemented full text search in the application, using Compass/Lucene search engine with Grails. This feature allows user to use familiar, Google-like search syntax.
- Implemented some of the most common Web 2.0 features such as AJAX data tables with pagination, calendar components, accordions, text field auto-complete etc. The application is using some of the best open source libraries for modern Web development like jQuery and Yahoo User Interface (YUI).
- Developed all application reports (over dozen reports) using JasperReports and iReport libraries.
- Worked on improving application performance in several areas like: JVM tuning, Hibernate second level caching etc. Hibernate caching improved the application performance significantly by reducing the number of queries executed against MySQL DB.
- Worked on migrating old data from IBM DB2 to MySQL DB.
- Worked with the customer directly for the duration of the project in order to gather requirements and determine their needs. In addition to meeting with the customer and conference calls, Web-based collaboration software was used for tracking requirements and communicating between team members and the customer.
- Coordinated QA and testing efforts with the business analyst and testers.
Programmer Analyst Specialist
Responsibilities:
- Activelly involved in designing the platform architecture, including database model, web service layer, and application integration with legacy mainframe platform. Applied most common J2EE patterns in the development.
- Developed functional and technical specifications for the platform.
- Created complex workflows in Flux workflow engine.
- Designed the security model around Spring Security (former Acegi Security) using Microsoft Active Directory connecting with LDAP API.
- Designed and implemented component for validating electronic check files (X937 format) by reusing open source components. By using inovative open source approach, the original estimate for the validation component was cut by 90%.
- Developed web service layer around main transaction database that allowed other Metavante applications to access electronic check information.
- Integrated Vector:ImageEX with legacy mainframe reporting system using JasperReports Java reporting engine.
- Implemented messaging subsystem to connect Vector:ImageEX with the main check image repository, Viewpointe (confidential).
- Performed various code refactoring tasks in order to improve platform performance, including using JDBC batching, report rewrites, XSLT optimizations and Java garbage collection tuning.
Confidential, Memphis, Tennessee
Software Developer II
Responsibilities:
- Designed J2EE web application for the ATF with highly customizable search screens that allow users to select search fields and change form validation rules. This application has been used internally in banks by thousands of users.
- Integrated web application with the ATF backend database application using XML web services.
- Implemented numerous enhancements in order to achive high application performance, including implementing clustering and failover to backup Websphere instance. These enhancements allowed for the application to provide reliable response time even while loading more than 100 millions records per day.
- As a part of the Federal Reserve Bank’s Image Services System, developed the J2EE application for profile administration and system configuration using Javascript and AJAX as client side technologies.This was the first time these technologies were used by the company to develop application.
- Performed functional and performance testing for Carreker Exceptions/Express aplication.