JetBrains
is a Way of Life

This is a place where bright people find interesting software development challenges to solve on a daily basis. If programming is your joy and passion, and code quality is as natural to you as breathing, at JetBrains you are guaranteed professional growth, unlimited creativity and the Drive to Develop.

We are hiring

Senior Developer
St. Petersburg, Russia
Kotlin Libraries Team

Kotlin is a modern programming language for platforms Java, Android, JavaScript and Native (LLVM). It was first released in 2016, and now the language is rapidly growing in popularity. The project is based on pragmatic principles: a convenient range of tools (IDE, build tools, etc.), compatibility, code supportability and ease of learning. Our job is to make users happier. We support and develop 3 back-ends: JVM bytecode, JS and LLVM and the set of libraries for them. Much attention is paid to the possibility of cross-platform code development.

Project special aspects:

  • Developers directly communicate with users via YouTrack, forum, Slack, and GitHub;
  • All of the new code is written in Kotlin;
  • The project is developed in GitHub licensed by Apache 2.0.

You will have to:

  • Develop and provide support for cross-platform libraries for the Kotlin language;
  • Extensively focus on the development of convenient API and documentation.

Candidate’s most valuable skills will be:

  • An ability to solve complex problems;
  • An experience of industrial-strength software development from 4 years;
  • An experience of open-source libraries development and support;
  • A perfect command of written English;
  • An ability to design and write an easily readable and supportable code;
  • Knowledge of basic algorithms and data structures;
  • An ability to work as part of the team.

Will be an asset:

  • An experience of development in Java, Kotlin or other JVM languages;
  • Familiarity with JVM bytecode;
  • An experience of working with JavaScript or LLVM.
Senior Software Developer
St. Petersburg, Russia
Moscow, Russia
Novosibirsk, Russia
IntelliJ IDEA, core team

IntelliJ IDEA appeared on the market for Java software developers 11 years ago. It was the first development environment to implement automated code refactorings. Today IntelliJ IDEA still drives innovation in software development, making thousands of programmers more productive. It is the only commercial IDE in its segment to successfully compete with multiple free alternatives, year after year. IntelliJ IDEA includes various development tools for other languages such as Ruby, Groovy, Scala, Python and PHP.

Your responsibilities:

As part of our team, you will help develop support for programming languages already available in IntelliJ IDEA as well as additional languages.

Requirements:
  • 3 or more years of working experience in Java programming
  • Deep understanding of OOP
  • Multithread programming experience
  • Ability to optimize and refactor other people's code as well as your own
  • Responsibility, independence, discipline
  • Good teamwork skills
Preferable:
  • Experience in developing plug-ins for IntelliJ IDEA, Eclipse and/or Netbeans
  • Knowledge of other languages and paradigms (Groovy, Haskell, Objective-C, Python, Scala, Ruby, etc.)
  • Familiarity with compiler development and code analysis technologies
Senior Software Developer
St. Petersburg, Russia
Moscow, Russia
Novosibirsk, Russia
Munich, Germany
TeamCity

TeamCity is a popular continuous integration and build management server used by thousands of developers throughout the world. This server application is built using the J2EE technology and allows running multiple builds and tests under different platforms and environments simultaneously.

As a team member, you will:
  • improve the support for .NET technologies in TeamCity making the product more powerful for .NET developers.
  • provide technical support for TeamCity customers.
We are looking for an expert who is:
  • highly skilled in both Java and .NET
  • able to take responsibility for developing components/subsystems of the complicated server product
  • well-informed about the .NET technologies world and capable of analyzing new trends of the whole ecosystem
Requirements:
  • Experience in developing complicated systems using .NET and Java
  • Excellent knowledge and great expertise in using .NET development tools: NuGet, TFS, MSBuild, unit testing frameworks, coverage tools etc.
  • Deep understanding of OOP
  • Understanding of the client-server applications architecture
  • Ability to optimize and refactor other people's code as well as your own.
  • Responsibility, self-motivation, and self-discipline.
  • Ability and desire to work efficiently without direct supervision
  • Ability to work in a distributed team (Saint Petersburg, Munich, Prague, Moscow)
  • Excellent communication skills
  • Good command of spoken and written English
Preferable:
  • Experience in developing your own projects or participation in open-source projects (web links in your CV are very welcome)
  • Experience with TeamCity or other Continuous Integration tools
  • Experience in working remotely
Senior Software Developer
St. Petersburg, Russia
Moscow, Russia
Novosibirsk, Russia
TeamCity (Hosted)

TeamCity is a popular continuous integration and build management server used by thousands of developers throughout the world.

TeamCity Hosted team is working on building an industry leading CI/CD cloud service supported all the modern development platforms.

As a TeamCity Hosted team member, you will:
  • Write Java/Kotlin code to build highly available, scalable service running on AWS
  • Improve TeamCity product to make it more suitable to cloud-first environment
  • Integrate with third party technologies to provide best possible experience for the user
  • Contribute to service infrastructure components
Requirements:
  • Experience in developing highly available, scalable web applications using Java or Kotlin.
  • Deep understanding of OOP.
  • Deep understanding of the client-server applications architecture.
  • Efficiency in prototyping.
  • Accuracy in making changes in a big complex project.
  • Passion, responsibility and self-discipline.
  • Ability to work in a distributed team (Saint Petersburg, Munich, Prague, Moscow)
Preferable:
  • Knowledge and experience in DevOps tools: Docker, AWS, etc.
  • Knowledge and experience in Kotlin.
Senior Java Developer
St. Petersburg, Russia
Novosibirsk, Russia
DataGrip

