pulakdas_build_release(ci_cd and devops)

8
Pulak Das Senior Build and Release Engineer (CI/CD and DevOps) [email protected] [email protected] +1 +1 2624227560 2624227560 Linkedin: https://www.linkedin.com/in/pulak-das-43774b61 PROFESSIONAL SUMMARY Senior Build and Release Engineer (CI/CD and DevOps) with over 9+ years in the field. Extensive hands-on technical experience on build and release as part of development life cycle including designing, implementing, and troubleshooting in various configuration management, build management, fully automated continuous integration and Continuous build & deployment processes for numerous Agile/Scrum projects methodologies, technologies and platforms. Experienced in Maven build for JAVA/JavaScript source code build and Makefile for C/C++ source code build. Experienced in branching, merging, resolve merge conflict, tagging, RPM based packaging and distribution. Build repository and artifact design implement and manage. PRE and POST build formalities (Install, Unit Test, Integration Test, Sanity test and publish sanity report) Continuous integration/deployment/delivery and build principles using Rational BuildForge, TeamCity and Jenkins. This includes components and sub-components design, implementation and integration based on low level dependencies. Experience working with SCM/CM (ClearCase, Perforce, Mercurial, Git/GitLab, Chef, Puppet, Ansible, Ansible Tower and Docker) which includes infrastructure automation, branching, merging, merging strategies, removing merge conflict, ClearCase Config spec design and source code migration from one SCM tools to others. Build and Deployment of CI/CD Pipelines. Implement CI/CD tools Upgrade, Backup, Restore, DNS, LDAP and SSL setup. CI/CD Tools (TeamCity,Jenkins, gitlab nexus, JIRA and docker registry/daemon) configuration management and automation using ansible for (Local/POC/NON-PROD/PROD) with high degrees of standardization for both infrastructure and application stack automation in AWS cloud platform. CI/CD tools Dockerized and infrastructure setup in Vagrant, AWS and VPCs. Hand-On experience in CI/CD build pipelines, managing projects often includes tracking multiple deployments across multiple pipeline stages (Dev, Test/QA staging and production). Sound skills for Python, Perl and Shell scripting for automation and continuous integration. Experienced in overloaded build cycle (5-7 build per day). Possesses, strong problem-solving and analytical skills, comfortable with multi-tasking and working in a fast-paced environment in different environments. Well-versed in a variety of computer 1

Upload: pulak-das

Post on 07-Jan-2017

166 views

Category:

Documents


6 download

TRANSCRIPT

Pulak Das Senior Build and Release Engineer (CI/CD and DevOps) [email protected]@gmail.com +1 2624227560 +1 2624227560Linkedin: https://www.linkedin.com/in/pulak-das-43774b61 PROFESSIONAL SUMMARY

Senior Build and Release Engineer (CI/CD and DevOps) with over 9+ years in the field. Extensive hands-on technical experience on build and release as part of development life cycle including

designing, implementing, and troubleshooting in various configuration management, build management, fully automated continuous integration and Continuous build & deployment processes for numerous Agile/Scrum projects methodologies, technologies and platforms.

Experienced in Maven build for JAVA/JavaScript source code build and Makefile for C/C++ source code build. Experienced in branching, merging, resolve merge conflict, tagging, RPM based packaging and distribution. Build repository and artifact design implement and manage. PRE and POST build formalities (Install, Unit Test, Integration Test, Sanity test and publish sanity report)

Continuous integration/deployment/delivery and build principles using Rational BuildForge, TeamCity and Jenkins. This includes components and sub-components design, implementation and integration based on low level dependencies.

Experience working with SCM/CM (ClearCase, Perforce, Mercurial, Git/GitLab, Chef, Puppet, Ansible, Ansible Tower and Docker) which includes infrastructure automation, branching, merging, merging strategies, removing merge conflict, ClearCase Config spec design and source code migration from one SCM tools to others. Build and Deployment of CI/CD Pipelines. Implement CI/CD tools Upgrade, Backup, Restore, DNS, LDAP and SSL setup.

CI/CD Tools (TeamCity,Jenkins, gitlab nexus, JIRA and docker registry/daemon) configuration management and automation using ansible for (Local/POC/NON-PROD/PROD) with high degrees of standardization for both infrastructure and application stack automation in AWS cloud platform. CI/CD tools Dockerized and infrastructure setup in Vagrant, AWS and VPCs.

