KotlinConf 2026에 다녀왔다. 개발 컨퍼런스가 처음은 아니었지만 해외에서 개최되는 컨퍼런스는 이번이 처음이었다. KotlinConf 참가를 위해 처음으로 뮌헨에 방문도 했다. 이틀간의 컨퍼런스가 지나가고, 아직 한국에 돌아가지 않은 채 베를린에서 KotlinConf 참가 후기를 간단하게 적어 보려고 한다.
이 글은 KotlinConf의 각 세션에 대한 정리 및 후기는 아니다 (발표 영상이 올라오면 조금 다루어 볼 예정이다). 대신, Kotlin의 최대 컨퍼런스에 참가하며, 수많은 새로운 사람들을 만나 이야기해 보며, AI 시대의 SW 엔지니어링, Kotlin 생태계, 그리고 한국 내외 컨퍼런스 커뮤니티에 대해 생각해 본 점을 소개한다.
KotlinConf
이번 KotlinConf 2026은 처음으로 독일 바이에른의 뮌헨에서 진행되었다. 5월 21일 ~ 22일 양일간 진행되었으며 (20일에는 이것저것 직접 해 볼 수 있는 workshop이 있었다), 총 13개의 세션 그룹 (1일차 7개, 2일차 6개)과 Kodee Awards 순으로 진행되었다.
전 세계의 수많은 개발자들이 코틀린이라는 주제 아래 모여서 교류하고 즐거워하는 모습은 정말 멋있었다. 특히 JetBrains의 코틀린, Compose Multiplatform, Server Side 등 부스에서, 우리가 사용하는 언어와 라이브러리를 직접 만든 사람들과 이야기할 수 있는 기회는 정말 값졌다. 아쉽게도 나는 생각만큼 부스에 많이 찾아가지는 못했다. 역시 컨퍼런스에서는 적극적인 모습이 최고인 것 같다.
한국인 분들도 생각 외로 많이 뵈었다. Kotlin User Group Seoul을 이끌고 계신 이현우 님을 비롯하여, 다양한 분야에서 코틀린을 사용하고 계신 안드로이드 및 서버 개발자 분들을 뵈었다. 모두 처음 뵌 분들이었지만 타지여서, 그리고 같은 관심사를 공유한 덕분인지 코틀린 관련된 다양한 이야기를 하며 금세 가까워질 수 있었다.
발표자분 중에서도 한국 분이 계셨다. 우아한형제들에서 안드로이드 개발을 하고 계신 김수현 님은 Compose Multiplatform을 통해 안드로이드 앱을 iOS로도 빌드하며 겪은 문제 및 해결에 대해 발표해 주셨다.

KotlinConf의 모든 세션이 끝난 후 진행된 Kodee Awards 역시 많은 분들이 계셨는데, 그 중 우아한형제들에서 우아한테크코스를 진행하신 박재성 님, 안드로이드 오픈 소스와 책 집필 등으로 전 세계 안드로이드 개발자들 사이에서 유명한 엄재웅 님이 최종 수상 후보에 올랐다. 재웅 님은 Online Presence 분야에서 수상까지 하셨다.


