Gregory L. Rosenblatt
I currently live in Toronto, Ontario, working as a Software Engineer.
My focus is more on general ideas than on specific technologies. Though, I do like to choose which technologies to work with, preferring well-designed languages, tools and 100% solutions. Unfortunately I have plenty of experience with poorly-designed technology.
I enjoy being managed well.
My approach to problem solving emphasizes tool-building and automation. This includes code generation, transformation and other language-oriented techniques. When solving mysteries, I understand and reason about code before jumping into a debugger.
I play Go/Weiqi/Baduk at the 5 dan level.
Notable personal projects
The following projects were the product of significant effort made as I grew up as a programmer.
This was my first serious attempt at a full programming language implementation. It features a scheme-like hygienic macro system based on syntactic closures.
It was put aside when I started working at Facebook.
a tile-based multiplayer game framework
Several amusing games were made with this. They are lost.
a 3D game programming system, including a GUI library
Platform EngineerJuly 2014February 2015
Improved platform stability and performance
- Kafka-based data pipeline prototype
- Refactoring of Rails application to produce microservices written in Go
- Internal libraries/tools that simplify creation of new Go services
Tulip RetailToronto, ON
Software EngineerOctober 2013June 2014
Part of the founding team originally from Well.ca
Worked on both retail platform and individual client projects
- Re-design of data model and platform in terms of a service-oriented architecture
- Framework for building hypermedia APIs
- Data ingestion and processing library
- Continuous image import system
Software EngineerAugust 2012October 2013
Refactored and redesigned the warehouse management system
- Separation of WMS into an independent service providing a web API
- Design and performance analysis of alternative communication protocols
- Internal tools and automation for development and deployment
- Palo Alto, CA
Software EngineerJanuary 2011June 2012
Developed and maintained internal development tools and infrastructure
- Distributed continuous test run infrastructure
- Automatic test failure blame assignment and task creation
- Task management system
- Dev-server allocation and management system
- Real-time asynchronous job tier
Ellington Management GroupOld Greenwich, CT
Quantitative DeveloperMay 2006August 2009
Developed and maintained various modelling and trading systems
- Distributed computing infrastructure
- Cross-language services and remote procedure call library
- Quantitative model implementations
- Real-time market data streaming and aggregation
- Automated trading and order management system
Rochester Institute of Technology19992004
Bachelor of Science in Mechanical Engineering
Concentration in Aerospace