Dmitrii Naumenko is a Team Lead at JetBrains with 11 years of experience building and improving developer tools, primarily in the Scala ecosystem. He combines hands-on backend engineering with leadership, having advanced from software developer to leading teams responsible for core IntelliJ Scala plugin and tooling. Dmitrii’s open-source contributions include refactoring and error-handling work in the widely used scalafmt formatter and significant dependency- and compiler-related improvements in the JetBrains scala plugin, demonstrating deep familiarity with Scala compiler internals and sbt project imports. His background in applied mathematics underpins a methodical approach to code structure, performance and type-safety challenges. Based in Amsterdam, he’s notable for turning complex refactors into maintainable subsystems—e.g., modularizing scalafmt-dynamic with a dedicated downloader and errors ADT—to improve reliability for large Scala codebases.
11 years of coding experience
7 years of employment as a software developer
Master's degree Applied Mathematics, Master's degree Applied Mathematics at Peter the Great St.Petersburg Polytechnic University
Contributions:40 reviews, 3306 commits, 31 PRs in 4 years 1 month
Contributions summary:Dmitrii made significant contributions to the IntelliJ Scala plugin, primarily focused on refactoring and improving the handling of dependencies and the underlying code generation mechanism. They refactored dependency management code in `DependencyManager.scala` and related classes to improve the performance of sbt project imports and also updated several core modules in the plugin like editor and compiler components. Their work involved code adjustments to support Scala 3 and fix various compilation-related issues, indicating a deep understanding of the Scala compiler and build system. The user also contributed to enhancing the plugin's codebase and refactoring tests, particularly in the areas of project structure, auto-import behavior and scaladoc links.
Contributions:31 commits, 5 PRs, 22 comments in 2 years 6 months
Contributions summary:Dmitrii primarily focused on refactoring the `scalafmt-dynamic` module, breaking it down into sub-components. This involved moving download-related processes to a dedicated downloader and creating an errors ADT. Furthermore, the user made changes to the `ScalafmtReflect` class to refactor methods and unify field names. Also, config caching was parametrized in this class. These contributions streamlined the formatting process and improved the handling of errors within the Scala code formatter.
formatterscalacode-formatter
Find and Hire Top DevelopersWe’ve analyzed the programming source code of over 60 million software developers on GitHub and scored them by 50,000 skills. Sign-up on Prog,AI to search for software developers.