DataGrip is JetBrains’ new IDE for databases, first released in December 2016. The DataGrip team is currently in need of a senior software developer.

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

  • Are familiar with JetBrains products and want to improve them;
  • Love coding and take pride in your work;
  • Can support your opinions with sound reasoning;
  • Write clear code and maintain it;
  • Have coded Java for the last 3 years;
  • Have experience with databases and query languages;
  • Have participated in open source projects;
  • Know additional programming languages and are aware of software development paradigms; and
  • Are familiar with how compilers are created and how code analysis is conducted.

Please share your Github or Bitbucket profile when you apply.

About DataGrip:

  • There are two types of tasks: source code analysis and integration with third-party tools. You can choose among several subsystems, and it’s up to you what exactly you will develop there.
  • Source code is written in Java, Groovy, and Kotlin.
  • Functionality tests are created for several subsystems at a time. TeamCity runs the tests continuously. We also use Docker.
  • We communicate with our users directly. If a bug happens to stop a user’s working process, we fix it in a day and send a personal edition to the customer.

We provide our team members with additional medical insurance for themselves, their spouses, and their children.

Senior Java Developer
Boston, MA, USA
Moscow, Russia
St. Petersburg, Russia
DataLore

Huge amounts of data are being collected and processed nowadays, and this trend is here to stay. Understanding data is crucial for many industries, which is why data scientists from various domains come to programming, using languages like R and Python, and utilizing different tools to do this work.

We at JetBrains are creating DataLore, an intelligent workbook based on Python ecosystem, which helps data scientists be more productive and focus more on actual data analysis to address the difficulties data scientists are facing. Here are some examples:

  1. In addition to proficiency in data science and statistics, familiarity with a variety of Python libraries is now a requirement. DataLore provides an intelligent code editor with intention actions, allowing data scientists to be productive even without reading through the complete documentation for the tools and libraries they use. Guiding the user through a data analysis problem, DataLore suggests possible actions, identifies suspicious code, checks that the stated objective is achieved, and may even propose a better way to solve the problem.
  2. Team collaboration is essential for any project. Currently, available tools such as version control systems and shared folders make it possible but do not really make it easy and rarely offer any real-time collaboration features. DataLore will provide a set of dedicated collaborative services for computational workbooks.
  3. Data processing and computations often take lots of time. Existing tools don’t track computation relationships and dependencies, and cannot perform calculations incrementally. DataLore offers such capabilities and helps you save time by getting rid of redundant computations.

These are just some of the challenges we are solving or intend to solve with DataLore. The product is still in its early stages, but we have lots of plans and ambitions as well as broad experience in working with code, creating smart code editors, and helping users increase their productivity.

We use GWT + JavaScript for the client-side, Python + Java (Servlets + and others) for the server-side. We have a complex distributed backend on a modern Java + Spring with many complex algorithmic components.

We are looking for a Senior Software Developer, who will help us to build new features and develop the product.

Requirements:

  • 3 years of commercial or research development experience
  • programming experience in Java, C# or any other statically typed languages (i.e. Scala, Go, etc)
  • data structures and algorithm knowledge
  • experience with distributed algorithms and systems.

Preferable:

  • experience with NoSQL databases
  • experience with map-reduce platforms (Hadoop, etc)
  • experience with cloud platforms.
Java Developer
St. Petersburg, Russia
Moscow, Russia
Novosibirsk, Russia
PyCharm

PyCharm is an integrated developing environment (IDE) for applications written in Python. Python is one with the fastest-growing number of users and greatest number of implementations, from web-apps to big data distributed processing. And in each sphere, the integrated environment is to help the programmer solve creative problems.

What tasks does our product perform?

  • First, help with program writing. The IDE must analyze the entered code on-the-fly, highlight mistakes, suggest auto-completion variants, help switch between interconnected elements, support automatic refactoring;
  • Second, tasks related to program running: debugging, profiling, testing are made possible due to close integration of the IDE and Python interpreter;
  • Third, integration of the IDE and external systems, like dependency managing, code generating, or containerizing systems. It must be convenient for the user to work with all of these tools without leaving the IDE.

We are never at a stop and are always in the process of developing something to surprise our users.

Along with the distributed team you will have the possibility to:

  • evolve PyCharm as a product and discuss the new functions;
  • elaborate the Python language support and develop means of code analysis and refactoring;
  • develop integration of Python with popular web-frameworks, like Django, Pyramid, Flask and others;
  • improve launching, debugging and profiling support for applications.

We want to see you in our team if you:

  • have an experience of java developing from 3 years;
  • can design and write a code easy to read and support;
  • can work both as part of the team and independently;
  • do not stop improving your professional level, study and try new approaches and technologies;
  • are capable and fond of solving complex problems;
  • want to improve PyCharm and know how to;
  • are proud of the results of your professional activity.

And particularly if you have an experience of:

  • using Python;
  • participating in open-source projects or managing your own projects;
  • creating compilers, interpreters, code, debuggers, profilers or any other tools analyzing;
  • creating plugins for IntelliJ IDEA or any other development environments.

How we develop PyCharm:

  • source codes are stored in Git. The PyCharm Community Edition code, as well as the greater part of IntelliJ platform, is generally available on GitHub;
  • basically it is Java, some Groovy, and progressively more of the code is written in Kotlin.There are subsystems written in Python;
  • for teamwork managing we use our own products: Upsource for code review, Teamcity for test auto-running and product integration, YouTrack for tracking bugs and features;
  • all team members take part in formation of the product vision and planning future versions;
  • for better understanding of our users’ needs we openly communicate with them in forums and blogs, and also at live conferences.
Senior Software Developer
St. Petersburg, Russia
Moscow, Russia
Munich, Germany
AppCode

