Responsible for a rewrite of the commercial side of Dell.com with a focus on improving performance, reliability, and scalability. Team grew from 6 people in the US to 5 feature teams in the US, Dublin and Bangalore.
Replaced NServiceBus messaging infrastructure with NSQ to address stability issues and improve operational capabilities. Wrote a .NET client library called NsqSharp which is open source on GitHub.
Improved performance of various backend systems throughout the organization.
Migrated codebase and development/release process from TFS to GitHub Enterprise. Trained local and offshore teams who were new to Git; wrote tutorials and documentation.
Code Reviews. Implemented a code review process through Pull Requests which increased inter-team knowledge, improved design, and caught defects before commit while aiming to keep developers productive.
Interviews. Developed a successful phone interview strategy which led to a high percentage of in-person interviews resulting in a hire.
Eventually Consistent Materialized Views. Still in proof-of-concept phase, this system takes a relational database such as MS SQL Server and reads DML/DDL (updates, inserts, deletes, schema changes) and transforms them into an ordered log of events. Developers are able to create SQL queries against this system which gets parsed into a DAG and operates on a bounded window of time (usually seconds). The results can be chained to create higher order views and ultimately stored in a key-value store for quick retrieval. The key-value store backs internal services which can tolerate eventual consistency but are latency sensitive, and often the store is used to contain full JSON models for XHR requests or even rendered HTML. Improved response time was a major goal; other goals included traceable data lineage, reasoning about data flow, replayability to pinpoint where a transformation issue occurred, and addressing issues from using high throughput messaging and a database as a “shared mutable state” to denormalize constantly changing data. Inspired by Kafka, Spark, Samza, and the Resilient Distributed Datasets whitepaper. Written in Go.