코딩은 마라톤

[Java on Azure Day Seoul 2025] 생애 첫 세미나를 다녀오다. 본문

대외활동

[Java on Azure Day Seoul 2025] 생애 첫 세미나를 다녀오다.

anxi 2025. 4. 29. 02:41

개발에 관한 내용보다는 느낀 점을 정리한 글이라서,, 개발에 관한 내용은 미흡할 수 있습니다

계기

참가 등록한 날짜가 정확히 기억난다. 4월 8일 🔥 (이때 Travis Scott 첫 내한 티켓팅이었어서,,,)

티켓팅을 하고 학교 가서 수업을 듣는데 교수님께서 수업 초반에 컨퍼런스, 세미나 관련 얘기를 많이 해주셨다.

컨퍼런스, 세미나를 많이 참여하는 게 좋다고 격려하시면서 AI 관련 세미나를 말씀해 주실 때 Microsoft에서 개최한 "Java on Azure Day Seoul 2025"도 알려주셨다. 이걸 보자마자 나는 스캇 티켓팅보다 기민하게 바로 신청했다 😂 

이때가 시험기간 도중이라 참여하기 어려웠는데, 공강이었기 때문에 오전 세션은 참여할 수 있었다!

⭐️

 

세미나 당일

세미나 장소는 광화문에 위치한 한국 마이크로소프트 건물이었다. 건물 사진은 못찍었지만, 통유리에 번쩍번쩍한 고층 건물이었다..

다녔던 고등학교가 바로 옆인데도 마이크로소프트가 있었다는 것을 졸업 5년 뒤에 알게 되었다,,

 

13층에 도착하자 마자 반겨준 건 어릴 때부터 너무 많이 접했던 그 단어였다. (신기)

명찰과 스티커를 받고 나는 자리에 앉았다.

인왕산(?)이 보이는 장관

 

주변을 둘러보니 전부 현업에 종사하고 계신 주니어, 시니어 개발자 분들만 계셔서 이런 자리에 있을 수 있다는 게 너무 두근댔다.

타임 테이블

오전 세션은 위 순서 대로 진행되었다.

 

오프닝 _ Keon Lee님 (Asia Azure GTM Lead)

처음 세션 오프닝은 Keon Lee 님께서 진행해 주셨다.

 

오프닝으로 Keon Lee님께서 짧지만 핵심적인 말씀을 해주셨다.

 

"특정 플랫폼에 고집하지 말기"

"자바 기반의 애플리케이션이 클라우드(Azure)상에서 어떻게 마이그레이션 되고 확장해갈 수 있는지"를 자바 개발자가 기존에 머무르지 않고 계속 진화할 수 있는 토대가 될 수 있는 발표를 이번 세션에서 진행한다고 하셨다.

 

또한 JVM도 중요하지만 클라우드의 요소를 활용해서 변화에 빠르게 대응하며 나아가는 것도 중요하다고 하셨다.!

 

Developer Tools at Microsoft _ Craig Loewen님 (Product Manager Microsoft)

혹시 모르니 모자이크..

영어로 발표하셨지만, 처음에 한국어로 유창하게 자기소개를 하시는 모습을 보고 나도 영어를 열심히 해야겠다고 뜬금없이 생각했다 💡

 

팀에서 개발 툴로써 PowerToys를 사용하여 개발 능률을 더욱 높일 수 있다고 하셨다.

https://learn.microsoft.com/en-us/windows/powertoys/

 

Microsoft PowerToys

Microsoft PowerToys is a set of utilities for customizing Windows. Utilities include ColorPicker, FancyZones, File Explorer Add-ons, Image Resizer, Keyboard Manager, PowerRename, PowerToys Run, a Shortcut Guide and more to come.

learn.microsoft.com

 

위 링크에서 PowerToys에 관한 내용이 나오는데 윈도우를 쓰지 않아 사용해 볼 순 없었지만, 발표 당시에 Loewen 님께서 VSC와 개발 중인 사이트와 터미널 등을 한 번에 격자로 배치하거나, 맥북의 SpotLight와 비슷한 기능을 사용할 수 있고, 특히 사진에서 특정 필드의 값을 추출할 때 AI Agent에게 명령을 내리면 그것을 메모장에 적어준다던지,, 수작업을 AI와 PowerToys를 이용한 점이 신기했다!

 

Empower Your Java Applications with Latest Microsoft Azure Technologies
_
Yoshio Terada님 (Java Cloud Advocate Microsoft)

 

세션을 위해 한국에 오셨는데, 이번이 첫 방문이라고 하셨다. 

