enova.com, Chicago, IL | Dec 2006 - Present |
http://enova.com/ |
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, FL | Mar 2006 - Dec 2006 |
http://umleta.com/ |
President/Founder |
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, FL | Jan 2005 - Mar 2006 |
http://juice-appeal.com/ |
Co-Owner |
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, FL | June 2003 - Jan 2005 |
http://wctravel.com/ |
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, FL | Nov 2002 - June 2003 |
Researcher |
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, IL | Jul 2001 - Nov 2002 |
http://where2getit.com/ |
Consultant |
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, IL | Jan 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, IL | Feb 2001 - Jul 2001 |
http://ionink.com/ |
Researcher |
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, IL | Feb 2000 - Feb 2001 |
http://parlano.com/ |
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, IL | Feb 1999 - Feb 2000 |
Consultant |
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, IL | Apr 1994 - Aug 1998 |
http://ubs.com/ |
Consultant |
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, IL | Aug 1993 - Jan 1994 |
http://motorola.com/ |
Consultant |
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, IL | Nov 1991 - Aug 1993 |
npoint.com |
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. |
OS: NEXTSTEP. |
|
Motorola, Inc., Arlington Heights, IL | May 1988 - Nov 1991 |
http://motorola.com/ |
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. |
OS: SunOS, MS-DOS. |
|