발표자 분들과 주제도 인상 깊었다. 구글, 우버, 넷플릭스 등 전 세계적으로 유명한 회사에 재직하는 분들도 계셨고, OkHttp, Spring 메인테이너, JetBrains 각 서비스 담당 개발 리드 등이 발표하셨다. SW 엔지니어링은 각 상황마다 고려해야 하는 변수와 상황이 정말 많다. 따라서 각자의 경험 또는 생각을 공유하고 들을 수 있다는 것은 매우 값진 경험이다. 한국 내에서 보험이라는 도메인을 다루는 내 경우도 흔치 않은 것처럼, 구글 검색, 우버의 전사적 자바-코틀린 전환, 코틀린 언어의 진화와 관련된 철학 등을 들어볼 수 있는 기회는 너무나도 귀했다.
KotlinConf에 참가하여 수많은 새롭고 값진 이야기를 들으며, 나 또한 SW 엔지니어로서 많은 생각을 하게 되었다.
AI 시대에 대한 SW 엔지니어들의 생각
SW 엔지니어링은 LLM (이후로는 AI라고 통칭)에 의해 가장 큰 변화를 겪고 있는 직종이다. 이번 KotlinConf 내에서도 AI에 대한 세션이 몇 개 있었는데, 크게 나누자면 AI 애플리케이션을 만드는 쪽(Koog)과 SW 엔지니어로서 AI를 마주하고 활용하는 자세에 대한 이야기였다. 이 중 후자에 대해 많은 생각이 들었다.
우리는 이제 AI를 사용해 코드를 생성한다. 기존의 소프트웨어 엔지니어링 과정을 기획-설계-구현-검증-배포 5단계라고 한다면, 이 중 구현의 속도가 매우 빨라진 것이다. 이는 뒤이어 따라오는 검증에 대한 피로도를 높이기도 하고, 따라서 검증에도 AI를 활용하려는 움직임도 활발하다. 설계 역시 AI가 점차 개입하기 시작한 분야이다. 따라서 AI를 적극적으로 활용한다면, 기획안을 바탕으로 AI와 함께 설계하고, 이를 바탕으로 AI가 코드를 구현하며, 검증 역시 AI와 함께 진행한다. 이렇게 완성한 결과물을 배포한다.
이 과정에 문제가 없을까?
나는 소프트웨어 엔지니어링의 본질은 기본기에 있다고 생각한다. 수십 년간 쌓아 올린 전산학의 이론을 토대로, 우리는 수많은 프레임워크와 라이브러리를 사용하며, 이를 프로그래밍 언어를 통해 다룬다. 이 요소들은 저마다 굉장히 활발하게 발전하고 있으며, 때로는 활용에 충분한 이해를 필요로 한다 (Hibernate가 대표적인 예시). 이렇게 여러 요소들을 조합 및 활용해서 만들어진 애플리케이션 또한 모든 상황에 어울리는 정답이 아니다. 사용자의 수, 환경, 사용 패턴 등에 따라 무수히 많은 변수가 존재하고, 이를 종합하여 가장 덜 틀린 결론을 도출해 내는 것이 소프트웨어 엔지니어링이다. AI를 활용한다고 해도 이는 변하지 않는다.
기본기 없는 AI 활용은 이 변수들을 충분히 고려할 수 없다. 꼼꼼하게 구현된 코드가 사실은 오버엔지니어링일 수도 있고, 유지보수를 감안하여 작성된 코드가 너무 장황하여 이해하기 어려울 수도 있다. 간결해 보이는 코드가 예기치 못한 변수 하에 의도치 않게 동작할 수 있고, 문제가 발생했을 때 원인 파악을 더디게 만들 수도 있다.
Augmented AI라는 말이 있다. AI는 사람을 대체하는 것이 아니라, 도구로서 사람의 능력을 증폭하는 것이라고 한다. 이번 발표자 중 한 분인 Huyen Tue Dao는 코틀린의 최근 기능들을 내부 코드를 통해 설명하셨는데, 이 발표의 본질적인 이유에 대해 아래와 같이 말씀하셨다.
AI는 사용자의 역량을 증폭한다 (multiplies). 즉, 사용자의 역량이 마이너스라면, 증폭된 결과 역시 마이너스일 수 있다. 따라서 사용자의 역량이 매우 중요하며, 이렇게 코틀린의 주요 신기능의 내부 동작을 파악하며 코틀린의 철학과 결부하여 생각해 보는 것은 사용자의 역량을 증진시키는 데 도움이 된다.

또 다른 발표자인 Sergei Rybalkin은 AI로 생성된 코틀린 코드의 품질 높이기에 대해 발표하셨다. 간단하게 요약하면 현실적인 제약 사항들을 AGENTS.md를 통해 명시하며 생성된 코드 품질의 저점을 올리는 것이었다. 마찬가지로, 현실적인 제약 사항을 이해하고 AI를 이끄는 것은 (요새는 하네싱이라는 고상한 표현을 쓰지만 직관적인 표현이 제일이라고 생각한다) 사용자에 달렸으며, 이 역시 사용자의 기본기가 중요하다는 이야기다.

내가 SW 엔지니어로서 실무를 겪으며 든 AI에 대한 생각이 KotlinConf에서 만나뵌 많은 분들 역시 크게 다르지 않았다. 발표자들과 참가자들도 나와 마찬가지로 생각하고 있다는 점이 안심되면서도 인상 깊었다.
두 번째 날 KotlinConf의 오프닝 키노트는 이런 내용이었다. 이 시대를 살아가는 수많은 SW 엔지니어들을 관통하는 주제다. 온라인으로 공개되면 많은 분들이 꼭 보셨으면 좋겠다.