AppCode is an IDE for iOS and macOS development; it supports Swift, Objective-C, as well as C/C++ languages.

Among the tasks we have at hands are:
  • Swift and Objective-C languages support: auto-completion, problematic code highlighting, refactorings and code-generation;
  • running and debugging on devices and simulators (iOS, watchOS, tvOS);
  • adding unit testing frameworks: XCTest, Kiwi, Specta, Quick - tests running, as well as features like navigation between tests and test generation.
Together with the team you will:
  • advance AppCode as a product, take part in discussions and development of new features;
  • extend Swift and Objective-C languages support; develop code analysis tools and refactorings;
  • improve running and debugging of macOS and iOS applications;
  • support new unit testing frameworks;
  • improve project model support and integration with Xcode.
We'll be happy to see you as a part of the team if you:
  • have at least 3 years of Java development experience in commercial products;
  • know how to write thread-safe code;
  • familiar with algorithms and data structures;
  • understand principles of OOP and can create extensible API;
  • know how to automatically test your code;
  • able to work efficiently as a part of a team and independently.
We'll be especially glad if you:
  • familiar with macOS;
  • have hands-on experience with iOS or macOS development using Swift or Objective-C;
  • developed plugins for IntelliJ IDEA, Eclipse or NetBeans.
How we develop AppCode:

AppCode is based on the IntelliJ platform - a foundation for many JetBrains products, such as IntelliJ IDEA, WebStorm, PhpStorm, RubyMine, PyCharm, CLion.

The source code is stored in Git repositories, some of which are available on GitHub. Most of the code is written in Java, some in Groovy and Kotlin; low-level libraries use C/C++ (for instance, LLDB integration). The code is covered by automated tests, peer-reviewed and extensively tested by QA. Thanks to this, we keep the quality of the product and avoid regressions.

The development process is fully transparent: team members can take part in any task, always participate in feature discussions and version planning. And to better understand our users' needs all team communicates with them in forums, issue tracker and during conferences, discuss suggestions and help with problems. Listening to the users and communicating with them openly is one of the most important parts of the JetBrains culture.

Senior Software Developer
St. Petersburg, Russia
Moscow, Russia
Novosibirsk, Russia
Munich, Germany
CLion (Embedded Support)

CLion is a cross-platform IDE for developing in C/C++ as well as Kotlin/Native and Rust. It supports the CMake build system and GCC/Clang compilers, and integrates with GDB and LLDB debuggers.

One area of priority for CLion is providing support for embedded systems, microcontrollers, and IoT development.

As a part of our team, you will:
  • advance CLion as a product, take part in discussions, and help develop new features;
  • implement support for tools for embedded development, from low-level integration to Swing UI.
Please apply if you:
  • have professional development experience in embedded/IoT/automation projects;
  • are passionate about making life better for embedded systems developers;
  • have developed cross-platform systems before;
  • are experienced in multi-threaded systems development;
  • understand the principles of OOP and can create modular and extensible API;
  • are willing to learn and develop in Kotlin/Java;
  • know how to automatically test any kind of code;
  • are able to work efficiently both independently and in a team.
We’d be especially thrilled if you:
  • have experience with Kotlin/Java or other managed languages;
  • are familiar with Unix, Windows, and OS X;
  • have experience developing plugins for IntelliJ IDEA, Eclipse, or NetBeans.
How we develop CLion:

CLion is based on the IntelliJ Platform which underpins many JetBrains products, including IntelliJ IDEA, WebStorm, PhpStorm, RubyMine, PyCharm, AppCode, and many others.

The source code is stored in Git repositories, some of which are available on GitHub. Most of the code is written in Java, with some in Groovy and Kotlin; low-level libraries use C/C++ (for instance, LLDB integration).

The whole development process is transparent and everyone can take part in any of the tasks. The team constantly communicates face to face and via Slack/Skype. All code changes are covered by developers with automated tests, peer-reviews, and then extensively tested by the QA team.

Additionally team members communicate with our users directly, discussing features and how we may be able to help to solve their problems. We also meet our users during conferences to discuss their ideas and problems. Listening to our users and communicating with them openly is one of the most important parts of the JetBrains culture.

If we have sparked your interest, don’t hesitate and send your CV right away!

Developer
St. Petersburg, Russia
Novosibirsk, Russia
GoLand

GoLand is JetBrains’ new IDE for Golang. Its first trial version was released in December 2016.

To help us improve GoLand, we need an awesome Java Developer passionate about making Go developers’ lives better.

Our ideal candidate codes both Java and Go and treats user interfaces as an important part of software. They know when it is preferable to use an IDE and when it’s better to choose vim and grep in console. They are responsible and can maintain a balance between working on routine development tasks and doing fun stuff.

Why join JetBrains?

  • Registration according to the Labor Code;
  • Flexible working hours;
  • No weekly reports or management hierarchy;
  • 5 working weeks of paid vacation;
  • Paid sick leave;
  • Additional health insurance including dental for you, your spouse, and your children;
  • Modern office facilities with parking open 24/7;
  • Hot meals, drinks, snacks, and fruit;
  • A library;
  • Free English and German classes;
  • A gym with showers and a massage parlor;
  • Participation at trade conferences in Europe and the US; and
  • Relocation bonus.

Guide:

Please write a short story about yourself and your projects and attach a link to your GitHub account (or send us some code samples you are proud of). If you aren’t familiar with JetBrains, please look at the source code of IntelliJ Platform. Learn what plugins are and how they are written. Also look at how we work with our customers via YouTrack.

QA Engineer
St. Petersburg, Russia
Moscow, Russia
Munich, Germany
CLion

