JetBrains Open Day 2019: Report Broadcasts

| Milky Way (large hall) | Sirius (Small Hall E) | Phoenix (Small Hall W) | |
| Broadcast | https://jb.gg/openday2019-milkyway | https://jb.gg/openday2019-sirius | https://jb.gg/openday2019-phoenix |
| 14:30 | Kotlin and C #. What can languages learn from each other? Dmitry Ivanov | Data Engineers Should Not Suffer Or Something About Big Data Tools for IntelliJ IDEA Vitaliy Khudobakhshov | Plugin repository: from the site on the knee to the online store Alexander Prendota and Simon Atamas |
| 15:10 | Infrastructure tasks in the company Denis Yakovlev | How to use CI to test the frontend using the example of TeamCity Denis Lesnik | IntelliJ IDEA Tips and tricks Hadi Hariri |
| 15:50 | What does front-end developer at JetBrains Maxim Erekhinsky do? | The principles of interface designers in the IntelliJ Platform UI team Olga Berdnikova | Contracts at Kotlin Dmitry Savvinov |
| 16:10 | When work is a joy or why it is important to know your strengths Anna Popova | How we switched to a single repository Dmitry Panov | |
| 16:30 | What does language support in the IDE consist of Andrey Starovoit | How we test performance in Rider Andrey Akinshin | From assembly to Continuous Delivery in TeamCity Andrey Titov |
| 17:10 | One day of work of the java developer Alexey Kudryavtsev | How to write useful technical texts Anna Gasparyan Alla Redko | Full-stack application on Kotlin through the eyes of front-end developer Akif Abasov |
| 17:50 | Kotlin: facts you may not have known about Evgeny Petrenko | Evolution of features in IntelliJ IDEA Nikolay Chashnikov | Interface development and design processes for the new JetBrains product Anton Sokolov |
| 18:30 | Briefly about JetBrains now and then Maxim Shafirov | ||
| 18:50 | Removing Barriers Hadi Hariri | ||
| 19:40 | IDE wars: we, our friends, our rivals and our ... partners Kirill Skrygan | ||
| 20:40 | Q & A session | ||
| 21:20 | A party! |
Milky Way Hall (large hall)
14:30
Kotlin and C #. What can languages learn from each other?
Dmitry Ivanov, the technical leader of the Rider Rider team,
is an IDE that simultaneously exists in two worlds. The frontend is written in Kotlin, and the backend is in C #. Our team has been watching with interest the development of these languages for five years: how C # ideas affect Kotlin's language features and vice versa. In the lecture, we look at the strengths and weaknesses of both worlds, learn how language authors adapt world experience, and try to look beyond the horizon: what awaits us in the future?
15:10
Infrastructure tasks in the company
Denis Yakovlev, DevOps-engineer
The company produces many desktop applications and services. To ensure the production process and the continuous operation of services, a large and complex infrastructure is required. In my report, I will talk about what the team of infrastructure engineers is doing in the company, what technologies it uses and what challenges the team faces.
15:50
The story of my frontend in JB
Maxim Erekhinsky, YouTrack developer.
I’ll tell you about whether there is a front end in JetBrains, what projects and technologies we use, and how I got to such a life.
16:10
When work is fun or why it is important to know your strengths
Anna Popova, Community Support Specialist
How to find a job that will bring you joy? Understand what you like and what are your strengths? It sounds simple, but how do you determine what your unique strengths are? You can understand this during the report, as well as find out why a high salary and a cool office are not the only things worth looking for in a job.
16:30
What language support in the IDE consists of
Andrey Starovoit, WebStorm developer.
I will tell you how to build language support in the IDE using JavaScript as an example: from keyword highlighting to non-trivial inspections. I will show the most different problems that may arise on this thorny path, and some solutions to them.
17:10
One day java developer
Alexei Kudryavtsev, IntelliJ IDEA developer.
What a typical Intellij IDEA programmer looks like, how his typical day goes and what tasks usually have to be solved. Content. Morning building. Deceiving users. Decomposition of polynomials. Saving staples. Scooping of susek. Dinner. Feat.
17:50
Kotlin: Facts You May Not Know About
Eugene Petrenko, developer advocate for the Kotlin team
Since the advent of Kotlin in 2010, a lot of things have appeared in it: some features live successfully, some can be found out only by delving into the history of the repository. We start with some fun facts from the past: remember the namesake island, traits, generics and type erasure. Let's talk about how to write clean and tidy code. Kotlin today is not just another language for the JVM, it supports JS and compiles for different platforms into native code, including iOS. Did you know that you can use the same code and libraries when developing on different platforms? If not, find out on the report.
18:30
Briefly about JetBrains now and then
Maxim Shafirov, CEO of JetBrains
18:50
Removing Barriers
Hadi Hariri, Head of Developer Advocacy
Imagine most of the artificial barriers imposed on your development work were to be removed. Imagine if nobody micromanaged you, nobody asked when you come into work or when you leave. Imagine if there was very little management. Wouldn't it be ideal? Everything would just fall into place and we'd be so much more productive, right?
At JetBrains many of these barriers don't exist. But not having barriers isn't always easy. In fact, you cannot just break them all down and think everything will just work. In this talk we're going to look at the pros and cons of this approach, and see how to overcome certain issues that arise, or even if they can be easily overcome.
19:40
IDE wars: we, our friends, our rivals and our ... partners
Cyril Skrygan, team leader of the Rider
Oh, these fascinating interactions between us, our competitors, our partners, modern platforms and the community.
How did it happen that we became one of the leaders in the IDE market? Who did you compete with? Who did you work with? Where did it happen, where not, and why?
What products do we compete with today? How is the platform and tooling business connected, and where are we? Cloud? .. mm ... probably this is also the topic. Why did our products evolve as they evolved? Insiders, stories, intrigues, investigations, and even a bit of gamedev in a throw-in report about the IDE global market.
20:40
Q & A session
Maxim Shafirov , CEO of JetBrains
Natalia Chisler , HR Director
Hadi Hariri , Head of Developer Advocacy
Vera Olennikova , coordinator of educational projects
Sergey Kuks , head of .NET development department
Maxim Mosienko , project manager at IntelliJ
21:20
A party!
Sirius Hall (Small Tower E Hall)
14:30
Data Engineers Should Not Suffer Or Something About Big Data Tools for IntelliJ IDEA
Vitaly Khudobakhshov, developer of Big Data Tools for IntelliJ IDEA
Pipelines, clusters, terminals, laptops, IDEs are just a small part of what a modern data engineer has to deal with. Even if you work only with Spark, the number of tools that are needed in everyday work can be very large. A large amount of time is spent copying Scala code from IDEA to Zeppelin and vice versa, as well as constantly clicking the Refresh button in the browser in an attempt to understand whether your task will finish on the cluster in the near future. Now let's imagine that all or almost everything can be done directly from the IDE. As part of my talk, I will talk about and show you new JetBrains tools for working with technologies such as Apache Spark and Apache Hadoop.
15:10
How to use CI to test the frontend using TeamCity as an example
Denis Lesnik, the developer of TeamCity
TeamCity has a complex interface consisting of hundreds of related React components. However, we managed to build a code quality control system in such a way as to minimize the number of bugs and practically eliminate critical errors. We will talk about how our system works and how we test our UI.
15:50
Interface Design Principles for IntelliJ Platform UI Team
Olga Berdnikova, Interface Designer for IntelliJ Platform
What principles are used by designers in the IntelliJ Platform UI team to decide which interface is better.
16:10
How did we switch to a single repository
Dmitry Panov, developer of IntelliJ IDEA infrastructure
Let's talk about transferring the IntelliJ IDEA code base to a monolithic repository, about pitfalls before and after this moment, discuss what helped us with the move, why the forks of our GitHub repositories did not break, and why life will not be the same .
16:30
How we test performance in Rider
Andrey Akinshin, Rider developer
Performance is one of the main features of our cross-platform .NET IDE. Unfortunately, keeping performance metrics at a decent level is not so easy. In this report, we will talk about various interesting technical problems that we have to solve. You will learn about how we have built performance monitoring processes, how we implement performance monitoring, what types of performance tests we have and why we sometimes have to put laptops in the freezer during benchmarking.
17:10
How to write useful technical texts
Anna Gasparyan and Alla Redko, technical writers at IntelliJ IDEA
We will talk about the culture of technical texts of mass consumption. We answer the questions: “What is technical documentation?”, “Who writes it for whom?”, “Why adhere to stylistic rules when answering forums?”. We will definitely consider various examples of technical texts and try to improve some of them and share practical tips for writing documentation.
17:50
Evolution of features in IntelliJ IDEA
Nikolay Chashnikov, developer of IntelliJ IDEA
IntelliJ IDEA has been developing for almost 20 years, and during this time even the basic functionality has changed a lot. Using examples of specific features, I will show how and why their behavior changed, I will talk about how new features appeared and old ones disappeared. You will see how the capabilities of the IDE anticipated the development of the Java language, and perhaps discover useful features in IntelliJ IDEA that you did not know about before.
Phoenix Hall (W Small Tower Hall)
14:30
Plugin repository: from the site on the knee to the online store
Alexander Prendota and Simon Atamas, MarketPlace developers
Everyone who came across JetBrains products used plugins or involuntarily interacted with them. But not everyone knows how they are arranged and what secret knowledge plugins repository can open. They are tormented by questions about how to make your Darcula theme in a couple of clicks, quickly create a plugin, or is it possible to sell the new Haskell IDE that you wrote at home? A short answer to questions - everything is possible! Let's create and sell with us.
15:10
IntelliJ IDEA Tips and tricks
Hadi Hariri, Head of Developer Advocacy
15:50
Contracts in Kotlin
Dmitry Savvinov , developer of Kotlin
Contracts is a new experimental feature in Kotlin 1.3, which allows the programmer to transfer more information to the compiler, receiving in return more accurate analysis results. Consider how you can touch the contracts with your hands - both in a stable mode and in an experimental one, and “for dessert” we’ll talk about ongoing internal research in this area.
16:30
From Build to Continuous Delivery in TeamCity
Andrey Titov, TeamCity developer
Using the example of a small service using TeamCity Kotlin DSL, the Build Chain will be configured and TeamCity’s capabilities in organizing the assembly, testing and calculation of the application will be shown. The demonstration will show useful TeamCity features that simplify the configuration of the Build Chain and allow you to get a more stable process.
17:10
Writing a full-stack application on Kotlin
Akif Abasov, developer of a new product
In this report I will talk about how to write a full-stack application in Kotlin. We will look at various technologies from the Kotlin world that make this language such a powerful and convenient tool: we will create a multi-platform project that reuses the code between Kotlin / JVM and Kotlin / JS, write a frontend using convenient DSL for React and CSS, and use coroutines for client-server interaction .
17:50
Interface Development and Design Processes for the New JetBrains Product
Anton Sokolov, new product designer
At JetBrains we create a new web product using Kotlin both on the server (JVM) and on the clients (JVM, JS, Native). Most of the members of our team are full-stack developers, we practice frequent releases and dogfood. These conditions affect the standard principles for creating production-ready user interfaces. We will talk about the reference points of the processes (events, artifacts) that have entrenched in the team, as well as what role designers play in them.