Summary
**+ years of experience in end-to-end development, analysis, and design (functional and technical) of enterprise application based on varied technologies.
Excellent knowledge in design patterns and server-side Java/J2EE technologies along with application server like JBoss AS, Tomcat and databases like PostgreSQL, Oracle, MySQL, MS SQL Server.
Strong analysis and design expertise in implementation of highly scalable, performance oriented enterprise application in distributed, clustered, and high availability environment
Have been involved in performance analysis and profiling to improve application/system performance
Have In-depth knowledge of configuring and deploying applications to JBoss AS7 and Tomcat as well as configuring open-source databases like PostgreSQL and MySQL to business needs.
Diverse experience utilizing Java tools in tiered architecture applications including J2EE, JDBC, JNDI and JMS, JSP, Servlets, Java - Swing, Spring technologies.
Worked on API integration and development on Lucene/Elastic, Quartz, iText, Apache Vysper, XMPP, HSQL, H2
Fluid understanding of multiple programming and scripting languages, including C, C++, Java, HTML, XML, Pro-C, SQL, PL/SQL. Moderate experience with JavaScript, shell script, CSS, jquery, ajax, Angular JS, Bootstrap UI.
Strong Experience in DB design and scripting using SQL, PL/SQL to write Stored Procedures, Functions, Triggers. Working knowledge of NoSQL, MongoDB
Expert in using Java IDEs like Eclipse and java build tools ant, ivy, and maven.
Hands on version management tools like CVS, Subversion and Microsoft SourceSafe, continuous integration tools Jenkins, bug-tracking tools JIRA.
Proficient in Object Oriented Principles, Methodologies, and Best Practices.
Have ability to work independently for implementation and delivery of critical business components.
Good knowledge of the different processes involved in the Software Development Life Cycle having exposure to the standards, procedures & documentation.
Expertise in working with Agile methodologies like Test Driven Development (TDD) and Scrum Methodology.
Experience in ANT, Maven build tools and also expertise in unit testing using JUnit.
Significant experience using UML, particularly in the construction of use-case, sequence, state, activity, and deployment diagrams.
Have high learning curve to learn and adapt quickly with new tools and technology.
Demonstrated ability to multitask and manage multiple projects in a cross-functional environment.
Excellent communication, interpersonal and presentation skills.
Education
B. Tech (Information Technology), IIIT, Allahabad
Technical Expertise
Programming:
Java (J2EE, JSP, Servlets, Java Swing, JDBC, JMS, ant, maven, jQuery, Angular JS, Bootstrap UI, Elastic Search) ~ 10 years
XML, DOM, SAX, HTML ~ 9 years
C++, C, Make ~ 1 years
SQL, PL/SQL, Pro-C ~ 10 years
Database / Application Design/OS:
OOAD, UML, Design Patterns, Rational Rose ~ 6 years
Oracle, MS SQL Server ~ 6 years
In-Mem databases HSQL, H2, derby DB
Open Source databases PostgreSQL, MySQL ~ 5 years
RHEL, HP-UX, SUSE ~ 7 years
Windows Server 2003 ~ 2 years
NoSQL DBs like MongoDB ~ 6 months
Enterprise Software:
JBoss AS5, AS7, Apache Tomcat, IIS
Eclipse, XML Spy, Your Kit Profiler, TOAD, SQL Developer, Derby DB
MicroSoft Office, OmniGraffle,
TortoiseSVN, Visual SourceSafe and CVS, JIRA, Jenkins
Quartz API, DSpace, Lucene, Apache Vysper
Professional Experience
DTNA, Portland, OR
Duration: Feb 2016 -till date
Quote and Order Processing
Role: Java Lead/Full Stack Developer
Order Processing is an existing application for reviewing order and clear inconsistencies and exceptions from the order. Quote Processing is new application developed to provide similar functionalities as Order for Quote.
This project is to enhance Order Processing application and develop Quote Processing with newer technology stack.
Responsibilities
Involved in project design, application development, code reviews.
Worked as an individual contributor in the project doing full stack development.
Design and implement Quote Processing as a new application as part of Quote Order Processing. This included back-end as well as front-end development.
Develop back-end Rest-ful Web Service using Spring IOC, Spring AOP, Spring MVC
Developed the view-controller components using JSPs, JavaScript, CSS, HTML,
Bootstrap UI Spring Form, jQuery and ajax.
Manage WebSphere deployments and troubleshoot server related issues in dev.
Help server team to resolve WAS related issues in QA and production environment.
Enhance existing document storage and retrieval application.
Develop SQL schema and queries for the new implementations.
Hands on experience in writing Spring Restful Web services using JSON / XML.
Create JSON model for request/response mapping.
Implemented Log4J for Logging Errors, debugging and tracking using loggers, appenders components
Developed the web-services and analysis of SOAP envelope using SOAPUI.
Generate Entity mapping through Eclipse Database Explorer and Hibernate JPA.
Develop ANT script for build management. Integrated Apache Ivy to ANT for dependency management of the project
Technologies
Java/J2EE, IBM WebSphere, SQL Server, DB2, Restful Web-Services, SOAP, jQuery, AJAX, Spring MVC, Spring Core, Hibernate/Hibernate JPA, JSON, XML/JAXB, Bootstrap UI
DTNA, Portland, OR
Duration: Feb 2015 –Feb 2016
DTNA Connect
Role: Java Lead/Full Stack Developer
DTNA connect is a new platform based on IBM Portal Server which hosts multiple applications like registration, sales and order tracking, dashboard, delivery tracking
This project is to develop individual application as portlet and integrate it to the main application (Portal Server). Application has tiered architecture with portlets running on a portlet server and back-end services runs on a separate WebSphere server instance.
Responsibilities
Worked as an individual contributor in the project doing full stack development providing design/development inputs.
Implemented MVC-Model architecture and other J2EE design patterns using Java Beans and conducted simultaneous queries and retrievals using Java multithreading techniques for the application development.
UI development included developing portlets UI based on jQuery, Angular JS, Bootstrap UI, HTML, CSS having ajax calls to load data.
Develop back-end services, which are based on Spring MVC and Spring-Rest.
Developed server framework to process requests from multiple portlet applications. This service has been exposed to other application for processing report generation tasks.
Develop the business logic to get data from multiple sources including mainframe, databases and external SOAP based Web-Services.
Implemented Spring Modules for Designing, Developing & Testing of Service Layer Business Components.
Develop JAXB based XML marshalling/un-marshalling.
Develop Excel based report generation using Apace POI
Used Hibernate ORM framework as persistence engine, configured hibernate.xml file and Involved in Mapping, Coding and Fine tuning of hibernate Queries.
Configured connection pooling using Web Sphere application server. Setup resource environment entries in IBM WebSphere
Developed ANT, MAVEN scripts for build and dependency management
Develop business logic to manipulate data before passing to portlet to be rendered into UI.
Technologies
Java/J2EE, WebSphere/Portal Server, SQL Server, DB2, Restful Web-Services, SOAP, Angular JS, jQuery, AJAX, Spring MVC, Spring Core, Hibernate/Hibernate JPA, JSON, XML/JAXB, Apache POI
DTNA, Portland, OR
Duration: May 2014-Feb 2015
SpecPro Development Team
Role: Java Lead
SpecPro application is a desktop-based application, used to manage/generate spec/configuration of Truck/Freightliners. I was involved in 2 phases of application.
Phase 1 was a continued enhancement project for adding new features to the application.
Phase 2 was to migrate SpecPro from a desktop application to tiered architecture model involving SOAP based Web-Services acting as middleware between swing UI based client and database.
Responsibilities
Working as an individual contributor and providing design inputs for migration of the application.
Develop SOAP based web services
Move existing persistence logic to server side accessible through SOAP based web services
Design/customize swing UI for the application.
Integrate HSQL based in-memory database with client application for report generation.
Develop Spring Injected Beans to process Database transactions.
Implemented Spring Modules for Designing, Developing & Testing of Service Layer Business Components.
Develop ANT based build and deployment script.
Implemented Business Logic using POJO’s and used Apache Tomcat to deploy the application.
Develop Log4j based log generation
Involved in preparing High level and low level design documents for the web services used in application.
Implemented Junit for application Unit Testing.
Use Spring JDBC to develop the persistence logic
Technologies
Java/J2EE, Tomcat, SQL Server, Java Swing, SOAP based web-services, Spring Core, Cpring JDBC, HSQL
Apple, Sunnyvale, CA
Duration: Jan 2014 - Mar 2014
JIRA Customization for Apple Sales Team
Role: Java Lead/Analyst
JIRA is an application for issue tracking and project management. JIRA provides high level of customization in terms of user interface and features.
This project is to evaluate and customize JIRA to the needs of Apple Sales Team, adding business functionalities to manage deals with Telecom carriers.
Responsibilities
This POC project included design and development of plugins to have required feature in JIRA.
1)Requirement gathering and forming business functionality
2)JIRA plugin development and customization
3)Coding for implementation and enhancements
Development activities in On-site
Performing Code Reviews
Monitoring & mentoring off-shore team
Coordinating with offshore for completion of all the requirement
4)Expertise in implementing dynamic web applications using Application & web Servers like WebLogic, IBM WebSphere, JBOSS and Apache Tomcat deploying in various environments like Windows, UNIX and Linux with IDEs like Eclipse and RAD.
5)Involved in preparing High level and low level design documents for the web services used in application.
Technologies
Java/J2EE, Tomcat, MySQL, Linux/Unix, maven, JIRA,WebLogic.
Apple, Sunnyvale, CA
Duration: Feb 2013 - Dec 2013
Email Management System
Role: Java Lead/Analyst
The project is a continuance to Application Maintenance and enhancement. Focus of this project is to have incremental improvement in to Email Management System and its underlying components. Currently this has two separate infrastructures, the new one being based completely re-designed cocoa client and old legacy cocoa client. Both these systems currently co-exist while business users are being migrated to new infrastructure. Inside this application there are two major server-side components MailIn and MailOut.
Major changes and activities
Crash and bug fixes for Cocoa Client for OS support
Improvement in MailIn component involved in parsing of incoming mails (enhancements taken after this application was migrated to JBoss AS 7)
Provide technology and development support to Application Support Team
Migration of MailIn component from JBoss 5 to AS7
Development of MailOut for new Application
Fixes and enhancement to MailOut (for newly developed Application Infrastructure)
Hardware migration of Application Help sites for new infrastructure.
Responsibilities
Worked as On-site co-ordinator and java developer for this Application
1)Involved in requirement gathering and gap analysis
2)Analyze areas of improvement in to server side components (MailIn and MailOut)
3)Provide technology support as Java and JBoss Expert for the old
and new Application.
4)Also, helping developers in other projects in issues regarding JBoss.
5)Migration support for business users shifting from old system to new system
6)Coding for implementation and enhancements
Development activities in On-site
Performing Code Reviews
Monitoring & mentoring off-shore team
7)Unit and Integration Testing
Preparing the test cases and loading them into bug tracking system
Performing Test Cases review
8)Co-coordinating with offshore for crash analysis
9)Coding for MailOut for the new application
Features like handling of in-line attachment into mails being sent out from new Application
Support for complete HTML and rich text handling
Technologies
Java/J2EE, JBoss, JMS, EJB, Hibernate, Oracle PL/SQL, Linux/Unix
Apple, Bangalore, INDIA
Duration: Oct 2011 - Feb 2013
Email Management System
Role: Java Lead/Analyst
Redesign and upgrade of Mail-In and Mail-Out component of the Application System
The project is a continuance to Application Maintenance and enhancement. Focus of this project is to have incremental improvement in to the Email Management System and its underlying components.
This included
Redesign and Implementation of Mail-Out application
Enhancements and bug fixes on existing Mail-Out
Mail-Out setup from the scratch on JBoss AS7
Requirement gathering for MailOut for new Application System
Code analysis/gap analysis of Mail-In for JBoss AS 5 to AS 7 migration
Bug fixes release for existing MailOut prior to re-design
Migration of Mail-In component to JBoss AS7
Responsibilities
Off-shore lead for Dev-Team working on Mail-Out redesign
1)Involved in requirement gathering and gap analysis
2)Design from the scratch for all sub-components and their behavior
3)Forming design document and design discussions with Architects
4)Understand JBoss AS7 as this was one of the first project throughout Organization. Also one of the first to go live in production as well.
5)Performance evaluation for redesigned Mail-Out on JBoss AS7.
6)Coding for MailOut (redesign phase)
JBoss AS 7 setup – all configurations from DataSource setup to JMS.
Migrating corresponding JBoss 5 configurations to AS 5
Adding start/stop shell script for Mail-Out
In corporate fixes for gaps identified for existing Mail-Out setup
Adding a Keep-Alive mechanism for interfaces on which execution is dependent on.
Adding QuartZ for job scheduling
7)Production implementation of the redesigned Mail-Out
8)Coding for implementing the enhancements
9)Unit and Integration Testing
Preparing the test cases and loading them into bug tracking system
Performing Test Cases review
10)Prior to redesign bug fixes release for existing Mail-Out
Technologies
Java/J2EE, JBoss, JMS, Oracle PL/SQL, Linux/Unix
Apple, Bangalore, INDIA
Duration: May 2011 - Sept 2011
Push Notification Support in Frameworks
Role: System Analyst
Research based POC project to showcase feasibility and options available to introduce Push Notification into Application Frameworks used as core for different applications inside Client Organization.
Many protocols and softwares were tested and checked out of which XMPP was identified as suitable protocol. After which different extensions of XMPP were checked.
Apache Vysper was identified as the API for Server side development, with Smack API as API for client-side development
Responsibilities
Worked as offshore lead
Research Protocols suitable for Push Notification Services and mark their feasibility.
Check APIs libraries and software’s available for implementation of XMPP
Design incorporating of Vysper as Server side API into JBoss based Middleware and running Vysper Server as a service in side it.
Test interfaces and possible ways for authentication of users and communication between Application to Application and Application to User.
Technologies
Java/XML, Apache Vysper, XMPP, Spring Framework, JBoss, Linux
National Informatics Center, Bangalore, INDIA
Duration: Jul 2010 -May 2011
Rajyasabha CD Application
Role: Java Developer
Off-line CD based application to provide users access to Rajyasabha debates and question answers through optical media.
Application developed for National Informatics Centre (NIC). The application provides users features like browse in categories like title, members participated and also provides full text based search.
The front-end of the application is based on Java Swing and the whole application has been packaged to be a windows executable, accessible on the optical media. The database and search index residing on the optical media with the application.
Responsibilities
Role:
API Integration
Front end designing and building (Swing)
Developing browse, search, and index functionality for the application
Technologies
Java/J2EE, Derby DB, Java Swing, Linux/Unix, Lucene
National Informatics Center, Bangalore, INDIA
Duration: Jul 2008-Jul 2010
DSpace Application for NIC/BSI
Role: Java Developer
DSpace is a digital repository system, DSpace captures, stores, indexes, preserves and redistributes an organization's research material in digital formats. Research institutions worldwide use DSpace for a varietyof digital archiving needs -- from institutional repositories (IRs) to learning object repositories or electronic records management, and more.
National Informatics Center(NIC) obtained services of HP to customize DSpace web-app to cater the needs of BSI to build online Digital Herbarium available on Internet known as Internet Virtual Herbarium (IVH) and another known as simply Digital Herbarium available on local network of BSI in different locations all over India
Responsibilities
Role: Developer and Analyst.
Enhancements and customization of DSpace Web-app
Adding Security features into the portal
Deployment of the Application On-Site in BSI
Applying changes based on NIC/BSI feedback.
Providing client with documentation and operations manual of the application
Deploying Harvester Utility which is import utility to transfer data from DH-DSpace application to IVH-DSpace Application
Technologies
Java, JSP, Java Swing, Apache Tomcat, PostgreSQL, RHEL, Apache Lucene, DSpace
Kadaster, Bangalore, INDIA
Duration: Jan 2007-Jul 2008
Kadaster Online
Role: Developer
Kadaster on-line (KOL) is a home-grown application which offers customer of Kadaster to access the information regarding land registration and property. A part of the application was written in C, which had been migrated to C++.
The user interface was written in Java Swing.
Responsibilities
Role: Developer
C++ Developer/Java Swing UI Developer
Developing Tuxedo Services in C++
Delivered objects on time with Quality
Building and maintaining a good work relationship with onsite consulting Team
Extensively participated in the integration testing of the services using XML files as input.
Played key role in review of the developed services, which helped in quality delivery of the deliverables.
Testing the Java GUI Screen for the Application feeding manual test-cases
Technologies
C++, Java/Swing, Tuxedo, Unix