CLion is JetBrains’ cross-platform C/C++ IDE supporting CMake, GCC, Clang, GDB, and LLDB.

Our priorities in enhancing CLion include: high-quality support of C++ and C standards; maintenance of cross- and remote development; maintenance of embedded systems development; and support for profilers, testing libraries, and other tools. We also plan to expand the list of supported assembly systems such as CMake, makefiles, etc.

As a part of our team, you will:
  • Perform functional and investigational testing of different components of the IDE;
  • Perform usability tests;
  • Work with users in our bug tracker and initially process requests;
  • Reproduce issues in both existing and new functionality in different environments; and
  • Participate in discussing new functionality, planning, and product releases.
We’ll be happy to see you join our team if you:
  • Think software products should be high-quality and user-friendly;
  • Are familiar with software development processes;
  • Are familiar with C or C++ (or other OOP languages) enough to create simple applications and understand others’ code;
  • Can find and reproduce complicated functionality issues;
  • Are ready to communicate with users and help resolve their problems;
  • Are fluent in English and Russian with advanced writing skills;
  • Are a good team player but also work well on your own.
We will be especially happy if you:
  • Have experience in QA and customer support for commercial software tools;
  • Are familiar with Unix, Windows, and macOS; and/or
  • Are familiar with software development tools such as MS Visual Studio, QtCreator, IntelliJ IDEA, Eclipse, or NetBeans.
Here’s some information on who is already developing CLion and how:

CLion is based on IntelliJ Platform which also serves as the foundation for other JetBrains products including IntelliJ IDEA, WebStorm, PhpStorm, RubyMine, PyCharm, AppCode, DataGrip, and GoLand.

The whole development process is totally transparent, and everyone can participate in any task. Team members are in constant communication with each other, both face to face and via Slack. All changes are covered by automated tests, and the code is reviewed before proceeding to manual testing. We perform thorough functional testing, usability tests, and investigational testing to ensure high functionality and decrease the possibility of regression.

All team members communicate with our users, discuss newly proposed features, take part in troubleshooting, and specify bug descriptions. We also interact with our customers on web forums and trade conferences. Being open to communication with users is part and parcel of JetBrains culture.

Interested? Send us your CV and cover letter today!

Senior Support Engineer
St. Petersburg, Russia
Moscow, Russia
Novosibirsk, Russia
Munich, Germany
TeamCity

JetBrains TeamCity, a popular continuous integration and build server, looks for a support engineer who will work as part of the development team and will: make TeamCity users happy by helping them configure TeamCity, set up their builds and solve environment problems; provide feedback to the TeamCity team based on the support cases in order to improve the product: make it easier to use and better address customers needs. See example of the support cases at teamcity-support.jetbrains.com/hc/en-us/community/topics

Responsibilities:
  • Provide technical support for TeamCity via email, community forums, social media, occasionally in the phone calls
  • Reproduce customers' issues and communicate them to the development team
  • Contribute to the product development based on the customers' common problems and needs
Requirements:
  • Excellent spoken and written English
  • Experience with Java or .NET
  • Excellent communication skills
  • Good teamwork skills
  • Being great in "getting things done"
  • Being able to learn and master new technologies
  • Ability to work in self-managed manner
  • Technical background and at least some programming experience
  • Understanding software development process, in particular continuous integration practice
  • System administration experience is a plus
  • Software testing experience is a plus
Product Marketing Manager
Munich, Germany
St. Petersburg, Russia
IntelliJ IDEA

JetBrains delivers tools that make professional software development a more productive and enjoyable experience. IntelliJ IDEA is our flagship IDE for productive Java development that comes in two editions: the free and open-source IntelliJ IDEA Community Edition — for JVM and Android development, and IntelliJ IDEA Ultimate — for web and enterprise development.

IntelliJ IDEA is a product loved and used by hundreds thousands of developers. But we know how much more we can do to bring more value to existing users and promote the product to new users.

We want to strengthen IntelliJ IDEA marketing by adding more people to the team that would allow for better focus in both product development and marketing outreach.

Responsibilities:

  • Develop and manage promotion campaigns to drive product awareness and user engagement
  • Understand customer needs and gather product requirements
  • Work closely with the development team to determine product priorities and roadmap
  • Distill key functionality and features of the product into compelling marketing assets and advertising possibilities
  • Plan the launch of new releases and manage the cross-functional team to execute the plan
  • Communicate with sales team to coordinate joint marketing/sales activities
  • Work across company marketing to manage online marketing campaigns, events, SEO, web design and more
  • Continuously monitor the market to identify new opportunities and gain competitive advantages
  • Collaborate with evangelists and technical writers to ensure they deliver high-quality product-related content
  • Prepare public appearances such as exhibitions at trade shows, customer visits and training sessions

Requirements:

  • Amateur or professional software development experience, preferably in JVM languages
  • Fluent spoken and written English
  • Excellent communication skills
  • Strong analytical skills
  • Entrepreneurial drive with appreciation for user experience and business aspects

Preferable:

  • Degree or 3+ years of proven experience in Marketing or a related discipline
  • Familiarity with IntelliJ IDEA or other JetBrains products is a great plus
Product Marketing Manager
Munich, Germany
St. Petersburg, Russia
GoLand

JetBrains delivers tools that make professional software development a more productive and enjoyable experience. GoLand is the codename of our new Go IDE announced less than a year ago. Still in beta stage, GoLand is already used and loved by thousands of developers.

Approaching the upcoming release, we are looking for a passionate, creative and open-minded person to join the product team to focus on both product development and marketing outreach.

