Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save VladimirReshetnikov/8c442cd7e30d744384826cbbee60ae1b to your computer and use it in GitHub Desktop.
Save VladimirReshetnikov/8c442cd7e30d744384826cbbee60ae1b to your computer and use it in GitHub Desktop.

Vladimir Reshetnikov

Senior Software Engineer
Redmond, WA
+1 (425) 614-9921
v.reshetnikov@gmail.com
https://www.linkedin.com/in/nikov
──────────────────────

More than 20 years of software engineering experience. For the last decade mostly specializing in compilers and developer tools, including Roslyn (C# and VB.NET compilers), ReSharper, Coverity, and Kotlin compiler. Prior to that worked on a diverse variety of web and desktop applications, such as ERP/CRM systems, and software for banks and hedge funds, using primarily C#, C++, and JavaScript. Enthusiastic about various aspects of software engineering: design and specification of new features, coding, testing, performance profiling and optimization, code/architecture review, as well as bug fixing. Always keen on learning new languages and technologies.

Most passionate about compilers, static analysis tools, debuggers, IDEs — everything that makes lives of developers better, improves their productivity, and brings joy to their work. Contributed into design of several programming languages, including C#, TypeScript, and Kotlin, as well as development and testing of their respective compilers.

Professional traits

  • Commitment to long-term project success and customer satisfaction.
  • Passion for quality and attention to details, combined with healthy pragmatism and realistic cost-benefit analysis.
  • Awareness about impact of today’s design decisions on future opportunities for product evolution and long-term maintenance costs.
  • Mindful about versioning, backward compatibility, as well as possibility of co-existence and interaction of different versions of a product.
  • Inclined to resolve disagreements swiftly, in a professional and friendly manner, keeping customers’ interests foremost in mind.
  • Looking for opportunities to build productive professional relationships with other team members, learn and share technical knowledge, collaborate with other teams, reuse each other’s work, and contribute to each other’s success.

Main areas of expertise

  • Deep knowledge of C#/.NET, metadata and IL format, C# Language Specification (~16 years).
  • Design, development and testing of parsers, compilers, and static analysis tools.
  • Design and specification of programming languages and type systems.

Other technical skills

  • C++ (~8 years), VB.NET; familiar with Java, Scala, Kotlin, F#, and Python.
  • Web development: JavaScript, TypeScript, ASP.NET (~5 years, not recent).
  • Desktop GUI development: Windows Forms, WPF; using async and TPL for responsive apps.
  • Relational databases: MS SQL Server, Oracle (~5 years, not recent).
  • Experience with version control systems: Git, as well as SVN and CVS in the past.

Employment history

Relyance AI, Aug 2022 – Feb 2023
Senior Software Engineer

Worked on the product performing static analysis and using machine learning to manage privacy, data governance, and compliance. Implemented Kotlin support: parsing of Kotlin sources, transformation of the AST into an internal representation suitable for consumption by the static analysis engine.

Microsoft, May 2019 – Jan 2022
Senior Software Engineer, ObjectStore Team

Worked on ObjectStore — a distributed document storage system used by Bing and Office, written mainly in C++, developing a framework for automatic detection of memory leaks during data processing by intercepting, analyzing, and attributing memory allocation/release events.

Senior Software Engineer, Intentional Platform and Applications Team

Worked on Intentional — a platform for data storage, change tracking, visualization, and online/offline collaboration. Implemented text indexing and search, geometric library (transformations, intersections of shapes, constructing convex hulls, etc.), a parser for an embedded data selection/projection language, and .NET/JavaScript interop layer.

Senior Software Engineer, Windows Shell, Cortana & Search Team

Performed refactoring of the System Settings and Search apps in Windows 10. Eliminated unnecessary dependencies between their components to facilitate our efforts in separating the apps from the Windows Shell, and to enable independent deployment channels and release cadence for them.

Synopsys, Mar 2017 – Nov 2018
Staff Software Engineer, Coverity Static Analysis Team

Worked on static analysis engine detecting security vulnerabilities and other software flaws, supporting analysis of codebases in multiple programming languages, including C++, Java, Scala, C#, VB.NET, Swift and JavaScript.

  • Eliminated several classes of false positives on C#, C++, Swift and JavaScript code.
  • Improved fidelity of translation of various language constructs into a unified AST format, improving applicability and accuracy of analyzers across different languages.

JetBrains, Apr 2015 – Nov 2016
Language Specification Lead, Kotlin Language Team

Worked on design and specification of Kotlin — a modern, open-source programming language featuring type inference and built-in data-flow analysis, designed for seamless Java interop.

  • Drafted a formal specification for the language.
  • Performed code reviews and collaborated with the compiler developers to ensure the compiler conformance with the specification.
  • As part of the language design team, worked on design of coroutines in Kotlin — a unified and extensible mechanism serving as a basis for library-level implementations of features such as cooperative multitasking, async functions, generators and lazy async sequences.

Microsoft, Oct 2010 – Apr 2015
Software Development Engineer II, Managed Languages Team

Worked on the Roslyn project — open-source C# and VB.NET compilers, running on .NET platform. Design, implementation, and testing of C# and VB.NET language features. Hands-on experience with the structure of managed assemblies, logical and physical .NET metadata and IL format.

  • Performed testing of C# and VB.NET compilers and Visual Studio language services, identified a multitude of spec deviations, crashes, incorrect code generation, and other defects, which resulted in a significant improvement of the product quality.
  • Implemented several language features, including using static in C#, and Unicode support in VB.NET XML literals and interpolated strings.
  • Co-inventor of the U.S. Patent 20140165035 — “Expansion and reduction of source code for code refactoring”.
  • Also worked on the TypeScript team, focusing on soundness analysis of its type system, review of the language specification, and the compiler conformance testing. Identified several important issues that were successfully resolved before the initial public release.

During my employment with Microsoft and JetBrains I was serving as a member of TC49-TG2, ECMA Standardization Committee for the C# Programming Language, working on the next version of the international standard Ecma-334.

JetBrains, Feb 2010 – Oct 2010
Senior Software Developer, ReSharper Team

Development and testing of ReSharper — a developer productivity tool, extension for Visual Studio providing code completion, navigation, automated refactorings, and real-time code analysis for several programming languages, including C# and VB.NET.

  • Implemented several code analysis features and automated fixes for C#.
  • Tested support of C# and VB.NET language features in ReSharper and proposed many improvements — numerous have been implemented since then.
  • During my employment with JetBrains received a Microsoft MVP Award 2010. (A Microsoft Most Valuable Professional, awarded for “exceptional contributions and commitment to technical communities worldwide, sharing real world expertise and technical skills, and demonstrated outstanding technical community leadership”

Summary of earlier employment history

Paladyne Systems[acquired and rebranded by Broadridge in 2011], 2009 – 2010
Senior Software Developer, Portfolio Master Team

Microsoft, 2008 – 2009
Software Development Engineer in Test II, Microsoft Dynamics Team

Customized InformSystems, 2007 – 2008
Senior Software Developer

Luxoft, 2006 – 2007
Senior Software Developer

RapidSoft, 2005 – 2006
Software Developer

UCD Micros, 2002 – 2005
Software Developer

Education

National University of Uzbekistan
Major: Physics

  • Specialist (5-year degree) — Bachelor of Science equivalent.
  • Graduated with honors.

──────────────────────
Download this document as PDF: https://drive.google.com/file/d/1s9irSbCGYQHmhHCGzmVyTLd1AL1RJ36U/view

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment