2014-2016, Masters of Software Engineering (unfinished), St. Petersburg State University of RAS
2009-2014, Specialist of Software Engineering, St. Petersburg State University
Rust Programming Language
Sep 2015 to Now (ongoing)
I am a member of the dev-tools team of the Rust programming language. I was one of the maintainers of Cargo — the package manager for Rust. My primarily interest is IDE support.
Sep 2018 to Now (ongoing)
At Ferrous Systems I am leading the rust-analyzer/RLS-2.0 project: an experimental next-generation compiler with a specific goal of providing excellent IDE support for Rust.
Compute Science Center
Sep 2014 to Now (ongoing)
At CSC I am teaching two major courses:
- Programming In Rust video
A semester long introduction course, focused on contrasting unique Rust features with more mainstream languages like C++ or Java.
- Programming In Python video
A semester long advanced course focusing on the language inner workings and programming idioms.
I have also worked as a teaching assistant for "Algorithms and Data structures" and "Python" courses.
Sep 2015 to Jan 2018
At JetBrains, I have lead the development of IntelljJ-Rust plugin for the Rust programming language. The plugin is a Rust "compiler" written in Kotlin, with full-blown parser, name resolution and type inference algorithms, and integrations with build tools and debuggers. Besides solving the technical problems, I’ve created an open source community around the plugin by mentoring issues, writing developer documentation and supporting contributors.
2012 to 2014
Stepik is a e-learning platform, written in Python, focused on rich variety of practical exercises and ease of creating content. I was on the backend team of three from the start of the project. Among other things, I’ve worked on exercises subsystem and student’s code sandboxing, progress tracking and designed and implemented JSON API interface for the single-page frontend.
Compiler Frontend Development