Responsibilities:

  • Develop and manage promotion campaigns to drive product awareness and user engagement
  • Understand customer needs and gather product requirements
  • Work closely with the development team to determine product priorities and roadmap
  • Distill key functionality and features of the product into compelling marketing assets and advertising possibilities
  • Plan the launch of new releases and manage the cross-functional team to execute the plan
  • Communicate with sales team to coordinate joint marketing/sales activities
  • Work across company marketing to manage online marketing campaigns, events, SEO, web design and more
  • Continuously monitor the market to identify new opportunities and gain competitive advantages
  • Collaborate with evangelists and technical writers to ensure they deliver high-quality product-related content
  • Prepare public appearances such as exhibitions at trade shows, customer visits and training sessions

Requirements:

  • Amateur or professional software development experience, preferably with Go
  • Fluent spoken and written English
  • Excellent communication skills
  • Strong analytical skills
  • Entrepreneurial drive with appreciation for user experience and business aspects

Preferable:

  • University degree or 3+ years of proven experience in Marketing or a related discipline
  • Familiarity with JetBrains IDEs would be a great plus
Data Scientist
Munich, Germany
St. Petersburg, Russia
Marketing Research

The JetBrains Marketing Research Team is looking for a Data Scientist. We are engaged in a wide range of projects for our Product, Sales, and Marketing departments. For our research, we use various internal/external data sources and statistical analysis. Our goal is to supply our product, marketing, and sales teams with the necessary data to help them improve pricing and marketing strategies and make informed decisions about product changes.

As part of the team, our data scientists ensure that JetBrains makes sound financial decisions. You will be involved in exploring a range of different business models as the company grows.

You will:

  • Develop advanced financial models for sales prediction and pricing.
  • Evaluate the performance of our volume discounts and the special offers we have provided to customers and suggest improvements for maximizing revenues.
  • Evaluate the price sensitivity of different customer groups and regions and provide suggestions for improving the pricing policies.
  • Conduct research in order to answer questions about product prices, company revenue, and the effectiveness of sales and marketing activities.
  • Work closely with other analysts and company leaders to understand and shape key priorities.
  • Define and track meaningful metrics to support decision-making.
  • Develop and produce regular insightful reports as needed.
  • Report on the work done and make presentations of the results for research initiators.

Minimum qualifications:

  • Bachelor’s degree in business, finance or a related technical field, or equivalent practical experience.
  • Minimum 3 years of experience in the software, Internet, media or telecom industries.
  • Experience in financial analysis, including forecasting and valuations in a technical business.
  • Knowledge of mathematical statistics with practical experience in the application of statistical methods.
  • Strong knowledge of R or Python.
  • Good English proficiency (sufficient speaking and writing skills).

Preferred qualifications:

  • Master’s degree in business, finance or a related technical field.
  • Demonstrable knowledge of SQL.
  • Proven experience in developing effective forecasting models for pricing and financial processes.
  • Effective problem solving and advanced analytical and modeling skills, combined with impeccable business judgment and strategic thinking.
  • Strong written and verbal communication skills with a proven ability to engage with colleagues across company departments to achieve the best collaborative outcomes.
Full-stack Developer
St. Petersburg, Russia
Marketing Research

JetBrains Marketing Research Team is looking for a Full-stack developer.

We are engaged in a wide range of projects for our Product, Sales and Marketing departments. For our research we use various internal/external data sources and statistical analysis. To gather and process data we have built up a comprehensive distributed microservice system and we are looking for someone to develop new components, enhance existing ones and maintain the infrastructure.

Our goal is to supply product/marketing teams with the necessary data that helps improving pricing and marketing strategies, making reasoned decisions on product changes.

As a developer in our team you will be:

  • Engaged in development and testing of the processing system, adding new components and enhancing existing ones.
  • Working on web-frontend for representation of data gathered from various sources.
  • Designing database and components architecture.
  • Maintaining and improving infrastructure to keep our services alive.
  • Keeping look of our surveys nice and user friendly by updating CSS.
  • Closely cooperating with analysts and other developers.

Required Skills:

  • Strong knowledge of:
  • Java 8,
  • Maven,
  • JavaScript
  • HTML/CSS
  • Unit-testing (Mockito, PowerMock)
  • Experience in building web-services using Spring Framework (MVC, Boot, Security, Data, Cloud)
  • Basic knowledge of:
    • SQL
    • Git
    • Linux
  • Good knowledge of English (sufficient oral and written skills).

Preferable:

  • Knowledge of React library is huge plus.
  • Experience in development of distributed systems.
  • Experience with:
    • Docker
    • R
    • Consul
    • MongoDB
    • HDFS
    • Selenium WebDriver
    • Ansible
  • JetBrains products/similar products usage experience.
Marketing Automations Developer
St. Petersburg, Russia
Marketing

JetBrains is looking for a Software Developer to join Marketing Automation team in our office in St. Petersburg, Russia. At JetBrains, we have a passion for making development teams more productive through smarter software that leads to more efficient development processes, shorter release cycles and more enjoyable coding - that's exactly why we've decided to automate and optimize as many marketing processes as we can for JetBrains itself, and we already have some tools and automations in place.

In this role you will be responsible for development, testing, deployment and maintenance of marketing automations and workflows for Marketo, Zendesk and other third-party and internal applications (including building new standalone applications for various kinds of marketing automations). And we will expect you to know the automations in place, know why they exist and know how they can be made better.

As a Marketing Automations Developer you will work closely with product, marketing, sales, support, internal development, IT and other teams.

