Backstage Contests

JetBrains 7th Annual Hackathon: Arranged Differently

Hackathon 7 graphic

Arranging a new hackathon

The arrangement
With the expansion of JetBrains this year and the move into our new offices, we had to push back this year’s hackathon a little bit. But, if anything, this ignited the drive to develop new ideas in our team. So here is a rundown of what went down this year.

The rules were simple:

  1. The Hackathon began Wednesday, September 18th, at noon sharp CEST and ran for 48 hours.
  2. The last commit was allowed no later than Friday, September 20th, noon CEST. Presentations needed to be provided to the Org.Committee by this time as well.
  3. 5-minute presentations started 1 hour later, at 13:00 CEST on the same Friday.
  4. Winners received prizes

Arranging the event

“Arrange whatever pieces come your way.” – Virginia Woolfe

This year’s theme was “arrange it your way.” The principle behind this is that there is no single way to do things, no unique solution, that the parts can be arranged in an infinite number of different combinations.
This year, even more ideas and concepts for projects were put forward than ever before. 70 projects were submitted by the 182 participants ready to bring their ideas to life. There are no limits to what people can dream up, but there were most definitely some common themes that emerged throughout.

On Wednesday, registration opened at 10am, providing participants with all the gear they would need to get through the two days: a toothbrush, a t-shirt, badges, and stickers.

3F5A7297

The 56 projects that finished could not have been more different or more incredible. Teams again embraced this opportunity to explore their limits, finding issues in their own spaces, and exploring solutions to fix them. Here is a look at just some of the projects (remember: this was done in only 48 hours).

Arranging the winners

This year, there was a bit of a twist thrown in, with a surprising new method to decide the final winners.

A jury representing different teams and roles was brought in to:

  • define nominations based on the types of projects that were ultimately submitted
  • pick projects that stood out among those nominations

All the prizes were of the same value, and there was no limit to the number of projects that could win.

There was, of course, only one Trophy Winner, whose name is engraved on the legendary JB Hackathon Cup. The winner was decided by the individual votes from JetBrainers.

3F5A7372

The categories

Business Value

Awarded to the hackathon project which could provide the most value to the business

Plugin Bundles
Mikhail Vink, Ivan Chirkov, Sergey Kesarev.

The idea behind this project was simple: JetBrains product + Plugin(s) = Bundle. So the team set out to create a means to distribute the IDE along with selected plugins. They wanted to provide additional value to users, promote high-quality plugins, add a new method of marketing (as bundles can target specific needs), add some cross-selling potential, and reduce costs.

So their goal for the hackathon was to:
Add a one-click purchasing option for plugins bundled with the IDE.
Experiment with using IntelliJ IDEA protocol and Toolbox integration.
Add bundle management support at plugins.jetbrains.com.
Prepare a pricing model for bundles with paid plugins.
Create marketing assets for some plugin bundles (and possibly a way to generate the assets semi-automatically).

They successfully created 10 bundles that will be supported in the Toolbox App and in the plugin repository (it’s coming in one of the next releases, stay tuned). So whichever specific technology you work with, there is going to be a bundle of plugins to help.
Plugin bundles

Best Presentation

Awarded to the hackathon project with the best presentation.

Local History Browser
Maarten Balliauw, Matt Ellis

https://www.youtube.com/watch?v=33dj_w-L3Do&feature=youtu.be

Best Tangible Mod

Awarded to the hackathon project with the best hardware design.

Apple Touch Bar Back to Basics (PushBar)
Ivan Kuleshov
The hardware mod for Apple Touch Bar

In 2016, Apple decided that the “F” keys were not as crucial as smiley faces. So on their MacBook Pro, they got rid of them. What does one do when these essential buttons are missing? They hack one together. 30 hours of development, 3 apple keyboards, 2 pre-2016 Apple MacBook Pros, 18 cups of coffee, and 5 different concepts later… that is precisely what was done.

2 versions were produced for users to update their MacBook to the newest hardware. Welcome to a new age, Apple MacBook Pro Touch Bar Pro.

Apple push bar pro

Apple push bar

Coolest Idea

Extrasense
Dmitry Neverov, Victor Matchenko

Get extra information about how your program behaves, using one of your five senses that has long been overlooked in programming: hearing. Imagine being able to tune your breakpoints like you would a guitar, so when you debug a program, you can notice immediately when something is off. This can be useful if you have several threads of execution or a graphical user interface that also requires your attention, for example, an IDE. It can be particularly helpful for looking at cache assembly time. You can set up several “Extrasense” sound breakpoints, and if you hear the sound, that means the cache doesn’t work. With this approach, silence truly becomes golden. It will also help you understand the frequency of events, for instance, checking how often your web application calls the database. Also included is a continuous sine wave that is modulated through the allocation rate, which produces high pitched sounds when you do a massive computation. So with all this, you can literally tune your performance like you would with a tuning fork.

Sound wave demo

Most Useful Developer Tool

Spot profiler for IDEA
Dmitry Batrak
Spot profiler plugin
Automate ‘manual’ profiling (wrapping part of code in long start=System.nanoTime(), System.out.println(System.nanoTime() - start)),displaying results right in editor.

This project took on the epic task of helping people make their code faster. So when considering measuring the execution time for a piece of code in the millisecond time range, a traditional profiler is not a great option as the sampling is not precise enough, and tracing usually adds overhead. What people typically do is insert the measurement instructions into their code. But, this does come with some shortcomings like working with VCS, and the results need to be read in the console.

