now | Senior Software Engineer, Microsoft R&D Center, Herzeliya |
2012 – 2011 | Senior Software Engineer / Software Architect, VisionMap, Ramath-Gan |
2011 – 2007 | Senior Software Engineer, Microsoft R&D Center, Haifa and Herzeliya |
2003 – 2000 | Software Engineer, Comverse IN Division, Mt.Laurel |
2000 – 1998 | Software Engineer and Developer (Team leader since 2000), Comverse, Tel-Aviv |
1998 | Electronic publishing technologies expert/Software Engineer/UNIX system administrator, Netpost Technologies, Ramath-Gan |
1998 – 1995 | Senior programmer, Optimedia, Tel-Aviv |
1995 – 1994 | Programmer, Control-Bit Ltd., Be'er Ya`aqov |
1994 – 1991 | Programmer, Joint Venture InterCompex, St. Petersburg (started during high school studies) |
now – 1996 | Contributor to free and open software (Gramps, flightgear, doxygen, linux kernel, ...) |
2008 – 1998 | System Administrator and Security Officer, iGuide |
Aug. 2000 | Building private LAN spanning the Horesh Yaron settlement; IT consulting |
1998 – 1995 | WWW maintenance, UNIX system administration at the Weizmann Institute of Science, Department Of Mathematics |
1994 | Programming for the University of Maryland project Resampling Stats, supervised by Peter C. Bruce |
2008 – 2005 | M.Sc. cum laude, Computer Science department of the Ben-Gurion University of the Negev, supervised by Dr. Eitan Bachmat |
2004 | B.Sc. cum laude, Math. and Computer Science, Ben-Gurion University of the Negev |
Fall 1999 | Non-registered student at the Weizmann Institute of Science, Department Of Mathematics (cryptography and computer vision) |
1998 – 1995 | Computer Science student of the Tel-Aviv University, School of Math Sciences |
1994 – 1992 | Student of the St. Petersburg State University Mathematics and Mechanics Faculty, Computer Science Dept. (top grades only) |
1991 | Second prize of the St. Petersburg High School Student Programmer Olympiad (and automatic admittance to the university) |
1990 | Third prize of the St. Petersburg High School Student Programmer Olympiad |
1987 | Second prize of the All-Union conference for informatics & programming among school students |
In VisionMap flight software team, I delivered architecture, design, and implementation of mission-critical software subsystems (e.g., data acquisition platform for the next generation systems) and infrastructures (e.g., evaluating and setting up the continuous integration framework). In addition, I constantly improved software development across the company, having introduced the TDD culture, seeded the software engineering seminar, and mentored several developers across all the teams. Technologies: C++, boost, SQLite, C#, Python, Perl.
In Microsoft Israel R&D Center, serving on the Forefront Threat Management Gateway product security team for 2.5 years, I drove the security discipline across several groups in the product family, with significant contributions to 5 shipped releases. The responsibilities spanned the areas of threat modeling, security design and code reviews, penetration testing, security release management, and incident response planning. My enhancements of the FuzzGuru internal pen-test platform and its release on the internal source code sharing site, Microsoft CodeBox, increased significantly the user base and resulted in improved security hardening of products across the company. During this period I advocated secure coding and testing practices all around Microsoft Israel, coaching people in other groups to become security champions, and supervising an intern for a summer project. Awarded for 3 patents, one of them being a key enabler for the Bing Mobile project.
Since 2010, having relocated from the Haifa to Herzeliya office, I first joined the MED-V team. There I was a key contributor to the v1 SP1 being shipped on time, TAP customer supervision, and then to the v2 design and prototyping. Once the project was transferred to Microsoft U.S., I joined a telecom incubation project. In both these projects I delivered designs for complex important product features, wrote and reviewed proof-of-concept code for key risk areas (e.g., Windows Azure integration), wrote actual product code, and established and improved supporting systems and processes (e.g., improving the build framework, building internal knowledge base). Technologies: C#, Azure, Virtual PC, Perl.
In Comverse IN Division I worked in the OMNI team in the Signaling Core Group, maintaining and developing new modules of a large full-fledged SS7 stack product. I was immediately responsible for the user-space and kernel-space (STREAMS-based) system core infrastructure code development and maintenance, performing mission-critical system programming tasks. I also took part in various projects spanning other portions of the product, as well as ported the whole product from Unixware to Linux (which included re-writing the drivers for the Linux kernel framework). During my work in this group, I also took active part in improving the development process, documentation practices (creating the group intranet framework and introducing literate programming tools to the group), and the development environment, helping to visibly improve the product quality and the product support problem-solving. I introduced a lot of open source tools to the group daily routine. If a change or a fix was needed for any of those tools, I worked with the corresponding open product development community, quickly providing bug reports or patches as needed to have the product better suit our group's needs.
In Comverse I worked in the "Infrastructure" and "Unified Messaging Store Interface" teams. Managed the "U.M.S.I. Clients" team. Key contributions included design, instrument selection and implementation of various components for the Unified Messaging products. Took part in porting of large portions of code from Windows NT to Digital UNIX, and in creating of a cross-platform programming framework.
Technologies/products/techniques: Internet messaging and core TCP/IP protocols, secure communications; Microsoft Visual C++, Perl, COM, CORBA (very basic), RogueWave, VB, Rational ClearCase and ClearQuest, literate programming (doc++ and doxygen).
Composed and presented several courses as part of the corporate new employees training program: "Advanced Internet Development", "Client-server programming", "Multithreaded programming" etc. Recognized as the main inventor of the "DNS Configuration-Based Load Director Service", U.S. patent application filed Dec., 1999. Took active part in various corporate workflow processes improvement and in recruiting.
In Netpost I created parts of the system for newspaper Internet/paper edition publishing. I was responsible for data design, parts of the workflow management, and parts of the editorial system user interface. The system functioned in a heterogeneous network environment; I programmed under both MS Windows NT and UNIX. I used ASP, Perl and DSSSL for dynamic data conversions/rendering and VB for server and client side ActiveX development.
In Optimedia I was charged with SGML data processing programming and design, network programming, and electronic publishing technologies invention. I played a major role in designing internal workflow supporting systems, recruiting, teaching and technology transfer. Side responsibilities were network administration, infrastructure maintenance and security policies definition. Also took part in creating marketing surveys as an electronic publishing technology expert.
In Control-Bit I designed and wrote RS232-based communications drivers, user interface, data conversion libraries with BC++ 4.5x for MS Windows, mostly for the SESAM security system project.
In St. Petersburg I worked with IBM PC, Sun and many kinds of Soviet computers, gaining experience in MS DOS, UNIX, and MS Windows. While at InterCompex, I wrote interpreters for LISP & Logo, system graphics packages, system drivers, and improved the OS for the Hobbit computer.