Hand-On experience in CI/CD build pipelines, managing projects often includes tracking multiple deployments across multiple pipeline stages (Dev, Test/QA staging and production).

Sound skills for Python, Perl and Shell scripting for automation and continuous integration. Experienced in overloaded build cycle (5-7 build per day). Possesses, strong problem-solving and analytical skills, comfortable with multi-tasking and working in a

fast-paced environment in different environments. Well-versed in a variety of computer programming languages in order to build these applications accurately. Professionals in the build release engineering field additionally create and release guidelines for a company’s products.

Performs Unit test (JUnit/CPP) frameworks automation. Proficient using Coverity and Sonar code quality analysis tools.

Various project release procedures, release plan, execution, monitor, ability to support multiple project and co-ordination between multiple disjoined team.

Ability to manage project Build/Release through complete lifecycle (initiation, planning, design, execution, monitor and controlling)

Experience in Build/Release change management, Build/Release plan as per business requirement and documenting Build system, Release procedure, Build issue, Build sanity status, wiki dashboard and final release note for end customer.

Act as a Build/Release entry/exit gatekeeper for production. Ensuring the consistency of production and test environment. Worked for Build/Release improvement proposal, implementation and final final execution.

Monitor build and release planning report closely and confirm the contents before initiate final release. Having experience in Waterfall and Agile/Scrum methodologies. Solid understanding of IT systems development process, including architecture, design & engineering,

development and operations (DevOps). Ability to work in multiple project including Prod fix Build/Release environment setup. Strong experience in analysis, design, development, implementation of distributed multithreaded and

multi-processing applications using C, C++, Unix system (Unix Internals), IPC. Worked through all phases of project life cycle, from high level design to system/integration testing.

1

Involved with development and review teams for system detail specifications, technical specification documents), coding, test cases/test plans, unit testing/system testing/integration testing.

Performs enhancements and new feature implementation, e.g. - application and device handler (DH) interaction under multithreading environment and telemetry processing.

Performs advanced level programming in C/C ++, like thread synchronization multithreading, concurrency multiprocessing programming and front end development on Linux.

TECHNICAL SKILLSLanguages, Packages and Tools

C, C++, Core Java, GNU Utilities, IBM Rational ClearCase, IBM Rational BuildForge, IBM Rational ClearQuest, Code Collaborator, HP Quality Center, Visual Source Safe, Citrix, Agile/ Scrum Methodologies, Perforce, Mercurial, Git, Shell/Python/Perl Scripting, Apache Maven, Jenkins and Build Automation, Code Quality Analysis tools (Coverity and Sonar),AWS, Docker, Ansible, Ansible Tower, Red Hat satellite, Teamcity, Chef, Puppet and VirtualBox.

Operating Systems Montavista Linux, Suse Linux, Red Hat Linux, CentOS, Mac and Windows

PROFESSIONAL EXPERIENCE

Northwestern Mutual, Milwaukee, WI Feb-08-2016 – Present

Build and Release (CI/CD) EngineerProject: LearnVest. Team: CI/CD

Worked on CI/CD tools set configuration management for LOCAL/POC/NONPROD/PROD environment using ansible yml based playbook on AWS. Automated CI/CD tools set backup creation, upgrade, and restore backup using ansible and Red Hat satellite package manager. Ansible Tower PROD and NONPROD configuration setup to create project and jobtemplete for CI/CD tools. CI/CD build pipeline implementation and microservices/prod deployment. Dockarized CI/CD tools including LDAP, SSL, DNS and Secure Key setup. Actively involved for sprint planning, sprint review and product back lock refinement.

Responsibilities: Design and document CI/CD tools configuration management. Responsible for orchestrating CI/CD processes by responding to Git triggers, human input, and

dependency chains and environment setup. Build and Deployment CI/CD Pipelines CI/CD Tools (TeamCity,Jenkins, git/gitlab, nexus, JIRA and docker registry/daemon) configuration