Responsibilities

  • Develop, test, deploy and maintain:
    • Marketing automations in Marketo, an email & marketing automation system used by JetBrains. (Velocity Scripts, Marketo templates markup, HTML, CSS, JavaScript, logic development via UI/API, external integrations via API and external recurring jobs);
    • Automations, workflows and internal applications for Zendesk, a customer support system used by JetBrains. (HTML, CSS, JavaScript, Handlebars, logic development via UI/API, external integrations via API and external recurring jobs);
    • Zendesk self-service Help Center customizations (HTML, CSS, JavaScript, Handlebars);
    • Standalone applications for marketing automations (some of the used technologies are Kotlin, HTML, CSS, JavaScript, PHP);
    • Recurring maintenance and integration jobs for Marketo, Zendesk and other tools;
  • Together with internal development team and third-party vendors collaborate on integration of various internal and third-party tools used by JetBrains;
  • Troubleshoot and provide technical assistance during investigations related to marketing automation workflows and applications.

Requirements

  • Experience of commercial development in Java, C#, C++ or any other statically typed languages (Kotlin would be an advantage, but you'll learn it easily :);
  • Knowledge of HTML/CSS/JavaScript;
  • Knowledge of SQL, relational databases;
  • Interest in building efficient and reliable automated marketing and business workflows;
  • Good spoken and written English;
  • Ability and desire to work efficiently without direct supervision;
  • Ability to carry out research tasks;
  • Ability to work in a distributed team;
  • Good teamwork skills.
Technical Writer
St. Petersburg, Russia
DataGrip

DataGrip is a multi-engine database environment from JetBrains. It supports all popular relational databases. Targeting the needs of professional SQL developers, DataGrip makes working with databases an enjoyable experience.

The product was released in December, 2016 and now it is actively developed. 3 times a year we release a new major version of the product that adds lots of new features and improvements. We are looking for an experienced technical writer to join our team and help us develop documentation for DataGrip.

Responsibilities:
  • Create clear and technically precise documentation for DataGrip;
  • Collect and analyse various scenarios of using the product or some specific technology in it and create tutorials for them;
  • Maintain the existing documentation up-to-date and constantly improve it;
  • Work closely with the product development team to get a clear understanding of how the product works and technical support and marketing to understand user needs;
  • Analyse the needs of both new and experienced users and help them learn the product efficiently.
Requirements:
  • 3+ years of experience in technical writing;
  • Good command of English;
  • Ability to quickly learn about the product and new technologies;
  • Ability to prioritise tasks and manage time resources;
  • Experience in working with a large documentation base;
  • Experience with authoring tools, issue tracking and version control systems.
Additional requirements:
  • Empathy with users;
  • Good writing style and strong editing, formatting and communication skills;
  • Knowledge of databases and SQL is a plus.

At JetBrains Technical Writers are part of the product teams. Our documentation process is very open: technical writers communicate directly with the developers and QAs to get all the required technical information. There are no intermediaries or long technical specifications involved.

They also work closely together with the product marketing managers and support engineers to analyse user feedback and define and prioritise the tasks.

To author the documentation for IntelliJ IDEA we use IntelliJ IDEA itself. So all technical writers have a hands-on experience with the product. We have a plugin to IntelliJ IDEA developed internally to author documentation. The documentation is written in XML using a schema adapted to suite our needs. All source code is under Git version control.

Technical Writer
St. Petersburg, Russia
Munich, Germany
PyCharm

JetBrains delivers intelligent software solutions that make developers more productive by simplifying their challenging tasks, automating the routine, and helping them adopt the best development practices.

JetBrains PyCharm is a Python IDE for professional developers that provides a complete set of tools for productive Python, Web, and Scientific development. PyCharm comes in two editions: the free and open-source Community Edition is perfect for pure Python coding and scientific development, while Professional Edition is designed for professional Python and Web developers.

The product is in active development, with three major releases per year adding lots of new features and improvements.

At JetBrains, technical writers are part of product development teams. Following an open process, technical writers communicate directly with the developers and QA engineers to get the technical information they require, with no intermediaries or long technical specifications involved. They also work closely together with the product marketing managers and support engineers to analyze user feedback and define and prioritize tasks.

We are looking for an experienced technical writer to join our team and help us develop documentation for a great user experience.

Responsibilities:
  • Author clear and technically precise documentation for PyCharm
  • Collect and analyze various scenarios of using the product or some specific technology in it and create tutorials
  • Maintain and improve existing documentation
  • Work closely with the product development team to get a clear understanding of how the product works, and with the technical support and marketing teams to understand users’ needs
  • Analyze the needs of both new and experienced users and help them use the product efficiently
Requirements:
  • 3+ years of experience in technical writing
  • Outstanding English writing skills
  • Good writing style and strong editing, formatting, and communication skills
  • Ability to quickly learn new products and new technologies
  • Ability to prioritize tasks and manage time
  • Experience in working with a large documentation base
  • Experience with authoring tools, issue tracking, and version control systems
  • Any knowledge of Python or other programming languages is a plus
We offer:
  • Flexible working hours, convenient and friendly work space, flat hierarchies, direct communication, and helpful and engaged colleagues
  • Competitive and attractive salary
  • Flexible working schedule
  • Office library with specialized work-related books and magazines
  • Comfortable working environment, with ergonomic workplaces, fitness and leisure zones and company-paid car park
  • Excellent opportunity for professional and personal development, opportunity to travel to professional conferences worldwide
  • Additional benefits including lunch vouchers, free refreshments and snacks in the office, and more
  • Relocation to Munich can be considered
Technical Writer
St. Petersburg, Russia
RubyMine

JetBrains delivers intelligent software solutions that make developers more productive by simplifying their challenging tasks, automating the routine, and helping them adopt the best development practices.

