Kurt A. Stephens, Chicago, IL, USA
IntroductionI've been developing software for over 30 years professionally and self-employed for most of the past 20 years and 13 years old at my first computing job. I have a broad understanding of software development languages, environments, processes and architectures. I have worked for large, medium and small companies and started some of my own companies.

My interests are strategic software architecture, reliable and scalable distributed systems, software design and coding, computer graphics, software process and software development tools. I also have backgrounds in computer geometry, geographic information systems, instant-messaging and financial systems. I am interested in helping companies develop long-term technical strategies and improve software development processes in accordance with product and organizational goals.

An ideal position for me is working closely with product development and management. I would help management enumerate and prioritize technical and process issues before design and coding. For a new product, I might be responsible for the product architecture and oversee prototype development. I could also transition to a lead developer position, if needed, as a project progressed. I'm comfortable with low-level coding, maintenance and leading a technical team.

I am a generalist and enjoy learning new techniques and applying diverse knowledge. I have at least 3 to 10 years experience with many popular programming languages as well as designing new programming languages. Technical decisions in alignment with product and organizational constraints can make a project successful, rather than any single technology. Most projects require integration of many languages and techniques; familiarity with different solutions and viewpoints are always helpful. Most of my background centers around *NIX systems as, I believe, they are the easiest to develop on and administer.

If you are looking for a knowledgeable person who understands software development from technical, organizational and business perspectives, please contact me.

ObjectiveNone: currently employed
ToolsC, C++, Objective-C, Ruby, Java, Lisp, SQL, Shell, Perl, TCL/TK, UML, Assembly (6502, x86, 680xx), PostScript, DocBook, TeX, LaTeX, UNIX/GNU Make, Emacs, X Windows, Sybase Open Server, Oracle, MySQL, Postgres, sqlite, HTML, XML, XSL, CGI, TCP/IP, GNU tools, RenderMan, GIT, SCCS, RCS, CVS, IRC, Mathematica
Operating SystemsLinux, OS X, SunOS, Solaris, NEXTSTEP, Windows
OrganizationsACM, SIGGRAPH, SIGPLAN, SIGSOFT, IEEE Computer Society


enova.com, Chicago, ILDec 2006 - Present
Senior Software Developer III / Manager

Objective: Develop Ruby on Rails Web Applications and Infrastructure for on-line B2C lending.

Manager of 5-member multi-discipline team.

Technical leadership and mentoring.

Team lead for 3 major initiatives worth millions USD revenue per year.

Responsible for white-labeling of customer website for marketing affiliates.

Designed software processes in accordance with team growth/scalability.

Ported large Ruby on Rails systems from Rails 1.16 to Rails 1.2.6.

Ported large Ruby on Rails systems from Ruby 1.8.6 to Ruby Enterprise Edition 1.8.7.

Developed volume automation scripts for Equalogic SAN hardware.

Developed localization infrastructure for rebranding of large RoR sites.

