Consultant Resume
SUMMARY:
- Extensive experience (17+ years) in software development
- Currently on Cloud(AWS & Google cloud), Containers(Docker). Confidential and elastic eco systems
- Involved in complete software development lifecycle in most of the projects
- Fluent in DevOps, Blue Green deployment model, Canary Releases, Continuous Delivery/Integration, Agile (Scrum, XP, RUP) Methodologies, Test First Development approach, SOA architectures, Onsite/Offshore development model
- Multi - tasking and role switching across multiple projects as required.
- Involved in Hiring process, Product Evaluation, Project Feasibility Studies and Mentoring, Creating business Requirements and proposals, Project planning, Implementation plan, Vendor Management, Vendor Engagement
- Hands on architect with excellent skills in development, performance tuning, capacity planning, change management & release management.
- Expertise in Portal Development - WebSphere Portal 6.1/6.0/7.0/8.5 RAD7/8
- Highly skilled in J2EE EJB, Servlets, JSP, JDBC, JNDI, JMS, JTA, JNI, JCA, Perl(MASON, log4perl, SOAP Lite), AJAX, Hibernate, DOJO, REST
TECHNICAL SKILLS:
Hardware/OS: AIX 6.1.x, Sun Sparc/ SunOS Rel5.8, 80x86 systems/ Windows8/7/10, Linux (Centos 6.x/7.x, Ubuntu)
Languages/ Scripting/ Unix Utilities: Java, OO Perl, Jython, awk, sed, groovy, ruby
App Servers /Portal: WebSphere 7.0/6.1/6.0/5.1 , Apache Tomcat 6.0/3.2, IBM WebSphere Portal Server 8.5/ 7.0/6.1/6.0/5.1
Web Servers: Nginx, IBM Http Server, Apache HTTP Server, IIS
Databases: Oracle 11g/10g/8i/7.x, SQL Server 2008 r2,Sybase Adaptive Server 12, DB2 v9.7
Design Tools: VISIO, Rational Rose, Together J
IDE: IBM Rational Application Developer 7.0/6.0, Spring STS
Java/J2EE: JSP, Servlets, EJB, JDBC, JMS, JNDI, RMI
Message Oriented Middleware: MQ Series, TIBCO
Methodologies: RUP, XP, Scrum, Waterfall
Tools: /Testing/Performance: Jmeter, Cactus, HttpUnit, Junit, findbugs, pmd, corbetura, eclemma, easymock, jmockit, asemon, IBM HAT, Introscope, Sitescope, wireshark network packet analyzerITSM Tools: Rational Clear Quest, HI ITSM, HP Quality Center, Remedy
Build/Version Control: Maven, Ant, Unix/Dos shell scripts, Cruise Control, Jenkins, Continuum, Clearcase, Subversion, CVS, PVCS, VSS, Serena Dimensions, Git hub
Cloud/Devops/Containers/tools: AWS, Google cloud, Docker, Terraform, Packer, Consul, Vault, AWS Code deploy, AWS Run Command, Artifactory, ELK stack, file beat, Vagrant, Chef, Ansible
PROFESSIONAL EXPERIENCE:
Confidential
Responsibilities:
- Responsible for creating maintaining hardened CENTOS AMI for AWS and Google Cloud for Confidential using Packer
- Also responsible for creating the Docker base images for using across PBIP
- Setting up NewRelic agents for monitoring applications/ VMs.
- Chef/Ansible for provisioning the instances(Ec2 and Gcloud compute instances)
- Terraform to build the stack on Gcloud and Cloud Formation to build the stack on AWS
- Artifactory hosted in the cloud and is used as artifact repository
- Splunk for centralized logging. NewRelic for performance monitoringVagrant to spin up VM on windows boxes using Oracle Virtual Box to test chef recipes.
- Git hub for Source repository.
- Jenkins for continuous integration and deployment of cloud stack on both cloud. environments, jobs for provisioning and jobs for pushing the code. Used groovy scripting for creating jenkins pipeline jobs.
- Used Docker Health check for checking the health of web applications running in the container.
- Docker Swarm mode for container clustering.
- Dockerizing node js applications both AWS as well as on prem for news plus. Used pm2 for process management.
- AWS Run Command and AWS Code Deploy for code deployment.
- Used Packer to create AMI for Code deploy and Run command by provisioning AMI with Code deploy agent /SSM agent. Terraform for creating the IAM profile/ roles/ attaching AWSCodeDeployRole/ SSM role and tying the role to the instance.
- POC for Kubernetis for clustering on Google Cloud & ECS cluster on AWS.
- POC for securely storing secrets and keys using Consul as datastore with Vault. Used cubbyhole secret backend for extra security
- Blue/Green deployment achieved by switching the Route53 record.
Confidential
Responsibilities:
- Exposing Confidential enrollment submission service to External Vendor(GO Health & Ehealth)
- Developing POC for dockerizing Confidential for hosting to AWS
- Used Docker swarm for Clustering docker containers.
- Configured Docker network for linking DB container with application container
- Docker compose to define and run multi container applications.
- Ansible for configuration management and provisoning
- Used Ansible modules/AWS CLI for managing ec2 instances.
- Automated the Blue - Green Deployment process using Jenkins WorkFlow.
- Used nginx for reverse proxy.
- Used Consul for Service registration, Registrator for service discovery, Consul template to update nginx proxy configuration to achieve zero downtime during deployments.
- Used ELK Stack(Elastic Search, LogStash, Kibana) for centralized logging and monitoring. Used filebeat to send logs to logstash from docker containers.
- Used Consul Health check and watches to monitor resource usage for preventive self healing.
- Swagger for generating api for springboot microservices.
- Flocker to manage Docker volumes.
- AWS cli and AWS JAVA Sdk for managing AWS services.
- Created Docker image with tomcat/jdk/ Confidential apps. Mounted volumes on the container to share data between containers. Publishing images to Docker hub. Integrated Docker Cloud with AWS EC2 container. Tutum to deploy and manage dockerized applications. Setup Docker Tools in windows environment. Dockerfile for building images.
- Integrating Docker with Eclipse Mars
Confidential
Responsibilities:
- Ownership of Consumer Portal/Broker Portal
- Developing POC and Strategies to in corporate Google Translate widget to Consumer portal for Spanish language translation to target Spanish speakers.
- Spring AOP for logging to log method name, args, returned object and execution time
- WCM library import/export from/to VP using ConfigEngine.sh
- Virtual Portals used for need insurance, broker and member portals.
- Dojo 1.6 was used for UI, Rest calls to spring based middle layer which uses JDBC template to communicate with DB2.
- Strategy to move authoring from SIT to UAT so that WCM changes can skip some of the change management process. Currently WCM changes move from DEV -SIT-UAT-PROD. Conducting end user to enable e-business team to promote WCM changes themselves
- Horizon uses SOA for separation of functionality into loosely coupled services using MOM, Webservices.
- Involving in Budgeting & Vendor management activities.
- Currently looking into separating application functionality on consumer/ broker portal into micro services for ease of deployment, development and maintainability.
Confidential
Consultant
Responsibilities:
- Designed and developed Track New Business module for AEP.
- Dojo 1.6 was used for UI, Rest calls to spring based middle layer which uses JDBC template to communicate with DB2. Used Dojo widgtes for generating pie chart, line chart, custom tables and grid reports. Used url generation tags for inter-portlet communication.
- Designed/ Developed ThreatMatrix/ TrustDefender client integration with AEP for client machine verification, malware threats.
- Client was blocked for Smartphone/Tablet users. Security implemented using PUMA API. Portal Theme customized for integration effort.
- Designed/Developed Continuous Integration for all AEP Projects.
- Apache ant was used for scripting the builds. CruiseControl 2.8.4 used for scheduling the build. Deployment scripts were done using Jython. Deployment requests were configured through Serena Dimensions. Serena is used as artifact repository. Migrated from Changeman DS to Serena Dimensions as part of Continuous Delivery process. Worked with the Enterprise architecture team to layout the deployment and build process. Extending the build and deployment process to Other projects in the group. Worked with WebSphere team to build out SIT2/UAT2/BF environments.
- Mentored build/Deployment Team on the build process.
- Responsible for building/ Configuring WebSphere Portal/Application servers on non-controlled environments.
- Developed scripts to setup AEP for windows boxes for development team. Brought down the time to setup up local environment from 1 day to 1 hr. Scripts include configuring the Appserver JVM, JMS, URLs, JDBC provider, Data sources, Class loader, JVM properties, App server variables,installing theme, pages, wars, portlets & personalization rules on Portal server, clearing dynacache.
- Created dos/unix scripts using Serena dmcli to update workarea, create DR, deploy DR, promote DR to different environments & upload workarea as part of continuous delivery process.
- Created Streams/Baselines and performed code merge on Serena Dimensions.
- Installed Serena plugin for cruise control and configured cruise control with the plugin.
Confidential
Consultant
Responsibilities:
- Entered the project during the Construction phase.
- Handled Supplier Lookup & Invoice Inquiry Portlets.
- Proposed and implemented strategy to fix the DB2-Hibernate issue (formula aliasing in order by clause) which involved java framework code change to drop Hibernate query language and implement the calls using native SQL.
- Scripting the Development environment
- Xml Access scripts for Pages, Portlets, Themes, skins & virtual portals from Gold Copy Server.
- Configured Virtual Portals for CatConnect, CatSolar, and Cat@work using ConfigEngine.bat
- Jython scripting for server configuration
- Continuous integration proposed and currently creating build scripts for automated builds for the Portals
Confidential
Consultant
Responsibilities:
- Build master for Citi direct (RSF)
- Mentored GTS build team on RSF builds for centralized build control.
- Developed spring based web services using spring, Cxf & mule
- Developed web based Utility using spring web mvc to display system component matrix on all Controlled environments.
- Working with SAs to set up all controlled environment ( PROD/COB/PTE/UAT/QC) for RSF. Mentoring deployment team on the deployment process for components.
- Configured Clusters, Servers, JDBC, JAAS, JMS Providers, Connection factories, Queues, Work Managers, Server level class loaders, EAR deployment scripts, WebSphere Variables, JVM Properties, shared libraries, Listener Ports, Virtual hosts, JVM Process execution settings for running the process with same id.
- Actively involved in PROD support and code & configuration migration across all environment.
- Involved in Performance testing/ tuning of WebSphere and Business objects Server.
- Developed the Jython scripts for restart the Tivoli Performance viewer, monitor servers and start and stop the logging. Shell scripts to consolidate the log output and error logs on multiple servers/multiple boxes to single location for dashboard creation. Wily Introscope to monitor the performace.
- Scripting to change the min/max heap size for JVMS.
- Developed DOS scripts to update the codebase from clear case, copy maven repository from clear case to local, recursively change repository attributes to writable, invoke the build, create the tar out of the build artifacts in the required folder structure, scp the tar to AIX environment for the build script to pick up and finally label the code base.
Confidential
Associate
Responsibilities:
- Migrated Portal5.1 Infrastructure to Portal6.
- Migrated Code base from CVS to Subversion.
- Strategy for scripting the deployment of Portal artifacts( portlets, portal pages, security, custom urls, themes and skins) for seamless release across environments.
- Devised and implemented Automatic build for Continuous Integration.
- Awk scripting to consolidate error reports for notifying senior management.
- Developing JSR168 JSF portlets.
- Jython scripts to configure Application server for JDBC data sources, Connection Pools, JNDI names, Custom Services, Environment variables, JAAS entries. asemon to monitor SYBASE performance prstat to monitor SUNOS performance. Topas, nmon to monitor performance on AIX boxes.
- Concurrent collection and parallel young generation collection set up on JVM
- Wily Introscope to monitor CPU, memory, throughput. Created and setup the pdd files on the server.
- Taking heap & thread dumps using OS kill commands and wsadmin
- Used IBM Heap Analyzer for analyzing the heap dump on AIX boxes.
- Heap Analyzer tool (HAT) was used to analyze the heap dump on Sun OS in older JVMs.
- Used IBM Thread and Monitor Dump Analyzer for Java for Thread dump analysis.
- Used JHAT for jdk1.6 apps.
- Enabled large page as per IBM recommendation.
Confidential
Responsibilities:
- Involved in Inception, Elaboration, Construction & Transition phases of the project
- Portalising all intranet applications on the private bank.
- Primarily in charge of portalising IMGWEB, IWS, Headsheets & Xamin applications.
- Attended IBM for Portlet Development.
- Created Cheat sheets and manuals to mentor junior team members.
- Responsible for developing the prototype for JSR 168- Struts portlets.
- Converted Struts based/Non Struts based applications to portlets.
- Created custom themes and skins for Pvt Bank.
- Created XMlaccess scripts to import & export portal configuration & deploy portlets.
- Used Parameter passing & Url generation tags for Inter Portlet communication across pages.
- Integrated CORDA Highwire into portal for PDF generation.
- Used AJAX for Announcement functionality.
- Worked with DataCenter to build SIT/UAT/PROD environment.
- Responsible for installation for portal/portlets on different environments.
- Customized Pagebar, Placebar to pick up images for portal navigation instead of text.
- Used PUMA API for programmatic security.
- Automated the build and deployment of portlets using ANT, Cruise Control & XmlAccess.
- Redesigned and integrated Account Cross application with WorkStation Portal.
- Rational HATS (Host Access Transformation Services) Tool was used to transform mainframe 3270 and 5250 green screen applications to portlets.
- Used Java applets & Swing to develop Account Cross
- Used JPA with Hibernate for O-R Mapping for Account Cross .
- Used bcp for data loading to sybase.
- SOA for integrating disparate intranet applications on portal.
- Designed and developed client tab.
- Installed and configured Corda server to display asset allocation in Chart format.(Pie/Bar)
- Develped the variance, overview modules for asset allocation
- Developed the module for creating model portfolio.
- Used Struts 1.2 features - multiple struts config files, Map backed form beans and DynaAction beans