RubyMine is the most recognized Ruby and Rails development environment designed for professional software engineers. It streamlines routine tasks and facilitates faster and more robust software development.

Launched in 2009, RubyMine is still in active development. With 3 major releases a year, we constantly add new features and improvements. We strive to improve user experience by both making our product better and producing comprehensive product tutorials. We are looking for an experienced technical writer to join our team who will own and develop documentation and learning materials for RubyMine.

At JetBrains, technical writers are part of the product development teams. They communicate directly with the developers and QA engineers to get the technical information they require, with no intermediaries or long technical specifications involved. They also work closely with the product marketing managers and support engineers to analyze user feedback, define and prioritize tasks.

Responsibilities:
  • Create, own and maintain clear, coherent and technically accurate documentation for RubyMine
  • Produce various content (e.g. blog posts, screencasts, etc.) in collaboration with the product marketing manager
  • Collect and analyse various use cases of the product being employed along with certain technologies and create relevant tutorials
  • Work closely with the product development team and technical support/marketing specialists to obtain an in-depth understanding of how the product works and what the users need
  • Recognize the needs of both new and experienced users to help them learn the product efficiently
Requirements:
  • 3+ years of experience in technical writing
  • Good command of English and writing style
  • Strong editing, formatting and communication skills
  • Ability to quickly learn the product and related/new technologies
  • Ability to prioritise tasks and manage time effectively
  • Experience in working with a large documentation base
  • Experience with authoring tools, issue tracking and version control systems
  • Knowledge of Ruby or any other programming language is a plus.
We offer:
  • Flexible work schedule, convenient and friendly work environment, flat hierarchies, direct communication, and helpful and engaged colleagues
  • Competitive and attractive salary
  • Medical insurance including family
  • Fitness, leisure zones, office library and company-paid car park
  • Excellent opportunities for professional and personal development, the opportunity of traveling to professional conferences worldwide
  • Additional benefits including lunch vouchers, refreshments and snacks in the office, and more
Software Engineering Technical Writer
St. Petersburg, Russia
Munich, Germany
Kotlin

We are looking for a person who is half-developer, half-technical writer to help us build best possible documentation for Kotlin libraries. If you are an experienced software engineering technical writer who loves writing texts for developers and also likes to code, we might be looking for you!

Kotlin is a modern programming language targeting the Java virtual machine, Android platform, JavaScript, and native via LLVM. Its multi-platform capabilities open a lot of opportunities for sharing code and developing libraries and frameworks that can be used on multiple platforms. The Kotlin language is designed to be pragmatic: best tooling support, conciseness, safety, and interoperability with the target platform. We pay special attention to making the language and libraries user-friendly, easy-to-use, extensible and powerful.

Having just the language compiler is not enough to satisfy developers' needs. A comprehensive set of libraries for multiple platforms is required to get jobs done quickly. But in addition, we believe that friendly documentation, guides, samples, and how-tos are as important as good APIs and code quality.

What you will be doing:
  • Creating clear technical documentation for Kotlin libraries;
  • Writing samples, including material targeted at developers;
  • Collecting and analyzing various scenarios of using libraries and frameworks and creating tutorials for them;
  • Maintaining the existing documentation and constantly improving it;
  • Working closely with the development team to get a clear understanding of how the product works;
  • Communicating with developers using our products to understand their needs;
  • Analyzing the needs of both new and experienced users and helping them learn the product efficiently;
  • Managing the production and publishing of documentation.
What we expect from you:
  • 3+ years of experience in technical writing;
  • Experience in software development, passion to write and read code;
  • Good command of English;
  • Good writing style and strong editing, formatting and communication skills;
  • Ability to quickly understand and experiment with new technologies;
  • Fluency with plaintext workflows including Markdown, Git, and build systems;
  • Familiarity with issue tracking and version control systems.

At JetBrains Technical Writers are part of the product teams. Our documentation process is very open: technical writers communicate directly with the developers and QAs to get all the required technical information. There are no intermediaries or long technical specifications involved. You will also work closely together with the product marketing managers and support engineers to analyse user feedback and define and prioritise the tasks.

If you believe you can make developers say “Wow! This documentation is brilliant!”, contact us!

Software Project Leader
Boston, MA, USA
Stepik

IntelliJ IDEA appeared on the market for Java software developers 11 years ago. It was the first development environment to implement automated code refactorings. Today IntelliJ IDEA still drives innovation in software development, making thousands of programmers more productive with their day to day programming. It is the only commercial IDE in its segment to successfully compete with multiple free alternatives, year after year. IntelliJ IDEA includes various development tools for other languages such as Ruby, Groovy, Scala, Python, and PHP. We have multiple positions available for a new IntelliJ MOOC development team.

Your main goal would be to:

  • Lead the development of software products & subsystems in the context of the Company’s IntelliJ IDEA software tools and the Company’s MOOC educational platform.

Requirements:

  • At least 6 months experience with development of an educational platform, including the mechanics to access content, online problem sets development, facilities for online classes, principles of online grading, and maintenance of security.

  • At least 2 years experience as a project leader in software development using agile processes;

  • At least 2 years experience in software development & teamwork tools such as IntelliJ IDEA, TeamCity, YouTrack, and PyCharm;

  • Experience with software development with any JVM-based languages;

  • US Bachelor of Arts or Bachelor of Science or foreign equivalent in math or computer science;

  • Concurrent experiences are acceptable.

  • You should be legally eligible to work in the United States.

Preferable:

  • Experience in developing your own projects or participation in open-source projects (web links in your CV are very welcome);

  • Familiarity with compiler development and code analysis technologies.

  • Knowledge of Python, Django, and JavaScript would be a plus;