Framework for Abstracting Services In Ruby (http://github.com/kstephens/abstracting_services_in_ruby slides: (http://kurtstephens.com/pub/ruby/abstracting_services_in_ruby/asir.slides/index.html).

Performance improvements to CRuby core: GCD, Rational and GC.

Functional advice for Ruby (http://github.com/kstephens/cheap_advice).

Trick Serializers using Proxies (http://github.com/kstephens/trick_serial).

Git process simulator (http://github.com/kstephens/git_process).

Developed an efficent thread-save GC library for use in CRuby (http://github.com/kstephens/smal)

Ruby GC simulator (http://github.com/kstephens/ruby_gc_simulator generates slides:http://kurtstephens.com/pub/ruby/ruby_gc_simulator/slides/index.html)

Prototype for run-time memory manager selection in CRuby (http://github.com/kstephens/ruby/tree/trunk-mem-api).

Experiments in bootstrapping programming environments (http://github.com/kstephens/tort, http://github.com/kstephens/tl).

Developed an enterprise CMS to manage branded content types (http://github.com/kstephens/contenter).

Developed an multi-faceted/multi-language software component framework (http://github.com/kstephens/cabar).

Developed extensible User/Role/Capability authorization framework using pattern expansion.

Developed test running framework that collects test metrics in a distributed manner.

Developed UML2 compliant Statemachine library for Ruby (http://github.com/kstephens/red_steak).

Chicago Ruby talk: "Ruby Code Tweaks" (http://kurtstephens.com/node/122).

js.chi users group talk: "Generating Headless Javascript Tests for Validations" (http://kurtstephens.com/files/headless_js_testing.pdf).

Tools: Ruby, Rails, Postgres, Git, Perforce, UML, C, Bash.

OS: Ubuntu, Debian, OS X.

umleta.com, Hollywood, FLMar 2006 - Dec 2006

Objective: Provide UML tools for LAMP environments.

Commercial support for UMMF (http://ummf.umleta.com/).

Developed extensible Currency/Monetary object gem for Ruby (http://github.com/kstephens/currency).

Developed multimethod dispatch gem for Ruby (http://github.com/kstephens/multimethod).

Tools: Ruby, Perl, Apache, MediaWiki, CVS, UML.

OS: Linux, Cygwin.

Juice Appeal, Hollywood, FLJan 2005 - Mar 2006

Objective: Help my wife open an organic juice bar/coffee shop.

Simple content management system for business website written in Perl.

Managed design, construction and equipment selection of juice bar.

General business process design.

Sales and management.

Wireless networking installation.

Tools: Perl, Template Toolkit, Apache, FastCGI, CVS.

OS: Windows XP, Linux, Cygwin, Hollywood Municipal and Florida State Bureaucracies.

World Choice Travel, Inc. / Travelocity, North Palm Beach, FLJune 2003 - Jan 2005
Senior Software Developer/Architect

Objective: Implement new software architecture and process tools.

Designed, developed and integrated Open Travel Alliance (http://opentravel.org) interface to Travelocity/Sabre's hotel shopping/booking engine, using SOAP w/ Attachments in Java.

Designed and prototyped sales margin rule engine and web-based UI using model-view-controller patterns.

Designed system for calculating call-center sales bonuses based on target sales levels and productivity.

Designed system for handling accounting feeds (file download, processing, reporting, etc.) for external travel products using UML and UMMF for Perl code generation and object/relational mapping.

Contributor to Tangram (http://www.tangram-persistence.org/) a Perl orthogonal object/relational mapping engine.

Developed web-server performance log client/server transport system with C++, Java and Perl bindings.

Implemented pattern-based method call tracing library with AspectJ.

Configured and deployed MySQL 3 on Solaris on 4-CPU Sun VX800 with RAID array.

Deployed Twiki and Bugzilla for software development group.

Recommended basic system security practices.

Specified software development department training plans.

Configured, compiled and installed various open source software.

Research paper published in ACM SIGPLAN Notices.
  See: http://kurtstephens.com/research/paper/xvf_paper/index.html.

Tools: UML, Perl, Apache, mod_perl, C++, Java, AspectJ, XML, SOAP, MS Project, MySQL, Twiki, Bugzilla.

OS: Solaris, Linux, Windows XP.

ION, Inc., Delray Beach, FLNov 2002 - June 2003

Objective: Implement new software architecture and process tools.

Developed a self-hosting UML meta-model and meta-meta-model implementation for building flexible UML translation tools. Toolkit can generate XMI, Perl and Java code from UML diagrams and can do a variety of transformations of UML models. Project is now hosted on sourceforge.net.
  See: http://ummf.sourceforge.net/.

Developed a social-network mapping architecture for modeling interpersonal and group relationships.
  See: http://kurtstephens.com/pub/sonema.

Developed a physics modeling C++ template package.
  See: http://kurtstephens.com/pub/rtp.

Revised and submitted research paper to ACM SIGPLAN Notices for publishing.
  See: http://kurtstephens.com/research/paper/xvf_paper/index.html.

Tools: C++, XML, XSL, UML, Perl, Java, CVS, TeX, LaTeX, DocBook.

OS: Linux.

Where2GetIt, Inc., Wheeling, ILJul 2001 - Nov 2002

Objective: Implement new software architecture and process, software maintenance and development.

Developed new software architecture and developer framework for geographic dealer locators for B2B support.

Recommended software process improvements.

Developed architecture description document schema and tools based on Applied Software Architecture (ISBN 0-201-32571-3) process.
  See: http://kurtstephens.com/pub/xamul.

Developed postal address to latitude-longitude search engine for B2B websites.

Developed batch file processing system for B2B website.

Maintained and merged legacy geographic locator software, using custom code branching forensic tools.

Tools: XML, XSL, UML, Perl, Apache, Bugzilla, CVS, MySQL, Postgres.

OS: Linux.

I.C. Stars, Chicago, ILJan 2002 - Present
Curriculum Consultant

Objective: Develop curriculum and instruct workshops on software development and design for a non-for-profit organization that teaches IT skills to inner-city young adults.
  See: http://www.icstars.org.

Developed and instructed workshop on defensive programming.
  See: http://kurtstephens.com/icstars/wshop/src/fun_Defensive_Programming/.

Developed workshop on searching algorithms.
  See: http://kurtstephens.com/icstars/wshop/src/alg_1_Searching/.

Tools: C#, Java.

OS: Windows 2000.

ION, Inc. (defunct), Chicago, ILFeb 2001 - Jul 2001

Objective: Study software process and project management. Develop symbolic audio and geometry tools. Develop development tools.

Developed a symbolic manifold expression evaluation framework in C++.
  See: http://kurtstephens.com/pub/gman.

Developed a multidimensional manifold visualization framework in C++.
  See: http://kurtstephens.com/pub/gmv.

Developed a OpenGL window abstraction library in C.
  See: http://kurtstephens.com/pub/glwin.

Developed an interval arithmetic library in C.
  See: http://kurtstephens.com/pub/gintv.

Prototyped audio synthesis library in C++.
  See: http://kurtstephens.com/pub/gaud.

Developed cross-platform build tools.
  See: http://kurtstephens.com/pub/gum.

Developed generic visitation C++ framework. Research paper publish in ACM SIGPLAN Notices (http://kurtstephens.com/research/paper).
  See: http://kurtstephens.com/pub/xvf.

Developed a meta-attribute class definition environment for Perl.
  See: http://kurtstephens.com/pub/metaattr.

Developed a web application framework for Perl using meta-attribute class definition support.

Tools: C, C++, XML, XSL, Bison, Yacc, Flex, SWIG, Perl, Tcl, Tk, Scheme, Bash, GNU Make, CVS.

OS: Linux, FreeBSD, Win32, Cygwin.

Parlano, Inc., Chicago, ILFeb 2000 - Feb 2001
Software Engineer

Objective: Developed enterprise, community-based, instant messaging software using IRC protocols.

Developed a generic Perl class definition language for attribute and relation abstraction with generic database storage for web front-end to user and channel databases of a instant messaging system.

Supported logging and authorization subsystem for IRC.

Developed software installation system.

Developed software license management system.

Developed embedded code documentation tools.
  See: http://kurtstephens.com/pub/codedoc.

Developed DocBook translation toolkit.
  See: http://kurtstephens.com/pub/docbook.

Developed general client/server non-blocking I/O framework library for C used in authentication server.
  See: http://kurtstephens.com/pub/pl_rr.

Developed build and process automation tools.

Tools: Perl, C, C++, XML, XSL, Java, Shell, GNU Make, DocBook.

OS: Solaris, Linux, Win2000.

UBS/Perot Systems, Chicago, ILFeb 1999 - Feb 2000

Objective: Worked for a software research/support group at UBS (formally SBC Warburg Dillon Read) in Chicago, IL.

Developed a process and machine monitoring application.

Maintained proprietary instant messaging system based on IRC.

Tools: C, C++, Perl, Shell, HTML, UNIX Make.

OS: Solaris, NEXTSTEP.

Swiss Bank Corp./Perot Systems, Chicago, ILApr 1994 - Aug 1998

Objective: Worked for a software research/support group at SBC Warburg Dillon Read in Chicago, IL.

Developed portable Java build toolkit for Solaris and WinNT.

Developed Perl HTML toolkit for source code documentation.

Developed Sybase Open Server application for SQL command logging.

Ported NeXTSTEP applications to OPENSTEP for Windows NT.

Developed process tracking software using HTML Forms and sybperl for database access from WWW browsers.

Design and implementation of software support processes for Public-Domain software support (tcl/tk, expect, python, IRC, perl5, emacs).

Evaluation of BSD socket network programming libraries for DOS/Windows. Developed a portable remote procedure call (RPC) library for Windows and NEXTSTEP UNIX based on sockets.

Windows application development using Microsoft's Foundation Classes.

Evaluation of Applixware, WingZ and Quantrix spreadsheets as real-time price engines. Development environment requirements evaluation and tool development.

Designed and evaluated configuration management tools. Developed portable distributed build tools and software release tools.

Tools: C, C++, Objective-C, Perl, Shell, TCL/TK, HTML, Apache, CGI, Sybase, RCS, SCCS, GNU make, UNIX Make, MS Dev Studio.

OS: Linux, Solaris, NT, NEXTSTEP, Cygwin.

Motorola, Inc., Arlington Heights, ILAug 1993 - Jan 1994

Objective: Worked for software development tools group at Motorola, Inc's Cellular Infrastructure Group in Arlington Heights, IL. This group developed build and version control tools used by over 200 developers on the SunOS/Solaris platform.

Maintained custom software development tools, porting software from Sun3 to SPARC, GNU CC maintenance and porting.

Developed reusable C libraries for development tools and specialized UIs for CenterLine's CodeCenter.

X Windows application programming.

Tools: C, Shell, X, XLib, Motif, SCCS, Assembly (8080, SPARC), UNIX Make, Oracle.

OS: Solaris, SunOS.

nPOINT, Ltd. (defunct), Niles, ILNov 1991 - Aug 1993
President and Chief Software Architect

Objective: Co-founder and technical leadership in development of next-generation 3D modeling software for a start-up company in Niles, IL.

Architecture, design and implementation of 3D modeling kernel, interfacing to Pixar's RenderMan 3D rendering software, using object-oriented and symbolic and numerical mathematics techniques.

Developed reusable user interface objects, interactive 3D display software libraries.

Developed embedded PostScript and Scheme (LISP) interpreter libraries.

Implemented software configuration and build management tools on NEXTSTEP UNIX workstations.

Tools: C, C++, Objective-C, Perl, Lisp, Display PostScript, Shell, CVS, RCS, RenderMan, Assembly (68030, ix86), GNU Make, Mathematica.


Motorola, Inc., Arlington Heights, ILMay 1988 - Nov 1991
Software Engineer

Objective: Software development tools group at Motorola, Inc's Cellular Infrastructure Group in Arlington Heights, IL.

Designed and implemented tools for software configuration management, production software building on Sun UNIX workstations.

Specified software development processes and managed software version repositories and validated software builds.

Beta tester for Borland C++ 1.0 on MS-DOS.

Tools: C++, C, Korn Shell, SCCS, UNIX Make.



Harper College, Palatine, IL

1991: Computer Science/Mathematics.


Teaching, Triathlon, Art, Music production, DJing, Drumming


Current software projects at: http://github.com/kstephens, http://www.kurtstephens.com/pub.
Research papers at: http://www.kurtstephens.com/research/paper.
Further information and references are available upon request.
This resume is located at http://www.kurtstephens.com/resume.html.
E-Mail at ks.resume3-STOPSPAM-AT-kurtstephens.comSTOPSPAM
Revision: 2013/10/15

Generated by resume.xsl from resume.xml, written by Kurt Stephens.