LODY/노트
← Notes

KWDC 2023: 처음 열린 한국 Apple 개발자 컨퍼런스에 다녀오다

·
#KWDC#TCA#localization#Apple#컨퍼런스

KWDC가 올해 처음 열린다는 소식을 들었다. 현대자동차의 TCA 아키텍처 도입기, 애니메이션 세션, 인하대 학생이 LiDAR 센서로 실내 측위를 시도한 발표까지 끌리는 주제가 많았다. 학생 신분이라 티켓값이 부담이긴 했지만, 마침 학생 할인이 있어 결제했다. 들을 수 있는 세션이 시간대별로 겹쳐서, 미리 타임테이블을 보고 어떤 세션을 들을지 정해뒀다.

KWDC 2023 세션 안내

현장에는 사람이 많았다. 대부분 지인들과 함께 온 분위기였고 스태프들도 서로 아는 사이 같았는데, 나는 혼자 와서 조금 겉도는 느낌이었다. 그래도 세션 자체가 목적이었으니 상관없었다.

행사장 전경

localization: 언어가 바뀌면 레이아웃도 바뀐다

첫 세션은 강남 트랙에서 들은 localization 적용 사례였다. 단순히 텍스트를 번역하는 문제인 줄 알았는데, 언어권에 따라 텍스트 길이는 물론이고 UI 배치 자체가 달라져야 한다는 점이 인상적이었다. 오른쪽에서 왼쪽으로 읽는 언어, 단어가 훨씬 길어지는 언어를 감안하면 레이아웃이 유연해야 한다. 다국어 서비스를 만들 때 로컬라이제이션은 리소스 교체가 아니라 설계 문제라는 걸 이때 처음 체감했다.

localization 세션

정적 라이브러리와 동적 라이브러리, 알면서도 모르던 것

두 번째는 카카오뱅크 세션이었다. 갑자기 컴퓨터 구조와 컴파일러 이야기가 나왔다. 정적 라이브러리와 동적 라이브러리의 차이를 다뤘는데, 안다고 생각했지만 막상 설명하라면 말문이 막히는 애매한 기초였다. 링크 시점에 코드가 실행 파일에 복사되는지(정적), 런타임에 로드되는지(동적)에 따라 앱 크기와 실행 방식이 달라진다. 모듈을 나눌 때 이 선택이 빌드 결과에 직접 영향을 준다. CS 기초가 왜 중요하다는 말이 나오는지 실감했고, 돌아가서 다시 정리해야겠다고 생각했다.

정적/동적 라이브러리 세션

점심시간에는 로비의 후원 기업 부스를 돌았다. 채용 상담도 열려 있었지만 대부분 경력 채용 홍보였다. 아직 신입이라 상담할 자리가 마땅치 않아, 부스에 계신 개발자분을 붙잡고 이것저것 여쭤봤다.

현대자동차의 TCA 세션

이날 가장 기대한 건 현대자동차의 TCA 발표였다. 아직 정식 릴리즈도 안 된 0.5x 버전으로 프로덕션 앱을 개발하고 있다는 점이 놀라웠다. 나도 당시 Sendy에서 TCA로 개발하고 있었기 때문에, 다른 팀은 이 아키텍처를 어떻게 쓰는지 정말 궁금했다.

세션에서는 현대차가 TCA를 만든 Point-Free와 협업하고 있다는 사실, 그리고 정식 버전 릴리즈가 임박했다는 소식을 전했다. TCA를 쓰면서도 라이브러리가 어디로 가는지 늘 반쯤 불안했는데, 창시자들이 직접 관여하는 협업 소식을 이렇게 듣게 되니 방향에 대한 신뢰가 생겼다.

현대자동차와 Point-Free의 협업 영상

현대차 세션에서 느낀 점이 하나 더 있다. 큰 자본으로 인력을 끌어모으면서 아웃소싱에서 인하우스 개발로 전환하는 중이고, SW 개발 부서는 스타트업처럼 독립적으로 움직여 개발자가 도전적으로 일하기 좋다고 했다. 정식 릴리즈도 안 된 아키텍처를 프로덕션에 넣는 것만 봐도 그 도전적인 분위기는 납득이 됐다.

혼자 다녀온 하루였지만, 같은 스택으로 일하는 다른 팀의 고민과 판단을 현장에서 직접 듣는 경험은 강의나 영상으로는 얻기 어려운 것이었다. 특히 내가 쓰던 TCA가 실무에서 어떻게 다뤄지는지 확인한 게 가장 큰 수확이었다.