1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
4 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
5 <meta name="GENERATOR" content="Mozilla/4.61 [en] (Win98; U) [Netscape]">
6 <title>ClearSCM: Our People: Tom Connor</title>
7 <link rel="stylesheet" type="text/css" media="screen" href="/css/Article.css">
8 <link rel="stylesheet" type="text/css" media="print" href="/css/Print.css">
9 <link rel="SHORTCUT ICON" href="http://clearscm.com/favicon.ico" type="image/png">
11 include "clearscm.php";
22 <?php start_box ("cs2")?>
24 <p style="text-align:center">Software Developer<br>
25 Build/Release Engineer<br>
26 Software Configuration Manager<br>
27 <a href="tomhillconnor@yahoo.com">tomhillconnor@yahoo.com</a>
28 <p style="text-align:center"><a href="Resume.doc">MS Word format</a></p>
33 <p>Sr. Software Engineer with over 20 years of varied experience as a
34 software developer. Specializations in Software Configuration
35 Management, Release Engineering, Build Engineering, workflow
36 automation, Installer Development, and Deployment
37 Engineering. Creative problem solver with strong analytical and
38 communication skills.</p>
40 <h2>Technical Skills</h2>
44 <p>Perl, Java, C/C++, Visual Basic, Awk, XML, bash, korn, sh,
45 InstallScript, 4NT/4DOS shell, NT/DOS Shell, Ratfor, FORTRAN,
46 PostScript, Assembler</p>
50 <p>ClearCase, UCM, ClearQuest, ClearTrigger, MultiSite, cqperl,
51 clearmake, make, gmake, omake, Maven, Cruise Control, Ant, Visual
52 SourceSafe, PVCS, InstallShield, InstallAnywhere, InstallBuilder,
53 InnoSetup, CodeWright, Eclipse, Interwoven TeamSite</p>
57 <p>Redhat Linux, Sun Solaris, Cygwin, Windows XP/2k/NT/9x/3x, DOS,
58 other unix (Tandem Non-StopUX, AIX, HPUX, Solaris, QNIX), VM/CMS,
61 <h2>Business Experience</h2>
63 <h3>Computer Sciences Corporation (11/2008 - present)</h3>
65 <h3><i>Tools Writer, PDTools Team, MUOS program, General Dynamics,
66 Scottsdale, AZ</i></h3>
69 <li>The RAN tools team and other tools teams was reorganized into
70 the PD Tools team, with division-wide scope.</li>
72 <li>I continue to support MUOS RAN, ClearCase, and ClearQuest, but
73 am now focused more on writing workflow automation tools for
74 MUOS-wide application, primarily in perl, utilizing the ClearQuest
75 API. The focus is much more on the Windows platform, though of
76 course I make the tools cross-platform where feasible.</li>
79 <h3>Computer Sciences Corporation (6/2007 - 11/2008)</h3>
81 <h3><i>Software Configuration Engineer, SDE Tools Team, MUOS program,
82 General Dynamics, Scottsdale, AZ</i></h3>
85 <li>At close of Land Warrior program, I transitioned to a much
86 larger SCM challenge, joining the 15-person RAN Software Development
87 Environment Tools Team. The team uses ClearCase, ClearQuest,
88 CearTrigger, Build Forge, etc. to achieve SCM of a large
89 codebase. This is over 300 VOBs, 3 million lines of code, in a
90 complex hybridized UCM/Base-ClearCase environment, with lots of
91 triggers and heavy workflow automation.</li>
93 <li>Writing GUI and command-line tools in Perl, Tk, and C++.</li>
95 <li>Supporting SWIT teams with SCM, UCM project architecture,
96 workflow automation, and test automation</li>
98 <li>Providing UCM project architecture, UCM administration, writing
99 UCM support tools</li>
101 <li>Developing/documenting new and changed procedures</li>
103 <li>Diagnosing and solving user problems.</li>
105 <li>Diagnosing, proposing, implementing improvements to the CM tools
106 and workflow automation</li>
108 <li>Lead for implementing automated testing of overall SCM workflow
111 <li>Doing ClearCase and ClearQuest administration</li>
115 <h3>Computer Sciences Corporation (3/05 - 6/07)</h3>
117 <h3><i>Build Engineer/Software Configuration Manager, Land Warrior
118 program, General Dynamics, Scottsdale, AZ</i></h3>
121 <li>I was asked to rejoin this development team, to lead the
122 2-person SCM/Build/Release sub-team. This is a pure linux and
123 linux-embedded development effort using Open Source components,
124 in-house linux kernel and driver modification, and object-oriented
125 application development using C++.</li>
127 <li>Responsible for SCM in a linux environment. Major tools:
128 Clearcase/UCM (Unified Change Management) and Bugzilla.</li>
130 <li>Made major improvements in build and release automation. I
131 developed a toolset of 80+ scripts totaling over 5,800 lines of bash
134 <li>Responsible for document/data CM in a Windows environment.
135 Major tools: SubVersion.</li>
137 <li>Wrote SCM plans that embodied best practices compliant with CMMI
140 <li>Supervised the design of Data Configuration Management
143 <li>Developed SCM audit procedures.</li>
145 <li>For enhanced change control, I improved the ClearCase/UCM
146 coupling to Bugzilla, our bug-tracking tool.</li>
148 <li>Performed Linux and WinXP administration.</li>
150 <li>Provided ClearCase/UCM mentoring and training to
153 <li>Performed ClearCase administration and troubleshooting.</li>
155 <li>Designed/created ClearCase/UCM projects and project strategies, to
156 support both the development team and the automated testing
159 <li>Developed makefiles.</li>
161 <li>Developed RPM-based installation packages.</li>
163 <li>Diagnosed and fixed build scripts and makefiles written by
166 <li>Made contributions to the application code.</li>
168 <li>Developed disaster recovery plans and carried out
171 <li>Performed builds, prepared media, provided deliverables to the
176 <h3>JP Morgan Chase Investment Bank (11/04 - 3/05)</h3>
178 <h3><i>Build Engineer/Software Configuration Manager</i></h3>
181 <li>Worked as an employee in the Houston Development Center.</li>
183 <li>Worked with Ant, Maven, and Cruise Control in a
184 Java/BEA/Websphere shop.</li>
186 <li>Worked on a ClearCase UCM implementation team, developing
187 policies and standards for UCM implementation and working with
188 individual teams, taking them through the process of conversion
189 (typically from CVS) to Clearcase and UCM.</li>
191 <li>Left to heed the call to return to the team I left at CSC. JPMC
192 says please consider them in futery -- I’d be welcome back.</li>
195 <h3>Computer Sciences Corporation (5/04 - 10/04)</h3>
197 <h3><i>Build Engineer, Land Warrior program, General Dynamics, Scottsdale, AZ</i></h3>
200 <li>Became part of a two-man Software Configuration Management and
201 Build team administering Linux and Clearcase in a 20-developer shop.
204 <li>In a pure Linux shop, doing Clearcase UCM management, Clearcase
205 administration, builds, build automation.</li>
207 <li>Laid off, along with most of the team, because of a work
211 <h3>Dell (3/04 - 4/04)</h3>
213 <h3><i>Build/Installer Engineer</i></h3>
216 <li>Joined a 10-person PowerEdge/OpenManage installer team.</li>
218 <li>Although originally hired to fix java bugs in an older suite
219 installer, I worked with InstallShield DevStudio 9, setting up build
220 scripts for complex msi/msm builds and doing similar things for
221 producing Linux RPM builds.</li>
224 <h3>Dell (6/03 - 3/04)</h3>
226 <h3><i>Build/SCM Engineer</i></h3>
228 <p>Joined the 6-person PowerEdge/OpenManage SCM Team, to assist with a
229 massive migration into ClearCase Multi-Site/UCM, and to
230 design/implement a CMM Level 2 compliant Build Management Facility.
231 However, the BMF was shelved and I took on the task of developing
232 extended monitoring and reporting capability around the ClearCase and
235 <p>Current responsibilities are:</p>
238 <li>Writing report-generators for management’s view into the
239 activities of teams based in ClearCase MultiSite/UCM.</li>
241 <li>These custom reports track development efforts by reporting and
242 doing metrics on UCM projects, activities, baselines, streams, and
243 components, and provide notification capability for conditions that
244 may need attention.</li>
246 <li>These reports run daily and are presented on the SCM internal
247 website. In addition, users can generate their own reports as
248 needed. The report generators, 7k lines of Perl, are in the form of
249 several scripts that share a re-usable library of common code.</li>
251 <li>Devised an automated regression-test framework, following Kent
252 Beck’s Extreme Programming approach of first writing the test,
253 making sure it fails, then writing the functionality that will make
254 the test succeed. The result is that most of the functionality can
255 be regression-tested with a single command, and this has been a big
256 help in rapidly evolving these highly visible reports without a lot
259 <li>As a part of the reporting/monitoring effort, driving a project
260 to create a shadow database in SQL Server, for the purpose of
261 providing a more general query/drill-down/reporting capability.
262 This involves directing the work of a DB developer, and getting
263 requirements from three managers. In addition, suggested using
264 Rational ClearQuest as a database engine, to provide this database
265 engine capability, have received approval, and we are about to
266 engage in an evaluation.</li>
268 <li>Have learned how to write and interface custom reports to
269 ClearCase Report Builder.</li>
271 <li>Run a bi-weekly meeting with the monitoring/reporting
272 stakeholders, 6 representatives from various management,
273 development, and test areas, for the purpose of iteratively
274 gathering requirements, in order to ensure the project satisfies
275 it's customer's needs.</li>
277 <li>Consult with teams on build issues and build automation
280 <li>In charge of driving the SCM Team’s process improvement
281 effort, which involves facilitating a weekly SCM team meeting and
282 associated process improvement supervisory activities.</li>
284 <li>Identifying needs and writing ClearCase triggers for workflow
287 <li>Setting up ClearCase and NT Server monitoring processes.</li>
289 <li>Provided scripts to help teammates with migration efforts, for
290 example to correct case errors in element names when doing secondary
291 imports from SourceSafe to ClearCase.</li>
294 <h3>Marsh PM Internet Technology Group (9/02 - 11/02)</h3>
296 <h3><i>Consultant</i></h3>
299 <li>Was hired to create the next generation company-wide automated
300 software production system. This consisted of two efforts:</li>
302 <li>Determine requirements and specify the release engineering
305 <li>develop an automated build system:</li>
307 <li>Deterministic: build system completely determines build
308 environment so that build proceeds from a known state.</li>
310 <li>Repeatable: build state info is archived so that past build
311 environments can be re-constructed.</li>
313 <li>Accountable: all build states, activities, and outputs are
314 recorded in a structured way.</li>
316 <li>Extensible: the build system framework is independent of that
317 which is built. A well documented interface permits new build
318 inputs and outputs to be spedified.</li>
321 <h3>Interwoven (9/01 - 8/02)</h3>
323 <h3><i>Senior Release Engineer</i></h3>
326 <li>Designed/implemented an automated dependency-tracking system</li>
328 <li>Interwoven needed an accurate and automated way to determine
329 exactly what files to include in a service pack or patch. </li>
331 <li>Made major contributions to the design, and did the
332 implementation of a system that compares the current build to the
333 baseline build, and provides this list of only files that have
334 changed in a meaningful way. This meant writing sophisticated
335 language-aware tools for one-time initialization of over 100,000
336 source files, plus new workflow and build-time production
339 <li>Wrote these in Perl, such that they could run on both UNIX and
340 Win2k platforms. The work required that I gain an in-depth
341 understanding of the internals of both UNIX and Windows versions of
342 TeamSite 4.2-5.51, the source file organization, the source code
343 branches and branching strategy, source generators and the complex
344 Interwoven build system. </li>
346 <li>Since tracking the dependencies required embedding tracking
347 information in source and built files, I had to understand compiler
348 output formats (C, C++, and Java), as well as understand the syntax
349 of XML, HTML, ASP, and JSP files, in order to create a scanner that
350 could locate and read the tracking data in built output
351 (i.e. executables, Java JAR/WAR/EAR files, etc.) </li>
353 <li>As part of this effort I also developed a sophisticated perl
354 TeamSite Workflow module for the source file submission
357 <li>maintained complex Windows and UNIX service pack
360 <li>These were being put together by hand, by copying the previous
361 service pack’s source. There was no source control. The UNIX
362 service pack install scripts were Bourne shell based. The Windows
363 service pack installers were based in InstallShield 5.5 or 6.3, with
364 custom InstallScript. When I started, there were many versions of
365 these installers, each with slightly different functionality, and a
366 new one was created for each new service pack release. Devised
367 methods and scripts to more effectively reuse existing code. This
368 involved comparing all the installer variations and re-writing large
369 parts of the installer code, to support modularized functionality.
370 Once the installers were properly modularized, I aggregated all the
371 variations into a single configurable installer, which I made
372 configurable from property files. I did this for both UNIX and
373 Windows installers.</li>
375 <li>During this process I discovered that locked file support was
376 not being used in the Windows installers, and I implemented this
377 feature, which involved enhancing the way NT services were
378 stopped/started versus when to reboot, and how to ensure that
379 post-install configuration steps do indeed get postponed until after
380 the reboot, if there was one.</li>
383 <h3>Trilogy Development Group (5/98 - 7/01)</h3>
385 <h3><i>Build Manager and Installation Engineer</i></h3>
388 <li>Led Trilogy’s software build and installation teams and
389 trained/mentored 5 other team members. This team produced builds
390 and installers, but also functioned as a company-wide advocate for
391 Software Configuration Management/Release Engineering best
394 <li>Successfully improved Trilogy’s software build process.
395 Technology platforms included C++/VB/COM+/Windows, EJB/J2EE, and
396 other cross-platform Java. This was a complex build system that
397 produced builds for weekly releases of over 50 products in several
398 suites. When I started, there were 5 build machines and one server.
399 I automated many of the manual steps, permitting the system to grow
400 to 20 build machines and 6 servers, with web-driven hourly
403 <li>Helped develop a cutting edge in-house source control system,
404 using ClearCase as an engine. I developed procedures for converting
405 source trees from the old systems to the new system. Contributed to
406 the modification of the build system to accommodate the new source
409 <li>Working with a PhD in SCM and a ClearCase expert as teammates, I
410 learned how to administer a complex Rational ClearCase source
411 control system consisting of hundreds of VOBs and thousands of
412 Views. I contributed to strategy for VOB automated backups, and
413 View and VOB organization. I gained experience with command line
414 usage of ClearCase, and how to call it from Perl scripts. While
415 solving a subtle and recurring intermittent NT server crash, I
416 became aware of some of ClearCase's limitations, and it's
417 implications for our administration strategy. I participated in
418 discussions on trigger strategy, and helped analyze how to implement
419 ClearCase Multi-Site between Austin and India.</li>
421 <li>Administered large (400,000 files!) PVCS Version Manager
424 <li>Administered large (900,000 files!) Visual SourceSafe system.
425 As the main company resource, I worked with groups in Core
426 Development, Consulting, and several of Trilogy’s spinoffs.</li>
428 <li>mentored disparate groups on best usage practices for using the
429 main database, and for administering their own database, if
430 justified. This included describing VSS design flaws, admonitions
431 about the impact that renaming has on repeatability of builds, the
432 difference between deleting and purging, the sanctity of the
433 archive, how to avoid corrupting the archive, backup strategies,
434 when to branch, etc.</li>
436 <li>Interfaced the automated build system to VSS databases from the
439 <li>Wrote conversion scripts when we moved on to another source
442 <li>Set up customer-specific secure VSS databases, accessed by our
443 on-site consultants.</li>
445 <li>Upgraded main database to a RAID 5 server, and improved the
446 backup strategy. </li>
448 <li>Devised best practices for other VSS administrators to
451 <li>Analyzed and fixed multiple VSS databases.</li>
453 <li>Analyzed impact of moving from VSS 4 to VSS 5 to VSS 6.</li>
455 <li>Determined the main company VSS database was too large and
456 devised the strategy for dividing it into smaller pieces.</li>
458 <li>Administered and improved multiple build system NT servers and
459 source control NT servers, as well as the 10-20 build machines.</li>
461 <li>Developed tools to further automate the build and release
464 <li>enhanced complex InstallShield-based Installers. These
465 installers were re-usable, configurable from sets of INI files, and
466 consisted of 30,000+ lines of InstallScript.</li>
468 <li>Developed Java-based cross-platform installers using
469 InstallShield MultPlatform, including writing custom java
472 <li>Helped develop Java-based cross-platform installer to replace
473 InstalShield MultiPlatform</li>
475 <li>Developed automated source escrow generation system</li>
477 <li>Helped develop an automated test system. Trilogy wanted to
478 create a web-driven automated test lab to support an Extreme
479 Programming inspired automated test framework. I provided input on
480 how best to layer software onto a test machine, starting with a
481 ghost image of the desired basic OS, followed by optional
482 re-packaged installations of Oracle, Office, etc.</li>
484 <li>Served as a resource for the developers and QA engineers on
485 source code <li><P CLASS="western" ALIGN=JUSTIFY><FONT FACE="Arial,
486 sans-serif"><FONT SIZE=2>Integrated third party tools and components
487 into the build and release process.</font>
489 <li>Interfaced with Product Management, Consulting, Development, and
490 QA to develop and implement product installation, packaging,
491 licensing, and distribution strategy.</li>
493 <li>Performed scheduled and on-demand software product builds for
494 Development and QA</li>
496 <li>Developed and implemented product-wide configuration management
497 processes and practices to support new and existing products.</li>
499 <li>Developed revision control and software process policies and
500 interacted with groups across Development and Consulting on build
501 and release issues.</li>
505 <h3>Data Strategies International (11/97 - 4/98)</h3>
507 <h3><i>Consultant</i></h3>
510 <li>Wrote Windows device driver for Network Packet Driver (16 bit
511 DLL, written in C)</li>
513 <li>Advanced Micro Devices</li>
515 <li>Worked on improvements to AMD’s software test and simulation
519 <h3>VTEL Corporation (11/94 - 11/97)</h3>
521 <h3><i>Staff Engineer, Windows Programmer (18 months as consultant,
522 then 18 months as employee)</i></h3>
525 <li>Devised an ownership protocol whereby Diagnostics and
526 Conferencing software could safely share the hardware. Implemented
527 in C++ as a DLL with a C API, this centralized all hardware access
530 <li>Ported DOS-based diagnostics to Win32 platform, and
531 designed/implemented GUI.</li>
533 <li>Responsible for all Plug and Play aspects of VTEL hardware.</li>
535 <li>Developed sophisticated software installers using InstallShield
538 <li>Created the Build Team and trained the personnel.</li>
540 <li>Provided Windows development support</li>
542 <li>Analyzed and fixed problems with low-level DLLs</li>
545 <h3>Computer Task Group (10/91 - 11/94)</h3>
547 <h3><i>Consultant</i></h3>
550 <li>Database development in C on a QNIX-based distributed
553 <li>Dell Computers</li>
555 <li>GUI development using VB</li>
557 <li>Tandem Computers</li>
559 <li>Test automation development for testing UNIX real-time kernel
563 <h3>Shafir, Inc. (10/91 - 11/94)</h3>
565 <h3><i>Cofounder, Shafir, Inc.</i></h3>
568 <li>founded this startup in the computer mapping and eCommerce
569 space. Two co-founders and three employees.</li>
571 <li>Developed GPS-enabled street-mapping graphics software using VB
574 <li>Did Java toolkit development. We won a JARS Top 5% Award.</li>
576 <li>Did Java-based business graphics toolkit</li>
578 <li>Wrote a Java-based installer</li>
581 <h3>Frank Russell Corporation</h3>
584 <li>Provided graphics driver support for Impressionist-based shop
585 producing thousands of graphs and charts per month.</li>
591 <li>Eight years as software developer on Graphics Team (5 years as
592 Lead for the Impressionist team)</li>
598 <li>BS in Physics, University of Texas, Austin</li>
600 <li>Graduate work (60 hrs) in Theoretical High Energy Nuclear
601 Physics, Texas A&M University</li>