Craftsy - http://craftsy.com
As a Senior Engineer on Craftsy's front end team, I introduced new tools and techniques that transformed the front end architecture. This led to a complete migration from classic JSP's and jQuery manipulations to a component-driven application structure using React and React Native, including features like server rendering, one-way data flow, and easy interaction with our new Java microservices platform. Client devices such as web or mobile share the majority of the business logic and API interaction in a single codebase, leaving just the presentation code to implement for each device.
- Built on React, Redux, Webpack, Connect, and custom universal rendering middleware
- Comprehensive unit tests in Mocha & Chai and functional tests in Geb
- Custom CLI tool to help engineers manage their Craftsy FE dev environment
Brainspace Discovery - http://enterprise.brainspace.com/discovery
I worked with Brainspace to move their Rails-driven single page application to a fully client-side architecture that interacts directly with the Java platform layer.
- Built on React, Redux, and Webpack
- Dev environment includes hot reloading and "time travel"
- Comprehensive unit tests in Mocha & Chai with realtime watching in development
Smithsonian.com - http://smithsonian.com
The Smithsonian team wanted to move away from a proprietary content management system so that they could take full control of their content and presentation. I helped them through the entire process as part of the team at Lincoln Loop, including migrating a massive amount of legacy content dating back to the 90s using a distributed multi-process CLI tool. I also helped develop the server-side application, client-side components, and a sophisticated Rackspace deployment driven by automated configuration management.
- Built on Python/Django, uWSGI, and Backbone.js
- Configuration management using Salt and Fabric
- Extensive Django CMS customization
- Implemented a sophisticated "Russian doll" caching system with selective eviction and "thundering herd" mitigation
Evite Postmark - http://postmark.com
I helped Evite build a premium invitation and greeting card application built with Backbone.js & Django and hosted on Google's App Engine. We implemented highly interactive client-side features, a stable backend platform, and a decoupled payment management system that the main Evite platform could also make use of.
- Built on Backbone.js, Django, and App Engine
- Payments API built with Django REST Framework
Senior Front End Engineer - Craftsy
June 2014 - October 2015, February 2016 - Present
I work as a Senior Engineer for the front end team at Craftsy. I'm helping them re-launch their highly successful online crafting community with a component-driven application architecture based on React and React Native. I helped implement "core-js", which allows client devices such as the web or mobile to share the majority of the business logic and API interaction in a single codebase, leading to great productivity gains. I also managed direct reports during a portion of my time with Craftsy, helping guide performance and professional development.
Developer - Brainspace
October 2015 - February 2016
I was a part of the UI team for Brainspace Discovery, a natural language processing and machine learning application for text analytics over huge unstructured data sets. I rebuilt their single page application structure for Discovery around React, Redux, CSS Modules, Mocha, and Webpack hot reloading in development. I also worked to advocate test driven development and functional programming, introducing new concepts and tools to make it easier to take advantage of these techniques.
Developer - Lincoln Loop
December, 2010 - June, 2014
I worked with a distributed team of developers to create performant and maintainable web applications with the Django web framework. I wrote efficient server applications, created rich front end components, and handled deployment and configuration management. My projects included high traffic content sites like Smithsonian.com, National Geographic Events, and GamesRadar; and dynamic web applications like Ginger and Evite Postmark.
Developer - Pegasus News
December, 2009 - December, 2010
I worked on Pegasus News, an early “hyperlocal news” pioneer. I moved them from a single-site structure to one that could support many sites, built a contributor platform for freelancers, and developed a deals section for offers from local businesses. I used Django with PostgreSQL, and managed a high performance deployment on a small colo cluster.
Associate Software Engineer - Fidelity Investments
December, 2008 - December, 2009
I handled support and maintenance for mutual fund pricing and cash management systems built on Solaris using perl, ksh, and Java with Sybase and Oracle databases.
Preferred Tools and Techniques
- ES'15 in "standard" style, CSS3 with Sass, and HTML5
- React, Redux, immutable data structures
- Node, npm, express, gulp, webpack
- Mocha + chai, Selenium, PhantomJS
- Pragmatic test-driven development, functional programming, and static typing
I've worked within a variety of project workflows, but I strongly prefer agile-influenced methods. I value quick, collaborative iterations that can easily change course as we learn more about the problems we're solving together.
Thanks for your interest!
Code Window icon by Dalpat Prajapati, Tools icon by Creative Stall, Email icon by Lorena Salagre. Thanks!