At JetBrains, code is our passion. Ever since we started back in 2000, we have strived 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.
An AI Assistant is an advanced software tool that leverages artificial intelligence to aid developers in various tasks. This tool integrates AI into the coding environment, enhancing features like code completion, debugging, and VCS operations. We strive to make JetBrains AI Assistant the most useful and intuitive AI-powered tool on the market, focusing on core features such as code completion, code generation, refactoring, and general assistance through chat.
We are looking for a Senior Software Developer to work on python-specific features Ai Assistant.
Our progress and goals:
- Our Python AI Assistance is actively used in PyCharm, continually improving the coding experience for thousands of developers.
- We aim to be the leading AI-powered coding assistant, not just competing but setting the standard in the market.
- With AI's evolving capabilities, we plan to expand its application across python-specific technologies and frameworks, ensuring that every developer finds it indispensable.
In this role you’ll:
- Simplify AI-powered features to make them more intuitive for developers.
- Develop and evaluate AI features for particular python frameworks.
- Drive improvements in code generation quality and ensure style consistency and error reduction.
- Work on embedding AI more deeply into coding, searching, and documentation.
- Integrate the AI Assistant chat functionality to make it smarter and more context-aware for python projects.
We’ll be happy to have you on our team if you:
- Have a deep knowledge of Java and/or Kotlin.
- Understand the principles of unidirectional data flow.
- Are familiar with system architecture and can design and improve complex systems.
- Have experience with concurrent programming and know how to use multithreading and concurrency to improve application performance.
- Can optimize for performance and are capable of tweaking applications to improve speed and efficiency.
- Are comfortable working independently, self-driven, and able to own projects.
We'll appreciate your experience in:
- Python programming.
- Collecting Contexts for AI APIs.
- Contributing to open-source projects or developing projects of your own.
- Developing code analysis tools, compilers, interpreters, debuggers, profilers, or any other development tools.
- 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.