Patrick McNeill

pmcneill@gmail.com | 804-399-6303

Summary

Strong software developer and debugger, experienced in rapid development of database-backed products and services. Many years of professional experience with web development, software architecture, optimization, and Linux systems. Graduated with Highest Honor from Georgia Tech.

Publications

Introduction to Computer Programming for Musicians
Published June 2017, revised September 2019
Written with Luke Stevens, this Berklee Online course takes students from no programming experience through writing a simple interactive web page. Primarily covers Javascript and HTML, with an overall goal of promoting code literacy for the students.

Experience

  • Berklee College of Music
    Berklee Online
    • Chief Software Architect
      August 2018 - Present
      Leads a continuing project to phase out our legacy systems, some in place since 2002. Replaced the course purchasing experience with a new integration out to FoxyCart, launched to the public in November, 2019. Deep integration with FoxyCart simplifies our ecommerce code while also opening up new avenues for marketing and reporting.
    • Manager of Software Development
      June 2015 - August 2018
      Led a small team that created BOCCE, a new LMS for Berklee Online. Chose Node.js and Ember to create a modern single-page application. BOCCE was piloted in fall of 2016, then launched in January 2017 to all students. Despite facing three times the tested load at launch, the system held up and was stabilized in a matter of days. Primary author of the asynchronous backend and integration with the content management system. Instituted bi-monthly talks among developers to improve cross-training and promote collaboration.
    • Lead Software Architect
      April 2011 - June 2015
      Senior member of a small team responsible for creating a web site, online.berklee.edu, the online extension school of the Berklee College of Music. Primary developer on both the content management system, where course materials were created, and the learning management system, which delivers that content to students. Drives the structure and design of the site through written proposals, one-on-one training with junior developers, and simply writing code in a maintainable, understandable fashion. Responsible for end-to-end work, including proposing projects based on my understanding of our users, designing and verifying such with those users if possible, then finally implementing everything. Drives evolution of the platforms by integrating new technologies as applicable, such as Docker, HTML5 media players for mobile support, and RESTful interfaces and MVC Javascript for client-side applications.
    • Senior Systems Architect
      February 2007 - April 2011
      Responsible for continuing development of custom content management system. Primary author on a multimedia editing suite, utilizing AJAX, XSL, and XML to improve the course creation process by defining all content semantically with HTML and CSS styling only applied upon deployment to the learning management system. Developed the authentication and hierarchical permissioning system. Key member in design of new server architecture to increase reliability and dramatically improve fail-over capabilities by moving the entire site to a fully virtualized, SAN-backed system.
    • Senior Web Developer
      April 2002 - February 2007
      Main developer on many areas on the site, including the online school's learning management system, the custom sales tracking tool to manage 50,000+ leads, the customer service administration area, and the bulk email marketing system. Optimized database use in many areas of the site. With two other programmers, developed the first version of the site in less than 6 months, launching on time in early September 2002 with the first public classes beginning in October 2002. Now hosting thousands of students each term.
  • Berklee College of Music
    Berklee Online
    • Instructor
      July 2017 - Present
      Teaches Introduction to Computer Programming for Musicians to up to 20 students at a time. Terms are 12 weeks long, with up to 4 terms per year.
  • Strategic Hospital Resources
    • Contractor
      July 2007 - May 2013
      Sole author of a hospital architectural planning system, used to manage assets and equipment through renovation or new construction. Responsible for full development cycle, from requirement gathering through to testing and end-user training. System supports change management for assets and projects, internationalization of data, and flexible user permissioning. Trained a junior developer on the system and SQL, who now maintains it.
  • ArsDigita
    • Senior Developer
      August 2000 - February 2002
      Research and development employee responsible for designing and implementing sections of ArsDigita's products, including version 5 of the ArsDigita Community System (ACS) and an unreleased enterprise knowledge management product. Developed key portions of the ACS persistence layer, used to abstract out all database specific code, including the "Persistence Definition Language" compiler, the automatic SQL generator, and the dynamic object type facilities. Knowledge management product work included leading design and implementation work on a rules engine to allow arbitrary assignment of incentive points to users. Developed software using Java servlets, XML, and XSL on Unix and Windows.

Skills

  • Highly proficient in Javascript, Node.js, Ruby, Tcl, Git, SQL, PostgreSQL, Linux, Docker.
  • Some experience with Ruby on Rails, PHP, C, and Kubernetes.

Education

Georgia Institute of Technology
B.S. in Computer Science, 3.7/4.0 GPA, August 2000
Graduated with Highest Honor
Specialized in Databases, Artificial Intelligence, and Compilers