Team Building in Budapest

Earlier this month, we were strolling along the Danube, admiring the beautiful views and enjoying the warm weather. We were in our city break style team building in Budapest and we couldn’t have been more excited about it. We love traveling and we organize our team buildings in European cities to discover new places & cultures. We are also the team behind Ready Set Holiday!, a stylish travel app that helps plan your long-awaited holidays. 

We arrived at noon in Budapest and right after we checked in, we went for a walk in the city centre to discover the highlights of Budapest. The second day of our team building, however, was all about Kotlin. We participated at the Kotliners conference held at the beautiful Budapest Music Center.

Conference for Kotliners

The highlight of our team building was an insightful conference about Kotlin. We love what we do and we enjoy staying up to date with the latest news and technologies in app development. Moreover, our city break style team buildings make it possible to go to conferences & events and discover the news together.

Our team building in Budapest brought us to a conference for Kotliners. We are familiar with Kotlin but the Conference for Kotliners was the perfect opportunity to dig deeper. We listened to useful dev talks and found out tips & tricks. Moreover, the guys who are behind the language were hosting an all-day QA session, the Kotlin Clinic.

Kotlin was released back in 2011. Since then it gained a lot of popularity, mainly in the Android development community. In 2017, at Google I/O keynote, the Android team announced first-class support for Kotlin. Two years later, Google announced that Android development will become increasingly Kotlin-first. Read more about the history of Kotlin and how it became a primary language for android app development here.

Highlights from the Conference Talks

Facts You May Not Know About Kotlin
  • Use an inline function with  <reified T> to substitute with actual types;
  • To see the low-level implementation use Sow Kotlin Bytecode;
  • Use tailrec keyword;
  • Use yield () to free the call stack in recursive functions.
The State of Kotlin for Android
  • WorkManager is cool but better use CoroutineWorker; 
  • Use R8 (fewer classes & methods, default shrinker & optimizer, ServiceLoader will be optimized);
  • Jetpack Compose is experimental;
  • Room is the DB library for Android;
  • Enable interoperability in Android Studio.
Kotlin: The Next Frontier in Metaprogramming
  • White box testing is unit testing, black box testing is behaviour testing, UI testing is between;
  • Kastree – generates AST (Abstract Structure Tree);
  • Use Abstract Functional Composition to build the related functions and properties for a UI node;
  • Check out TornadoFX-Suite, an open source project for more info.
A Trip into the Async World
  • Use mapNotNull to avoid checks for null;
  • It should be easier for new members in the team to understand Kotlin async code with coroutines than RxJava;
  • Retrofit added support for Kotlin with suspend functions and can be easily used with coroutines.
All-Stacks Kotlin
  • FYI: Skyscanner is written in Kotlin;
  • We can share common code and common dependencies between targets;
  • We can have different dependencies for every target;
  • It’s a good idea to share Network and Repository logic between Android & iOS.
Reviewing Kotlin
  • Use List instead of Java’s ArrayList;
  • In a list with map and find, use find before map;
  • Do not put logic in data classes, create an extension for it;
  • Code review comments: don’t give orders, ask questions;
  • 1:1 code review.
Highly Testable App Architecture with Mobius
  • Use Mobius by Spotify, a functional reactive framework for managing state evolution and side effects;
  • It encourages maximal use of pure functions and it maintains great testability;
  • Mobius has an iOS alternative as well for Swift.
Kotlin/Native for Multi-platform Development
  • Only frozen objects can be shared between threads;
  • AtomicFu – atomic operations in Kotlin;
  • Kotlin/Native replaces Kotlin/Everywhere.

After the conference, we were feeling overwhelmed by the brightly shining sun, so we’ve looked up for a place where we could enjoy a cold refreshing drink. We arrived at Szimpla Kert, a lovely bar, full of life, where everybody was talking, laughing and having a good time. After we cooled down with a few drinks, on our way out we found some vintage photo booths. 

Of course, we didn’t miss the chance to immortalize the moment and get ourselves some physical memories from our team building to Budapest.

Feeling a bit hungry after a long day, our minds started to wander towards dinner. 

We all agreed upon tasting a juicy burger from Burger Market, a restaurant nearby, just in the city centre. We weren’t disappointed at all about the decision, because it was really delicious.

After we have enjoyed a nourishing meal, we headed towards the Danube banks, where we sat down and drank a cold beer, just as the sun started to descend in the distance, It was just the right type of peaceful evening that everybody needed. 

Some of us even reminisced about the last time we were in Budapest, two years ago, when we witnessed the Red Bull Flying Bulls and the Air Race. Those were pretty exciting experiences too.

Sightseeing in Budapest

Along the Danube

Our journey started at the Shoes on the Danube Bank memorial. This is an important landmark in the city, made in the memory of the Jews who were shot at the edge of the Danube by the Arrow Cross militiamen during World War II. From there, we headed towards the impressive Parliament Building. 

The Parliament is situated in Kossuth Square, facing the Danube river. The Parliament is the highlight of Kossuth Square, the impressive details of the gothic building and the views of the Danube make it a beautiful sight.

The next attraction on our list was the Saint Stephen’s Basilica, a church dedicated to the country’s first king, St. Stephen. This is the biggest church in Hungary and it also houses the famous mummified right hand of St. Stephen.

After sightseeing for a while, we went to Mazel Tov, a lovely place in the Jewish Quarter. The restaurant has Middle Eastern and Israeli cuisine options but you can find some Mediterranean and European dishes as well. We tasted the kebabs with tahini & tomato sauce, the beef kebab roasted on lamb fat and with special seasoning and lamb served with grilled eggplant, tahini and lentil rice. The Merguez dish with spicy Moroccan sausages was a more popular choice at our table. While enjoying a delicious lunch we got some rest and we were ready to continue our adventure. 

Castle District

After lunch, we headed to Castle District, where lay several important landmarks of the city such as the Matthias Church, & Fountain, the Fisherman’s Bastion, the Habsburg steps, the House of Houdini and the Royal Palace. After checking all these out, we called it a day and went back to the hotel where we gathered and had a chill evening.

The following day, before heading home, we relaxed in the hotel garden and had some “Cobalt time” together before heading to Ikea and then, home.

All things considered, we had an amazing time altogether in our team building in Budapest. We learned a lot of cool stuff at the conference and had fun (as always) sightseeing and discovering new places together. You can check out more pics from our team building here

Want to know more about Kotlin? Drop us a line or come by our office to find out what it’s about and why Google chose it as the default Android programming language. ✌

Join Our Newsletter

App news, know-hows and updates. Every few months, read our stories right in your inbox.

All rights reserved Cobalt Sign.