management and automation using ansible. TeamCity for Prod and non-prod deployment jobs template configuration Docker container. Ansible Tower project and jobtemplate configuration Microservices deployment, Prod deployment Red hat satellite for package management Vagrant configuration for local test environment (for all CI/CD tools). Vagrant setup for Red Hat Satellite registration. POC and PROD configuration in AWS VPCs for all CI/CD tools. Various branching, merging, resolve merge conflict and tagging. Upgrade, Backup, Restore, DNS, LDAP and SSL setup for all CI/CD tools. Ansible-vault encryption mechanism. Dockerized CI/CD tools (Jenkins and Gitlab). Zabbix for CI/CD tools monitoring. Scrum backlogs and Sprints. Continuous Delivery infrastructure setup in AWS VPCs

Das 2 of 5

Environment: Red Hat Linux Operating System, AWS, Vagrant, Red Hat satellite, Ansible, Ansible Tower, Git/GitLab, Teamcity, Jenkins, JIRA, Docker, Agile/Scrum methodology, Zabbix.

GE Healthcare, Waukesha, WI August 2011 – Feb-05-2016

Sr. Build and Release Engineer (CI/CD and DevOps)

Project: CT-Engineering-Revolution Software Development

Worked on build and release for large scale disjoined CT scanner Software development / QA / management team (across the globe). I was the single point of contact for co-ordinate with disjoined team components/modules owners to schedule build plan, discuss build dependency based on build contents and build kickoff deadline. Prepare JAVA, C/C++ and JavaScript source code code base line (PRE build formalities) for build through build list generation and cross verification with pre decided contents. Monitor build progress, investigate build failure logs, identify build issue root cause and communicate with source code contributor to fix the issue. Assemble all components packages, create final distribution, install final distribution into the target host, perform integration/unit test, perform basic sanity and publish board report (for build status) across the team. Actively performed DevOps roles for this project.

Design and document project configuration management and release processes. Design/implement components and sub-components for Build Forge project (product release). Design, manage and execute tools and scripts to develop different versions of products on wide-range

operating systems. Design and implement Build Forge project (environment, library, selector, snapshot, steps creation and

parallel build steps). Design and implement “continuous build system” for components. Create componentized build design and perform build timing optimization. Build a design review, perform implementation and testing. Define various branching, labeling, merging strategies and various build and release workflows. Perform requirement analysis for new enhancements of build process. Research to improve the software building process. Develop an automated, continuous, build process that reviews the source code, identifies build errors and

notifies appropriate parties to expedite/facilitate synchronization to the latest build. Develop, maintain and enhanced pre/post build scripts (Shell, Perl and Python). Perform merges and branch management. Prepare the code base for the build. Compile, assemble, package, publish packages into repository and distribution creation for software. Schedule nightly build, test, and reporting mechanisms. Execute components and program build. Perform build and release automation. Configure management/IT automation. Scheduling and execute build based on Agile/Scrum methodology. Smoke test the deployed software for standard functionality of the application. Perform JUnit/CPP unit test automation. Build deployment and perform sanity test. Perform code quality analysis (Coverity and Sonar) Provide support for bug fix, issue reporting and defect tracking. Post release support for the application. Produce detailed release plans, control release scope and monitoring milestones. Maintain the code base across several versions. Maintain build and release tools and develop new tools as required. Build related CI process document management in Wiki page. Provide support to setup new build machine.

Das 3 of 5

Produce regular reports and performance metrics to managers regarding how built applications are working.

Respond constantly and aggressively to build kickoff plan, build monitor and build issues, if any. Improve productivity by designing & developing full-featured build systems. Implement tools and scripts that enable efficient, flexible builds (Shell, Perl and Python). Work with engineering, operations, quality assurance and project management to define and execute

projects that implement build, release and deployment of software. Perform CSV dry and formal verification. Provide components and sub-components code migration from Mercurial to ClearCase and apply formal

ClearCase label. Provide support for other team build-related activity. Train users on usage of Build Forge. Support development team for ClearCase-related issue.

Environment: Suse Linux Operating System, C and C++, Core Java, Apache Maven., GNU Debugger (GDB), IBM Rational BuildForge, IBM Rational ClearCase, Mercurial, Code Collaborator, IBM Rational Clear Quest, HP Quality Center, Hardware and Software Simulator, CT scan Gantry Hardware, Shell, Perl and Python Scripting, Code Quality Analysis tools (Coverity and Sonar), Agile/Scrum methodology, Jenkins, Git and Perforce

