Software Engineer, Static Analysis - Ruby

Roles at DeepSource
Bangalore, India
Language Engineering

Software Engineer, Static Analysis - Ruby

There are over 40 million developers in the world, and all of them write and review code in some form. DeepSource is working on building tools that help developers ship good code. We believe there's a massive opportunity to impact how software is built right from where the code is written using automation and intelligence, which not only improves developer productivity but also increases software’s robustness.

The Language Engineering team works on the source code analyzers to achieve the same, including both programming languages and configuration-as-code systems. As a member of the Language Engineering team, you will work on building the best, most comprehensive Ruby analyzer in the world. You will define short-term and long-term goals for the analyzer, add new rules and Autofixes for finding more issues with code, and automatically fixing them. You will be involved with the community to understand the problems with static analysis tools in the Ruby ecosystem.

As a member of the Language engineering team, you will:

  • Identify bad code practices in Ruby and write new analyzers to detect them.
  • Write in-depth explanations about the bad code practices that DeepSource detects and ways to fix them.
  • Develop new features in the existing analyzer.
  • Improve the coverage of automatically fixable issues.
  • Ensure the analyzer reports fewer false positives.
  • Contribute back to the open-source projects we use.

We're looking for someone who has,

  • A strong foundational knowledge in Computer Science.
  • Basic understanding of static analysis concepts like Abstract Syntax Trees and Taint checking.
  • Ability to write high-quality and performant Ruby code with solid testing practices.
  • Strong knowledge of the internals of the Ruby runtime.
  • Familiarity with how Ruby is evolving and the best practices followed in the industry.
  • Excellent written and oral communication skills in English.
  • Ability to explain theoretical concepts in a simple manner.

We are looking forward to hearing from you