I solve hard problems by designing, architecting and writing software, with the appropriate balance of trade-offs between speed, quality, and functionality to meet each particular situation. I can go from "here's a vague problem, how might we solve it" to a working system, whether it's a quick prototype or scalable, reliable and maintainable software. I can build software end-to-end on my own, but I'd rather work with a team of smart diverse people I can learn from.
Most recently I have done work involving distributed systems, cloud storage, container orchestration, and software testing. But I've also built everything from a multimedia kiosk for a museum to the access control architecture for an airline reservation system.
2013 - 2016: Principal Software Engineer, ClusterHQ
ClusterHQ is a startup building the future of data storage for Docker and other container systems.
As part of the leadership of the engineering team, I designed and wrote software in order to directly meet the company's changing goals, with a strong emphasis on appropriate levels of quality:
- Ensuring the first product release post-pivot provided a realistic demonstration of the company vision, while still launching quickly and on schedule.
- Designing a model, and co-authoring the relevant patent, that allowed the software to move from only peer-to-peer storage to supporting multiple forms of backend storage, including cloud-based block storage.
- Launching a 1.0 with a new architecture, on schedule.
- Finding and fixing bugs and design flaws to make the product stable and usable.
- Designing semantics for the company's next generation storage layer, investigating integration points with other systems, validating use cases, prototyping and then implementing the resulting design.
I worked with a variety of technologies along the way, including Python, Docker (I implemented a Docker storage plugin), Go, AWS and OpenStack cloud APIs, libgit2, property-based testing libraries and persistent data-structures.
2012 - 2013: Consultant, Future Foundries LLC
As part of two-person consulting firm developed software for a number of clients, including:
- CritSend, a SMTP relay service for developers. Projects included a peer-to-peer message-based SMTP load balancer, and a JSON-based API for MIME generation and batch message sending.
- A cloud storage backend for Least Authority Systems.
- Together with Jean-Paul Calderone, ported the core of the Twisted networking framework to Python 3 on behalf of Canonical (makers of Ubuntu Linux).
Taught Twisted classes using a company-developed curriculum, including multi-day training for Cisco software developers in the UK and Norway and (with Jean-Paul Calderone) VMware and Rackspace developers in San Francisco.
2011 - 2012: Product Manager, Google
In 2012 ITA's airline reservation was successfully put into production for the launch customer, Cape Air. Leading up to the launch, tracked inventory control's business requirements, coordinated between engineering, operations, QA, the customer and third party vendors, coded analysis tools to catch problems in the production system, and in general ensured the component met requirements and launched successfully. After the launch, made sure the system was operating correctly and meeting customer's needs using analysis tools, bug reports, and customer communication, handing off tasks to engineering and ops as necessary.
2004 - 2011: ITA Software (purchased by Google in 2011)
2009 - 2011: Product Analyst, Inventory Control group
Inventory Control is a core part of an airline's reservation system; ITA's implementation is a distributed, high-performance set of servers. Investigated business logic and technical requirements, created architectural design documents and wrote documentation. Coordinated between engineering and operations groups, and engaged owners of related components, GUI designers and other stakeholders to ensure the product met customer needs.
2007 - 2008: Senior Software Engineer, Airline Reservation System's Schedule Server team
In latter part of period, led the team and worked on overall system design with tech leads of other groups. Helped gather requirements, and set priorities and goals.
Worked as part of team on design and implementation of transactional airline schedule distribution server written in Python and C++, receiving multiple schedule formats and distributing them to other systems. Designed and implemented large parts of the persistence layer, as well as transactionality, replication and high-availability. Developed core business logic and network protocol implementations.
2006 - 2007: Software Engineer, Airline Reservation System's Core team
As part of ITA's new airline reservation system, written from the ground up in Common Lisp, designed and oversaw implementation of the access control framework. The framework allows sophisticated and flexible policies based on interactions between roles, actions and arbitrary object properties.
2004 - 2006: Software Engineer, Flight Availability team
Implemented two independent projects for the operations group:
- A reliable multicast library with congestion control, written in C++ and Python.
- A prototype-based configuration library and language for concisely configuring large numbers of similar but non-identical systems.
Worked as part of team on distributed high-performance server system written in C++, with each server handling tens of thousands requests per second. Coding included development of new features, integration of a new internal network protocol, communications support for external systems, airline-specific proprietary business logic as well as maintenance and bugfixes.
2002 - 2004, 2009: Consultant
Designed a new Internet-based architecture for National Captioning Institute, a nonprofit that provides live television closed captioning for the deaf.
Implemented and helped design a web-based distributed educational system for a government agency in California. The system allowed migrant workers' children to access the same curriculum from multiple schools, and supported offline read/write access with periodic synchronization to a centralized server. Built form generation toolkit, GUI client and cross-platform installation, update and deployment software for Windows, Mac OS X and Linux.
Consulting for various companies in the US and Europe, including an instant messaging/email notification system for Technorati.
2000 - 2002: Co-Founder, Zoteca
As co-founder of startup, designed and implemented a content-addressed storage platform. Author of a patent for Zoteca's technology (see link below).
1999 - 2000: Lead Developer, OneBigTable.com
OneBigTable was a web startup in the areas of food and culture. Using Zope, an object-based application server, led small team that built a high-level food, nutrition and recipe content management system, including a workflow system and administration tools.
1994 - 1999: Programmer, MAXIMA New Media
Developed a multimedia informational center for the Israel Museum, Jerusalem, a number of multimedia CD-ROMs, and database-driven web applications.
Author of Eliot, a logging library for complex and distributed systems that outputs causal chains of actions happening within and across process boundaries: a logical trace of the system’s operation.
One of the original developers of Twisted, a Python networking framework that is used by Apple, Justin.tv, TweetDeck, and Lucasfilm among others. Worked on the core networking package (TCP, UDP, SSL, and multicast) and protocol implementations, e.g. HTTP/1.1.
See https://github.com/itamarst/ for other contributions.
Application, Dec. 2014: A Data Storage Controller, with Jean-Paul Calderone.
Patent #6662198 for Method and system for asynchronous transmission, backup, distribution of data and file sharing, with Prof. M. Satyanarayanan.
Harvard University Extension School: Bachelor of Liberal Arts, 2009
Area of concentration was humanities.
Tel-Aviv University and Bar-Ilan University: Computer Science and Mathematics coursework, 1996-2000
US Citizen. Living in Cambridge, MA. Formerly known as Itamar Shtull-Trauring.