St. Jude Medical, Inc., Los Angeles, CA June 2007 – July 2011Software Engineer and Build/Release Engineer

Project: Pacemaker Programmer Software Development

Involved in development of the new prototype, new framework, re-architecture for nominal settings and telemetry operations, internationalization (i18n), re-implementation of CSH architecture, some major defect fixing like patient critical issues which are reported by clinician and enhancement with invalid diagnostic feature, porting and implementation of the AFM software to be installed on the NGP. IT also dealt with issues like GUI and display improvement for all non-unity applications (Ready, Brady, Tachy, AFM & ported), enhancement (like AFM application improvement), battery voltage measurement, and share memory decoder expansion for semaphore and mutexes information. This project also deals with upgrading the Linux OS kernel from 2.4 to 2.6 and upgrading GUI library QT3 to QT4. I was the single point of contact for co-ordinate with components/modules owners to schedule build plan, discuss build dependency based on build contents and build kickoff deadline. Prepare code base line (PRE build formalities) for build through build list generation and cross verification with pre decided contents. Monitor build progress, investigate build failure logs, identify build issue root cause and communicate with source code contributor to fix the issue. Assemble all components packages, create final distribution, install final distribution into the target host, perform basic sanity and publish board report (for build status) across the team.

Performed requirement analysis for new enhancements. Developed application design, documenting and design review. Implemented application integration testing, unit and system testing. Held an implementation review. Supported defect raising and defect tracking. Fixed application bugs (system crash, test area, telemetry interruption during firmware download, state

matins execution, internationalization, print menu area and UI/display issue). Internationalized (i18n) and posted release support for the application. Improved products quality by implementing defect prevention reviewer. Acted as onsite build and release co-coordinator. Investigated and resolved field issues. Developed front end on Linux using C/C++. Ported application with new Linux kernel and code clean-up activity. Performed system analysis, design, development, implementation of distributed multithreaded and

multiprocessing applications using C, C++, Unix system (Unix Internals), IPC, shell scripting, and Linux.

Das 4 of 5

Involved in lots of development and review teams for SDS (system detail specifications), TSD (technical specification documents), coding, test cases/test plans, unit testing/system testing/integration testing.

Performed advanced level programming in C/C ++, like thread synchronization, multithreading, and concurrency multiprocessing programming.

Provided enhancements and new feature implementation. Performed application and device handler (DH) interaction under multithreading environment. Handled telemetry processing operation and state machine execution. Incorporated the new firmware 4.7-related code changes: status message, report printing,

episodes/background EGM retrieval, CSH (context sensitive help) and system crash/ freeze. Enhanced AT/AF burden trends availability and CSH. Helped the newly recruited team member in his ramping up activities needed for his role as a

programmer. Demonstrated an understanding of software usability and user-friendly GUI’s design. Performed build and release automation (continuous integration/deployment build principles). Removed compilation warning from all applications. Wrote and executed test case. Performed various branching, labeling, Config spec design and merging strategies. Merged codes and managed branches. Implemented new build and deployment strategies as recommended by the management. Execute and monitor 4-5 build daily (for US, OUS, JPN and UK release) Designed and documented project configuration management and release processes. Wrote various shell scripting for build automation (developed, maintained, and enhanced pre/post build

scripts). Supported development team for ClearCase-related issue. Automated nightly build, test, and reporting mechanisms. Prepared the code base for the build. Smoke tested the deployed application for standard functionality of the application.

Environment: Montavista Linux Operating System, MetaWindows (Embedded graphics design library in C), MetaGraphics library in C), C, C++, GNU Utilities (g++ (GCC), IBM Rational ClearCase, IBM Rational ClearQuest, Citrix, Source Insight, Simulation Test Tool, Device Image Analyzer, QT3/QT4, GNU Debugger (GDB), Pacemaker Device, SDLC methodology

EDUCATION

Master’s Degree, Master of Computer Applications (MCA): Indian Institute of Technology, Roorkee, Uttarakhand, India.Bachelor's Degree (Bachelor of Science with Computer Applications as the Major Subject): University of Calcutta, Kolkata, West Bengal, India,

Personal Details

Gender : Male, Marital Status : Married, Date of Birth : July-17-1982, Visa : H1-B

Das 5 of 5