Scott A. Steadman
ss@stdmn.com
Detailed Work History
Geni, Inc. |
10/06 - Present |
Senior Software Engineer, System Administrator, Database Administrator |
Working with a great team to maintain a genealogy/family social networking web site
using Nginx, Unicorn, Rails, Memcache, Sweatshop, and Postgres.
|
- Ruby on Rails Development
Responsible for full-stack 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.
- Setup and maintained nightly build environment using Jenkins.
- Created Postgres table partitioning module.
- Reworked metrics system to make it easier to maintain and enhance.
- Helped create a registry to allow for run-time re-configuration.
- Created and maintained the API.
- Created and maintained spam detection module.
- Created a DNA Matching microservice in Rails.
- Created a federated websockets server in Rails.
- Migrated search infrastructure from Sphinx to Postgres.
- System Administration
Responsible for network setup, alpha/beta/release site deployment and maintenance.
- Setup DNS, DHCP, LDAP, and OpenVPN for corporate network.
- Created Linux development VM so newer engineers could be up and running more quickly.
- Provisioned production hardware.
- Explored the possibility of deploying Geni on EC2 (not enough bang for the buck).
- Transitioned admin duties to new hire.
- Setup initial forum, help, and Wiki development/deployment environment.
- Migrated SCM from Subversion to Git.
- Setup backup solutions for data center hosts using BackupPC and custom scripts.
- Setup Zabbix monitoring of data center.
- Migrated production environment from data center to AWS using Ansible and Terraform.
- Performed daily intrusion detection tasks.
- Database Administration
Responsible for provisioning, query optimization, and maintenance.
- Provisioned self-managed Postgres clusters.
- Provisioned AWS-managed Postgres clusters.
- Created and monitored pg_backrest cluster backups.
- Created and monitored custom multi-threaded perl scripts for S3 table dumps.
- 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
software.
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.
SeeBeyond
| 6/01 - 10/02
| Senior Programmer
|
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
tracking software.
Codexa Corporation
| 5/99 - 5/01
| Senior Programmer & System Administrator
|
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.
|
- Programming
- 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.
- Managerial
- 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.
FastImage
| 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.
First Quadrant
| 9/98 - 4/99
| Contractor
|
- Programming.
- 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
system.
- Research.
- 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
visualization processes.
- Utility programming.
- Created, in Delphi 3.0, a multi-threaded archival utility
to archive old web sites to a staging area for CD-ROM
storage.
SITA
| 6/94 - 8/98
| Contract Programmer
|
- Systems programming.
- Developed a series of programs that parsed, translated, &
summarized logs from ISS, Sendmail & ISOCOR MTAs using
Rogue Wave
Tools.h++.
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
Sybase.
- 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
manager.
- 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,
and release.
- Wrote, for SunOS 4, a simple xtell and xwall utility using
Builder XCessory.
- 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.
Horizon
| 12/91 - 1/99
| Contract Programmer
|
- 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
Anywhere.
Help Desk Resources, Inc.
| 10/94 - 11/94
| Contract Programmer
|
- Application Programming
- Created a task timing program in Delphi.
CompuLead Systems, Inc.
| 11/93 - 2/94
| Contract Programmer
|
- Multimedia Application Programmer
- Created a multimedia authoring/presentation system in Multimedia
Toolbook.
IBM Multimedia Education Lab
| 12/91 - 8/92
| CO-OP
|
- Multimedia tool evaluation.
- Evaluated new tools for inclusion in presentation and IBM
bundles.
- 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
| Contract Programmer
|
- 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
| CO-OP
|
- 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
| Contract Programmer
|
- Application Programming
- Created UPS hundredweight shipping system in Clipper.
- Driver Programming
- Created serial port scale drivers in C.
Personal Experience
- Web Projects
- Created
The E-Registry
to help friends and family keep track of gifts for various
occasions.
- Game Programming
- Created a shareware solitaire variant called Alcatraz.
- Education
- 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
Georgia Tech.
- Created a digital oscilloscope for a PC interfacing class at
Georgia Tech.
Publications
Education