Gregory A. Swift February,
Maple Grove, MN 55369
Email: *******@*******.***
Education:
Iowa State University: B.S. Computer Science, Economics
1981
Amdahl: VM HPO Internals, MVS Structure and
Flow 1985
Euler: Unix, Linux, Java, C/C++
1998
Hardware, Software & Languages:
PC, IBM 360/370, Amdahl, Burroughs B6800, HP, VxWorks
IBM: Assembler Language (25 years), PL/I (10 years), Cobol (4
years), Fortran (5 years),
SAS/C (2 years), MVS/SP/XA (8 years), VM/SP (9 years), VTAM
(3 years), CICS (2 years),
JES2 (20 years), TSO/ISPF (20 years), OS/JCL (25
years), C (4 years)
Microsoft: Word, Powerpoint, Excel, Visual Studio C, Access,
VBA, SQL
PC: Windows 95/98/2000/NT/XP, OS/2, Linux, Linux
Kernel/Networking/Security, TCP/IP, NFS,
Samba, Apache, HTML, PHP, CGI, bash, ksh, AWK, Perl, C, Server Integration, Red Hat, Fedora
Current Strengths: System administration, Server networking,
RedHat/Fedora Linux/UNIX, networking/security/firewalls,
web/apache/php/java, scripting/bash/awk, custom
monitoring software, Windows/Samba, NFS,
kernel development, C, project management, team
leadership, documentation writing.
Work Experiences:
Minneapolis Auto Auction
November 2007 to Present
This job is included here to show accurately my entire work history,
even though it is not specifically software engineering related. At
the auto auction, I am a certified Smith System Driver Instructor.
This means that I teach safe and defensive driving techniques to
classes of other drivers. As a lane captain at the auction, I am
responsible for directing, monitoring, and ensuring that the flow of
vehicles onto the auction floor is accurate, timely, and in proper
sequence, and that the fourteen other drivers who are subordinate are
performing their tasks properly. As the Safety Coordinator, I am
involved with all aspects of safety and accident prevention. In the
past year I have developed a time resource tracking system that is
written in Microsoft Access and Visual Basic (VBA). This has resulted
in a significant reduction in costs due to improved driver scheduling.
Network Executive Software AND Network Systems (combined) July 2000 to
February 2006
In addition to the specific software engineering responsibilities
described below, I also had other administrative tasks that required
at least 50% of my time. These items included, but were not limited
to, systems administration of dozens of RedHat servers running various
flavors of operating system ranging from RedHat 7.0 to Fedora Core 6,
writing and applying system modifications and kernel security changes,
and the writing of custom software to monitor, report, and analyze the
operation of the various components of these systems. The components
of these systems includes DNS (bind), NIS, NFS and Samba for file
sharing with various Windows users, LDAP, FTP access for both internal
and external usage (using different security rules for each), and
multiple web server instances running Apache with a Squid cache. I
was heavily involved with the planning, design, acquisition, and
implementation of many of these systems and provided second and third
level support for them. As part of the administration of these
systems, I wrote various web-based (php and bash script generated
html) monitoring and reporting tools for these components that
provided critical run-time performance and status information.
Although these systems were not "clustered" in the typical definition
of the word, they were tightly integrated into a single networking
environment which provided a seamless interface for the user
community. Heavy usage of the RedHat RPM package manager provided the
ability to keep these various components current with the various
software updates that were available and mirrored on a local RedHat
RPM server. Additionally, I wrote software which kept these
components current through the usage of the RPM interface.
Network Executive Software, Inc. Senior Software Engineer
August 2003 to February 2006
Provided support and new feature additions for a new product called
HyperIP which provides application acceleration and WAN optimization
for remote data replication and large file transfer requirements which
enables you to accelerate and optimize the industry-leading data
replication applications like EMC's SRDF/A, NetApp's SnapMirror and
Symantec's Replication Exec. Activites included shell scripting and C
programming, kernel customization, firewall and security filters,
Apache modules, design and implementation of the web-based and serial
console user interfaces, and software install packaging. Wrote
several "productivity-improvement" utilities that assist the software
engineer in the viewing and interpretation of software dumps.
Network Systems Senior Software Engineer
October 1993 to August 2001
Job responsibilities include software design, development,
documentation, and user problem support for an IBM Remote Device
product (RDS) written in IBM assembly language. Coordinated product
build using "make" and was Technical Lead for a new proprietary open-
systems network storage device (SN6000). Installed, maintained, and
customized multiple Linux servers using Samba, Apache, and wu-ftp.
Maintained and wrote automated processes for the library builds and
for web page content (HTML). Managed team of four other developers.
Successfully reduced product build time from 26 hours to about 7 hours
by inventing a creative multiprocessing redesign.
Network Executive Software, Inc. Contractor
July 2000 to August 2003
Provided product support and new feature additions to a Transaction
Processing System (TPS) used exclusively by the IRS. Written in IBM
assembly language, this product is the primary method of data transfer
for taxpayer records for the IRS between their eleven data processing
centers across the country.
BlueLine Software, Inc. Senior Software Engineer
1987 to 1993
Managed two IBM/VM software products marketed worldwide, written in
IBM assembly language. Detailed knowledge of VM and CP/CMS internals,
VTAM, IUCV, and LU1/LU3 protocols was required, as well as DOS/VSE,
VM, MVS, VSE/POWER, and CICS. MultiPrint/VM is a print management
system; MultiTerm/VM is a VM 3270 session manager allowing for
simultaneous terminal sessions to the host with one physical terminal.
West Publishing Company Systems Programmer
1986 to 1987
Designed and wrote several specialized system utilities: a SYSLOG
online browse facility via TSO/ISPF dialog manager for use on a
complex of six 3090 processors with a shared JES subsystem, and a
VTAM/CICS router for routing terminal users. Both projects
involved the writing of user and technical documentation. Designed a
multi-processor transaction-level recovery architecture for the
WESTLAW legal research system.
General Mills, Inc. Principal Systems Programmer
1982 to 1986
Installed and maintained Burroughs operating systems for five B6800
mainframes. Wrote software to assist in the custom installation of
Burroughs software, thus making maintenance nearly automatic and self-
maintaining. Wrote a SYSOUT processor in IBM assembly language to
gather printer output from the JES2 spool environment for archival to
tape and printing on two Honeywell page printers and
a Kodak microfiche imaging system.
Iowa Census Services Project Manager
1976 to 1981
Wrote specialized data extraction and display programs for use with
statistical data from the U.S. Census Bureau for the time-sharing
system WYLBUR. Managed all software activities and two other staff
members while attending Iowa State University classes full time.
Accomplishments / Strengths:
Technical Knowledge
My experiences over the past years include a wide range of hardware
platforms and languages. Most recently, my passion and strongest area
of technical knowledge is in the area of Linux server management,
tuning, and performance measurement. I spend considerable time at
home "tinkering" with Linux, the Linux kernel, Linux networking,
security, and firewall solutions and have built (from scratch) several
customized special-purpose servers. I have written several large C
programs, both at work and for personal enjoyment. One of the
"personal enjoyment" programs is a system currently used by NASA on
board the International Space Station and all Shuttle flights which
provides a real time graphic view of other satellites in orbit. In
the past five years or so, my interests and technical strengths have
been in the areas of Unix (Linux) networking and security, kernel
customizations, specialized web applications allowing the viewing and
control of multiple systems, and performance tuning.