Craig Steffler
4530 N. Montana Ave.
Helena, MT 59602, USA
(406) 457-8382
craig@steffler.net or steffler@netscape.net
PROFESSIONAL OBJECTIVE: Software Developer, Database Programmer,
Web Developer, or closely related position.
SYSTEM RELATED EXPERIENCE:
- Developing with Perl since 1992 (version 4.019) including 6 years
of CGI in a web environment 4 years of DBI and a year of LWP and Mason and
modperl, Unix since 1991 (Solaris, Linux, AIX), familiar with all the major
databases (Informix, Oracle, Mysql, SQL Server, Sybase), Shell Scripting,
Unix utilities (AWK, sed, vi, emacs), Source Control (CVS, RCS, SCCS), Apache
Web Server, and 6 years experience with HTML.
- Windows: Windows 3.1/95/98/2000/NT, Excel 1.5-5.0 w/Macros
up to 4.0, Microsoft Word, ActivePerl, Dreamweaver
- UNIX: Perl, CGI, DBI, LWP, Mason, templating, AWK, Sed, Vi,
Emacs, Informix, Oracle8i, Sybase, MySQL SQL Server, PostgreSQL, Wingz, C-Shell,
SUN-OS, Solaris, AIX, Linux, JavaScript, HTML, Apache, CVS, RCS, SCCS
EMPLOYMENT HISTORY:
Comtech Mobile Datacom - Germantown, Maryland, 5/3/04 - 9/7/04
Software/Network Engineer
- Blue Force Tracking System - Performed back-end scripting and web development for a Network Monitoring System to control a Network operating around the world 24x7.
The environment was: FreeBSD, MySQL, PostgreSQL, Apache, amd Perl 5.8.
mTrack Services - West Sussex, England, 1/26/04 - 5/20/04
Perl Developer
- Customer Support Management System - Builing a Customer Support system for Operators to signup new customers and manage existing customer accounts and then to integrate it with the rest of the system. Built an initial prototype to determine the functionality and then built the dynamic side of the system.
The environment was: Linux, MySQL, Apache, and Perl 5.8.
Corbis - Seattle, Washington, 9/03 - 1/04
Sr. Search Developer
- Search Relevancy Enhancement - Builing in functionality to a Texis full-text search database to provide customers with more relevant results when querying the more than 4 million on-line photos. Texis is a product from Thunderstone that is basically a bare-bones database that had dramatically enhanced the full-text search capabilities far beyond what conventional RDBMS systems will do in a fraction of the time. Also had to learn on-the-fly the Vortex scripting language that is used by Texis to handle the logic. Vortex like Texis is basically a bare-bones Perl language without hashes, references, and some of the more elegant powers of Perl again to allow faster search response times.
The environment was: Linux, SQL Server 2000, Perl 5.6, and Texis/Vortex.
The Laxmi Group, Inc. - Huntington Beach, California, 7/03 - 9/03
Software Engineer
- Web Spider Project for Cisco Systems - Built a MySQL database, a Perl script to spider their intranet, a Web interface for configuring the spider operation, and a Reporting interface to review what the spider found. The spider was designed to fish thru a company intranet and discover what content was available and indicate what new content had appeared since the last running. The Reporting functions had the ability to give an execution summary and to drill down to the actual file. There was even a custom search utility that allowed a user to query for a specific content. The spider would search thru their intranet looking for content that they wished indexed and would store locally the content they pre-selected for downloading. The Laxmi client had an intranet with potentially 300,000 urls to search thru so the system was made highly scalable and flexible.
The environment was: Linux, MySQL, Perl 5.8, and Apache.
Encode, Inc. - Malanapan, New Jersey, 3/03 - 6/03
Software Engineer
- UMI Project for IBM - Perl and Korn Shell scripting to aid in finishing up their 1.1 Release. Fixed several existing scripts to close out open defects. Project cut short by client acquiring another company and a software package that already did what their UMI Project did without the heavy development effort.
The environment was: Solaris 8 &s; 9, AIX, Perl 5.6, and RedHat Linux.
DiscoveringMontana - Helena, Montana, 4/1/02 - 2/1/03
Software Engineer
- Correctional Offender Network - A site where people in Montana
can go to look up individuals that have served prison time in Montana. Developed
for the official state web site at www.DiscoveringMontana.com.
The environment was: AIX, Oracle and Perl 5.6. This site can be viewed at
http://app.discoveringmontana.com/conweb/
- Child Support Enforcement Division - A site where people who
owe child support payments in Montana can go to verify what their account
shows. Developed for the official state web site at www.DiscoveringMontana.com.
The environment was: AIX, a CICS interface and Perl 5.6. This site can be
viewed at http://app.discoveringmontana.com/csed/
and choosing The Demo.
- Montana Historical Society - A site for the Montana Historical
Society where new members can join. Developed for the official state web
site at www.DiscoveringMontana.com.
The environment was: AIX, Oracle, ecommerce, and Perl 5.6. This site can
be viewed at http://app.discoveringmontana.com/mhsmembers/
and choosing The Demo.
- Registered Principals Search - A site for the Secretary of
State's Office where registered users can look up companies and people incorporated
in Montana. Developed for the official state web site at www.DiscoveringMontana.com.
The environment was: AIX, Oracle, a CICS interface, and Perl 5.6. This site
can be viewed at http://app.discoveringmontana.com/rps/
and choosing The Demo.
- Searchable Properties Service - A site where people who looking
for land or building space in Montana can go to see what is available. Developed
for the official state web site at www.DiscoveringMontana.com.
The environment was: AIX, Oracle and Perl 5.6. This site can be viewed at
http://app.discoveringmontana.com/properties/
and choosing The Demo.
SeaPerl Consulting - Riverside, Calif, 9/99 - 5/01 | St. George, Utah,
5/01 - 3/02
Freelance Software Developer
- Price Comparison Web Spider - A Perl program that retrieves
an HTML document from a company for a specific product and parses it down
to the point where the price for a specific item can be found. Running it
against several companies allowed the client to see their product prices
as compared to others in their industry. The environment was: WindowsNT and
Perl 5.6
- Filter and Transaction Screen - A Perl/CGI program that queries
a SYBASE table and based on that produces a HTML table page dynamically that
in turn calls another Perl/CGI script that produces another HTML table page
that allows the end-user the ability to edit and process a large table form
and process it further from that point. The environment was: AIX, Perl 5.6,
Sybase, Apache Web Server.
- Lock Module - A Perl module that queries a SYBASE to determine
if a lock point for a table is locked or available so that multiple users
are not changing the same database table. The environment was: AIX, Perl
5.6, Sybase, Apache Web Server.
- Paginate Message Board - A Perl program that used an existing
board.html document for a message board and split it into individual pages
so that each page was only 40 or so messages keeping them at a manageable
size. The environment was: Solaris, Perl 5.6, Apache Web Server.
- Dice Page Web Spider - A Perl program
that retrieves the Dice Jobs Web Page then interacting and then filtering
the output so that it sould then pull the specific pages that fit certain
criteria so that they could then be reviewed off-line then in addition it
fishes thru each posting and extracts specific info and puts it into a spreadsheet
format to make reviewing even easier. The environment was: Windows 98, Perl
5.6.
- Billing System - Built from scratch a billing system for a web hosting company. Used MySQL on a
Linux system to handle all parts of the billing from handling the creation
of new customers in the system to the billing of customers for monthly fees
and even the rebilling of those who didn't pass on the first few tries. Interacted
with a Credit Card Clearing House (over the net) and even had to improvise
ways to handle communcation problems when no response was returned by the
clearing house. Developed many reports and also used HTML::Mason to create
dynamic web pages which drove me more into Apache's configuration. For a
Two-way paging company I built another Billing System from scratch using
MS SQL Server 7.0 that ran on a Unix system with Apache. Unfortunately it
had to be almost a complete redesign of what I'd previously done as no two
companies seem to want the same kind of functionality. The environment was:
Linux, Perl 5.6, modperl, Mason, MySQL, Apache Web Server on the first and
Linux, Perl 5.6, SQL Server 7 on WinNT, Apache Web Server on the second.
Maxim Group - Jacksonville, Florida, 5/01 - 11/01
Freelance Software Developer
- Applicant Tracking System - Gulfstream Aerospace firm in Georgia
had a very urgent need for a Resume Input System so that thousands of resumes
could be loaded into an Oracle 8 database. With little info from Human Resources
and very limited support from Web Group a system was built within a week
that allowed data entry clerks to input resumes that could then be searched
using Boolean search for keywords against numerous entry fields. The results
also could be refined even further and could even show most relevant results
and keyword highlighting like on many sites (dice, monster, etc). After delivering
the urgent portion I then worked with and supervised 5 Data Entry Clerks
to make sure the entry process got off to a good start. Worked on the initial
planning and building more of a team together in order to build a very robust
Applicant Tracking System in 3 months. Some of the basic functionality was
to initiates job requisitions, automatically forward them through the approval
process, create open jobs on internal job board, create open jobs on internet
site, allow Human Resources and the hiring manager to track and manage open
jobs in the hopes of interviewing and hiring applicants, and keep track
of EEOC required statistical data. The environment was: AIX, Linux, Perl
5.6, Oracle 8I, Apache Web Server, LDAP, Internet Explorer, XML.
AirTouch Cellular - Irvine, California, 10/88 - 9/99
Regional Software Engineer - Call Search Query
- A Perl program that allows custom SQL searches
of call records regardless of OS the user is on so that they can search by
any field and get any or all fields as output and made configuration support
for future changes childs-play. Accompanied by documentation that was accessible
by web. Most advanced Search Utility in the company and the most reliable.
Their only alternative has been data warehousing.
- Infrastructure Emulator - A collection of 100+ Perl programs that emulates the cellular infrastructure
system so that the user does not have to learn a new command syntax and yet
dramatically improves the available information to populate an improvised
database. It downloads, filters, updates, audits, slices and dices automatically
daily and has been running without significant interruption for 4 years.
Saved the company over $250,000 per year.
- Performance Reports - Reengineered a vendor database, with
Perl, so that performance statistics on a new digital cellular system could
be provided to all levels of management both inside and outside of engineering
as reports from MIS were about a half-year in the future.
- Database Auditing System - Provided management with audited
information from various databases, again with Perl, in preparation for a
submission to Federal and State regulatory agencies.
- Trouble Ticketing System - Created a ticketing system, with
Perl/CGI where the user initiates a ticket from a web page and the system
sends an alphanumeric page for the ticket to the appropriate person with
vital information about the ticket.
- Regional Software Support - Provided seamless functionality
between various operating systems so that end user didn’t notice a difference
in functionality between programs running on unix, windows, sun-os or solaris.
Develop and manage new programs, mostly Perl and CGI and projects as needed
and support several 100 existing programs most of which I specifically wrote
for Engineering.
- Regional Department Intranet Page - Reengineered web page
to reflect new region and consolidated numerous pages from various sources.
Various roles from Customer Service Rep to Senior Engineering Technician