Software Engineer, California, USA
http://www.linkedin.com/in/mikeaizatsky
Programming languages, their design and implementation, safe and secure code, formal methods.
Principal Software Engineer
Low level C++: security and performance. Rust/C++ integration. Security Fuzzing, Build systems.
OSS work:
Software Engineering Manager
Building, growing and leading the Checkout team (from 0 to 35 engineers) responsible for the development of the flagship Bolt product: checkout UI and supporting backend infrastructure. Team management, planning, engineering designs, design reviews, career growth, performance management, hiring.
Principal Engineer
One of the leading personal contributors across the full codebase: typescript migration, redux migration, introducing graphql across the stack, logging and analytics, tensorflow-based risk ML pipeline, on-call dashboards. Designer/leader of experiments system, multi-armed bandit system with applications, data warehousing, and many more.
Staff Software Engineer
TL of streaming online video processing framework with applications to traffic management. Architecture, implementation, coordinating ML, infrastructure.
Reactive stream-based framework, C++14.
Staff Software Engineer
Playing key roles in IntelliJ IDEA Java IDE development (http://www.jetbrains.com/idea), planning and product definition.
During the period I am a frequent speaker at various conferences/meetings (see Public Talks section below).
Project, product manager and chief architect of IntelliJ IDEA Java IDE
IntelliJ IDEA enterprise team. Responsible for requirements definition, planning, supervising, architecting and participating in development of IntelliJ IDEA 7.0 enterprise features: Spring, Hibernate support, J2EE Facets, etc. Played a major role in system architecture (re)definition, major core framework extension, refactoring and optimization. Spent significant time in low-level multi-threading architecture refinement. High-performance DSM (Dependency Structure Matrix) architecture and implementation.
Project, product manager and chief architect of IntelliJ IDEA Java IDE
(http://www.jetbrains.com/idea) enterprise team. Responsible for requirements definition, planning, supervising, architecting and participating in development of IntelliJ IDEA 6.0 enterprise features: WYSIWYG HTML/JSP/JSF editor, J2EE 5, Struts, JSF support.
Project management and chief architect of JetBrains Fabrique project. JetBrains Fabrique was a RAD tool, frameworks and components for fast and easy web applications development. The project was developed by the distributed team of 20 members. While being a chief architect of the product and its frameworks, was responsible for requirements definition, planning and supervising all project activities:
Introduced various agile practices and processes to the team.
The project was canceled by the lack of funding for the initial product launch.
Development of award-winning IntelliJ IDEA Java IDE (www.jetbrains.com/idea)) versions 3.0 & 4.0. Co-architect of all major IDEA subsystems being written in the course of 3.0-4.0 creation. Among other numerous development activities designed and developed:
Senior Developer
Multi-tier enterprise applications development in Java with almost every technology available at the time: Swing for rich clients; JSP, servlets, Struts for web applications; EJB, ORMs (Toplink, Cocobase), JDBC, RMI for server side. Architected many frameworks for easing enterprise applications development. Among them are: Infobus-based Swing framework for better UI modularization, component-based event-driven framework for web applications, XML import/export framework, automatic software update system.
Real-time DSP development as a part of complex military radio signal location, recording and demodulation system. Was responsible for algorithm development and actual implementation in Analog Devices SHARC DSP assembler of following subsystems:
Check my home page for up-to-date list of side projects.
I posses a broad range of skills developed during my professional employment and self-studies. While having many technical, the ones I consider mostly valuable are:
Languages
Fluent English, native Russian & Ukrainian, beginner Spanish.
Reading; climbing, origami, 3d-printing, sailing, jazz, contemporary and classic piano, drums, double bass, rock guitar, go (baduk), rollerblading, drawing.