Kotlin 생태계에 대한 감상
Kotlin 생태계에서 가장 큰 비중을 차지하는 것은 단연 안드로이드다. 2017년 Google I/O에서 코틀린이 안드로이드의 공식 개발 언어로 발표된 이래, 대부분의 안드로이드 개발자는 코틀린을 익히고 사용한다. 여기서 나아가서, 각종 멀티플랫폼 환경 또한 지원한다. Compose Multiplatform (CMP)는 안드로이드와 iOS에 함께 UI를 구성할 수 있게 해 주며, Kotlin Multiplatform (KMP) 또한 안드로이드와 iOS를 넘나들며 코드를 작성할 수 있게 해 준다. 이처럼 코틀린의 생태계는 클라이언트, 특히 모바일 클라이언트를 중심으로 발전해 왔다.
물론 그 외의 사용처도 있다. 2017년 초에 Spring이 코틀린을 공식적으로 지원하기 시작한 이래로, 현재까지 Spring은 일부 로직이 코틀린으로 작성되거나, 코틀린에 대한 지원을 확장해 나가고 있다. Spring 7에서 JSpecify를 통해 코틀린과 호환되는 nullability 확인 지원을 추가하거나, KotlinConf 2025에서 Spring과 Kotlin의 전략적 파트너십을 발표한 일 등이 예시이다. 대한민국 내에서도 카카오가 카카오톡의 서버 구성에 코틀린을 도입한 이래, 많은 회사에서 코틀린을 서버 개발에 활용하고 있다. 이 외에도, 가볍게 서버 애플리케이션을 구성할 수 있는 Ktor, Kotlin의 ORM 프레임워크인 Exposed 등도 있으며, AI 애플리케이션을 만들기 위한 Koog 또한 작년에 공개되었다.

