Career Profile

Christopher Wininger has ten years of experience developing software solutions. He enjoys learning and is constantly seeking to improve his process by evaluating the newest technologies and methods for application design. He flourishes in a team setting and has experience working with large code bases through the duration of the software life cycle. Christopher greatly values well managed, maintainable code. He strives to bring consistency and a well planned structure to all of his projects.

Experience

Lead Back-End Developer

2013 - 2018
airSpring Software, Lexington, KY

Chris worked with 16 other developers on a large NodeJS application called airSpring. AirSpring is a web application which allows customers and in house developers to rapidly build dynamic web applications using a low-code drag-and-drop interface. Chris lead development efforts on back-end web services, developing and maintaining several NodeJS applications. His role began as a senior developer and grew to include administrative tasks such as performing interviews and representing the company at conferences.

  • Offline Storage: Designed and implemented storage and synchronization mechanism allowing applications developed on the airSpring platform to function offline (used Application Cache, LocalStorage, IndexDB, and Socket.io)
  • Database Storage: Worked on persistence mechanisms, helping to create and implement the architecture used to track changes, serialize and transmit deltas to the server, and convert requests into MongoDB operations
  • Multi-Server Deployment Process: Helped develop application packaging and deployment processes including server pool management functionality involving server to server communication
  • Process Management: Created a module for managing an arbitrary number of child processes communicating over ZeroMQ to support isolation of blocking tasks
  • API Design Features: Implemented both the back-end and initial user interface for airSpring’s Web API Builder allowing customers to design web APIs, which leverage pre-built actions as well as allow customers to supply custom functions
  • Authentication and Access Control: Developed much of the authentication and access control code handling integrations for SAML, LDAP, and Google Auth (also handles token based auth for api end points)
  • Maintenance and Bug Fixing: Resolved concurrency issues and race conditions in highly asynchronous multi-process distributed code paths
  • Performance Analysis: Optimized hot JavaScript code paths and identified memory leaks in long running JavaScript applications
  • Worked Booth at the BoxWorks Conference: Spoke with potential customers and strategic partners, giving demos and feilding questions
  • Assisted with Hiring: Conducted technical interviews and participated in selection of new developers
  • Training: Gave technical talks and feature demonstrations to team members and assisted in bringing new developers up to speed with code base
  • Documentation: Provided internal documentation for the features and processes I worked on

NodeJS Consultant

2017 - Present
Infinite Industries, Lexington, KY

Provided free consultation and development work to a local non-profit building a platform for the dissemination of cultural events

Senior Developer

2011 - November 2013
Aspect Software, Chelmsford, MA

Worked closely with a client in the health care sector to update and implement software solutions for the finance department, participated in regular scrums and meetings with members of the development team, created custom web applications to meet the needs of the client, and updated and maintained existing applications

  • Registration Application (.Net web application used to handle registration in training courses): Made extensive updates to the database schema, created administrative modules, and implemented changes to the user interface to improve performance and user experience; Maintained the application, fielded bugs and performed upgrades
  • Control Documents Application (MVC web application used to track supplies as they enter the dock and move through processing queues): Redesigned the legacy ASP .Net 2.0 application as an MVC 3.0 application; Added new functionality and corrected bugs; Maintained SSIS packages used to integrate and merge data extracted from proprietary systems; Improved user experience by implementing client side logic including the use of AJAX calls
  • RVU Application (Used to track and adjust Relative Value Units against budget and expense data): Automated data imports for the system, replacing a manual processes previously carried out by IT; Rewrote portions of the application to integrate better with other Aspect products used by the client; Created administrative modules to allow the client staff to adjust application behavior and user access; Enhanced functionality, adding new calculations and changes to the visual presentation of data
  • Ask A Question Application (Used by staff on the clients network to ask and receive responses to questions): Created tables and interfaces to implement tiered access restrictions on the system; Corrected bugs and improved interaction with the SMTP server used to deliver notifications and updates
  • Capital Request SharePoint Feature (A SharePoint 2007 solution used to handle Capital Equipment acquisition requests): Created an InfoPath form with multiple views and code behind; Wrote web services to facilitate communication with other Aspect products; Designed web features to create the necessary lists, content types, site columns, and associations on the clients SharePoint site; Created a process to convert legacy data to the new format; Created Nintex work flows to handle item level security and deliver e-mail update
  • Budget Exception and Budget Adjustment Forms (SharePoint 2007 web feature used to submit information regarding exceptions to the budget): Created InfoPath form and necessary code behind; Created web feature, web services, and implemented work flows using Nintex workflows
  • Position Management Proof Of Concept: Worked with another program to define the technologies to be used for a product rewrite of an application used to deal with staffing and meta data regarding job positions; Created a proof of concept for the rewrite making use of Microsoft MVC 4, Microsoft Web API, Ninject (dependency injection for .net), Enterprise framework, JQuery, and KnockoutJS
  • Keeping Clients Happy: Participated in regular meetings with the client and responded to feedback and bug reports from the field.

