RICHARD H. SMITH
*** ********** ****, **. *********, FL 32080
e-mail: *********@*****.***
OBJECTIVE:
Seeking a position with a solid company that will allow me to utilize
and enhance my skills as a
software engineer.
To contribute to a company's bottom line by delivering on time, fully
tested and debugged, install once solutions, performing to required
specifications.
EXPERIENCE SUMMARY:
Twenty plus years of progressive software development experience on
various UNIX platforms. Primary responsibilities have been in areas
of database design/analysis, backend processing and implementation as
well as performance tuning and utility packaging in support of
applications and remote host support.
Experienced in the development of processes, or services, to interface
with inbound and outbound data traffic or requests from web based or
other external sources and target systems.
SKILLS:
Languages/Software:
C, GNU C, GNU make,, gdb, Informix SQL/ESQL-C/4GL, Oracle
SQL/Pro*C/SQL*Plus, PL/SQL, SPL/Triggers,, TCL/Expect, Shell,
awk, zsh, DCL, Informatica/ETL, TCP/IP, client/server, IPC, MS
Visual Studio 2008, ETC, JAI/Dacolian Intrada ALPR. CVS,
ClearCase, SSH, SFTP, CURL
Databases/Versions:
` Oracle 10g/11g, Informix 5.3/7.3
Operating systems:
UNIX (Solaris, SunOS, BSDI, SGI-IRIX, Digital UNIX, Ultrix,
HPUX, AIX, FreeBSD, Linux). VAX/VMS
STRENGTHS:
Strong design skills in Unix/Linux and SQL database application
development.
Modular/structured coding practices. Tools/API oriented, for software
reusability.
Utilizes SQL query and database optimization techniques.
Excellent at unit and integration testing, troubleshooting and debugging.
Meets deliverables that are up to client expectations.
Ability to adapt to new technologies/environments.
PROFESSIONAL EXPERIENCE:
Aug 2010 to Marriott International
Present Position: Senior Software Engineer
. Returned to Marriott to fully automate the Informatica ETL
process, incorporating recovery and restart capabilities, e-
mail and SMS notification.
. Additional Informatica mappings were developed and others
optimized.
. Continued to support the Sales and Catering Software
application in an AIX/Informix 4GL environment.
Dec 2006 to ACS, Inc
Aug 2010 Position: Senior Software Engineer
. Originally brought on to determine and implement the effort
required to integrate an Open Road Tolling (ORT) solution for
the Bay Area Transit Authority (BATA) within an existing
Electronic Toll Collection (ETC) system from another vendor.
Converted the incoming ACS lane transactions to look like
those of the existing system and flowed them through.
. Designed and developed an automated license plate recognition
system (ALPR). Vehicle images taken at the lane were flowed
through the ALPR application via client/server socket
connections, configurable to handle image volume.
. This was a linux /C/ESQLC solution with an Informix database.
. The solution for BATA has been in production since 08/2007
with no software modification. It was built to automatically
restart/recover in the event of any significant system
issues.
. Developed ALPR systems for other state tolling authorities.
. Added realtime alerts for vehicle license plates that the
authorities wanted notification for. This would include
flagrant violators, Amber and BOLO alerts. Upon detection,
the images, vehicle and geographic data are immediately
forwarded to the appropriate personnel.
. Multiple OS platforms, same code base: Linux/Windows
VS/C/Pro*C and PL/SQL solutions with multiple Oracle database
backends.
Jan. 2005 to Marriott International, Bethesda, MD
Dec 2006 Position: Lead Programmer/Analyst
. Assumed development and/support role with the NGS Development
team in support of the existing Sales and Catering system,
developed in Informix 4GL, as it transitions to another
platform. This entailed the support of 200+ Marriott hotel
properties in their day to day and ongoing operations. As
such, developed a robust remote transfer and execution
package on top of the Z shell (zsh).
. Implemented Informix database triggers and stored procedures
for process improvement and adherence to business rules.
. Developed Informatica workflows and mappings to extract the
NGS data from multiple properties for loading into a future
replacement system.
. Developed tools for automating many of the common support
requirements for properties.
Oct. 2004 to AOL, Sterling, VA
Jan. 2005 Position: Software Consultant
. As a member of the Registration group, I was tasked with
providing a message interface between the Registration system
and the other 30 groups that the Registration software
interfaced with in a real-time environment. Primary efforts
were focused upon generating and returning corrective error
action messages to any of the interfaces, in real-time, when
a message did not meet Registration specification. This had
been an open hole in the AOL infrastructure for some time
causing message packets to be dropped with no explanation.
Implemented a common message interface response to all
external systems to assist in debug and recovery.
. This was accomplished in Linux and C on top of an inhouse
TCP/IP communication layer.
Nov. 2003 to ACS, Inc, Rockville, Maryland
Oct. 2004 Position: Software Consultant
. Brought in to assist in the operations and maintenance of a
legacy system as it is transitioned out of production.
Primary responsibilities are to maintain data integrity,
provide adhoc reporting as needed and ETL capabilities to
offload data for the new database application. I have also
assumed a major role in improving system performance via SQL
query and process optimization
. All work is performed against an Informix 7.3 database in an
HP-UX environment utilizing ESQL/C, 4GL and unix shell
scripting, including awk and perl, depending on the specific
task.
Apr. 1998 to 3Com/CommWorks, Vienna, Virginia
Jan. 2003 Position: Senior Technical Consultant
. Part of a team to design and implement a new remediation
system that integrates with a BellCore automated switch
provisioning product in the Verizon regions and automates
tasks that users are currently performing manually. This
product accepts fallout from the client system, parses the
input, and through a rules based engine, determines the
required corrective actions and/or additional information
required from various client systems. Additional information
is gathered from the client systems via terminal emulation
and the local database is updated. At this stage, final
remediation is achieved by connecting to the client system
and editing the internal database with the correct
information which then allows the client system to correctly
update the information in the switch.
. The system is designed in a workflow model, whereby each
module within the system has a specific task. A workflow
manager was designed that invokes each work step as the work
is performed. Work can be stopped or resumed at any point
within the work flow. The workflow manager insures that all
daemon processes or timed processes are running as desired.
Each process module can be configured to initiate any number
of concurrent instances to optimize performance and task flow
throughput. Terminal emulation is achieved with C utilizing
tcl/expect scripts.
. All software developed in C, ESQL/C, tcl/expect and Bourne
Shell in an Informix Online database environment.