So a better option is Spot profiler for IntelliJ IDEA. JPS lets us transform the source code before parsing it to JavaC. IntelliJ IDEA can read the output and show the results in the editor, showing you the execution times for the certain lines right there in the editor.

Spot profiler to show the execution times for lines of code

Most Entertaining

CodeQuiz
Svetlana Isakova, Sebastian Aigner, Ilya Chernikov, Pavel Nikolaev, Alexander Anisimov

What do you get if you create a game-based service similar to Kahoot! for “social learning” at conferences, talks, and training sessions, which can also be used later as a Kotlin MPP (Ktor + Kotlin/React) sample project? You get CodeQuiz.

code quiz hackathon game

Office Life

Awarded to the hackathon project that best streamlined office life

Hello, Space!
Irina Manolova, Andrew Vasiliyev, Evelina Yun, Daria Pavlyuk, Maria Mikheyshina, and Alexandra Charikova.

Space is the name of our office in Saint Petersburg. It is big, it is new, and it needs help with onboarding new colleagues. “Hello, Space!” is a great start. This project makes the lives of HR easier and the experience that new employees have better! HR simply needs to fill out the details for the new employee:

From here it activates the automated ‘before your first-day’ campaign, which consists of a series of how-to welcome emails about Space office life (where to get food / borrow books from the library / join in with sports / recycle plastic / find the first aid kit etc.).

Actively Used

HTF (How To Find) app
Natalia Mashianova, Maxim Mazin, Elizaveta Semakova, Nastia Berezinskaya, Andrey Skladchikov, Oleg Bakhirev, Ekaterina Zaikina.

Last year’s HTF (How To Find) app (version 1.0), won the CEO’s choice prize. This year it has gone on to win the most actively used category.

htf 1.0

Arranging Onboarding projects

It is no surprise that with the massive rate of growth JetBrains has been experiencing, the topic of interest that a lot of teams gathered together to solve was focused around onboarding. With no universal onboarding program in place, HTF app 2.0 and four of the other 56 projects submitted aimed to help make integration and fitting into the company a little smoother.

HTF (How To Find) app 2.0.
Natalia Mashianova, Maxim Mazin, Nastia Berezinskaya, Oleg Bakhirev, Arkady Bazhanov, and Ekaterina Zaikina

Revisiting their successful “HTF (How To Find) app,” which won the CEO’s choice last year, the team set out to improve the system integrated with our internal systems. In an attempt to help people across different offices in the company get acquainted with each other, the new variant of the app is filterable by the offices and teams, and the score is now saved, so you have a record of who you know and don’t know. The UI was also updated to make it even easier to look for colleagues and get to know them a little better.

htf 2point0

Hello, Space!
Irina Manolova. Andrew Vasilyev, Evelina Yun, Daria Pavlyuk, Maria Mikheyshina, and Alexandra Charikova

As you may have gathered from the previous description, this automated onboarding program helps newcomers coming to the new Saint Petersburg Space office. And as if that were not enough, they also created an autonomous chat Bot that can search and tell you the must-know information you need to survive in the Space office.
spaceranger slackbot

Random Coffee (JetMate)
Yuriy Artamonov, Anastasia Goncharova, Yulia Obnovlenskaya, Sergey Boytsov, Alexander Izmaylov

With over 1154 people now working at JetBrains, it can be hard to know people, especially those who share similar passions to you. Developed to help people get to know each other and find common interests around the office, Random Coffee lets you book a 10-minute random coffee meeting and get to know someone new.

coffeemate in action

The Onboarding Game
Oscar Rodriguez, Ekaterina Ryabukha, and Joaquin Trevino.
A kind of treasure hunt for new (or not that new) employees to find different important documents, content, and internal platforms that every employee of JetBrains should know.

This project sets out to gamify the process of onboarding employees, leading them around the different platforms using clues and puzzles where they will find the next piece of information they need to know.

Follow the white rabbit

Lego BrainStorms
David Watson, Henry Wylde, Nikolay Sandalov, Scott Adams, Ekaterina Ivanova, Tobias Kahlert, Nadya Davydova, Pavel Ivanov, and Arina Chubarkova

Even this project had a go at improving onboarding, adapting their original concept of using the TeamCity Lego men booth swag to make onboarding webcomics for new employees to take them through their first day.

d1D j00 kN0w J378r41n2 12 4lW4Y2 H1R1N9? ch3CK 0u7 73h K4r33r2 P493 4nD 533 1f 7H3r3 12 4 J08 F0r J00 0R 4 KW357 cH4LL3n93 70 90 fUr7h3r @ l3457.

JetBrains office perks 1

Arranging the Trophy Winner

There can be only one grand prize winner. With its third mention in this blog post alone, the winner of JetBrains Hackathon 7 is…

Hello, Space!
Irina Manolova, Andrew Vasiliyev, Evelina Yun, Daria Pavlyuk, Maria Mikheyshina, and Alexandra Charikova.

This project won the hearts and minds of many JetBrainers this year. With no formal onboarding in place, this project really did tick a lot of boxes for what every new employee needs when coming into the company. It covered all the aspects of getting acquainted with JetBrains in a good amount of detail and was very easy to set up.

3F5A7441

Congratulations!!

The numbers arranged

0 disappointment
1 trophy
2 days
6 hours 22 minutes of presentations
7 categories
9 awards
12 guests
56 projects finished
70 projects submitted
182 participants
305 votes
18,000 dollars worth of prizes


JetBrains 6th Annual Hackathon: Shiftius Altius Ctrlius. Check it out!


JetBrains
The Drive to Develop

image description