나 역시 카카오페이에 합류하여 코틀린을 처음 접한 이래, 약 3년 반 동안 코틀린을 주로 사용하여 소프트웨어 개발을 하고 있다. 그러는 동안 기존에 경험했던 언어들과 구별되는 코틀린의 철학 (가독성과 안정성)에 매료되어, 코틀린 생태계에 큰 관심을 가지게 되었고, 이는 KotlinConf에 참가하고 싶다는 열망으로 이어졌다. 엔지니어라면 특정 언어나 기술과 사랑에 빠지면 안 된다고 하지만, 나는 코틀린의 매력에 푹 빠지게 되었다 (그래서 이런 글도 회사 블로그에 쓰고, 이 글이 JetBrains 공식 블로그에 소개되는 영광도 받았다.)
그럼에도 이번 컨퍼런스에 참가하며 느껴진 점은, 코틀린 생태계의 주류는 안드로이드 중심의 클라이언트라는 점이다. 이번 Kodee Awards 분야별 후보 분들을 봐도 클라이언트 관련 일을 해 오신 분들이 대부분이었다. 예외라면 교육 분야 정도. 즉, 서버 개발에 코틀린을 쓰시는 분들은 상대적으로 코틀린 생태계에 뚜렷한 기여를 하고 있지 않다는 (혹은 못하고 있다는) 방증이기도 하겠다. 실제로 주변에서도 코틀린을 서버 개발에 쓰는 분들은 종종 만나뵈었지만, 이것이 코틀린 생태계에 대한 관심으로 이어지는 경우는 드물었다. JVM 기반 서버 개발자 입장에서는 어쨌든 일등 (first-class) 언어는 자바이고, Spring을 포함한 주요 프레임워크와 라이브러리도 자바 생태계의 것을 사용한다. 또, DB, 인프라 등 신경 써야 할 부분이 매우 많기 때문일 수도 있겠다.
그렇다면 서버 개발을 전문적으로 하면서도 코틀린 생태계에 큰 관심을 가지게 된 나는 무엇을 할 수 있을까? 내가 직접 클라이언트 생태계에 관심을 가지면서도, 서버 개발에서의 코틀린을 더 많이 써보고 홍보할 수 있겠다. 개인적으로 안드로이드 개발에도 도전해서, CMP와 KMP로 시야를 넓힌다면, 코틀린 생태계 자체에 대한 이해도를 올릴 수 있을 것이다. 실제로 이번에 들었던 세션 중 CMP에 대한 세션이 하나 있었는데, 문외한임에도 코틀린으로 작성된 코드와 도식화된 구조를 보니 어느 정도 이해가 가능했다. 내가 가지고 있는 서버 쪽에서의 코틀린에 대한 전문성을 안드로이드와 코틀린 생태계 전반에 대한 이해도 확장에 활용할 수 있을 것이다.
동시에, 서버 개발에 코틀린을 활용하며 얻은 전문성과 경험을 더 많이 전파하는 것도 가능하다. 실무에서는 Spring + Kotlin을 활용하고 있고, 개인 프로젝트에서는 Ktor 역시 활용하고 있다. Exposed 역시 실무에서도 사용해 봤고, 이를 위해 선행 조사 및 PoC 또한 진행했다. 주변의 많은 개발자 분들이 여러 현실적인 이유들로 인해 아직 자바를 중심으로 개발을 하고 계시지만, 여전히 Spring을 코틀린과 함께 쓰는 것에 관심을 가지고 계신다. 글 쓰기, 발표 등을 통해 내가 가진 경험을 공유한다면, 더 많은 분들이 코틀린을 실무에 도입해 보고, 국내외 코틀린 서버 생태계 역시 키울 수 있지 않을까, 하는 생각이 들었다.
개발 커뮤니티와 국제 교류
전 세계에는 약 2천 500만 ~ 2천 900만 명의 SW 엔지니어와 개발자가 있다고 한다 (취미로 개발을 하는 분들을 포함하면 더 많다). 이 중 다양한 컨퍼런스에 기꺼이 비용을 지불하면서 꾸준히 참가할 정도로 이 직업을 사랑하고, 관심을 가지며, 많은 사람들과 교류하려는 사람들은 넉넉 잡아 10만 명 정도라고 생각한다면, 2,900만 명 중 약 0.34%가 된다. 이 중 발표까지 이어지는 비율이 약 5%라고 가정한다면, 전 세계 SW 엔지니어 중 발표를 해 보는 분들은 극히 낮은 비율이 된다.
다만 비율에 좌절할 필요는 없을 것 같다. 작은 무대에서부터 조금씩 내 경험과 생각을 발표하면서 경험을 쌓아 나가면 언젠가 국제적으로 큰 무대에서도 발표할 수 있지 않을까? 이번 KotlinConf에 참가하며 그런 생각이 들게 되었다. 약 1년 반 정도 외부 컨퍼런스 및 모임에 참가하지 않고 회사 팀 내, 친한 개발들과 일부에서만 교류를 하였다. 지금까지 경험과 내실을 다지며 내면이 성장하는 과정이었다면, 이제는 조금씩 외부 발표 등에 참여하며 다방면에서 성장할 때가 되지 않았나 싶다.
개인적으로 이번에 느낀 아쉬운 점이 있다면, 한국을 포함한 동아시아에서 참가하는 비중이 높지 않다는 점이다. 물론 독일은 한국에서 매우 멀고, 컨퍼런스에 참가하겠다고 몇백만 원을 투자하는 것은 쉽지 않은 일이다. 하물며 이번에 만나뵌 한국인 참가자 분이 10명 남짓이었는데, 이마저도 작년에 비하면 매우 늘어난 수치라고 한다 (작년에 덴마크 코펜하겐에서는 김수현 님 혼자이셨다고 한다). 나는 한국 개발자들이 국제적으로도 굉장한 경쟁력과 잠재력을 갖추고 있지만, 국제 무대에 비하면 좁을 수밖에 없는 한국 내에서의 경험과 한국 IT업계의 성장의 역사가 발목을 잡는다고 생각한다. 국제적으로 교류하는 개발자가 한국 내에 많아진다면 한국 내 컨퍼런스도 질과 양이 늘어날 수 있을 것이고, 지금보다 더더욱 개발자들이 역량을 키울 수 있을 것이다. 또는 APAC 지역 내 국제 컨퍼런스를 한국 내에서 개최하거나, 한국 외 APAC에서 개최되는 컨퍼런스들에도 참가할 수 있을 것이다.
실제로 안드로이드 커뮤니티의 경우 일본에서 개최되는 DroidKaigi, 한국에서 개최되는 DroidKnights 등이 활발하다. 한국을 포함한 동아시아에는 재능과 열정이 넘치는 개발자들이 많으니, 아메리카나 유럽이 너무 멀어서 문제라면 APAC에서 서로 교류하는 것도 좋은 전략인 셈이다. 서버 관련 컨퍼런스는 아쉽게도 안드로이드에 비하면 협소한 편이다. 아무래도 서버 개발자의 경우에는 앞서 언급한 것처럼 각자 사용하는 언어와 라이브러리, 이에 따른 관심사가 매우 다양하기 때문이 아닐까 싶다. 한국의 스프링 캠프, 이번에 알게 된 일본의 KotlinFest도 있지만, 국제 컨퍼런스에 비해 운영 비용과 규모 확대에는 어려움이 있어 보인다. 내가 할 수 있는 것이라면 더 적극적으로 커뮤니티에 참여하고, 더 많은 분들에게 Spring + Kotlin이 가지는 매력을 전파하는 것 정도가 되겠다.
마무리
KotlinConf 덕분에 뮌헨에서 좋은 기억을 많이 만들어 간다.
첫 국제 컨퍼런스에 참가하며 많이 배우고, 벌써 많이 성장했다. 기회가 없다면 만들어서라도 Spring I/O, Google I/O, JavaOne 등 다양한 해외 컨퍼런스에 참가해 봐야겠다.

물론 Kotlin과 KotlinConf에 대한 내 애정은 변함없다. 당장 내년은 어려울 수 있지만, 조만간 다음 KotlinConf에 참가하기를 희망해 본다.

Leave a comment