Programmer

November 2008 - August 2011
  • Redesigned and implemented software for the intake and processing of phone messages while maintaining legacy support
  • Worked with a team on the design, implementation, testing, and deployment of a tiered system for the drafting and management of bills as they move through the legislative process
  • Implemented an API to rapidly convert between documents stored in Rich Text format and our own proprietary document format based on Open XML
  • Created specialized forms in the Bill Drafting application to handle the import of Redistricting Plan data generated by GIS software
  • Developed algorithms to index the language in the Kentucky Revised Statutes
  • Designed and implemented both desktop and web based graphical user interfaces through which agency staff can search the existing laws and quickly identify references to terms
  • Supported a legacy application used by senior legislative staff to assign legislative committee appointments
  • Rewrote and supported the application used to assign legislative committee appointments
  • Designed and implemented agency tools used by staff to accomplish daily administrative tasks
  • Created tools for analyzing and testing data generated by the Bill Drafting system
  • Conducted meetings and training to familiarize staff with newly developed applications
  • Fielded phone calls, responded to error reports and new feature requests in enterprise applications

Test Coordinator/Build Specialist

January 2008 – October 2008
  • Managed code for a modular .Net application designed to handle intake, processing, storage and retrieval of data for the child welfare system in the state of Indiana
  • Worked with Microsoft Team Foundation Server to handled the migration and building of code as it moved throughout the testing cycle
  • Improved communication between development and testing staff and supported the tracking of solutions as they moved from developer machines into the testing code base
  • Worked with the quality assurance team to ensure adherence to design and specification as the software system migrated through testing and production environments

Web Designer

2002 - 2003
The Studio by Mark A Rice, Indianapolis, IN
  • Performed administrative duties such as purchasing the domain name and setting up the hosting service
  • Designed and built a website to advertise services of the studio
  • Maintained and updated the website over several months

Projects

  • Fong Phone: A synthesizer in your pocket intended for performance art, soundscapes, and teasing pets. Written in Cordova with a non-traditional UX the app is available on IOS and Android
  • Every Picture Tells a Story: A gallery piece written in NodeJS and targeting POSIX, this application converts images to ASCII art containing fragments of text in real time, presenting the viewer with an interactive mirror of words
  • Call and Response: A collaborative project with Ainsley Wagoner and Andrew Alred, Call and Response leverages Electron, the Web Audio API, some fun fractal analysis, and good old CSS to present a moving field of colored dots that participants interact with by speaking, singing, and clapping
  • Fong Tron: A a multi-user interactive sound scape presented at The Living Arts and Science Center based on the Fong Phone application. The user interface from my Phong Fone app was wrapped by a web socket layer and served to touch devices allowing each user to control different aspects of the sound and visual dispaly on a large screen

Skills & Proficiency

JavaScript

NodeJS

HTML & CSS

React

Vue

Backbone

Angular

C#.Net / MVC

C/C++

Ruby on Rails

Scheme

MongoDB

SQL (Postgres, T-SQL, MySQL)

Jenkins

Selenium/Nightwatch

Jasmine

Share Point

Box

Apache

nginx

Linux Admin

Docker

Skills & Proficiency

  • Languages and Platforms: 
    JavaScript, NodeJS, HTML & CSS, React, Vue, Backbone, Angular, C#.Net / MVC, C/C++, Ruby on Rails, Scheme
  • Database Technologies: 
    MongoDB, SQL (Postgres, T-SQL, MySQL)
  • Build Toos and Testing Frameworks: 
    Jenkins, Selenium/Nightwatch, Jasmine
  • CMS Platforms: 
    Share Point, Box
  • Devops: 
    Apache, nginx, Linux Admin, Docker

Education

  • BA in Computer Science

    Indiana University
    2002-2006
  • BA in Russian Language

    Indiana Univeristy
    2002-2006
  • Study Abroad

    St. Petersburg State University
    2005

Certifications

  • Programming in HTML5 with JavaScript and CSS3 – Microsoft Certified Professional (MCP)

Contact Info