일본인이시지만 영어로 발표하셨는데 핵심적인 단어를 콕콕 집어 말씀해 주셔서 나도 영어를 열심히 해야겠다고 뜬금없이 생각했다💡 (X2)

 

마이크로소프트 내에서 수많은 자바 애플리케이션이 동작한다고 하셨다. 또한 Azure에서 제공하는 자바를 사용하는 기업도 많다고 하신 것을 보아, Azure에서 Java 생태계에 적극적으로 기여한다고 생각이 들었다!

 

발표에서 말씀하셨던 Azure에서 기여하는 곳은 다음과 같다.

 

그리고 Azure에서 제공하는 서비스와 플랫폼에 대해 설명해 주셨다.

특히 Azure의 Container Service는 작은 애플리케이션 규모에 적합한 Azure App Service (PaaS), 중간 및 대규모 애플리케이션 규모에 적합한 Azure Container Apps, Azure Kubernetes Sevice가 있으며 Terada님은 Azure Container Apps를 사용하는 것을 권하셨다.

 

발표를 들으면서 클라우드 서비스를 자주 접하지 않았었고, 대부분 AWS나 NCP만 사용해 봤는데 Azure에서 Java 개발자에게 다양한 기능 및 도구들을 지원하는 것을 알게 되면서 Azure를 사용해서 Cloud를 구축해보고 싶었다.

 

두 발표를 듣고 나서 잠깐 쉬는 시간을 가진 후, 다음 발표가 진행되었다.

 

Introduction of Microsoft Build of OpenJDK _ Maaya Ishida (Global Black Belt Microsoft)

이 발표는 Microsoft에서 제공하는 OpenJDK에 대한 소개를 해주셨다.

Microsoft에서 jdk를 제공하는지 처음 알았는데 OpenJDK의 진화 과정과 LTS 지원 여부 등을 알려주셨다.

모던 자바와 데이터 지향 프로그래밍 _ Sungchul Park (CTO Kurly)

 

마지막 발표는 컬리 CTO이신 박성철 님께서 진행하셨다.

 

데이터 지향 프로그래밍

데이터 지향 프로그래밍에 대해 먼저 설명해 주셨다.

개발을 하면서 부수적(비본질적) 복잡도와 본질적 복잡도가 존재한다.

 

개발자가 해결해야 할 복잡도는 본질적 복잡도다. 그런데 본질적 복잡도를 해결하면서 쓸데없는 복잡도가 생겨나는데 이를 부수적 복잡도라 한다.

 

GPT에게 복잡도의 예시를 물어봤다.

 

본질적 복잡성 (essential complexity)

  • 사용자 로그인 기능 만들기
  • 결제 API 만들기
  • 좌석 예약 시스템 만들기

서비스 자체가 요구하는 당연한 복잡성

 

부수적 복잡성 (accidental complexity)

  • 로그인 하나 구현하려고 20개 클래스 만들어야 한다
  • 결제 API 연결하려는데 불필요한 레이어가 3개나 더 끼어 있다
  • 좌석 예약 DB를 단순히 조회만 하면 되는데, 이벤트 버스 + 5개 마이크로서비스를 오가야 한다

원래 문제와 관계없는 "개발자의 선택" 때문에 복잡해진 부분

 

즉 부수적 복잡도를 줄이는 하나의 패러다임으로 데이터 지향 프로그래밍을 제안한다.


원칙

1. 데이터와 코드를 분리하라.

  • 코드를 어떻게 작성하든 (Fuctional, OOP..) 중요하지 않다. 데이터가 중요하다.
  • 클래스 간의 의존성과 데이터 간의 의존성이 존재한다.
    • 클래스 간의 의존성은 데이터 + 행위 → 복잡해진다.
    • 데이터와 코드를 두 개의 영역으로 분리하면 데이터는 데이터끼리의 코드는 코드끼리의 의존성을 갖는다.

2. 데이터를 범용 자료구조로 표현하라.

    → 디버깅, 직렬화, 범용 함수를 사용한 조직, 정보 경로 활용에 유리하다.

  • 레코드 : 이종 맵, 연결 리스트 
  • 콜렉션 : 배열, 집합을 사용하기
  • 색인 : 동종 맵(키와 밸류의 타입이 동일한 맵) 사용하기

3. 데이터는 불변이다.

  • 값(변하지 않음)과 불변 자료구조(불변) 중심
  • 특정 영역에서만 상태를 다루고, 이외 영역에서는 상태를 다루지 않게 하기.

4. 데이터 표현과 스키마는 분리하라

  • 이종 맵의 단점 보완
  • JSON 스키마를 사용한 유효성 검사
  • 시스템의 경계에서만 데이터를 확인하기.

