Itay Donanhirsh
Walnut Creek, CA, USA
email: itay@bazoo.org
http://itay.bazoo.org
Profile
- Highly motivated and innovative person.
- Rich multidisciplinary experience in both software and hardware.
- Proven ability to initiate projects, design and implement from scratch.
- Ability to take full ownership on projects.
- Very experienced with C/C++, Go, Java, Python, Scala.
- Likes experimenting with Haskell.
- Experienced in RT/Embedded and Distributed Communications systems.
- Rich concurrent programming experience.
- B.Sc. in Physics and Biology from Tel Aviv University, 2006.
- Electronics hobbyist and enthusiast. Likes to develop gadgets on my spare time (see site http://itay.bazoo.org/projects).
- Hebrew native speaker, fluent in English.
Experience
[2016-Now] Software Engineer at Lyft
- Developed and maintained a CI system written in Go that allowed company to scale rapidly while maintaining reliability and reduce costs while experiencing almost no downtme.
- Developed and executed migration plans for transition from old CI system to the new one.
- Took active part on various efforts, such as initiatives to define and improve testing standards company wide.
[2013-2016] Senior Software Engineer at Twitter (NY and SF)
- NY: Discovery and Geo Team Member.
- Data analysis using scalding, summingbird, hadoop.
- Developed Scala/Finagle based services.
- Designed and implemented experimentation framework.
- Designed and implemented load testing for production services.
- SF: Eng Effectiveness (“DevProd”) Team Member:
- Lead effort for dealing with non-deterministic tests.
- Lead CI Orchestration effort, a novel way of coordinating various components in a complex CI system.
[2011 - 2013] Software Engineer at Google NYC
- Infrastructure team member, main maintainer and developer of a cron system in the cloud.
[2010 - 2011] Senior Software Engineer at XIV, an IBM Company
- Responsible for SAS RAS (Reliability, Availability and Sustainability) in the Platform Team, work involving low level work with SCSI controller and disks.
[2007 - 2010] Senior Software Engineer at Imagine Communications
- Design and development of a scalable distributed data plane Embedded Software Mux over Monta Vista OS for MicroTCA platform. Coded in C++. The Mux serves thousands of session simultaneously.
- Initiated, designed and implemented a Python and Bash based systematic cluster configuration tool. The tool takes as input a description of an entire cluster and configures it.
- Design and development of a Java (POJO) control plane application that supervises a large number of MicroTCA cards, supporting redundancy and dynamic configuration.
- Initiated, designed and implemented from scratch in Python a fully working domain-less High-Availability software suit that enables "5-Nines" uptime. Currently running in several major cable MSOs in the US.
- Developed a routing daemon in Bash.
- Adaptation of the Pythonic SCons build system to support multiple products built from the same branch.
- Development of a Ruby based tool that converts data from a textual tabular format to any other format, utilizing the ERB.
[2006 - 2007] Senior Software Engineer at Zoran Microelectronics
- Developed software for a SoC based on ARM9 core over ThreadX OS.
- Designed and implemented an extremely modular zero-copy protocol stack for Mobile Digital Television (MDTV) conforming of DVB-H, T-DMB and DAB-IP standards.
- Layers included: UDP/IP, MPEG2, FLUTE, MPEG4SL, RTP and MSB.
- Programmed hardware drivers.
- Worked with DMA, SPI, etc.
- I was in charge of deployment of the MDTV solution in 3GSM at Barcelona.
[1995 - 2006] Senior Software Engineer at Elbit Systems, Elron Telesoft and NCC
(Started at 1995 as a soldier programmer part of a big communications project at NCC, which was acquired by Elron and then Elbit)
- Worked on a large S&F communication system (50 man-years development time). I was the owner of the following modules, coded in C and C++:
- Custom RT transport layer intended to be used over tactical mediums (low-bandwidth HF/VHF/UHF radios and other Radio-Telephony mediums);
- Development of Network Layer protocols for auto-discovery of neighbor nodes;
- Design and implementation of an automatic distributed directory services for the entire network;
- Responsible for cross-platform software infrastructure (over Unix AIX and Windows) modules including Shared Memory and logging;
- Built special simulations to enable system testings.
- Worked on another large S&F communication system ("next-gen" of the previous one) rewritten from scratch in C++:
- Designed and developed extremely modular transport layer designed to be easily adapter to several rough mediums by user configuration;
- Designed and developed a logging system that can be filtered by using user-coded expressions;
- Worked on an RT communications controller for tactical mediums over Windows and VxWorks:
- Controller implemented several MAC protocols including CSMA, TDMA, MS-TDMA and more;
- Development of both Data Link/MAC and Network layers;
- Design and development for ALE Link control establishment MAC layer.
- Sole owner, designer and implementor of a light-weight transport layer for small-scale tactical radio networks written in C++. Work involved:
- Development of custom transport layer communication protocols designed to optimally utilized the given low-bandwidth medium;
- Application interface;
- Interfacing low level communication controller;
- Automatic nodes detection;
- Designed and developed a distributed automatic radio-slots allocation algorithm.
- Initiation, design and development of an application simulator based on a custom made language:
- Said language designed for easy learning-curve;
- Development of full-fledged Visual-Studio-like IDE;
- Support of easily written external plugins writter either in Native C or in .NET technologies;
- Plugins can be run over remote machines using various communications medium;
- Remote debugging support;
- Complex synchronization support (cross-machines synchronization facilities such as barriers, semaphores, events etc...).
- Worked on an Internet project combining COM and ASP technologies.
Private Projects
I enjoy writing software projects on my free time, among them:
- Shifts Allocation System for volunteers of the Israeli Animal Guard, written in Django.
- Shell History Browser written in Haskell.
- Flickr-like Annotated Images plugin for Dokuwiki, written in PHP.
I also like to build stuff, usually using microcontrollers. Some of the followings are described on my site:
- Wireless remote controlled (cellular and web to RF gateway) alarm clock teddy-bear. Used to wake people who are not responsible enough to set their own alarm clock.
- Automatic startup of electronic parking meter using a cooking clock
- 3D Lunar Lander, see http://www.youtube.com/watch?v=eX4jCzC69sM
- "Digital n-Sided Dice" using a solid-state accelerometer
- Dokuwiki Flickr-like annotated images plugin
- Wii Nunchuck controlled back massager
Education
- [1995] IDF "MAMRAM" Programming Course; Various military courses thereafter
- [2000 - 2006] B.Sc. in Physics and Biology - done in parallel of working at Elbit;
- Final project: development of a novel method to characterize a specific particle in a cell cytoplasm. Project involved use of methods in Information Theory, Physics and CS. Done using Matlab.
- [2009] Team Leaders course at Imagine Communications
Activities
- Ham Radio Operator, Callsign 4Z5TX and AC2TX.
- Electronics hobbyist and enthusiast:
- Development over various microcontrollers such as AVRs, MCS51s and PICs;
- Design and build the circuits by myself.