Senior Software Engineer Resume
OBJECTIVE:
- Confident, enthusiastic, well - rounded Senior Java, J2EE engineer with passion for developing web and enterprise level applications to solve complex business problems using Java, J2EE technologies, seeking for challenging opportunity that allows me apply my expertise in web and enterprise applications development.
SUMMARY
- Over 14 years of solid experience in multi-tiered web based enterprise applications development to solve complex business problems. Passion for writing quality code to develop enterprise level web applications.
- Outstanding problem solving and customer focus skills. Excellent written and verbal communication skills, presentation and analytical skills.
- Solid team contributor and very good team player. Experience in applying technologies that are most suitable for addressing client’s requirements to provide efficient and cost-effective solutions.
- Experience in Continuous Integration (CI) and Continuous Delivery (CD) to build and deploy software components in short cycles.
- Excellent server side development experience and good front end UI development experience. Solid experience in Object Oriented Programming, design and implementation of multi-tier applications.
- API development experience. Experience in Spring Web Services, REST architecture, RESTful web services.
- Worked on applications with MERN stack that uses MongoDB to create Restful API and use them in front end with ReactJS. Front end is created using ReactJS components with Semantic UI React for dynamic, rich UI.
- Experience in Apache Camel routing for integration of different applications, such as reading messages from file streams and JMS Queues and processing and routing the messages based on its headers. Integrated applications to process rating data from mainframe and file streams.
- Experience in SOAP and Restful web services using Apache CXF. Experience in creating mock web services using SoapUi and deploying them on Tomcat server.
- Worked on applications with front end in Angular JS and RESTful web API to provide users CRUD functionality from front end.
- Experience in Spring Data JPA, Knowledge of Spring Integration framework, understanding of Messages, Channels, Endpoints, Splitters. Understanding of conditional based routing of Messages to different channel in Spring Integration.
- Experience in creating, deploying, running and administering Web2.0 websites based on PHP, MySQL, Apache, jQuery, jQuery UI, AJAX. Experience in creating rich Web2.0 user interfaces using jQuery, jQuery UI, DHTML and jQuery plugins and AJAX.
- Experience in Unix scripting for various backend processing jobs and scheduled jobs. Experience in scheduling repeatable jobs using Spring Batch, such as moving data and purging old data.
- Experience in writing JUnit test cases to unit test DAOs and Services using EasyMock.
- Exposure to Java 8 in the recent project such as lamda expressions, predicates, default interfaces.
TECHNICAL SKILLS
Languages: JAVA (JDK 1.5, JDK 1.6), Java 7/8, C
Application Servers: Websphere 6.0, BEA WebLogic Server8x, Apache Tomcat3x/4x, JBoss 4.0.2, GlassFish 2.1
Operating Systems: UNIX, Red Hat Linux, Windows 98/2000/XP, MS-DOS
JAVA/J2EE SKILL SET: J2EE, Hibernate, JPA, Java Beans, Struts 2.0, MVC Struts1.2.7, EJB, JMS, JNDI, Java Script, jQuery, JSP, JSTL, XML, XSLT, Servlets, JDBC, HTML, XDoclet-1.2.3, JAXP, JAXB, JAAS, Cascading Style Sheet (CSS), AJAX, Axis, Web Services, Spring Web Services, Spring JDBC, Spring ORM, Spring Data Rest, Spring Data JPA, Spring Integration, SOAP, soapUI, JAXWS, Apache CXF, RestEasy, JMock, Selenium, PHP, LAMP(Linux-Apache-MySql-PHP), JBehave framework, HATEOAS Restful API
Web2.0: Angular JS, jQuery, jQuery Plugins, jQuery UI, DHTML, Modal Popups, Tooltips, Image Effects, AJAX, JSON
IDE: Eclipse, MyEclipse, Rational Application Developer, Toad for SQL Server, SQL Developer, Stylus Studio
Databases: Oracle 10g, Oracle 9i, DB2, Oracle SQL Loader, MS SQL Server, MySQL
Scripting: Java Script, Unix KSH scripting, Perl Script, PL/SQL scripting, Firebug For Debugging JavaScript, Python / Jython scripting
Source Control: Clearcase, Team Foundation Server (Microsoft TFS), StarTeam, SVN(SubVersion), Microsoft VSS, Serena ChangeMan
Miscellaneous: JIRA, Jenkins for continuous integration
Familiarity With: Manual Testing of J2EE Applications, Grails Framework, Spring Acegi security framework, Content Management Systems (CMS) Joomla, JSF, Macromedia Flash, TCP/IP, Crystal Reports, Jersey, RESTful web services, REST architecture
PROFESSIONAL EXPERIENCE
Confidential
Senior Software Engineer
Responsibilities:
- Worked on CARE backend jobs transition project, implemented CARE dashboard to display backend jobs status graphically.
- Designed and implemented database schema tables for backend job migration and to capture job related data such as job schedule and job run results. Created tables, functions for the same.
- Implemented data access layer and service layer using Spring Framework and MyBatis persistence framework. Implemented MyBatis map interfaces and XML SQL mappings for the same.
- Implemented care job dashboard where user can select job category and dates to see the job run results. Job run details such as number of successful records, failed records and records with warning are shown as tooltip.
- Other internal users have been provided with RESTful api, database stored procedure and java jar file to interact with the job run database tables where they can update the job run results of their backend jobs, such as total records processed, failed records, records with warning, exit code of the job. This information is used by the dashboard UI where users can search and see details of the jobs.
- Helped in care batch job migration to care centralized server, also capturing job status information such as total number of successful, failed, warning records and enable them to display on care job dashboard for monitoring.
- Worked with team in CARE backend job migrations and to make necessary code changes in backend jobs during this process to capture job run results of every job run that helped production support and dev-op teams to give quick glance of everyday job statuses using dashboard.
- Implemented notification mechanism using which users can subscribe to receive different kind of notifications by email based on severity level such as error, warning. This helped the CARE application users to get notified within timely manner to address issues of the failed jobs. Also developed dashboard using VIS JS where users can see current status of today’s jobs by job category.
- Implemented enhancements on CPC Bills Dashboard where claim adjusters can search for unpaid bills using different criteria. Implemented functionality using which an unpaid bill can be moved to On-Hold status and can be moved back to regular unpaid bills. Also implemented enhancements for CPC Bills Dashboard reporting functionality.
- Fixed bugs and DRs in timely and efficient manner. Helped test APIs on QA and User Acceptance environments using PostMan, SoapUI.
- Consumed Kafka claims messages by reading messages from Kafka topics and updated CARE system. Experience in custom Kafka serializers and deserializers (Serde).
- Written JUnit test cases to unit test services.
Environment: Java 7,11 Spring, MyBatis, Restful Web Services, JBoss, Eclipse, Microsoft TFS(Team Foundation Server), Oracle, JSP, jQuery, API Development, SoapUI, PostMan, curl, Oracle SQL Developer, kafka 2.11-1.0.1, HP Application Lifecycle Management, Cygwin, Unix, EasyMock, WinSCP, Beyond Compare, Putty
Confidential
Senior Software Engineer
Responsibilities:
- Implemented the RESTful API for customer card related information, freebee count information while replacing cards, memo information for cards, card holders, replacement fee, shipping fee related information.
- Worked on account management, card management, memo management services of Keystone. Implemented / enhanced APIs for replace card, card holder memo, verify card, retrieve card and account information. APIs are used by website, portal and other third-party systems to create, update gift card related information. Used SoapUI, Postman to test the APIs.
- Worked on Struts actions, JSP pages to implement functionality in the portal using which users can configure product, register card, replace card, unlock card, card and card holder search. Used jQuery for Web2.0 goodness to create dynamic, rich user interface.
- Created new API to retrieve information regarding freebee counts available for the gift card. This API is used by the portal during the card replacement process to determine if shipping and card replacement fee will be charged to the card holder.
- Contributed in RESTful API enhancements for card, card holder and card processing. Implemented API and algorithm to determine if the customer avails the freebee replacement fee, shipping fee while requesting for card replacements.
- Resolved critical as well as non-critical issues in tight deadlines. Collaborated with other Keystone teams on these issues.
- Implemented functionality in the portal for different administration tasks such as user lookup, product lookup, memo lookup using Struts.
- Created new API to retrieve information regarding product, product lines, bins associated with that product. Created new API to get security code based on card information. Worked with portal team to integrate these APIs into the application.
- Made enhancements to the card replacement API that reads product configuration from the backend based on which it does appropriate routing of the card replacement requests for card generation and fulfillment.
- Participated in the integration testing with Order Central and Kernel Services.
- Helped test APIs on QA and User Acceptance environments using SoapUI.
- Written JUnit test cases to unit test services.
Environment: Java 8, Spring, Restful Web Services, Apache Tomcat 8, Eclipse / STS, web services, GIT, Stash, MySQL, Struts, JSP, jQuery, API Development, SoapUI, PostMan, curl, JIRA, Jenkins, Continuous Integration (CI) and Continuous Delivery (CD), WinSQL Professional, WinSCP, Cygwin, Unix, EasyMock, Agile software development
Confidential
Senior Software Engineer
Responsibilities:
- Produced RESTful services to expose spectacle lenses data and it’s reference data such as colors, manufacturers, materials. Implemented the REST resources and backend services for this.
- Created REST representations that follow the HATEOAS principle using Spring HATEOAS for Catalog services. Exposed the lens data as RESTful web services using which clients can access and search lens data and the reference data. Improved the REST services by caching REST response using EHCache.
- Implemented Apache Camel routes to route paths from REST resources to the backend services to retrieve and update spectacle lens data.
- Implemented unit tests to test the RESTful services using JBehave framework.
- Contributed to mainframe data conversion project where mainframe data is migrated/converted into SQL Server rating artifacts. Implemented functionality of processing sold fee, benefit rate files data using Apache Camel. Implemented Camel processors to process and persist sold fee, benefit rate data.
- Implemented business logic to identify duplicate rating artifacts based on division id, class id, client id combination.
- Using Apache Camel routed JMS message from incoming Queue to respective outgoing Queue based on header types. Routed JMS messages for Admin Fees, Admin Rates, Benefit Rates using Apache Camel, also participated in downstream processing of the messages. Unit tested using Apache Camel and Active MQ.
- Implemented validation logic for common rating objects that are read from file.
- Implemented nightly batch job to synchronize data between mainframe applications and rating applications. Used jsefa to process delimited files into java objects, make rest client call to update data, created cache to skip duplicate requests.
- Refactored validation to validate all the fields in the Rating records in one scan and captures validation errors and logs those errors. grep is used to scan through log files to find specific errors related to the Rating data processing.
- Implemented SAP message file generation that post processes rating objects such as Benefit Rate, Admin Rate, Admin Fee, Sales Retention. This file consists of XML messages for different Rating objects.
- Implemented the re-processing functionality of the failed records for PS team. Also, supported testing for the same by capturing different failure scenarios.
- Contributed to manual testing of the mainframe data conversion functionality. Tested data validations as per the requirements by creating mock up files, verified rating data in the database using SQL scripts.
- Knowledge of writing stories and steps in JBehave framework for Behaviour-Driven Development (BDD).
- Written JUnit test cases to unit test DAOs and Services.
Environment: Java 7, Spring, HATEOAS REST Services, JPA, Apache Camel, Restful Web Services, JBoss 7.1.3, Eclipse, web services, java script, GIT, Stash, Microsoft SQL Server, JIRA, Jenkins, Continuous Integration (CI) and Continuous Delivery (CD), WinSQL Professional, WinSCP, Cygwin, Unix, EasyMock, Agile software development, JBehave
Confidential
Senior Software Engineer
Responsibilities:
- Implemented new features and made enhancement to existing features in the InvisAlign Doctor Site (IDS) and Patient Central applications. In IDS, doctors can create patients and create different types of treatments for patients. For every treatment, doctors need to submit Rx form which is subscription form for the patients. Patient Central application is used by customer service and admin persons that provide different administrative tools.
- Implemented staff discount and coupon features in IDS where doctors can apply staff discount or coupons to the Rx form of the patient based on certain criteria. Implemented algorithm to analyze if doctor is qualified for the staff discount or coupon discount.
- Worked on the struts Action classes, JSP pages. Implemented DAO classes and Service classes using Spring to develop the staff discount functionality and coupon functionality.
- Patient subscription form has been stored as XML that captures the questions and answers required to create appropriate Invisalign subscription. XMLBeans is used for accessing XML by binding it to Java types. Made schema changes to introduce new questions in the Rx form.
- Implemented patient transfer functionality using which a doctor can transfer patient to another doctor for aligner treatment. Written struts actions, JSP pages, service layer classes. Also implemented backend functionality that call center/support can use to exclude or include doctors for patient transfer.
- Implemented customer emailing functionality using Velocity Templates and Spring Services.
- Worked on Additional Aligners screens using which doctors can order additional aligners for their patients.
- Incorporated jQuery plugins on the web applications to provide rich client user interfaces.
- Implemented scheduling of repeatable jobs using Spring Batch, such as moving data and purging old data.
- Resolved critical issues related to XSD/XML in Additional Aligners in timely manner.
- Exposed patient and doctor information using Restful web services that are consumed by internal applications.
- Contributed to the creation and updation of the database objects such as tables, views, procedures, packages, sequences, grants.
- Written unit tests using Junit. Tested different scenarios where doctors accept ClinCheck to process the Rx form initial order and doctors reject ClinCheck to switch to a new order with new Rx form.
- Bamboo is used integrated with JIRA to do continuous deployments and builds.
- Fixed bugs and DRs in timely and efficient manner.
Environment: Java, Spring, Struts2, iText, apache POI, web services, JSP, jQuery, jQuery UI, jQuery Plugins, java script, GIT, IntelliJIDEA 14, Microsoft SQL Server 2008, JRebel, Tomcat 8, JIRA, Bamboo
