Stephen Villee, Software Developer in Berlin, NH, United States
Stephen Villee

Software Developer in Berlin, NH, United States

Member since November 18, 2015
Stephen has been a software engineer for over 30 years. From developing software for the Unix platform in the 1980's to producing enterprise-level financial and eCommerce software on PHP, JS, and the C language family, he prides himself on being meticulous and developing high quality software. He is a dedicated, efficient individual and a great communicator, and looks forward to contributing valuable skills to your project!
Stephen is now available for hire



  • C, 20 years
  • Assembler x86, 20 years
  • PHP, 10 years
  • MySQL, 10 years
  • Visual Basic, 10 years
  • JavaScript, 5 years
  • Drupal, 5 years
  • jQuery, 3 years


Berlin, NH, United States



Preferred Environment

Linux, Apache, MySQL, PHP. Git for source control.

The most amazing... I've written is a marketplace for software development that ties developer income to performance, including penalties for bugs.


  • Software Engineer

    2006 - PRESENT
    Plymouth Design Group
    • Upgraded a client's online store from X-Cart 3 to X-Cart 5. This involved writing X-Cart 5 modules to implement custom functionality that had previously been implemented as hacks to the X-Cart 3 core.
    • Worked with a team to redesign the user interface for an online shipping marketplace. I acted as lead developer for the back-end software.
    • Developed a utility to allow an Excel application on the Macintosh to generate several reports and combine them into a single PDF.
    • Created a system to allow several Excel software products to be licensed for 30 days at a time. This included code on the server to calculate the expiration date, along with Excel macros to enforce it.
    • Added a "what if" sheet to an investment analysis spreadsheet to let the customer make incremental changes to key assumptions, and immediately see the effect on various metrics.
    • Developed a system to add a banner to each eBay listing for a given seller, encouraging buyers to use a particular company for shipping.
    • Developed a web application to show market value for wet shaving gear, based on data from eBay sales, obtained through Terapeak.
    • Enhanced the partnership section of an investment analysis spreadsheet to show the effects of waterfall tiers in partner distributions.
    • Added macros to an Excel application to allow data to be imported from an earlier version of the application.
    • Modified the admin section of a shipping marketplace to show a variety of sales analytics, and to download this information in CSV form.
    Technologies: PHP, JavaScript, Excel, VBA
  • PNACL Chrome Extension Developer

    2016 - 2016
    Atlas Learning (via Toptal)
    • Created a Google Native Client application to make a voice recording, encode it as MP3, and upload it to Google Drive.
    Technologies: C, Google Native Client
  • Software Engineer

    2000 - 2003
    • Developed a call control module to allow an analog phone to be connected to an H.323 network.
    • Tracked down and fixed several bugs in a vendor's H.323 protocol stack.
    Technologies: C, RTEMS
  • Systems Analyst

    1993 - 2000
    • Developed firmware for a portable device to read barcodes on concert tickets, allowing venues to collect statistics about attendance.
    • Developed an ODBC driver to allow direct access to a ticketing database from applications such as Microsoft Excel. This consisted of over 10000 lines of C++ written in about three months.
    • Wrote a version of the Kermit file transfer program in Pascal, for use under a proprietary operating system used for ticketing.
    • Rewrote some accounting reports to use a Microsoft Access database to store sales data.
    • Wrote numerous utilities to import data about sold and reserved seats into a proprietary ticketing system.
    Technologies: Pascal, VAX Assembler, Microsoft Access, C++, ODBC
  • Software Engineer

    1988 - 1993
    • Sped up several Viasoft product components by rewriting some database access modules. The performance of the analyzer improved by about 30%.
    • Wrote a utility to take the JCL for a COBOL compile and convert it into JCL to run the Viasoft analyzer. This was important because customers had such varied ways of running the COBOL compiler.
    • Developed a system to allow Viasoft products to be split into packages that would be dynamically loaded as needed.
    • Integrated the Viasoft editor into the regular ISPF editor so that there would be no performance penalty until one of the special Viasoft commands was invoked.
    • Found a bug in another vendor's product that was manifesting itself as a failure in a Viasoft product. Suggested a fix.
    Technologies: Pascal, IBM Mainframe Assembler, COBOL
  • Software Engineer

    1987 - 1988
    • Helped port an interactive cable video system for hotels and cruise ships to Unix System V.
    • Completely rewrote some firmware that served as a gateway between the in-room video board and the Unix System V head end. This was several thousand lines of Z80 assembler code.
    Technologies: Unix, C, Z80 Assembler, 6502 Assembler
  • Software Engineer

    1984 - 1987
    • Developed general purpose network software for Unix.
    Technologies: Unix, C, x86 assembler
  • Software Engineer

    1980 - 1984
    • Developed and maintained components of the GCOS 8 operating system.
    Technologies: Honeywell 6000 Assembler (GMAP), PL6


  • Fun Facts About 59 (Other amazing things)

    Explains how the number 59 is mathematically interesting. Includes case studies of a number field, a Hilbert class field, and an elliptic curve.

  • Persisting Data Across Page Reloads: Cookies, IndexedDB and Everything In-Between (Publication)
    Modern web browsers offer a number of different APIs and mechanisms to storing data on the client-side. But are all of these options created equal? In this article, Toptal engineer Stephen Villee demystifies the various client-side storage options available in modern web browsers and explains how each of these can play a role in storing session data on the client-side.


  • Languages

    PHP, C++, Assembler x86, Pascal, Visual Basic, C, JavaScript, COBOL, Java, Ada
  • Storage

  • Frameworks

    CodeIgniter, Bootstrap, ZURB Foundation, Loopback, AngularJS
  • Libraries/APIs

    jQuery, eBay API, Facebook API, Node.js
  • Platforms

    Drupal, WordPress
  • Other

    Google N


  • Bachelor of Arts degree in Mathematics
    1977 - 1980
    Harvard University - Massachusetts

To view more profiles

Join Toptal
I really like this profile
Share it with others