- 15+ years of experience in software application development for major US Telecom providers Confidential, Confidential, AT&T and CenturyLink from IBM, including 5+ years at Client locations.
- Extensive experience with analysis, design, development, testing, customizations and implementation of software applications in Agile Scrum Waterfall and Test Driven Development environments.
- Experience in analyzing existing application and application re - architecture and rehosting applications.
- Application software development experience in Confidential telecom for Retails Management Systems (Post Paid / Prepaid), Chrysler’s Connected Vehicles Platform, Automated Payment Center, Network Switch related applications and Confidential Wireless for Performance Tuning of Commerce Portal application and AT&T for Service Provisioning and NEAM cartridge development applications and CenturyLink for Order Entry /Management Applications.
- Strong database skills, Object Oriented Programming, and application development knowledge using J2EE, Struts Webservices and Spring frameworks.
- Experience in Service Oriented Architecture (SOA) using SOAP/WSDL/JAX-WS, REST/JAX-RS based Java Webservices.
- Experience in creating APIs using CORBA IDLs to integrate applications with Java and C+, hosted in different platforms.
- Experience in creating web based mobile applications using HTML5, Ajax, jQuery, Spring MVC and REST webservices.
- Experience in performance tuning of J2EE applications using JProbe, JMeter and IBM RSA tools to analyze memory dumps and fix memory leaks to improve application performances.
- Extensive knowledge in troubleshooting applications in the clustered environments and work with Production and in SWAT calls during application deployment and outages.
- Working with Product Owners, Scrum Masters and System Architects in Requirement analysis and prototyping creation for new projects.
- Working with Server Administration team to build servers for development and test environment and taking care of Development, System test environment build and migration process . Ensures that the environments for development and testing are established, and all the necessary connectivity and corresponding release code is merged in code repository through Tortoise and SVN tools. Verifying implementation plans and check list for the production deployment changes.
- Experience to handle offshore development and testing teams during the development and testing life cycles.
- Exposure on DevOps continuous Integration and containers Docker, Kubernetes and IBM Bluemix cloud platform.
- Adoptable and flexible to work with new environments, technologies and work with multiple projects and teams.
- Good communication skills, interpersonal skills, self-motivated, quick learner and team player.
- Eclipse, Spring Tool Suite (STS), Visual Studio Code, PyCharm for Python script, WebSphere Studio Application Developer (WSAD), Edit Plus IBM Infosphere MDM (Master Data Management), MDW (Model Driven Workflow).
- Maven, Gradle, Jenkins, Build Forge and Apache Ant.
- Source Tree, GitLab, Rational ClearCase, Win CVS, StarTeam, SVN and Serina Dimension
- Oracle, PL/SQL, Oracle SQL Developer, TOAD, MySQL
- Agile/Scrum and Waterfall model, OOAD with UML, Microsoft Visio
- Java & J2EE Design Patterns
- Jira, HP Application Lifecycle Management (ALM), Remedy, UniCenter ServiceDesk (USD), Mercury Quality Center & IBM Rational Portfolio Manager (RPM) and CA Agile Central (Rally)
- Apache Tomcat, WebLogic, JBoss & WebSphere
- JProbe, IBM Thread Monitor & IBM Rational Software Architect (RSA), JUnit, SOAP UI, Postman
- IBM Bluemix, IBM Cloud, Docker and Kubernetes.
- Windows, Unix & Linux
Senior Software Engineer
- Analyse and Designed the module components and created design diagrams, coding, created unit test cases and unit testing of application.
- Used Spring Tool Suite to create Spring boot application in Microservices architecture to interact with Active MQ and Oracle Database.
- Created Rest Controller class to receive Cancel request services and created CrudRepository classes to update the cancel requests to database tables.
- Developed various Database interaction objects by implementing the DAO patterns and used Spring JDBC Template, Spring Data JPA.
- Created Persistence entity beans and created bi-directional association mappings to join the tables.
- Created new Queue in Active MQ Messaging Broker (Active MQ ) for the functional module to send and receive messages using JmsListener and configuring queues and enabling connection between Active MQ and Application process.
- Created JMSTemplate to post and consume message from Active MQ Queue and used Jackson Mapper to convert Java Object to JSON.
- Created APIs using RestServices in the Service layer and created Rest Template and HttpCLient to invoke external REST services sending MultiPart/form data .
- Configure application in Jenkins to create build job and writing build script to deploy the build tar file into server for testing.
- Implemented Eureka Server using Netflix Spring Cloud API for Service Discovery and Netflix Zuul for Server-Side Load balancing.
- Authenticated by Spring O-AUTH Security Framework and validate the security token via API call to Authentication Server.
Environment Java8/ J2EE, Oracle, JSON, Git-Lab, Spring, Spring MVC, Spring Boot, Active MQ, REST Webservices using RestTemplate and HttpClient, JSON, Oracle, Eclipse, Spring Tool Suite. Senior Software Engineer
- Migrated existing Java application into Spring Boot application using Spring Batch, Spring Integration to handle the received large amount of raw input data files from various sources and using Active MQ to transfer files as messages between the application components which are deployed in the clustered environments and write the final output messages into flat files in the required file formats (vz450, bocb and uims) and update the Oracle database tables in each stages of file transfers between applications.Created Application Processing Billing Accounts from Single Thread to Multiple Thread using Spring Task Executor and Camel framework to process more accounts in a minimum time which reduce cycle processing time and tuned the spinning more thread based on application JVM.
- Implemented JMS Messaging queue to interact with external applications.
- Created Inbound Channel Adaptor in Spring Integration config xmls to pull the data from the Oracle database tables via data sources for given maximum rows per poll.
- Created Enricher classes to handle the Payload from the Spring Integration flow to populate quired data from the database tables.
- Created JdbcCursorItemReader classes to read the data from the Payload and created ItemProcessor classes to handle business logics and created ItemStreamWriter classes to write the Payload data to the flat files in the given file location.
- Created Spring Batch config to define the Job, Step and Listeners to handle created Reader, Processor, Writer classes.
- Configured application in Jenkins to create build job and writing build script to deploy the build tar file to deploy in the lower environments.
- Work with up-stream and down-stream applications during end to end system testing to make sure the interface is working properly between the application such as transfer file from one application to another application by configuration node bi-directional for sending and receiving files, API Connectivity, Authentication and Authorization check ’s in Development Testing Environment, UAT Environment and Production Server.
- Create application related tools and utilities to monitor and create reports using Python scripts in PyCharm IDE.
Environment: Java8/J2EE, Spring Boot, Spring Batch, Spring Integration, ActiveMQ, GitLab, One Jenkins, One Jira, Source Tree, Oracle, Gradle, Unix and Python scripts and Unix.
Java/J2EE Lead Developer
- Work with Product Owners, Scrum Master, and System Architects in Requirement analysis and prototyping creation for new projects. Work on project development estimation LOE (Level of Efforts) and manage schedule. Using Agile Scrum Tool, Rally, for scrum planning, development and tracking burndowns.
- Design the coding approach with java coding standards with Controller, Service, DAO layer approach and Coding for server-side API components, RESTful API’s to expose the Commission services and receive Angular JSON request in Controller layer and develop Commission components using Spring boot, design patterns, Spring DAO JDBC template, Object mappers and return JSON response back to Angular front-end application. Minimum issue fixing and code changes in Angular pages. Create Swagger configuration for the API documentation and using Log4j2 for the application logger and implementing JWT tokens for user authentication.
- Implementing Microservices architecture using REST Webservices in the Spring boot application.
- Validate the developed APIs using Postman webservice testing tool before integrating with the front-end Angular application and do the Unit testing for developed Spring components from controller, service and DAO layer.
- Create and validating basic database scripts ( PLSQL) to process the feeds/ data from integrated applications.
- Conduct necessary code reviews with team to ensure quality of code and identify issues early in project life cycle and avoid defect fixes later in the project testing.
- Coordinate with User Acceptance Team (UAT) to certify the product for respective release and deploy new version build to production.
- Work with Server Administration team to build servers for development and test environment and taking care of Development, System test environment build and migration process . Ensures that the environments for development and testing are established, and all the necessary connectivity and corresponding release code is merged in code repository through Tortoise and SVN tools. Verifying implementation plans and check list for the production deployment changes.
- Tracking system test cycle defects in ALM tool and analyze the issue and provide the solution to the team to fix issues and provide prompt reporting to stakeholders. Attend project status calls with stake holders and provide daily status. Timely updates to project management team to ensure potential conflicts are resolved during project planning.
- Provide support to external systems like EAI, AMDOCS, SCPMS ( Confidential Provisioning Management Systems), Load and Performance testing team.
Environment Java8/J2EE, Spring Boot, Spring DAO, Swagger, Log4j2, REST Webservice, Angular 5/Node, JSON, Postman, Eclipse (STS), Visual Studio Code, SVN, Maven, Jenkins, JBoss AS, SQL Developer, Oracle and Unix.