Senior Software Engineer & Tech Lead Resume
Durham, NC
SUMMARY:
- 9 years of experience designing/developing enterprise applications in Java, JEE and open source Java Technologies.
- Extensive Experience working in the Investment Banking and Financial Services Industry domains.
- Excellent knowledge of OOAD concepts, Object Oriented design patterns and how they fit with the business needs.
- Experience leading a development team of 5 members, working in geographically dispersed teams across the globe
- Experience working with cross - functional teams such as Business Users, Testing and Level 2 Application Support.
- Development experience with latest frameworks such as Spring, Hibernate and web frameworks like Spring MVC.
- Experience in documenting the design, Non Functional Requirements (NFR), developing the technical design documents.
- Excellent experience in developing multitier web applications using Java, JEE technologies such as EJB, Servlets, JSP, JSTL, JMS, XML, JDBC, JNDI, JAXB, SOAP and REST Web Services.
- Experience in the Spring Framework and using its features like IOC, AOP, SpringMVC, DAO, Spring Boot, Transaction Management and Security.
- Designed & developed Data Access Layers in enterprise applications using Hibernate and and SpringDAO.
- Developed applications using RESTful Web Services, SOAP Web Services and integrating multiple Web Services running in complex legacy systems.
- Experience in using Open Source technologies such as Apache Camel, Commons, XMLBeans, and Quartz Job Scheduler and experience working with NoSQL databases such as Cassandra, MongoDB.
- Experience in developing java multi-threading applications using Java Concurrency framework.
- Strong understanding of core java concepts such as Collections framework, JVM basics, Garbage Collection, memory management, performance tuning.
- Hands-on experience with client side web technologies such as JavaScript, Ajax, JQuery, JSON, AngularJS.
- Hands-on Experience in developing SQL, DML, DDL, Triggers, Indexes, Stored Procedures Functions and Packages in relation databases.
- Experience working in applications using job scheduling and work automation technologies such as Control-M
- Designed/Developed applications in various application server environments such as Weblogic, WebSphere, Glassfish application servers and web containers such as Tomcat in Unix/Linux systems.
- Experience in using project management, build tools like Apache Ant, Maven and CI/CD tools such as Jenkins/Hudson
- Worked in projects following Scrum/Agile Methodologies.
- Strong problem solving skills and Excellent communication, inter-personnel and team player skills
TECHNICAL SKILLS:
Domain Experience: Investment Banking, Financial Services, TelecomHealthcare analytics
Tools: Eclipse, Netbeans, WebLogic, Webspehere, Glassfish, Tomcat, SQL Developer, TOAD, RapidSQL, Ant, Maven, Soap UI, CVS, Clear Case, SVN, Git, HP Mercury Quality CenterJIRA, Control - M
Databases: Oracle 10gMySQL 5+MongoDB 3
Technologies: Java, JEE, Web Services, SOAP, REST, EJB, Spring Core, Spring MVC, AOP, SpringDAOSpring BOOT, JDBC, Hibernate, XML, Javascript, AngularJS, Ajax, JSON, JQuery, FIXML, XML, XSD, JAXB, XML Beans, Apache Camel, JMS, JSTL, DOM, SAX, JSP, Servlets, JUnitCucumber, SQL, PL/SQL, Indexes, Stored Procedures, Packages, TriggersCassandra, MongoDB.
Application Servers: Weblogic 10gIBM WebSphere Application Server 7+ (WAS), Glassfish v3, Tomcat 8
PROFESSIONAL EXPERIENCE:
Confidential, Durham, NC
Senior Software Engineer & Tech Lead
Responsibilities:
- Technical lead for the development team geographically dispersed in the US and India, working on a suite of applications for Derivatives Utilities named Confidential .
- Work with Operations (Business Users) and Project manager to analyze requirements, enhancements and prioritize the development efforts.
- Worked with Project manager to form a roadmap and strategy to migrate the Confidential applications in Credit Suisse into the newer infrastructure in Confidential .
- Document Functional and non-functional requirements, and the technical design.
- Work with Level 2 Application Support in monitoring the automated Booking cycle flow and in resolving L2 incidents, production issues.
- Mentoring the newer members in the team, perform code review, set best practices for coding and deployment.
- Developed Message Processing application for Confidential using Apache Camel to process and store Derivatives assignment and pricing data coming in from the various exchanges
- Worked on the development of a job scheduling application using Quartz, Spring which helped streamline many Booking cycles and reduced the number of jobs scheduled through Control-M, there by reducing the the costs incurred to maintain them and run them in Control-M
- Lead the effort to integrate the APAC instance and EMEA instance of the Confidential application into single application as a part of the strategy to migrate to FIS infrastructure and also the cost of maintaining two application instances
- Developed REST APIs in the application to be used by downstream systems to check status of daily booking cycles, pricing data and other reporting information.
- Developed Position Reconciliation Application using Spring Boot, REST API, Apache Cassandra, Cucumber.
- Develop Stored Procedures, SQL, Unix Shell Script for daily, weekly and monthly jobs scheduled in Control-M.
- Used Testing frameworks such as JUnit for Unit Testing, Cucumber for BDD and TDD for testing the applications in Confidential .
Technologies Used: Java 8, Eclipse, Oracle 10g, Maven, JAP 7, XML, FIXML, JiBX, WebLogic Server, JAP, Unix Shell scripts, Control-M 9, Apache Camel, Quartz, Spring 4, Spring Boot, REST, Cassandra, Cucumber, JavaScript, Angular 4, JSON.
Confidential, Morrisville, NC
Senior Software Engineer
Responsibilities:
- Designed and developed the module to receive real-time acknowledgements from downstream OTP systems using JMS Queues.
- Implemented code changes for validation of Account Codes with GMI, made changes to UI and blackened validation systems.
- Developed Multi-threaded implementation of randomization of positions booked to GMI.
- Used Java Collections API, XML, JiBX framework for binding of incoming XML data feeds and loading them to application.
- Developed loading of pricing data, assignment exercise feeds for Options on Futures received through JMS feeds from upstream systems.
- Designed and developed a in-memory lookup and caching mechanism for quick lookup for exchange references, price code lookups and other reference data while processing the exchange feeds.
- Used JMS API for receiving & processing messages while booking option positions, sending and receiving notices from upstream and downstream systems.
- Process the FIXML assignment, pricing data using JiBX API and load them to Confidential using stored procedures.
- Created JUnit Test cases for the program to perform unit testing.
- Written SQL, PL/SQL, Stored Procedures required for loading and cleansing daily feeds for various reports in the application.
- Developed Unix Shell Scripts, Stored procedures for running various booking cycles in BMC Control-M job scheduler
- Involved in requirement analysis, development, and integration testing during the release cycles and application maintenance.
- Liaoning with the Business users from Operations to understand any production level issues and working with Level2 Application support to co-ordinate the resolution of issues.
Technologies Used: Java 6, JMS, Eclipse, Oracle 10g, Maven, Log4j, JAP 7, XML, JiBX, WebLogic Server, Unix, BMC Conrol-M, Splunk.
Confidential, Durham, NC
Software Engineer
Responsibilities:
- Designed and developed the Batchpager Stage unit that receives client patient data and processes them in batches of fixed size.
- Developed a multithreaded processor program that handles data for multiple patients, validates data and creates batches.
- Used Spring JDBC Template for persisting Batch Page data to database.
- Used JMS API for posting the message payload to the Queues.
- Created JUnit Test cases for the program to perform unit testing.
- Involved in writing SQL, PL/SQL, Stored Procedures required for processing client data in the stage.
- Involved in application integration, testing, fixing the bugs and performance issues while running the process in the pipeline
- Used Maven, Log4j, Unix, Git, Jenkins for version control, build and Continuous Integration deployment of the project.
Technologies Used: Java 6, Spring JDBC, Spring MVC, Angular JS, JMS, Eclipse, Oracle 10g, Maven, Log4j, Unix, SOAP, Tomcat 6, Git, Jenkins.
Confidential, Raleigh NC
Software Engineer
Responsibilities:
- Designed and developed the MSE Engine that processed the MSE products and provisioned them on the DMS-500 switches.
- Designed the XML Schema for processing each MSE product based on the settings required to provision them on the switches.
- Developed SOAP Web Services using Top-Down (Contract First) Web Service development approach for receiving and processing the orders for MSE products from Oracle OSM Metasolv system and the Confidential GUI system.
- Used the Confidential ’s switches API for talking to the DMS-500 and Metaswitches to provision the products on these switches
- Used JPA persistence framework for persisting the product settings and the order information into the MySQL and DB2 databases.
- Architected and developed the MSE Adapter engine that interfaces between the Confidential ’s Confidential system and Oracle’s Metasolv order management system.
- Used Open MQ 4.5, the JMS provider in Glassfish Server for developing the MSE Adapter and worked on integrating this with Weblogic JMS using JMS Bridges.
- Developed the test cases for testing various MSE products for provisioning.
- Worked on upgrading the Glassfish server (v2.1) to newer version of the server (v3.1) and migration of existing code in the server environment.
- Worked on designing the database tables required for the MSE products and the SQL queries to keep track of MSE Orders.
Technologies Used: Java 6, Glassfish v2.1, Open MQ 4.5.2, Web Services, JAX-WS 2.0, JAXB, XSD, WSDL, JPA 2.0, JMS, SVN, NetBeans 7.3, Ant, MySQL, Glassfish v3.1, Weblogic 10g, MySQL and DB2.
Confidential, Chicago, IL
Java Developer
Responsibilities:
- Designed and developed the backend processes for fetching and loading of live FXTrade data and rates.
- Used Java, Weblogic JMS Queues and Spring JMS Template for getting and loading trade data.
- Used Hibernate for Data access mapping and loading.
- The Web UI of the application developed using JSP, Spring MVC and Tiles framework.
- Integrated Hibernate with Spring framework Dependency Injection
- Involved in performance tuning of the data load and querying.
- EHCache was used for caching the data to improve the querying involved in running the reports.
- Had Written SQL Queries for loading the EOD data flat files, calculating various operational metrics on the data.
- Written Ant script for automating the build process
- Extensively Used UNIX Shell Scripting for scheduling, running backend load processes.
- Involved in migration of some dependent legacy applications from Java 1.4 and Weblogic 8 environment to Java 6 and Weblogic 10 based environment.
- Involved in the production support of the application and fixed data
Technologies Used: Java 6, Spring core, Spring, Hibernate, JMS, ClearCase, Eclipse 3.4, Spring MVC, Oracle 10g, Weblogic Application Server 10, Sun Solaris.
Confidential, Chicago, IL
Java Developer
Responsibilities:
- Designed and developed the Transfer Pricing application in GATR.
- Used JSP, HTML and JavaScript, Ajax and Spring MVC framework in building the web app for Coverage administration
- Used Spring IOC, Spring JDBC Template for data access implementation
- Consumed Web Services to fetch pricing scheme data from external application.
- Developed multi-threaded Java processes, that run daily to computes and updates pricing, historical information, trend data and banker profiles. It cut-down the runtime of the job drastically and improved reporting jobs performance.
- Performed marshalling and unmarshalling of pricing feed data from and to source XML files using XMLBeans.
- Had Written Oracle SQL and PL/SQL queries for trade data querying.
- Used JUnit for creating and testing the implement pricing modules.
Technologies Used: Java 6, Java Concurrency (Multi threading), Collections, Maven, Spring JDBC, Spring MVC, Web Services, WSDL, XML Beans, Eclipse 3.4, Oracle 10g, Weblogic Application Server, Sun Solaris.
Confidential, Whippany, NJ
Java Developer
Responsibilities:
- Designed the Extract, Load, and Exempt modules for IIS.
- Coding of loader module that involves running SQL loader coming form java code.
- Design and development of data base access layer using Hibernate.
- Integration of Spring with Hibernate for database access and backend functionality.
- Used Web services for consumption of portfolio related information released as Web services.
- Used Unix Shell Scripting to deal with flat files generated from Geneva portfolio engine and load them to Oracle using SQL loader.
- Had Written Oracle SQL queries for synchronization utility Run Id and parameter information.
- Worked on JMS and MDB (Message Driven Beans) for implementing messaging between portfolio and exempt module.
- Creating tasks in Task Orchestration (TO) internal tool and attached java components to it.
- Had Written the Ant build scripts to create java artifacts to be deployed on the Weblogic server.
- Used JUnit Testing for testing the load and exempt modules of the system.
- Test the components in TO and fixing bugs.
Technologies Used: Java 5, Spring core, Spring IOC, Hibernate, JMS, Web services, Clear Case, Eclipse 3.2, WinSCP, Oracle 10g, Weblogic Application Server, Windows 2000, Unix, Ant, Maven, Clearcase.
