Initial commit
[clearscm.git] / web / Resumes / Tom / index.php
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
2 <html>
3 <head>
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">
10   <?php
11   include "../../php/clearscm.php";
12   menu_css ();
13   ?>
14 </head>
15
16 <body id="homepage">
17
18 <?php heading ();?>
19
20 <div id="page">
21   <div id="content">
22     <?php start_box ("cs2")?>
23       <h2>Tom Connor</h2>
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>
29     <?php end_box ();?>
30
31 <h2>Synopsis</h2>
32
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>
39
40 <h2>Technical Skills</h2>
41
42 <h3>Langauges</h3>
43
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>
47
48 <h3>Tools</h3>
49
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>
54
55 <h3>Environments</h3>
56
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,
59 OS/TSO, VAX/VMS</p>
60
61 <h2>Business Experience</h2>
62
63 <h3>Computer Sciences Corporation (11/2008 - present)</h3>
64
65 <h3><i>Tools Writer, PDTools Team, MUOS program, General Dynamics,
66 Scottsdale, AZ</i></h3>
67
68 <ul>
69   <li>The RAN tools team and other tools teams was reorganized into
70   the PD Tools team, with division-wide scope.</li>
71
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>
77 </ul>
78
79 <h3>Computer Sciences Corporation (6/2007 - 11/2008)</h3>
80
81 <h3><i>Software Configuration Engineer, SDE Tools Team, MUOS program,
82 General Dynamics, Scottsdale, AZ</i></h3>
83
84 <ul>
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>
92
93   <li>Writing GUI and command-line tools in Perl, Tk, and C++.</li>
94
95   <li>Supporting SWIT teams with SCM, UCM project architecture,
96   workflow automation, and test automation</li>
97
98   <li>Providing UCM project architecture, UCM administration, writing
99   UCM support tools</li>
100
101   <li>Developing/documenting new and changed procedures</li>
102
103   <li>Diagnosing and solving user problems.</li>
104
105   <li>Diagnosing, proposing, implementing improvements to the CM tools
106   and workflow automation</li>
107
108   <li>Lead for implementing automated testing of overall SCM workflow
109   automation.</li>
110
111   <li>Doing ClearCase and ClearQuest administration</li>
112 </ul>
113
114
115 <h3>Computer Sciences Corporation (3/05 - 6/07)</h3>
116
117 <h3><i>Build Engineer/Software Configuration Manager, Land Warrior
118 program, General Dynamics, Scottsdale, AZ</i></h3>
119
120 <ul>
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>
126
127   <li>Responsible for SCM in a linux environment.  Major tools:
128   Clearcase/UCM (Unified Change Management) and Bugzilla.</li>
129
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
132   and perl code.</li>
133
134   <li>Responsible for document/data CM in a Windows environment.
135   Major tools: SubVersion.</li>
136
137   <li>Wrote SCM plans that embodied best practices compliant with CMMI
138   Level 3.</li>
139
140   <li>Supervised the design of Data Configuration Management
141   Plans.</li>
142
143   <li>Developed SCM audit procedures.</li>
144
145   <li>For enhanced change control, I improved the ClearCase/UCM
146   coupling to Bugzilla, our bug-tracking tool.</li>
147
148   <li>Performed Linux and WinXP administration.</li>
149
150   <li>Provided ClearCase/UCM mentoring and training to
151   developers.</li>
152
153   <li>Performed ClearCase administration and troubleshooting.</li>
154
155   <li>Designed/created ClearCase/UCM projects and project strategies, to
156   support both the development team and the automated testing
157   team.</li>
158
159   <li>Developed makefiles.</li>
160
161   <li>Developed RPM-based installation packages.</li>
162
163   <li>Diagnosed and fixed build scripts and makefiles written by
164   others.</li>
165
166   <li>Made contributions to the application code.</li>
167
168   <li>Developed disaster recovery plans and carried out
169   procedures.</li>
170
171   <li>Performed builds, prepared media, provided deliverables to the
172   customer.</li>
173
174 </ul>
175
176 <h3>JP Morgan Chase Investment Bank (11/04 - 3/05)</h3>
177
178 <h3><i>Build Engineer/Software Configuration Manager</i></h3>
179
180 <ul>
181   <li>Worked as an employee in the Houston Development Center.</li>
182
183   <li>Worked with Ant, Maven, and Cruise Control in a
184   Java/BEA/Websphere shop.</li>
185
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>
190
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>
193 </ul>
194
195 <h3>Computer Sciences Corporation (5/04 - 10/04)</h3>
196
197 <h3><i>Build Engineer, Land Warrior program, General Dynamics, Scottsdale, AZ</i></h3>
198
199 <ul>
200   <li>Became part of a two-man Software Configuration Management and
201   Build team administering Linux and Clearcase in a 20-developer shop.
202   </li>
203
204   <li>In a pure Linux shop, doing Clearcase UCM management, Clearcase
205   administration, builds, build automation.</li>
206
207   <li>Laid off, along with most of the team, because of a work
208   stoppage.</li>
209 </ul>
210
211 <h3>Dell (3/04 - 4/04)</h3>
212
213 <h3><i>Build/Installer Engineer</i></h3>
214
215 <ul>
216   <li>Joined a 10-person PowerEdge/OpenManage installer team.</li>
217
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>
222 </ul>
223
224 <h3>Dell (6/03 - 3/04)</h3>
225
226 <h3><i>Build/SCM Engineer</i></h3>
227
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
233 UCM activities.</p>
234
235 <p>Current responsibilities are:</p>
236
237 <ul>
238   <li>Writing report-generators for management’s view into the
239   activities of teams based in ClearCase MultiSite/UCM.</li>
240
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>
245
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>
250
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
257   of error.</li>
258
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>
267
268   <li>Have learned how to write and interface custom reports to
269   ClearCase Report Builder.</li>
270
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>
276
277   <li>Consult with teams on build issues and build automation
278   design.</li>
279
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>
283
284   <li>Identifying needs and writing ClearCase triggers for workflow
285   enhancement.</li>
286
287   <li>Setting up ClearCase and NT Server monitoring processes.</li>
288
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>
292 </ul>
293
294 <h3>Marsh PM Internet Technology Group (9/02 - 11/02)</h3>
295
296 <h3><i>Consultant</i></h3>
297
298 <ul>
299   <li>Was hired to create the next generation company-wide automated
300   software production system. This consisted of two efforts:</li>
301
302   <li>Determine requirements and specify the release engineering
303   process.</li>
304
305   <li>develop an automated build system:</li>
306
307   <li>Deterministic: build system completely determines build
308   environment so that build proceeds from a known state.</li>
309
310   <li>Repeatable: build state info is archived so that past build
311   environments can be re-constructed.</li>
312
313   <li>Accountable: all build states, activities, and outputs are
314   recorded in a structured way.</li>
315
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>
319 </ul>
320
321 <h3>Interwoven (9/01 - 8/02)</h3>
322
323 <h3><i>Senior Release Engineer</i></h3>
324
325 <ul>
326   <li>Designed/implemented an automated dependency-tracking system</li>
327
328   <li>Interwoven needed an accurate and automated way to determine
329   exactly what files to include in a service pack or patch.  </li>
330
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
337   modules.</li>
338
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>
345
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>
352
353   <li>As part of this effort I also developed a sophisticated perl
354   TeamSite Workflow module for the source file submission
355   workflow.</li>
356
357   <li>maintained complex Windows and UNIX service pack
358   installers.</li>
359
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>
374
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>
381 </ul>
382
383 <h3>Trilogy Development Group (5/98 - 7/01)</h3>
384
385 <h3><i>Build Manager and Installation Engineer</i></h3>
386
387 <ul>
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
392   practices.</li>
393
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
401   builds.</li>
402
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
407   control system.</li>
408
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>
420
421   <li>Administered large (400,000 files!) PVCS Version Manager
422   system</li>
423
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>
427
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>
435
436   <li>Interfaced the automated build system to VSS databases from the
437   command line.</li>
438
439   <li>Wrote conversion scripts when we moved on to another source
440   control system.</li>
441
442   <li>Set up customer-specific secure VSS databases, accessed by our
443   on-site consultants.</li>
444
445   <li>Upgraded main database to a RAID 5 server, and improved the
446   backup strategy. </li>
447
448   <li>Devised best practices for other VSS administrators to
449   follow.</li>
450
451   <li>Analyzed and fixed multiple VSS databases.</li>
452
453   <li>Analyzed impact of moving from VSS 4 to VSS 5 to VSS 6.</li>
454
455   <li>Determined the main company VSS database was too large and
456   devised the strategy for dividing it into smaller pieces.</li>
457
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>
460
461   <li>Developed tools to further automate the build and release
462   process</li>
463
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>
467
468   <li>Developed Java-based cross-platform installers using
469   InstallShield MultPlatform, including writing custom java
470   extensions.</li>
471
472   <li>Helped develop Java-based cross-platform installer to replace
473   InstalShield MultiPlatform</li>
474
475   <li>Developed automated source escrow generation system</li>
476
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>
483
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>
488
489   <li>Interfaced with Product Management, Consulting, Development, and
490   QA to develop and implement product installation, packaging,
491   licensing, and distribution strategy.</li>
492
493   <li>Performed scheduled and on-demand software product builds for
494   Development and QA</li>
495
496   <li>Developed and implemented product-wide configuration management
497   processes and practices to support new and existing products.</li>
498
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>
502 </ul>
503
504
505 <h3>Data Strategies International (11/97 - 4/98)</h3>
506
507 <h3><i>Consultant</i></h3>
508
509 <ul>
510   <li>Wrote Windows device driver for Network Packet Driver (16 bit
511   DLL, written in C)</li>
512
513   <li>Advanced Micro Devices</li>
514
515   <li>Worked on improvements to AMD’s software test and simulation
516   facility</li>
517 </ul>
518
519 <h3>VTEL Corporation (11/94 - 11/97)</h3>
520
521 <h3><i>Staff Engineer, Windows Programmer (18 months as consultant,
522 then 18 months as employee)</i></h3>
523
524 <ul>
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
528   services.</li>
529
530   <li>Ported DOS-based diagnostics to Win32 platform, and
531   designed/implemented GUI.</li>
532
533   <li>Responsible for all Plug and Play aspects of VTEL hardware.</li>
534
535   <li>Developed sophisticated software installers using InstallShield
536   InstallScript.</li>
537
538   <li>Created the Build Team and trained the personnel.</li>
539
540   <li>Provided Windows development support</li>
541
542   <li>Analyzed and fixed problems with low-level DLLs</li>
543 </ul>
544
545 <h3>Computer Task Group (10/91 - 11/94)</h3>
546
547 <h3><i>Consultant</i></h3>
548
549 <ul>
550   <li>Database development in C on a QNIX-based distributed
551   environment.</li>
552
553   <li>Dell Computers</li>
554
555   <li>GUI development using VB</li>
556
557   <li>Tandem Computers</li>
558
559   <li>Test automation development for testing UNIX real-time kernel
560   processes.</li>
561 </ul>
562
563 <h3>Shafir, Inc. (10/91 - 11/94)</h3>
564
565 <h3><i>Cofounder, Shafir, Inc.</i></h3>
566
567 <ul>
568   <li>founded this startup in the computer mapping and eCommerce
569   space.  Two co-founders and three employees.</li>
570
571   <li>Developed GPS-enabled street-mapping graphics software using VB
572   and VC++</li>
573
574   <li>Did Java toolkit development.  We won a JARS Top 5% Award.</li>
575
576   <li>Did Java-based business graphics toolkit</li>
577
578   <li>Wrote a Java-based installer</li>
579 </ul>
580
581 <h3>Frank Russell Corporation</h3>
582
583 <ul>
584   <li>Provided graphics driver support for Impressionist-based shop
585   producing thousands of graphs and charts per month.</li>
586 </ul>
587
588 <h3>Execucom</h3>
589
590 <ul>
591   <li>Eight years as software developer on Graphics Team (5 years as
592   Lead for the Impressionist team)</li>
593 </ul>
594
595 <h2>EDUCATION</h2>
596
597 <ul>
598   <li>BS in Physics, University of Texas, Austin</li>
599
600   <li>Graduate work (60 hrs) in Theoretical High Energy Nuclear
601   Physics, Texas A&amp;M University</li>
602 </ul>
603 </div>
604 </div>
605 </body>
606 </html>