|
Goodwill's Home
Photo Album
Our Place
Interests
California Trip
Jackie's Resume
Richard's Resume
Favorites
WebCam
| |

RICHARD
C. GOODWILL

|
|
|
730 Augusta Dr.
Bridgeville, PA 15017
Email: rick@ibgood.com
Home: (412)220-3155
Work: (425)466-1397 |
| CAREER
SUMMARY
|
Software
development professional with expertise in operating system, driver, and
embedded software development, along with disk technologies. Experience
in software product specification, design, development, integration, and
trouble shooting. Reputation for technical leadership while managing
people and projects. Demonstrated track record in effective cross
functional communication and coordination with program management,
marketing, and sales. |
Bowling Green State University, Bowling Green, Ohio
B.S. from
College of Arts and Science
Major: Computer Science
Minor: Mathematics
G.P.A.: 3.2 Major:
3.3
Graduated: May 1983
Honors:
Deans List, Alpha Lambda Delta |
| EDUCATION
|
|
HARDWARE
|
80x86
processors, Alpha and AMD 29K Risc processors,
IBM 370/390 series processors,
SUN Sparc, Wang, DEC
|
|
SOFTWARE
|
Languages:
|
C/C++,
BAL, x86 assembler, AMD 29K assembler,
REXX, COBOL, Basic, APL, SAS, and various
other procedure, exec, and editor languages.
Academic
experience utilized PL/I, FORTRAN, Pascal, SNOBOL, Lisp, and
GPSS.
|
| Operating
systems: |
Windows/NT,
UNIX, OS/2, DOS, MVS/370-OS/390,
VM, Wang/VS,
TOPS-20 |
| Environments: |
SUN/Open-Windows,
Windows/NT, VM/CMS, TSO/ISPF, and CICS.
|
| Other
Software: |
TCP/IP,
Netware, IPCS, GTF, SMP/E, RACF, SMS/HSM, JES2,
and various other MVS utilities |
| Additional
Skills: |
Strong
understanding of operating system internals, drivers, object oriented concepts and hardware
interfaces. |
|
EXPERIENCE |
|
|
6/97 -
Present |
Microsoft
Redmond,
Washington |
1/99
-
Present
|
Software
Development Engineer
Member
of the Windows NT Sustained Engineering team. This
team is responsible for debugging and developing code fixes for
all releases of Windows NT and Windows 2000, and
producing Service Packs for these products.
Team
lead for Windows NT terminal Server 4.0 responsible for coordinating
Terminal Server 4.0 Service Packs.
Developed
several kernel debugger modifications and extensions. .context was
written to allow address space context switching by swapping page tables
and command alias support was added.
Skills
required include NT kernel, device driver, and application debugging,
analyzing and developing C, C++, and x86 and Alpha assembler code.
|
6/97
- 1/99
|
Escalation
Engineer
Member
of the Windows NT Critical Problem Resolution team responsible for
resolving escalated technically complex and politically hot customer
issues. Skills required includes NT kernel, device driver, and application
debugging, analyzing and developing C, C++, and assembler code,
documenting fixes and handling customer expectations.
|
|
6/96
- 6/97 |
Computer
Associates
Superior, Colorado |
6/96
-
6/97
|
MVS
System Software
Software Developer
Lead developer responsible
for the development of MVS system software for debugger and performance
products.
Responsibilities included
enhancing products to support new operating system features such as 31bit
Unit Control Block support, workload manager support for MVS/SP 5.2, and
CICS 4.1 support. SRB
scheduling and cross memory services were used to extract workload
information and 24bit code was converted to 31bit code.
|
|
3/95
- 9/95 |
Marlowe
Engineering
Boulder, Colorado |
3/95
-
9/95
|
Software
Development Consultant, PC Software
Developed
a SCSI test suite for a small scale tape library being developed for the
Windows/NT, OS/2 and UNIX server environments.
REXX
command extensions were written to interface to the ASPI SCSI API.
Tape and library SCSI commands were simulated using the REXX
command extensions. The
test suite was developed under IBM PC/DOS V7.0 and ported to OS/2.
A layered architecture was used to allow for data hiding and
clean programming interfaces for ease of maintainability.
|
|
2/92 -
6/96
|
StorageTek
Louisville, Colorado |
6/95
- 6/96
|
Senior
Embedded
Software Engineer
Member
of a small team responsible for the development and integration embedded micro-code
for a Virtual Tape Subsystem Prototype for IBM
mainframe attachment.
Responsibilities
included designing the physical hardware architecture for disk/tape unit
attachment and the design, implementation, and integration of an embedded
I/O subsystem to perform the data transfers between disk subsystem
controller and tape devices.
The purpose of
the project was to prove the feasibility of a Virtual Tape Subsystem using
a raid disk array subsystem as a platform.
Technology
used included Metaware C,
AMD 29K Risc processors, IBM
370 I/O architecture, ESCON
I/O protocol, cache ports, and DMA.
|
4-94
- 6/95
|
Senior
Embedded
Software Engineer
Member
of a embedded software development team responsible for the development and
integration of support
processor micro-code for a raid disk array subsystem designed for the IBM
370/390 mainframe attachment.
Designed and
developed non-disruptive micro-code
installation and upgrade software for support and functional processor
software.
Development
platform was the Intel 80386 utilizing Metaware C and 80386 assembler
in the DOS environment with a DOS extender.
A OEM embedded kernel was used as the operating system
platform.
|
2/93
-
4/94
|
Senior
Embedded Software Engineer
Member
of a large embedded software development team responsible for the development,
integration, and testing of embedded micro-code for a large scale raid disk array
subsystem designed for the IBM 370/390 mainframe attachment.
Development and integration of IBM 370 channel command handler
routines to execute on embedded AMD 29K processors.
Most of the command handler routines were written as
deferred level 2 ISRs, although some level 1 ISRs and task level code was
written.
Development
was completed using Metaware C and AMD 29K assembler.
Integration was completed utilizing hardware debuggers, channel
analyzers, and IBM 370
parallel channel emulators.
|
2/92 - 2/93
|
Senior MVS System Software
Software Engineer
Responsible
for design, development, and integration of IBM/370 host software required
for maintenance and monitoring of a large scale raid disk array subsystem.
Designed and
developed a MVS
subsystem, operating system intercepts and hooks, and operating system
interfaces for application software.
Development
was performed utilizing IBM/370 assembler and SAS/C languages. Dynamic
hook techniques were used to place all operating system intercepts. IBM/370 channel programming
was also used.
|
|
6/85
- 2/92 |
Goal
Systems International, Inc.
Columbus, Ohio |
4/87
- 2/92
|
Product
Manager and Lead
MVS System Software Developer
Product
Manager and Lead
developer responsible for the design, development, and
maintenance of a MVS security product for the IBM mainframe.
Responsibilities included selecting and
architecting new
features to be added to the security product and directing a team of
development personnel in implementing the new features.
Product design and development tasks required a comprehensive
knowledge of MVS control structures, flow, and operating system
interfaces.
Developed several operating system intercepts
throughout MVS to
enhance security and developed user interface routine to allow
configuration of the additional features.
Dynamic hook techniques were used to place all operating system
intercepts. MVS services used
include the subsystem interface (SSI),
scheduler JCL facility (SJF), and various implementations of cross
memory services.
MVS System Software
Developer
Designed
and developed a MVS common virtual storage monitor. The purpose of the
common virtual storage monitor was to collect, record, and display
statistics on Common Storage Area and System Queue Area usage. Cross memory SS-PC routines were used in order to collect
data while minimizing the common storage required by the monitor. A
subsystem initialization program was used to obtain statistics for early
created address spaces during IPL.
Assisted with the development of a MVS tape management
system. Specific tasks included the design and development a label writer,
an operator command interface, and various modifications to the operating
system intercepts.
Developed and instructed a course on IBM ESA
architecture. This course
emphasized the new ESA instruction set and the new access register (AR)
execution mode. Course
was used for internal and customer presentations.
|
6/85
- 4/87
|
Technical
Support Representative
Provided
technical support to customers for MVS and CICS security products.
Designed
and developed a CICS system intercept by which field level security could
be provided for BMS maps. Also
assisted in the conversion of the CICS security product from CICS macro
level to command level code.
|
|
9/83
- 6/85 |
State
of Ohio - Division of Computer Services
Columbus, Ohio |
3/84
- 6/85
|
MVS
Systems
Programmer
Member
of a team responsible for coordinating, installing, and maintaining a MVS
operating system, hardware, and application software.
Product installs were performed using SMP/E. |
3/84
-
6/85
|
VM
and Wang
Systems
Programmer
Responsible
for installing, configuring, and maintaining VM and Wang/VS operating systems and
application software.
Assisted
in the installation and expansion of a local area network (Wangnet). Also
responsible for installing, maintaining and testing a VM system and
application software. |
11/83
-
3/84
|
Information
Center
Specialist
Responsible
for coordinating and implementing an Information Center. Installed and
maintained personal computers (IBM, DEC, Wang, etc.) in user agencies.
Also trained users in the usage of PC hardware and software. |
9/83
-
11/83
|
Programmer/Analyst
Responsible
for developing and maintaining COBOL user application systems.
|
ONGOING
EDUCATION
|
MSNA
courses
Microsoft,
1997
Windows
programming in C
Microsoft,
1997
Intermediate
C++ Programming
StorageTek Education,
April 1996
Intermediate
C Programming
University of Denver,
March 1992
MVS/XA
Structure and Flow
Amdahl Corporation, Sept. 1987
CICS
Internals
Goal Systems International, Inc., Feb. 1986
VSAM
for System Programmers
IBM Independent Study, April 1985
Capacity
Management Forum, Performance Monitoring,
Institute for Information Management, March 1985 |
HOBBIES
AND
INTERESTS
|
Mountain/Rock
climbing, skiing, and biking |
|