G-* Srinidhi Regency
Kasavanahalli, Sarjapur Road
Bangalore – 560036
India
sli5x9@r.postjobfree.com
NITIN GUPTA
An accomplished Build & Release Engineer, able to understand requirements, organize tasks, document processes and data flow,
optimize build solutions, write program code and manage projects. Able to solve problems, provide results, develop
standards, increase productivity, make presentations, and obtain participation from individuals at all levels of the
workforce. Skilled at communicating clearly, both verbally and in writing, and capable of working alone or on a team. Making
organizations to maximally leverage the minimal expenditure on build and release front by effectively reducing build times
hence lowering the waiting time for the whole team impacting 200+ Devs & Tests.
Experience Summary
Intuit Technology Services Pvt Ltd Sr SCM Engineer 7 months till date
Microsoft India R&D Pvt Ltd Build Engineer 4 months
Microsoft India R&D Pvt Ltd Build Engineer 3 years 1 month
Oracle India R&D Pvt Ltd Release Engineer 15 months
Cadence Design Systems Technical Partner/Intern 15 months
Skills
Languages Perl, Shell Scripting, HTML, CGI, C, SQL, Winrunner, Windows Test Techonlogy(WTT)
Web/Component Technologies CGI
Real Time Operating System VxWorks.
Operating Systems DOS, Windows-95/98/NT/2000/2003, Linux(Red Hat), Unix (Flavour – Solaris), Windows Vista, Windows
Server 2008
Build Management tools ARU (Automated Release Updates) - an Oracle proprietary product
Configuration Management RCS, ARCS, Windows SourceDepot, Perforce
Testing Tool WinRunner 7.0, Windows Testing Technology (WTT)
Arifact Management System Sonatype Nexus Repository
Install management Oracle’s AD utilities like adpatch, adadmin, adctrl, adsplice.
Build Systems NT build System, GnuMake, Corext, maven, ant
Continuous Integration Systems Hudson, Home grown Microsoft tool – Nexus
Experience
? Heading as SCM Engineer II the Source Control Management activities and developing the Build System for the Global
Business Division(GBD) of Intuit Technology Services Pvt. Ltd. From 23-July-2009 till date.
Job Responsibilities:
1. Created from scratch the build infrastructure for the various offerings from GBD teams, showcasing it to various
teams and hence making them my customers.
2. Maintaining the central GBD artifact repository using Sonatype Nexus Repository Manager.
3. Developing automated deployment infrastructure.
4. Working on implementing autobuild, deploy and test infrastructure.
5. Implementing various code analysis tools(PMD, Sonar) , code coverage tools(clover).
6. Catering to 100 developer and testers.
7. Producing builds for Nokia 3110, N70, N72, S6500 series phones for our product.
Awards
• Take a Bow Award from Staff Engineer
• Spotlight Award for the quarter
? Worked as a Build Engineer in the Data Protection Manager(Data LifeCycle Management) at Microsoft India(R&D) Pvt.
Ltd., Hyderabad as a vendor, parent company Ikya Human Capital Solutions from 12-Mar-2009 till 17-July-2009.
Job Responsibilities:
1. Maintaining, supporting, and enhancing the Nexus Build System for DPM which included Prefix setup, Prefast, Presharp,
Fxcop, code coverage builds, code signing (Strong name & MD5 signing), upload QFEs and symbols.
2. Creating branches and enabling them for autobuilds through the Nexus Build System.
3. Upgrading the build system to port various new build tools, compilers, linkers, in a whole migrating the whole build
system to the next available versions of the build tools.
4. Maintaining CVT(Checking Verficiation Test) infrastructure and writing the whole system from scratch to wholly
automate it and make it more fault tolerant.
5. Evaluting various build automation tools to switch over to a more reliable one.
6. Catering to 200+ DEV & QA engineers.
? Worked as a Build Engineer in the Windows Core Server Group – Terminal Services team + Data Protection Manager(Data
LifeCycle Management) at Microsoft India(R&D) Pvt. Ltd., Hyderabad from 13th February 2006 to 10-Mar-2009. I was the only
Build Engineer in the whole India Development Center catering to the needs of various Windows Teams in IDC.
Job Responsibilities:
Responsible for handling the builds, source depot maintenance for Windows Server Family specifically for Services for Unix
(SFU), SUA SDK, Terminal Services(TS) , Windows Management Instrumentation (WMI), Windows System & Resource Manager (WSRM),
File System (FS), Windows Media Services(WMS).
Building QFEs, managing the sources (using sourcedepot), Stress Testing of SFU.
Build milestones
• Windows Vista SP1/ Windows Server 2008
• Windows Vista Beta2
• Windows Vista RC1
• Windows Vista RTM
• Windows Longhorn Server Beta3
• Subsystem For Unix Applications(SUA) for Windows Vista – X86, AMD64 architectures
More…
1. Automated the Windows server family builds for the above projects to get tested and verified builds daily, developed
in Perl and using Windows Test Technology (WTT).
2. Building QFEs(Quick Fix Engineering) for:
a) Services For Unix, SFU 2.0
b) Services For Unix, SFU 2.2
c) Services For Unix, SFU 3.0 (English & Japanese)
d) Services For Unix, SFU 3.5 (English & Japanese)
e) Subsystem For Unix Applications(SUA) for Windows 2003 server R2 – X86, AMD64 architectures
f) Subsystem For Unix Applications(SUA) for Windows Vista – X86, AMD64 architectures
g) Subsystem For Unix Applications(SUA) for Windows Vista SP1 and LongHorn Server – X86, AMD64, IA64 architectures.
3. Building the Software Development Kit (SDK) for Vista SUA, Longhorn + Vista SP1 SUA and Win7 SUA SDK.
4. Stress testing the Services for Unix for Vista & Longhorn by using a Stress Framework which used clients of the order
of 50 machines running random tests (about 7000 processes).
5. Automation of OS installations and different product installation for making the jobs easier for people in team, so
as to improve their productivity and can spend more time on other jobs rather than on the mundane thing.
DPM Build Engineer roles
6. Maintaining, supporting, and enhancing the Nexus Build System for DPM which included Prefix setup, Prefast, code
coverage builds, code signing, upload QFEs and symbols.
7. Creating branches and enabling them for autobuilds through the Nexus Build System.
Key accomplishments
? Rolled out a build verifier process and automation which helped the team achieve minimum turn-around time for checkin
verification, in my absence also.
? Reduced build times from 20hrs to 7hrs and utilized team’s expenditure of $70k on high end machines which were lying
idle.
? Reduced build time from 32hrs to 14 hrs for x86 and amd64 official builds for DPM.
Awards
• Engineer of the quarter award in my team.
• Nominated for the Innovation Award for the Build Processes.
Tools developed
a) AutoBuild+BVT tool (worked on the perl part)
Developed using Windows batch scripts, Perl, IIS, VC++, .Net, WTT
This automated build tool(http://idcsrvbld10/configtimebuilds/default.aspx) abolished the mundane manual build process for
getting daily Windows builds. A framework was devised which would queue up the user requests for different builds, store
those cycles and repeat the cycles unless changed, on a daily basis hence producing daily builds without any human
intervention. This framework also incorporated the Build Verification Testing which guaranteed the Devs/Tests of a proper
installable and tested build. This framework was made flexible enough to add any branch to build, add multiple build
machines, also do functional testing of various components.
b) AutoBuild for SUA SDK + BVT
Developed using Windows batch scripts, Perl, Korn shell
This tool comprised of lot of command line scripts which intern made a call to unix command via the SUA subsystem. It used to
produce the build with just a command line. After the build was successful, it was submitted to the same BVT infrastructure
which ran BVT on the successful built SDK.
c) Source Depot Checkin Verifier
Developed using Windows batch scripts, Perl, WTT
This small tool (now not used) used to trap the sd submit command given by the dev to submit the checkin. The dev used to
call the tool’s sd command which created a bbpack of the opened files and submitted that bbpack to a set of build machines
via WTT job. The bbpack was expanded and a build (bcz/partial timebuild) was launched depending on the changes. The build
status was mailed to the developer. In addition to this test prioritization using Magellan was done which used to give out
the test cases that need to be run on the built binaries replaced in an already installed OS / newly installed OS. Those test
cases were run on the build (with the privates) and the result was sent to the Dev again. Based on these the dev used to do
the checkin.
? Worked as an Operations Engineer in the Financials Release Team at Oracle India Pvt. Ltd. Hyderabad from 14th October
2004 – 13th January 2006.
Job Responsibilities:
Being the member of the Release team, the job profile includes build management, product certification, install
testing/validations of Oracle’s Financials products, preparation and maintenance of Oracle Apps environments, benchmarking,
enforcement of quality standards, data model gate-keeping using Designer6i, development of internal tools and automation of
release management processes.
Successfully released
• Oracle Projects Family Pack M (11i.PJ_PF.M)
• Oracle E-Business Suite 11.5.10 CU1 (11.5.10.1)
• Oracle E-Business Suite 11.5.10 CU2 (11.5.10.2)
• Oracle Financials Suite 11i.FIN_PF.G
• Oracle Financial Services Suite 11i.SEM_PF.A
• Worked on the release of Oracle Financials Suite R12.FIN_PF.A
• Various Off cycle consolidation packs for Oracle Projects Suite, Oracle Financials Suite
More…
1. Responsible for development of various Release Tools and reporting tools using CGI-Perl and shell scripting, both
web-based and command line.
2. Responsible for Release of Oracle Application Financials, CRM, Financial Services (more than 100 products) being part
of the Release Team
3. Processing data model changes to the central database (case & seed)
4. Certifying various releases of Oracle Applications on different environments and automating the certification
process.
Tools developed
a) Automated Family Pack Updater
Developed using CGI, Perl, SQL, Win runner, Java
This web based UI takes patch set number to be worked on and does the needful as specified in the job (add patches, remove
patches, close patch set, reset a patch set) for a mass update. User is given a UI in which he can submit his request, which
is stored in a database and then a Java client on web-server talks to java program on the Win runner server, which takes the
request from the database in a spreadsheet format and updates the ARU depending on the request, with the data supplied by the
user. The Win runner server has Win runner scripts written which go on and update the ARU for the given patch set, when
triggered by the java client at the win runner server. This tool used to save 5 man hours for FIN_PF, PJ_PF, SEM_PF each i.e.
5*3= 15 man hours / week.
b) Task management System(TMS)
As I used to work in a trans-continental team, which means 24x7 work, it was quite difficult to give/get updates and
co-ordinate for the work as the patch application used to takes days. So to encounter this, our team developed a Task
management system which had all the task template in it and the worker just used to update the various steps he/she
performed. This was the worker didn’t need to remember the steps and also the next worker across the continent used to get
the task in the state where his buddy left it with all the errors & logs listed in the TMS.
c) Family Pack Reports Generator
Developed using CGI, Perl, SQL
This HTML generating perl utility reports Bugs, QA efforts, Manifests, Access & Change Requests in tabular & graphical manner
reporting it for the whole life cycle of the Family Pack & the Mini packs.
It queried the various databases involved on 4-hourly basis (put to cron) and laied the data in the most efficient manner
using hashes.
The utility is made generic by making an XML file acting as an input in which user can put in all the related stuff making
the utility to report for a particular Family Pack / Mini Pack of any product family available in Oracle Application Suites.
This report was consulted by upper management in deciding crucial release dates & milestone dates.
d) ARCS(Automated Revision Control System) Wrapper
Developed using Legacy arcs, perl, bash
This wrapper on top of the legacy arcs source control system acts as a gatekeeper to the source control repository, keeping a
check on what is going into it. It checks various files when being source controlled, and depending on the file type, applies
various standard checks and then only source controls the files.
e) Automated GSCC Checker
Developed using CGI, Perl
This utility checks out the files prepared by the development team against the GSCC (Global Standards Compliance Checker) on
a daily basis as a proactive measure so that patch build failures do not occur at the end (GSCC is run during patch build).
It also prechecks the files for any GSCC errors that can be removed at the source and removes them.
f) Files Violating the Branch Strategy Checker
Developed using CGI, Perl, SQL
To make a bug fix for the patches/products already delivered to the customers branching is done so that the customer can get
the bug fixes as a consolidated patch. These bug fixes should also be present in the main line code for a family pack that
has a different code line. So without increasing the versions of the files, bug fixes are provided by branching on the
version of the already delivered code. The files that are not branched properly are caught up in this utility and are
reported in realtime whenever needed.
This perl utility produces a list of patches that have the branch violating files with a drill down to files and their
versions listing the coder of the file so that he can fix the branch.
? Worked from 25th May 2003 – 30th August 2004 as a Technical Partner(Intern) at Cadence Design Systems, Noida.
1. Responsible for development of web based automatic backup (Legato & Veritas) reporting, request and automation of
various backup processes (using Perl, CGI, and shell scripting)
2. Providing Windows System Administration Support.
3. Automation of daily backup error report generation and checking the backup daemons’ states.
4. Automating various other day-to-day backup tasks.
Tools Developed
a) Legatoworks
Developed using CGI, Perl, Oracle
This web based backup reporting tool for Legato collects the details of the backup that is happening and uploads it daily to
a custom created database which is then used for generating outputs various common queries for failures and successes of
backup and other lookups as desired by user via a web interface. The backup requests (new & restore) are also made through
this tool by submitting a ticket internally to Remedy Database, which is then later on handled by the backup admins.
b) Veritas NetBackup Reporter
Developed using CGI, Perl, Ploticus
This web based backup reporting tool for Veritas NetBackup gives the user the details of all the backup activities (Tape
Usage, Backup Failures, Successes, the backup Queue) reporting them in a tabular and a graphical fashion as per user desire.
It is a mimic of the Veritas NetBackup Reporter available with the Veritas Netback Tool, which was designed by me
specifically to meet Cadence’s requirements using CGI/Perl and a graph-plotting tool Ploticus.
Education
December, 2002 to April, 2003
CMC Ltd.
Certificate Course in Embedded Systems
Studied VxWorks, Microcontrollers (8051), DSP (SHARC Processor).
• 86%
August, 98 to June, 2002
Kurukshetra University, Kurukshetra
Bachelor of Technology in Computer Engineering
(4years duration, entry through – CEET, Haryana)
• 70%
March, 1998
NEW ERA PUBLIC SCHOOL, Mayapuri Road, New Delhi
Board - CBSE, Exam – AISSCE (Class XII)
• 81.4%
• Was awarded proficiency certificates for outstanding performances all through in
Computer Science, Physics, and Chemistry.
March, 1996
NEW ERA PUBLIC SCHOOL, Mayapuri Road, New Delhi
Board - CBSE, Exam – AISSE (Class X)
• 82.4%
achievements
• Was in first 10% of total students appeared in National Standard Exam in Physics (NSEP)
• Won 1st prize in On the Spot Programming Competition 'Spectrum' held at Army Public School, Noida (XI).
• Won 1st prize in On the spot Programming Contest "Sahityik2k2", a national level fest held at MMEC, Mullana sponsored
by The Hindustan Times & ISTE, Student’s Chapter.
• Won 1st prize in On the spot Programming Contest “Tech-Scenario2K1”, an ISTE national level technical fest held at
GTBKIET, Malout, Punjab
• Won 3rd prize in C programming contest "Maximum C" held in college.
• Worked as a member of the organizing committee in Blood Donation Camp organized by Indian Medical Association, Ambala
in the college.
• Engineer of the quarter award at Microsoft
• Take a Bow Award at Intuit
• Spotlight award for the quarter at Intuit
NITIN GUPTA