- Innovation DeveloperCotiviti Labs2016 - PRESENT
Technologies: Scala, Ansible, Terraform, AWS
- Developed a formal language for business rules that reads like English based on lambda calculus.
- Implemented a scalable constant memory streaming event processing engine.
- Developed a scalable constant memory streaming crawling solution for monitoring a bunch of websites for content changes.
- Operated a domestic content management solution along with the crawler using Ansible/Terraform for a couple of months.
- Implemented DSL for specifying test criteria (specs) of complex business rules.
- Senior Developer and CEOPrimetalk2011 - PRESENT
Technologies: Scala, Java
- Developed a sophisticated real-time natural speech dialog application platform SpeechPortal.
- Created an open source real-time functional reactive programming (FRP) framework SynapseGrid.
- Built the Speech Assistant dialog application on the SpeechPortal platform.
- Programmed a taxi ordering dialog application.
- Created a company website.
- Developed a complex natural language regular expressions library.
- Implemented SKY probabilistic parser.
- Senior Software DeveloperMail.ru2014 - 2016
Technologies: Scala 2.11, Play 2.3.9, Postgres 9.4, Slick 3.0, Kafka 8.2
- Created a new game control and logging tool for Allods-online MMORPG on the modern technology stack.
- Implemented a rather general architectural approach to build the system that reduces maintenance effort. The domain model is described with ontology and is separated from the system level.
- Implemented event sourcing + TimeMachine, which allows the user to reconstruct the state of world's objects at any past moment.
- Replaced a legacy logging facility with Kafka.
- Created a database with table inheritance, partitioning, custom types, and incremental materialized views.
- Implemented a distributed fault tolerance architecture for ETL and other long running processes.
- Branch DirectorReksoft2008 - 2011
- Arranged and managed development processes.
- Hired ~20 employees (screened 100+ candidates).
- Consulted on architecture for multiple projects.
- Created an inventory DB application.
- Handled initial training and testing of new team members.
- LecturerVoronezh State University2001 - 2011
- Taught several courses in computer science and computer-related professional subjects, including spoken dialog systems, Unix system administration, control systems, decision-making systems, and project management.
- Development Department HeadOpen technologies 982005 - 2008
Technologies: C#, WPF, WWF
- Established a team of programmers from scratch (up to 8 developers).
- Created a real-time alarm monitoring system (WPF) with complete testing environment to model buildings.
- Created a three-tier contract administration program.
- Created a prototype application for business information extraction from emails and a templating engine using MS Word.
- Created a nifty utility to represent a SharePoint portal as an XML-infoset for processing the whole portal with XSL.