React UI Engineer : Canvas, Final Grade Override
We added a way for teachers to manually adjust calculated grades for students on the cusp of a better grade than they had earned via math alone. I generalized the front end logic and interface components created for New Gradebook to work with grade overrides, rather than reinventing the wheel.
React UI & Rails Engineer : Canvas, Anonymous Moderated Marking
The team was given large feature request with a short deadline. Retooled data associations to be anonymous while preserving functionality. Rewrote front end moderation workflow. Proactively engaged Product and Design to further elaborate product workflows ahead of implementation.
My experiences across past client work and side projects provided tools and methods for debugging, understanding, and improving tools used to build Canvas. Testing tools and practices were continually updated and adjusted to benefit the team and the organization. I diagnosed and resolved critical build issues and averted engineering downtime.
Each member of the team led milestones for subsets of new features. I was responsible for enhancing teachers' experiences with entering grades in the Gradebook. I established expertise on legacy tools and their maintenance. We worked together to improve practices for implementation-agnostic UI testing and code reviews. I also contributed thousands of additional specs to front and back end spec suites.
In working with Product and Design, I used tools like Sketch and Codepen in combination to ensure that their visions were being met before implementation was complete. It helped to identify edge and corner cases not realized in the design documents and informed subsequent decision-making.
Collaborating with Community Advocates developed a better understanding of the needs and workflows of real users, spurring ideas and helping to make better decisions. Among the highlights of engaging with the community was delivering one of their oldest and most-requested features.
We adapted modern, React-based UI to work with extremely legacy UI firmly coupled to outdated tools (i.e. adapted square peg to round hole). Some of the legacy tools and libraries we either augmented or refactored out include CoffeeScript, SlickGrid, Backbone, Ember, and plenty of jQuery spaghetti. Making these and other tools all work together was both interesting and challenging.
Full-Stack Web Engineer : Canvas, Multiple Grading Periods
We extended business logic to accommodate needs of institutions using multiple levels of bucketing for grading. Grade calculations were retooled to work with new partitioning and weighting rules. Front and back end validations were implemented to ensure historical grades were no longer recalculated, both for performance and to prevent user shenanigans.
React UI Engineer : Instructure UI, Open Source React UI Library
Through use, feedback, discussions, and direct contributions, I helped the InstUI team develop the library from pre-1.0 to its current version. I was invited to Brain Trust for influencing the vision and ongoing development of InstUI.
Lead Engineer : BluStor GateKeeper, Biometrics-Secured Android SDK & Apps
Created an Android-based SDK and app for bluetooth communication with a biometrics-secured smartcard. Developed the protocol for serial communication via bluetooth. Integrated with a third-party biometrics SDK. Collaborated with smartcard hardware team to develop and document the communication API.
Extracted SDK, sample app, and production app from original proof-of-concept. Documented SDK for third-party developers. Emphasized ease of development for current and future team members.
Full-Stack Clojure & ClojureScript Developer : VuShaper, Dynamic Video Streaming Platform
Full-Stack Web & Mobile Developer : AXUS, Traveler Itinerary Curation Tool
Lead Android Developer : College Athletics Recruiting Platform
Developed Android counterpart to existing iOS app. Integrated with internal API for authentication and user data. Implemented continuous integration with local Jenkins server. Collaborated with UI Designer for app interactions and assets.
Developed Rails and Marionette.js single-page application to replace existing sales pipeline tool. Planned and delivered around iterations. Collaborated with a designer, junior developers, and contracted developers. Integrated with internal services.
Refactored legacy Node application in production. Harnessed untested code with test suite to enable safe, stable changes. Collaborated with overseas teams for homegrown internationalization. Integrated with internal services and SalesForce.
Rails Engineer : Group Coupon E-Commerce Platform
Collaborated with developer team to scale an inventory system through service extraction. Contributed to performance enhancements at the application and database layers to support hundreds of thousands of requests per minute.
Rails Developer : College Athletics Recruiting Platform
Extracted business behavior from legacy Java application into Ruby application. Extended automated email service for event-based behavior. Integrated email rendering with homegrown A/B testing service and Mandrill.
Ruby Developer : Group Coupon E-Commerce Platform
Implemented rules-based account automation for the sales team. Iteratively refined and extended rules to match an existing, manual process. Regularly demonstrated development progress and discussed agenda in iteration planning meetings.
Android Developer : White-Label Video on Demand Platform
Contributed to a widely-distributed Android SDK and associated apps with an emphasis on extensibility. Collaborated with development team while also teaching best practices and design patterns.
Instructure ~ Educational Technology Company
- Senior Software Engineer, August 2018–Present
- Software Engineer, March 2016–August 2018
8th Light ~ Software Development Consultancy
- Software Crafter, December 2012–February 2016
- Software Apprentice, June 2012–December 2012
Libraries, Frameworks, and SDKs
- Canvas LMS
- Amazon (Product Advertising, S3)
- Clean Code