Egor Ushakov is a seasoned software engineering leader with 12 years of professional experience, currently serving as Team Lead at JetBrains in Amsterdam. He combines deep backend expertise—particularly around Java debugging, JDWP internals and bytecode decompilation—with hands-on full-stack contributions to high-profile open-source projects like IntelliJ plugins and the FernFlower decompiler. His work shows a strong focus on debugging, reliability and preserving nuanced runtime information (e.g., line numbers and breakpoint validation), reflecting an attention to developer experience and tooling correctness. Having progressed from hands-on engineering roles at Sun/Oracle to leading teams at JetBrains, he blends pragmatic code-level problem solving with mentoring and delivery leadership. An interesting detail: he regularly fixes subtle JVM and debugger edge cases, including memory leaks and Java 9 attach issues, which keeps complex developer workflows stable.
Unofficial mirror of FernFlower Java decompiler (All pulls should be submitted upstream)
Role in this project:
Back-end Developer
Contributions:137 commits in 4 years 5 months
Contributions summary:Egor primarily contributed to the Fernflower Java decompiler project by implementing features related to bytecode analysis and decompilation. They added support for the `LineNumberTable` attribute, enabling the preservation of line number information, and refactored the code to handle string concatenations from recent Java versions. Furthermore, they modified the code to handle various aspects, such as debugging and class definition, in addition to improvements in bytecode mapping accuracy, with considerations for issues like try-catch blocks, nested classes, and lambda expressions.
Contributions:37 commits, 18 pushes in 2 years 5 months
Contributions summary:Egor primarily focused on debugging and fixing issues within the JDWP (Java Debug Wire Protocol) implementation. They addressed a critical NPE (NullPointerException) in `ReferenceTypeImpl.constantPool`, creating a test to prevent regressions. Further work involved merging changes from the master branch, implementing fixes for memory leaks within the `TargetVM` and addressing an issue related to attaching to Java 9 processes. The commits show a focus on improving the stability and reliability of the JDWP implementation, and include fixes related to the agent shutdown process.
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.