Senior Software Developer (PyCharm, Type Inference)

At JetBrains, code is our passion. Ever since we started, back in 2000, we have been striving to make the strongest, most effective developer tools on earth. By automating routine checks and corrections, our tools speed up production, freeing developers to grow, discover, and create.

PyCharm is an intelligent IDE designed by JetBrains specifically for Python, the leading programming language across fields like web applications, data science, and machine learning. PyCharm helps Python developers better manage their tasks, allowing them to focus on creative processes.

The most important part of any IDE's functionality is offering intelligent tools for code editing, including features like code completion, code inspections, on-the-fly error highlighting, and quick-fixes. These capabilities rely on the type inference engine, which is particularly crucial as python type hints have become widely adopted in recent years. A type inference engine analyzes the code to predict the types of variables and expressions, even when they're not explicitly stated. This allows the IDE to provide accurate code suggestions, detect potential issues early, and offer smart fixes, ultimately enhancing the coding experience.

To strengthen and support our efforts, we are looking for a Senior Software Developer to join the team.

The tasks our IDE performs include:

  • Coding assistance: The IDE must analyze code on the fly, highlight errors, suggest autocompletion options, ensure quick navigation between related elements, and support automated refactorings.
  • Tasks related to running the program: Debugging, profiling, and test running, all of which are ensured by close integration of the IDE with the Python interpreter.
  • Tasks related to the integration of the IDE with external tools like package management systems, code generating, or containerizing tools. It must be convenient for the user to work with all of those tools without leaving the IDE.

As part of our distributed team, you will:

  • Work on the type inference engine for Python, including its performance and correctness.
  • Develop PyCharm as a product and participate in discussions about new functionality.

We will be happy to have you on our team if you:

  • Have at least five years of experience in software development.
  • Can design and write code that is easy to read and maintain.
  • Can work well both in a team and independently.
  • Have strong algorithmic skills.
  • Have experience in code analysis tools, compilers, interpreters.
  • Want to grow as a professional and master new approaches and technologies.
  • Have experience with code analysis tools, compilers or interpreters.
  • Enjoy solving complex and challenging tasks.
  • Have experience with PyCharm and have ideas on how to improve it.
  • Take pride in the work you do.

We'll appreciate your experience in:

  • Python programming.
  • Java or Kotlin programming.
  • Contributing to open-source projects or developing projects of your own.
  • Developing plugins for IntelliJ IDEA or other IDEs.

How we develop PyCharm:

  • The source code is stored in Git repositories. PyCharm Community Edition’s code, like much of the IntelliJ Platform, is publicly available on GitHub.
  • Most of the code is written in Kotlin and Java. Some subsystems are in Python.
  • For effective team collaboration, we use JetBrains products: TeamCity for test automation and product building and YouTrack for bug tracking and feature management.
  • All team members take part in version planning and shaping the product vision.
  • To understand our users' needs better, we talk to them on web forums and blogs, as well as at developer's conferences.

Team

PyCharm

地点

Armenia (Yerevan)
Cyprus (Limassol, Paphos)
Czech Republic (Prague)
Germany (Munich, Berlin)
Netherlands (Amsterdam)
Poland (Warsaw)
Serbia (Belgrade)
remote (Czech Republic, Netherlands, Poland)

分享此职位

Benefits and perks

Depending on office facilities and local market rules

  • Fascinating work in a friendly team.
  • A flexible working schedule.
  • 30 days of paid vacation (local regulations apply).
  • An office library with specialized work-related books and magazines.
  • A comfortable working environment, ergonomic workstations, a gym and leisure facilities, and a range of commuter benefits.
  • Excellent opportunities for professional and personal development, including travel to professional conferences worldwide, access to the LinkedIn Learning platform, and more.
  • Additional benefits include: lunch, free refreshments, and snacks provided in the office, and much more.