Douglas Bidzell
855 Loxford Terrace
Silver Spring, MD 20901
240-463-4717
dug@ape.org
Objective: Software Engineer
focusing on UNIX development.
Computer Skills:
- Languages: C; C++; Java;
Perl; Python; Tcl; Expect; JavaScript; COBOL; Pascal; FORTRAN; SAS;
LISP; Assembly
- Internet Development: Java
Applets, Servlets and JSP pages using Tomcat and Jboss application
servers. Also mod perl, CGI in Apache.
- Component Technology: Java
Beans; Java Messaging Service.
- Operating Systems: UNIX
(Linux (Fedora Core, Debian), Solaris, Cygwin, BSD).
- Databases: Postgresql;
MySQL; Oracle; Sybase. Proficient in SQL scripting, stored
procedures, accessing databases from programming languages (JDBC,
Perl DBD).
- Security: IPSec VPN;
OpenVPN; IPCop firewall; SSL.
- UI: Struts; Java AWT; Java
Swing.
- Development Tools: Eclipse;
emacs; vi; gdb; jdb; ant; make; code profiling; Bugzilla.
- Version control: RCS; CVS;
subversion; SCCS; Clearcase; PVCS Tracker. ScmBug
(Subversion-Bugzilla integration).
- Administration: DNS;
sendmail; TCP wrappers; sshd; httpd; UNIX cron; SystemV start-up
scripts; systemd-style startup; IPSec VPN; IP masquerading;
shorewall; IPTables.
Experience:
9/2003 – Present: Senior Software
Developer, Fleming/AOD, Silver Spring, MD.
- Design, develop and test secure
web applications using Java,Tomcat and Postgresql on Linux.
Functionality includes surveydata-entry, file-transfer utilities,
administrative tools andsophisticated reporting. Principal
applications permit InpatientRehabilitation Facilities and Long-Term
Assisted Care Hospitals to track patient-care outcomes , document
medical necessity, and transmit required data for Medicare
reimbursement.
- Design, develop and test
stand-alone Java reporting applicationsusing Postgresql and Java,
and running on Linux. Applications createreporting data sets used by
web applications when displayingreports.
- Achieved order-of-magnitude
reduction in execution time ofreporting application by adding
multi-threading, events, andmanaged relationship of time-periods to
data sets.
- Design, develop, test and deploy
web application feature enabling data download using templates which
user may create, save and share. Feature makes extensive use of
Javascript and AJAX to improve responsiveness.
- Extend template-download system by
developing Java application to perform unattended downloads. Doupled
throughput of application by refactoring into a multi-threaded
implementation. Use pam_pgsql to give users one-stop password
management for the web application and the download service.
- Extend authorization and
authentication of principal company web application by developing
and testing code which authenticates over SSL against an LDAP server
(Active Directory), and queries the LDAP server for privileges
available for use in the web application.
- Develop and test web service to
interface customer's Health Level 7 (HL7) data feed with internal
Mirth HL7 engine.
- Design, develop and test secure
file-transfer application writtenin Java, which can be executed
manually or automatically inresponse to an external event.
- Developed tool to generate Java
source files from tables inPostgresql database.
- Deploy major releases of
mission-critical web applications to production servers, with
extensive database migration.
- Migrate company's source code from
Virtual Source Safe to Subversion, preserving change history. Use
Subversion externals to implement code-sharing already in place by
virtue of VSS linked files.
- Provide secure networking for HL7
interfaces with customer health-care facilities through monitored
SSH tunnels.
- Migrate network security from SSH
tunnels to IPSec VPNs, while continuing to provide monitoring.
- Develop bash scripts and Java
applications to perform off-site monitoring of mission-critical
applications.
- Developed suite of scripts for
nightly offsite backup of mission-critical file server and database
servers, meeting federal guidelines for secure transmission and
storage of Private Health Information (PHI).
9/2008 – 10/2011: Systems and Network
Administrator, 13x Consulting
- Create and administer Virtual
Machines running Debian Linuxusing XenServer and XenCenter. Upgrade
VMs for customers withfull testing of users' applications after
upgrade. Set up redundant VM installs over disparate networks with
automated backups.Maintain security on VMs using Shorewall and TCP
wrappers.
- Create Debian package to
automatically set up new VMs with 'company standard' set of packages
and configuration files.
8/2002 – 11/2003: Senior Software
Developer, Fannie Mae, Washington, DC
- Assisted in maintenance of
third-party simulation software usedto describe corporate capital
position in order to satisfyregulatory requirements. Software was
written in C++ and ran onSolaris.
- Wrote and maintained web
application using JBoss and Sybase onSolaris to assist economists
with use of simulation software.
- Wrote Java application to manage
execution of external processes.Application could be controlled via
Java Messaging Service (JMS)from a remote application, such as a web
application running on adifferent machine.
10/01 - 8/02: Senior Software Engineer,
Inter-Tel, Incorporated,Washington, DC.
- Developed fault-tolerant
application server using Java, XML andMySQL on Windows 2000.
- Ported server from earlier Solaris
version, in response tointerest from architecture team of a
Windows-based call-centerplatform.
- Evaluated different options for
JVM, RDBMS and JDBC driver,provided detailed performance testing,
analysis, and finalrecommendation.
- Achieved order-of-magnitude
improvement in performance beyondwhat was achieved in Solaris
version, within one-month timeframe.
- Gained acceptance of server as a
platform component, despiteinitial concerns from architecture team
regarding performance.
- Wrote 65-page functional
specification and design for integrationof server into call-center
platform, including a client API forvarious platform components to
access server.
- Implemented application support
library for telephony engineproduct, using previously developed
extensibility framework.
- Wrote users' guide for
extensibility framework.
- Ported application needed by
telephony engine's security systemfrom OS/2 to Win32. Corrected
obscure coding error in OS/2version which led to intermittent
failure of ported version.
- Modified previous design of
resource management and securitysystems to provide design of feature
control for call-centerplatform. Provided 35-page functional
specification includingclient API. Presented to technical and
marketing teams forreview.
1/01 - 10/01: Senior Software Engineer,
MasterMind Technologies,Washington, DC.
- Led team to develop fault-tolerant
application server using Java,C, XML and MySQL on Solaris.
- Mentored other developers on team.
- Wrote design document and test
plan.
- Reorganized existing code, rewrote
sections as needed,contributed new code.
- Achieved order-of-magnitude
improvement in performance within onemonth timeframe.
- Developed and documented procedure
for debugging native codeusing jdb, gdb and xemacs.
- Wrote scripts for build
configuration, runtime configuration,installation, testing, database
management and performanceanalysis.
- Wrote set of makefiles to build
distribution and prepare forinstallation as Solaris package.
- Designed generic resource
management for all areas of company'stelephony engine product, with
focus on third-party licensemanagement.
- Designed security system for
telephony engine to preventend-users from creating applications
based on demo versions ofapplications sold by company. Used simple
PKI with applicationcertificates, ensured ability to withstand
various forms ofattack.
- Contributed to implementation plan
for port of telephony enginefrom NT to UNIX.
- Contributed to design of
extensibility framework for telephonyengine. Framework introduced
plug-in style invocation ofend-user libraries from applications
built for engine.
- Fixed bugs in telephony engine.
Required quick learning ofproduct design, product API's, and use of
product to generatetest scenarios. Worked with ODBC, Natural
Microsystems CThardware, SpeechWorks ASR libraries, Rainbow dongles
andCommetrex dongle driver.
9/98 - 1/01: Senior Software Engineer,
Ultraprise Corporation,Frederick, MD.
- Developed C++ data access layer
for web-based mortgage tradingsystem, going from initial concept to
deployment in four months.
- Migrated code and data from
Objectstore through Oracle to MS SQLServer. Addressed concurrency
implications of eachmigration. Wrote C++ application to verify
migration to MS SQLServer.
- Developed core software used in
many company products, includingencryption class for user passwords.
- Rewrote key set of components
comprising 16,000 lines of C++ and3,700 lines of Transact-SQL to
address database concurrencyissues.
1/95 - 8/98: Programmer and Systems
Administrator, HuskyLabs,Shepherdstown, WV.
- Worked on in-house distributed
application server written inJava.
- Implemented data access interface
for mSQL and Object Design PSE.Developed mechanism to prevent
duplication of persistent objectsunder PSE implementation.
- Built authorization framework
using LDAP.
- Researched and implemented
asymmetric public-key encryption usingEl-Gamal algorithm.
- Developed interfaces for user
administration and documentmanagement using AWT and Swing.
- Developed tools to generate Java
source files from brief textfiles and database schemae. Enabled
same-day response tocustomer-driven schema changes.
- Developed classified ads system
for the initial web site of theBaltimore Sun newspaper. Integrated
data feeds from legacypublishing systems for classifieds and news,
with automatedupdate of site. Designed and maintained database for
ads andinterface for user queries.
- Developed prototype of intranet
web-enabled database applicationsfor Coca-Cola Company. Worked with
Oracle, Perl, CGI and NetscapeCommerce Server.
1/96 - Present: Consultant,
Administrators, Programmers andEngineers, Silver Spring, MD.
- Developed shopping application for
Dischord Records(www.dischord.com). Used OO Perl and mod perl,
developed tools togenerate code from database schema.
- Developed Java sales application
using AWT. Development includedOOD, scenario diagrams, integration
with Java Runtime Environment(JRE) and single-floppy installation.
- Used IP masquerading on a
dual-homed Linux server to partitionT-1 over ISDN to remote private
LANs. Required configuration ofseveral Ascend Pipe 50 routers.
- Used sendmail virtual hosting and
private DNS to route mail tolocal POP server in private LAN.
- Tutored student in introductory
Java class.
9/99 - 12/99: Teaching Assistant,
University of Maryland UniversityCollege, Adelphi, MD.
- Online class in Computer
Organization. Answered questions, gradedhomework assignments and
midterms for 30 students.
Education:
- University of Maryland University
College.
Programming in C,
4.0.
Object-Oriented
Programming in C++, 4.0.
Computer
Organization, 4.0.
Discrete
Mathematics, 4.0.
- Haverford College, Haverford, PA.
BA, Economics, GPA
3.75/4.0.
Phi Beta Kappa.
Languages:
- Proficient in French and Spanish.
$Id: resume.html 2177 2012-07-21 19:38:18Z dbirdzell $