C++ Developer2021 - PRESENTVaronis
Technologies: C++, C#, HTTP, Windows, Visual Studio, Amazon Web Services (AWS), Moq, Microsoft Unit Tests
- Developed a pilot project in C++ for security tracking systems monitoring file activity.
- Implemented a transporter service in C# to transmit the scanned results to the S3 Amazon bucket using HTTP (Amazon API Services).
- Contributed to the development of the unit testing using Microsoft unit testing and Moq.
C++ Developer2021 - PRESENTToptal
Technologies: C++, Test-driven Development (TDD), Visual Studio, Git
- Contributed to a 4 -month project for Alteryx as a C++ developer working with two teams located in the USA and Ukraine. Developed new features for the core engine in multithreaded architecture.
- Tracked and fixed bugs using Jira with guarded check-in and testing (GitLab CI/CD).
- Developed and updated unit tests (test-driven development).
Software and Algorithm Developer2009 - 2021Weizmann Institute of Science
- Built a high-performance R package—misha—with 30,000+ lines of C++ code under the hood for analysis of DNA sequences. The package uses custom data structures, advanced algorithms, and parallel computation to facilitate top performance.
- Designed and developed an R package—tgstat—to replace various standard R functions with equivalents boosting run time >100x (correlation, distance, ...). The performance is facilitated by the use of C++, BLAS, and multitasking.
- Built a high-performance module for Python for analysis of medical records data from the biggest Israeli health insurance company, Klalit. The package uses C++ under the hood.
- Developed a front-end application in React that facilitates analysis and prediction based on the medical records coming from the biggest Israeli health insurance company, Klalit.
Senior Software and Algorithm Developer2005 - 2008Ethos Networks
Technologies: Algorithms, Networking, Linux, C++
- Designed and implemented the first generation of Smart Ethernet Switch by Ethos.
- Created and implemented fast centralized and distributed dynamic traffic engineering algorithms to achieve maximal network utilization and flow fairness in Metro.
- Hired and mentored the first generation of software engineers in the company.
- Filed US Patent (US7969886) for "Bandwidth allocation for hierarchical telecommunications networks" algorithm.
Software and Algorithm Developer2004 - 2005Silicon Design Systems
Technologies: Optimization, Algorithms, Solaris, Linux, C++
- Designed and implemented a global router engine for a floor plan of microprocessors.
- Designed and implemented algorithmic infrastructures: congestion avoidance, geographical 2D trees, maze routing, and timing optimizations.
- Optimized the run-time of the critical parts of the existing codebase.
Software and Algorithm Developer | Team Leader1998 - 2004Banter (later: IBM)
Technologies: Microsoft Visual C++, Optimization, Algorithms, Multithreading, TCP/IP, Microsoft Foundation Class Library (MFC), Linux, Windows, C++
- Designed and implemented the statistical adaptive text classification engine—the company's core technology. Based on the engine's performance, the startup was acquired by IBM.
- Managed an application team developing MFC applications and low infrastructure.
- Developed a multi-platform multi-threaded client-server event logger.
- Developed multi-platform low-level infrastructures (threads, synchronization objects, sockets, etc.).
Software Developer1994 - 1998Hadassah Medical School
Technologies: DSP, MS-DOS, C++
- Designed and developed from scratch an application "Maestro" for controlling auditory experiments.
- Designed and developed an application for controlling visual medical experiments.
- Received the Kaye innovation award for the development of "Maestro" in 1996.