Software Developer Intern
Boston, MA, USA
DataLore

We are developing a tool for data science / machine learning specialists — https://datalore.io/. Datalore is a collaborative computational workbook. It understands data and computations and suggests possible statistical analyses and visualizations.

We are looking for software developers to helps us build intentions, smart components that can look at the (Python) code and data and can offer further helpful actions. For example, the system can look at runtime data and realize certain patterns (that there are missing values in the dataframe or that we have a classification problem) and then offer a suitable action (impute data or offer various classifiers). As a result, these small tasks can be executed faster and the user doesn’t need to remember the exact syntax or details.

The intentions subsystem has two components. One part resides at the client side. It checks if the intentions are applicable, shows applicable intentions, and then generates the code once an intention is invoked. The other part lives at the server side. It analyzes the runtime data (are there missing values? Is this column categorical?) and sends back the relevant information (that later could be used to determine applicability of the intentions and the generated code).

The intentions generate Python code. We also use numpy, pandas, sklearn, ggplot (we have our own Python implementation), sympy (in the future this list will grow). Our subsystem implementation mostly uses Java and Python (we also have C++ in other subsystems in our project). For this position we require basic knowledge of Java, Python, and data science/machine learning.

Possible tasks:

  1. Write various intentions. Requirements: Python, SciPy libraries (numpy, pandas, sklearn), data science / machine learning. We have some context (cursor position, cursor position in the Python syntax tree) and we need to determine if this particular intention is applicable, show a dialog (if there are parameters) and then we generate code and insert it. Examples, do a train test split, apply a linear regression, create a scatter plot.

  2. Write the code for python services. We have access to python runtime information. For example, we need to know which columns of the dataframe are binary. Then we can send this information over to the client side and use it for some intentions (for example, for binary columns we can generate some specific code).

  3. Other tasks: UI (various kinds of dialogs), the UI side of the intentions (gwt), intentions infrastructure.

Software Developer Intern
St. Petersburg, Russia
Programming Languages and Tools Laboratory

We are looking for persons who are interested in formal languages theory and its application for static code analysis and graph database querying.

Our group is a part of Programming Languages and Tools Laboratory and we are working on different aspects of languages processing such as algorithms for language intersection which may be used in various areas such as graph databases, static code analysis, compressed data processing. There are many problems in these areas and attempts to find solutions lead us to such fundamental problems in language theory as emptiness of language, closedness of language classes under intersection, etc. We propose the following areas of research:

  • Development of algorithms for languages intersection and deep comparison of classical parsing techniques in the context of graph querying.
  • Finding of new problems which may be formulated in terms of language intersection and comparison of solutions, based on language intersection, with other approaches.
  • Language classes and language specification formalisms comparison: a balance between expressivity and decidability of fundamental problems.

You can find examples of tasks on GitHub and choose preferable area of work. Feel free to request details in comments.

Requirements

Strong requirements are fundamentals of formal languages theory and good math background (linear algebra, graph theory, logic). Would be useful to have an experience in functional programming (preferable F#, Scala) and in parallel and GPGPU programming.

Software Developer Intern
St. Petersburg, Russia
Mobile Robot Algorithms Laboratory

The ultimate goal of the Laboratory is to realize the Human's long-standing dream of having a fully autonomous mobile assistant who can perform assignments and make decisions on his own to achieve the goal.

Currently we have open position for students in ROS SLAM Constructor project.

Project goals are:

  • creation of a framework that acts as a constructor of SLAM algorithms (a researcher is supposed to connect available components by himself and add necessary modifications);
  • implementation of full set of basic components that can be assembled into the most common (fundamental) SLAM algorithms;
  • creation of the infrastructure and tools for SLAM algorithms debugging and analysis;
  • creation of service for management SLAM datasets (converting, storing, providing etc);

All software we are developing is supposed to be developed for Linux and ROS.

Work packages / current roadmap:

  • Support components for graph-based SLAM methods;
  • ROS SLAM Testing Farm: (virtualized, container based environment, for semi-autonomous SLAM algorithms testing)
  • SLAM datasets service
  • Visual odometry framework which will allow to use wide set of methods, including Machine Learning etc.
  • Multi-robot SLAM implementation (including testing ROS over DDS [aka ROS2] concept)

Strong requirements: Linux, C++, Probability theory.
Would be useful: understanding ROS concepts, experience in computer vision.

Campus Ambassador
Prague, Czech Republic
Charles University in Prague
Faculty of Mathematics and Physics

Would you like to get hands-on experience in the latest technologies and gain insight in industry changing software development tools? Join our team and become JetBrains Ambassador!

You may already be familiar with software development tools from JetBrains, such as PyCharm (for Python developers), WebStorm (JavaScript) or IntelliJ IDEA (Java). JetBrains provides its tools to students worldwide for free.

Campus Ambassadors are community leaders opening up this opportunity to their university peers. They share information about JetBrains tools and demonstrate their benefits and advantages. Dozens of students at MFF already use JetBrains tools, and others join every month.

Campus Ambassador:

  • Understands the scope, i.e. how many students at the university can potentially be interested in JetBrains tools
  • Spreads the word about the availability of these free tools for students
  • Sets up a user group or joins an existing user group
  • Organizes group meetings and workshops and makes presentations
  • Organizes campus visits for JetBrains speakers, if appropriate

Requirements

  • A background in software development
  • Currently pursuing MS/PhD in Computer Science or related field, or working as a Teaching Assistant, Tutor or Research Assistant
  • Strong technical abilities
  • Excellent communication skills, good public speaking skills

This part-time position comes with a workload of about 5 hours per week.

Submit resume