Skip Navigation Links

blank imageHome
blank imageContact Info
blank imageResume
[ PDF | text | HTML ]
Steven B. Dunham
dunham@cse.msu.edu
702 349 1525

Summary

I have a diverse background ranging from theoretical computer science to systems administration. I tend to be a jack of all trades, doing whatever needs to be done. I enjoy learning new technologies and skills, solving problems, and leveraging computer technology to make people's jobs easier.

I'm looking for a Software Engineering position where I can apply my skills to design and write software and further develop my skills and knowledge base.

Education

Michigan State University
1997-1999 Master of Science in Computer Science
1994-1997 Master of Science in Mathematics
1990-1994 Bachelor of Science in Mathematics

Work Experience

2003-current -- Member of Technical Staff
Systems Research and Development
  • Designed and implemented a C++ database abstraction layer modeled on JDBC.
  • Implemented prototype of next generation of our product, a Database entity resolution system that uses cyptographic techniques to assure anonymity.
  • Designed and implemented various Java applications that imported and exported data from databases and talked to IBM MQ Queues.
  • Helped turn the prototype into a product.
  • Helped with IT support of Linux, Solaris, and Windows servers.
  • Supported SAN systems and Oracle database servers.
  • Authored a pending patent.
1999-2002 -- Software Engineer
SiteROCK Corporation
  • Reimplemented a Remedy based ticketing system in TSQL and C++.
    • Wrote two multithreaded windows services in C++ that interfaced to the Database via SQL and an extended stored procedure written in C.
    • Implemented the ticketing system logic in TSQL stored procedures.
  • Helped design and implement a web interface and backend for configuring customer data and alert processing/acquisition for the ticketing system.
    • Made technology choices for the development platform.
    • Designed and implemented XML and relational data models and database abstraction layer.
    • Implemented XSL transforms to translate XML marked up instructions for ticket processing into HTML and other formats.
    • Reimplemented the business logic layer of the web application to significantly boost performance.
    • Helped rewrite the presentation layer XSP/XSLT code to boost performance and correct bugs.
    • Handled deployment and production maintenance of the application.
    • Helped Provide customer support for the application.
  • Reimplemented a telemetry data acquisition system as a standalone Java application.
    • Improved performance, reliability, and ease of configuration
  • Helped design and implement an alarm aggregation system in Perl
  • Designed and implement a alarm aggregation system in Java
    • Improved performance and reliability.
    • Improved fault-tolerance and load balancing.
  • Setup infrastructure for automated server builds.
  • Design and implement the build and release process for in-house software
  • Helped design and implement Linux-based monitoring servers.
  • Implemented and deployed new mail and DNS infrastructure.
  • Supported production systems running the ticketing application, web application, mail servers and DNS servers.
  • Helped debug customers mail and DNS problems.
  • Maintained network consisting of Cisco equipment and Netscreen VPN appliances.
1997-1999 -- Graduate Assistant (Student Systems Administrator)
MSU Department of Computer Science
  • Helped administer a network of about 200 Sparcs, SGIs, Linux and NT machines.
  • Diagnosed and repaired hardware, network, and software problems for the above systems.
  • Setup and maintained NFS, NIS, automount, WWW, DHCP, and FTP servers.
  • Installed Sybase 11, MySql, and Postgres database servers.
  • Tested new versions of Solaris and integrated into our automated install system.
  • Setup automated Red Hat Linux install using Kickstart.
  • Ported our Jumpstart configuration to newer version of Solaris
  • Setup automated NT install.
  • Upgraded and installed third party software.
  • Setup Linux, Solaris and NT workstations. (Including software, hardware, and network setup.)
  • Setup Linux and Solaris servers.
  • Helped with network administration (basic Cisco IOS experience, troubleshooting, and firewall maintenance).
  • Implemented machine database using Perl and PHP3 with MySql and LDAP backends.
  • Maintained shell and Perl scripts used to administer the system.
  • Provided ongoing support to users.
1994-1997 -- Graduate Teaching Assistant
MSU Department of Mathematics
  • Taught undergraduate mathematics classes; responsibilities ranged from running an entire class to doing recitation sections.
Summer 1995 -- Summer Intern
State of Michigan, Secretary of State
  • Wrote graphical application to automate a paper-based forms submission process.
1996-Present -- Developer
Debian Linux
  • Create and maintain software packages
  • Handle bug reports for my packages
  • Ported UltraSparc support to Debian Linux, managed the X server patches for Sparc
  • Managed the Sparc release of Debian Linux 2.1

Software Development Experience

  • Experience writing Java web and database applications using J2EE (JBoss), Struts, Cocoon, XSLT, XSP, XML, EJB, JDBC, and JSP technologies.
  • Strong experience programming in Java (5 yrs), Perl (5 yrs), SQL (5 yrs), C (12 yrs), and C++ (5 yrs).
  • Some experience programming in Common Lisp, Scheme, ELisp, Smalltalk, OCaml, Python, Fortran, TCL/TK, Bash, Visual Basic, and assembly language.
  • Experience debugging and enhancing C, C++, Perl, Java, and Lisp Software written by others.

Systems Administration Experience

  • Setup automated installs of Linux, Solaris, and NT.
  • Built Solaris, RedHat Linux, and Debian Linux packages
  • Configured NFS, NIS, DNS (Bind9), and Sendmail
  • Worked with Solaris (8 yrs), Linux (8 yrs), IRIX (3 yrs), NextStep (3 yrs)