Scott A. Steadman
- Source Code Management
Git, Subversion, CVS
VirtualBox, VMWare, Docker,
Amazon Web Services (EC2, EBS, and S3),
Android Framework, J2EE, JUnit, JDBC, Log4j, Ant
- Operating Systems:
Linux, Windows, Solaris
- UNIX Skills:
DNS, NFS, DHCP, LDAP, IPTables
- General Proficiencies:
Object oriented design/implementation, API design,
Database design, Client/server development, Application server
development, UNIX system administration,
Internet application development, Security/Cryptography,
Patterns, Extreme Programming, Virtualization, Containers
||10/06 - Present
||Senior Software Engineer, System Administrator
Working with a great team to create a genealogy/family social networking web site
using Nginx, Unicorn, Rails, Memcache, Sweatshop, and Postgres.
- Ruby on Rails Development
Responsible for Rails application development and maintenance.
- Created and maintained address book import module.
- Created and maintained GEDCOM import/export modules.
- Created and maintained exception reporting module.
- Created and maintained registry (runtime configuration) module.
- Added XSS vulnerability testing.
- Created A/B Testing module.
Setup nightly build environment using Cruise Control.
Then migrated to Hudson.
- Created Postgres table partitioning module.
- Reworked metrics system to make it easier to maintain and enhance.
- Helped create Registry to allow for run-time re-configuration
- Created, and helped maintain the API.
- System Administration
Responsible for network setup, alpha/beta/release site deployment, and some maintenance.
- Setup DNS, DHCP, LDAP, and OpenVPN for corporate network.
- Created Linux development VM so newer engineers could be up and running more quickly.
- Explored the possibility of deploying Geni on EC2 (not enough bang for the buck).
- Configured Geni alpha/beta production hardware.
- Transitioned admin duties to new hire.
- Setup initial forum, help, and Wiki development/deployment environment.
- Created Kickstart script to build development VMs.
- Migrated SCM from Subversion to Git.
- Installed/configured Trac project management system.
- Created scripts to backup servers to S3/EBS then to Zetta.
- Setup BackupPC to backup development and production servers.
- Created Puppet scripts for QA and production environments.
- Android Development
- Android Yammer Client maintenance.
- Ruby on Rails Development
- Ported Git/Trac integration hook scripts to Yammer.
- Integrated exception reporting with to Yammer.
- Setup integration build environment (CruiseControl.rb).
- Setup QA environment and capistrano script changes.
Worked with a team to migrate a legacy COBOL application to Java.
Created network appliances to make it easier to deploy and maintain CDS
Improved internal network security and manageability.
- Java Development
The Java application utilized an n-tier service oriented architecture (SOA).
Postgres was the back-end database.
The server tier was deployed on tomcat.
Hibernate handled Object-Relational Mapping.
The client tier was Swing-based.
Java WebStart was used to deliver the client to the user's desktop.
The Spring Framework was used to configure the system.
JUnit/Cactus were used to do unit and integration testing.
- Created an ETL module which allows the importation of data in various formats such as: CSV, fixed record, and Excel spreadsheet.
- Created an external services module that interacted with vendor/partners via HTTP and XML.
- Network Appliance Engineer
Created two network appliances based on SUSE 9.2 with a PHP-based
administrative console. Both appliances ease remote management by making
a customer-initiated OpenVPN
connection to CDS - which doesn't require a network administrator to make
a hole in the firewall.
The bridge appliance resides in the DMZ and allows our
client's customers to access a back-end database of debits/credits
and an ftp server containing custom reports.
The database and ftp server may reside on a server appliance.
The bridge performs a nightly backup to an ftp server.
The bridge is protected by a custom IPTables firewall.
The server appliance resides in the production zone and hosts both the
legacy and Java-based applications.
The legacy application is exposed via a Samba share.
The server can run a sybase, oracle, and/or Postgres database.
The server performs a nightly backup to a Samba share.
- System Administration
- Centralized management of mixed-OS systems to MS Active Directory for centralized authentication.
- Installed an integrated virus scanning solution.
- Installed, customized, and maintained open source project management and bug tracking software.
- Created custom nightly, weekly, and monthly reports in perl based on data from the project management and bug tracker databases.
- Setup a VPN using OpenVPN.
Participated in the architecture, design, and implementation of a
hosted internal CMS service, written in Java, used by various labels to
create web sites, and maintain and syndicate their related assets.
This application ran on ATG Dynamo 6.0.
- Java Development
- Created/maintained ant-based Java development environment.
- Created/maintained a set of framework classes used across multiple projects.
- Created/maintained Java Coding Standards, Developers Reference, and Code Review Procedures documents.
- Helped maintain a wireless promotional site that served AT&T and Sprint wireless carriers.
- Helped create a JBoss servlet-based access layer to an operational data store.
Participated in maintenance and development of SeeBeyond's core product,
called eGate. eGate is an Enterprise Application Integration (EAI) tool
written in Java, C, and C++.
Maintenance involved trouble-shooting and repair of bugs
found by customers and the QA department. Development involved enhancing
the product based on internal and external recommendations. Involved in
architecture, design, and prototyping the repository for the next
generation of eGate.
- Java Development
- Completed the integration of Java native types into ETDs.
Prior to this, the only type supported was strings.
- Completed the implementation of Java native marshaling.
Prior to this, marshaling was done using a bridge to a proprietary
language processor called Monk.
- Created a converter class that would allow a GUI to easily
convert between primitive and non-primitive types.
- Integrated utility methods created by field engineers into
the core product. Used JUnit to create test cases to validate my work.
- Integrated JMS and eGate's Event Linking and Sequencing subsystem.
- Participated in the architecture, design, and prototyping of the
repository for the next generation of eGate. Used Ant to do build
management. Created test cases in JUnit to validate my work.
- Perl Development
- Created perl scripts that integrated CVS with ONYX problem
Helped architect, design, develop and implement Codexa's real-time
distributed financial information analysis system for greater Wall Street.
This system utilizes the following Java based technologies: EJB and CORBA
for distributed business logic; JNDI to access an object store which was
used as short-term storage; JMS for communication between components; JDBC
and SQL to access Sybase which was used as long-term storage; XML for
configuration and data transfer; Swing, JNLP, HTML and XSL for client-side
processing and user interface; Servlets for communication between client
and server. The server-side components run on Sun-Sparc servers running
Solaris and Linux. The client-side components run on Windows.
- Started proof of concept GUI in Java using Borland JBuilder 2.
- Created proof of concept harvesting system in perl.
- Created initial reporting/e-mail delivery system in perl.
- Created build environment.
- Created remote logging system.
- Created base classes, utility classes, and servlets.
- Created client profile management system in Java.
- Created harvesting/extraction classes in Java.
- Created a stream multiplexer in Java.
- System Administration
- Performed initial setup of internal network.
- Created firewall using RedHat Linux 6.0 and IPChains.
- Used Sendmail/imap as initial e-mail setup.
- Performed basic NT system administration.
- Set up Sun 350 development servers.
- Interviewed initial candidates for engineering positions.
- Researched various enterprise e-mail/groupware solutions.
- Interfaced with contractors to outsource publicity website development and MS Exchange setup.
- Researched various packages to determine build/buy decisions.
||3/97 - 1/00
||Contract Web Programmer
- Web site development
- Created web site, in one month, to accept customer orders and
transfer to billing system written in FoxPro. This system
was written using perl.
- Revamped site to be more extensible and use MySQL
as a back-end database. This system was written using perl,
mod_perl, and emb_perl.
- BSD UNIX & Samba administration
- Created scripts to automate administrative tasks.
- Helped configure samba.
- Created a Perl script, in windows, that used FileNet's ActiveX
controls to automate document committal.
- Created, in VB 6.0, a program to simplify document management
for the FileNet system.
- Created, in VB 6.0, a program to simplify document
archival from Word, Excel, and a scanning station.
Archival and scanning were done using FileNet's ActiveX controls.
User management is done via RDO to a Microsoft SQL server.
Business logic is implemented with SQL triggers.
- Created an application, in Delphi 3.0, using FileNet's ActiveX
controls, to expedite the archival of historical documents into a FileNet
- Helped setup a Linux-Cluster based on 8 legacy 486
machines and a Pentium that performed approximately 2/3rds
as fast as a $250k 10-CPU Sun box.
- Created some proof of concept programs using PGAPak, a C++
MPI-based genetic algorithm implementation.
- Data Management.
- Created a Perl/CGI wrapper for a data extraction tool that
allowed easier access to financial data via their intranet.
- Made sure that data from multiple sources was
successfully downloaded and processed.
- Created various scripts to automate data collection and
- Utility programming.
- Created, in Delphi 3.0, a multi-threaded archival utility
to archive old web sites to a staging area for CD-ROM
||6/94 - 8/98
- Systems programming.
- Developed a series of programs that parsed, translated, &
summarized logs from ISS, Sendmail & ISOCOR MTAs using
This data was used to bill customers, and to evaluate traffic
patterns and QOS.
- Created a class that encapsulates a Sybase Open Client session
making it considerably easier to interface a C++ program with
- Developed, for Solaris using X/Motif and TCSI libraries,
a log file upload application.
- Developed, for SunOS 4 and Solaris using X/Motif and
TCSI libraries, a fax delivery system configuration
- Tool creation.
- Created a utility to parse the environment of a process via
the entry in the /proc file system under Solaris.
- Designed and implemented a development environment using CVS/RCS
which simplified development, unit and integration testing,
- Wrote, for SunOS 4, a simple xtell and xwall utility using
- Web site creation/maintenance.
- Created a
Paging script to handle alphanumeric paging via the Internet.
- Created a Perl script that uses the GD Perl library
to generate in-line GIF charts using data pulled from
Sybase tables with the Sybase Perl library.
- Created and modified various web pages and SQL/CGI scripts
for an internal network performance statistics web site.
Managed web site using Netscape Enterprise Server.
- System Administration.
- Built and/or installed software on Solaris boxes.
- Responsible for trouble-shooting various X-Windows problems.
- Installed Linux on various laptops and PCs.
- Configured various Win95, NT and UNIX systems.
||12/91 - 1/99
- Application programming
- Created a run-time form creation and customization engine in Delphi.
- Created a data-driven practitioner viewing system in Clipper.
- Created a data-driven managed care credentialing system in Clipper.
- Created a meeting scheduling/planning module in Clipper.
- Customer Support
- Trouble-shooting customer problems on-site or via modem using PC
|Help Desk Resources, Inc.
||10/94 - 11/94
- Application Programming
- Created a task timing program in Delphi.
|CompuLead Systems, Inc.
||11/93 - 2/94
- Multimedia Application Programmer
- Created a multimedia authoring/presentation system in Multimedia
|IBM Multimedia Education Lab
||12/91 - 8/92
- Multimedia tool evaluation.
- Evaluated new tools for inclusion in presentation and IBM
- Presentation coordination/assistance.
- Packaged equipment for shipment to/from presentation.
- Setup/take-down of equipment at presentation.
- Coordination of various multimedia effects during presentation.
- Proctoring of OS/2 introduction class.
|Willden Industries, Inc.
||5/91 - 10/91
- Utility Programmer
- Created, in C, a TSR serial port communication utility that
allowed a user to download data to a multi-axis milling machine
in the background so design could continue.
- Electrical Engineer
- Completed and optimized the design of a laser power modulator
based around a MC68HC11A embedded controller.
|IBM Health Industry Marketing
||6/87 - 8/91
- Management Support
- Created foils and slides for presentations.
- Created applications to track employee vacation and budget
status in DBase III then upgraded to Clipper.
- Created utility to speed up plotting of presentation foils in C.
- PC Support
- Created program to aid in tracking of PCs.
- Installed and maintained PCs.
|Datalynx Technologies, Inc.
||8/88 - 10/88
- Application Programming
- Created UPS hundredweight shipping system in Clipper.
- Driver Programming
- Created serial port scale drivers in C.
- Web Projects
to help friends and family keep track of gifts for various
- Game Programming
- Created a shareware solitaire variant called Alcatraz.
- Created an object oriented compiler in C++ for a compiler
construction class at Georgia Tech.
- Created an 8x8 RISC multiplier for a VLSI design class at
- Created a digital oscilloscope for a PC interfacing class at