Alexey Alekhin is a Staff Software Engineer based in Oslo with 14 years of experience focused on developer productivity, dev tooling and CI/CD. He brings a mathematical background and a taste for elegant, type-driven solutions, working primarily in Scala with past experience in Haskell, Elm and Idris. A deep learner and advocate of functional programming and TDD, he combines research-level interests—category theory and dependent types—with pragmatic engineering. Alexey is an active open-source contributor to high-profile projects like sbt and Metals, improving language-server integration, build tooling and release automation. He also maintains several sbt plugins and editor integrations, reflecting a knack for automating and integrating developer workflows. Colleagues know him for thoughtful, well-tested designs that favor long-term clarity over quick fixes.
14 years of coding experience
12 years of employment as a software developer
Specialist, Mathematics, Specialist, Mathematics at Санкт-Петербургский Государственный Университет / Saint Petersburg State University
Saint Petersburg Laboratory for Continuous Mathematical Education (LCME)
Contributions:175 commits, 53 PRs, 20 pushes in 1 year 4 months
Contributions summary:Alexey primarily worked on the Scala language server for the Metals project. Their contributions involved modifying the server's internal workings, including updating artifact names, managing server log locations (splitting stdout/stderr, renaming the log file), and improving the symbol indexing process. Further changes included implementing symbol definition lookup and incorporating enhancements for symbol information, and refactoring sbt-metals subproject. These changes likely improved the server's functionality, debugging, and overall performance.
Contributions:13 commits, 9 PRs, 87 comments in 4 years 5 months
Contributions summary:Alexey primarily contributed to the sbt build tool by implementing features and fixing bugs related to the language server protocol (LSP) integration. Their work included adding handlers for notifications, handling and logging events to the LSP client, and modifying existing code to accommodate the LSP features. The user also updated the sbt version and made changes to default version settings to ensure compatibility and proper semantic versioning. Additionally, they addressed community plugin integration and refactoring and added tests.
zincsbt-pluginscalasbtbuild-tool
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.