( x . y )
email: frank@consxy.com | resume (pdf)
5620 N. Virginia
Chicago, IL 60659
(773) 727-3247


Chicago, IL: 8/2000 - 5/2004
BS in Computer Science
Illinois Institute of Technology

Relevant Skills

Languages with >10k lines of code
Common Lisp, JavaScript, PHP, Python, Shell Script, Java
Languages with >1k Lines of Code Ruby, C++, Scala, CoffeeScript
Things to ask me about
Vim, Linux (Gentoo/Ubuntu), Unix toolchain (grep, sed, etc.)
Open Source, Git, Ansible
Web Technologies (CSS, HTML, HTTP, etc.)

Work Experience

Katherine Anne Confections, Chicago, IL

Founder and CTO (9/2006 - Present)
Designed and implemented http://katherine-anne.com. Created custom financial software tailor-made to the business process including various day-to-day operations of business such as printing forms, managing a customer database, automated shipping, automatic reconciliation with bank accounts, order management, and invoicing. Created the graphic and layout design while adhering to internet usability principles.

Open Tech Strategies

Software Developer (4/2018 - Present)
Worked on various open source web applications in different capacities, at times simultaneously:
Work included:
  • Swapping projects and skillsets as needed by clients
  • Code reviews, project design, deployment, database maintenance and setup, documentation
  • Working with clients to formalize business requirements that could be delivered
Skills Used: Common Lisp, Java, Javascript, Python, Ansible, PHP, Mysql, Postgresql

Vanderbilt University

Software Developer (7/2016 - 7/2017)
Developed collabsnap: a prototype addition to SNAP! to allow for collaborative work. Details included:
  • Writing simple in memory database and servlets to handle state
  • Creating SNAP! blocks to connect to server
  • Writing examples that showcased new features
Url: https://github.com/frankduncan/collabsnap
Skills Used: Java, Javascript, SNAP!

Center for Connected Learning at Northwestern University, Evanston, IL

Software Developer (9/2013 - 11/2015)
Developing a NetLogo to JavaScript compiler, as well as maintaining legacy NetLogo implementation. Work includes:
  • Writing the compiler in Scala.
  • Writing NetLogo models to gain a better understanding of the language.
  • Creating extensive tests to check for correctness of compiler.
  • Writing the NetLogo engine in CoffeeScript.
  • Open sourcing software on github at github.com/NetLogo under the username frankduncan.
Skills Used: Scala, Coffeescript, JavaScript, Continuous Integration, Service Level Testing.

The Karn Group, Chicago, IL

Jack of all Trades (5/2009 - 6/2013)
One of three developers delivering financial compliance services in an ASP model. Responsibilities include:
  • Creating, and open sourcing, custom Common Lisp to HTML/JavaScript/CSS framework for quick development.
  • Working directly with external clients to map out functionality.
  • Specifying requirements for, installing, deploying, and maintaining hardware at a local datacenter.
  • Designing application user interface in concert with client needs.
  • Architecting data models into multiple backends including Mysql, Postgres, Tokyo Cabinet, and custom solutions.
  • Developing entire applications from database schemas to HTML.
  • Supporting and maintaining production applications.
Skills Used: All aspects of the project lifecycle, from initial design, through testing, deployment, and maintenance.

Orbitz WorldWide, Chicago, IL

Senior Software Engineer: Internal Tools (3/2008 - 5/2009)
Developed and administered tools for internal technical customers. Responsibilities included:
  • Administered Atlassian Jira, Atlassian Confluence, AccuRev, RPM repository.
  • Developed in-house tools for handling transitive dependency management and releasing software.
  • Extended third party tools such as Jira, Confluence, and Ant for customized use by Orbitz employees.
Skills Used: Ruby, Rails, Python, Java, Maven, Common Lisp, and Ant.
Senior Software Engineer: Transaction Services (4/2005 - 3/2008)
Developed software for Orbitz backend tier. Projects included:
  • Provided Production Support for multiple high traffic sites.
  • Architected and wrote the redesign for the switching layer for the air vertical.
  • Built tool sets for developers to search site logs, drive controlled transactions, and manage the release process.
  • Migrated the merchant processing module to a dynamic plugin architecture.
  • Wrote a backend module for Orbitz For Business's hired-car module using SOAP as communication via AXIS.
Skills Used: Junit, Spring, Jboss, Tomcat, JDBC, Beanshell, and Ant.

Ribstone Systems, Chicago, IL

Application Programmer (3/2004 - 4/2005)
Created internal PHP applications for Managing Sales and Orders
Application Tester (6/2003 - 4/2005)
Tested releases of Java-based company products.
Systems Programmer (12/2003 - 3/2004)
Created scripts for automated custom Linux installations.
Customer Support and Training (3/2004 - 4/2005)
Visited client sites to provide company product training.

Unisys, Roseville, MN

Co-op software tester (5/2002 - 8/2002)
Co-op software developer (6/2001 - 12/2001)

Open Source Projects

CLNL (https://consxy.com/clnl)

Primary Developer (2/2016 - Present)
CLNL is a toy implementation of NetLogo in Common Lisp.