이후 자바 언어의 발전 경형과 람다 및 앰버 프로젝트 등을 소개해주셨다.

 

절차 지향, 객체 지향, 함수형 프로그래밍 정도 알고 있었는데 데이터 지향 프로그래밍을 이번에 알게 되어 신기했다.

짧은 시간 내 데이터 지향 프로그래밍을 깊이 체감할 순 없었지만, 앞으로 개발을 하면서 또 다른 중요한 패러다임이 될 수 있겠다는 생각이 들었고, 이를 미리 접해볼 수 있었다는 점만으로도 매우 인상적인 발표였다!

링크드인에 발표 자료를 올려주셔서 이를 참고해주세요!

 

오늘 마이크로소프트에서 열린 "Java on Azure Day Seoul 2025"에 발표자로 초대 받아서 "자바 데이터 지

오늘 마이크로소프트에서 열린 "Java on Azure Day Seoul 2025"에 발표자로 초대 받아서 "자바 데이터 지향 프로그래밍"이란 주제로 발표했습니다. 저 같이 한물간 개발자에게 자리를 만들어 주셔서 고

kr.linkedin.com

 

마무리

 

오전 세션이 끝난 뒤, 마이크로소프트에서 준비해주신 도시락과 디저트를 먹었다 😋 (with. 멋진 뷰)

이후 Azure Container Apps를 실습하는 시간이 있었는데 아쉽게도 다음날 시험이라 중간에 나오게 되었다 😢

 

이번 세미나에 참여하며 많은 것을 배우고 성장할 수 있었다. 특히 두 가지를 크게 느꼈다.

 

첫째, 글로벌 환경에서 소통하기 위해 영어 실력을 더욱 향상시킬 필요성을 느꼈다.

 

사실 해외 취업에 대해 별 생각이 없었다. 이번 세미나에 참여했다고 해서 갑자기 관심이 생긴 것도 아니다.

다만, Yoshio Terada님의 발표를 들으며, 영어 실력 만큼은 꼭 길러야겠다고 느꼈다. 내 생각을 명확한 단어로 정확히 전달할 수만 있다면, 유창하지 않더라도 발표를 이해하는 데 전혀 문제가 없었다. 오히려 아는 단어가 확실히 들리면서 의미 전달이 잘되어 이해하기 편했다.

 

나는 영어로 발표하려면 네이티브처럼 유창하고 화려한 어휘를 사용해야 한다고 생각해왔다. 그러나 이번 발표를 들으며, 청자가 이해할 수 있을 정도의 영어 실력과 논리적인 사고방식, 그리고 이를 연결할 수 있는 단어만 갖추어도 충분하다는 것을 깨달았다.

물론 이러한 사고방식과 단어 선택은 평소 꾸준한 노력과 자신만의 뚜렷한 기준이 있어야 가능하다고 생각하기 때문에, 영어와 더불어 좋은 글도 많이 읽고 나만의 줏대도 쌓아가야겠다고 느꼈다.

 

둘째, 기술에 대한 자신감을 가지고 적극적으로 도전해야겠다는 다짐을 하게 되었다.

 

나는 자바와 스프링부트를 공부하며 개발을 하고 있다. 종종 개발을 하다 보면 외부 모듈을 사용해야 할 때가 있다.

특히 MSA, Kafka, Kubernetes(k8s)와 같은 기술을 써볼 기회도 생기지만, 나는 이러한 새로운 기술을 도입하는 것을 약간은 조심스럽게 생각한다. 자바와 스프링부트 실력에 대해 항상 의문을 품고 있는 나로서는, 다른 기술까지 함께 다루는 것이 과연 옳은 선택인지 고민하는 경우가 많다. 

 

하지만 발표를 들으면서, k8s 관련 내용이 나왔는데 위와 같은 이유로 위와 같은 이유로 제대로 이해하지 못한 부분이 많았다. 그 순간 깨달았다. 

'이렇게 계속 새로운 기술을 멀리하면, 관심은 있어도 결국 제자리에 머물 수밖에 없겠구나.'

 

나중에 취직을 하고, 주니어를 거쳐 시니어가 되었어도, 자바와 스프링부트 실력에 대한 의문은 여전히 남아있을 것 같았다 😅 그럼에도 불구하고 멈춰 있다면, 성장을 추구하는 나의 가치관과는 점점 멀어지게 된다.

그래서 앞으로는, 새로운 기술을 무분별하게 도입하지는 않더라도, 도전할 수 있을 때 과감히 도전하고 적극적으로 공부하는 "나"가 되어야겠다고 느꼈다.

'대외활동' 카테고리의 다른 글

[회고] 백엔드 스터디장 일대기 1탄 : 애송이  (1) 2025.04.14