Akka와 DDD, 그리고 해외 개발 경험 이야기 — 작성자 회고

✍️
회고 요약 • 본문(DDD가 만든 세 갈래 길)은 기술 분석이고, 이 글은 그 글을 쓴 사람의 개인 회고다. • 스페인 말라가에서 Akka로 대규모 C++ 서버를 JVM으로 옮긴 경험, 호주 퍼스에서 DDD를 처음 접한 경험, 그리고 한국으로 돌아와 MSA 시대에 다시 만난 그 개념들에 관한 이야기. • 기술보다 더 크게 남은 건 다양한 개발 문화와 일하는 방식이었다.

두 도시를 잇는 회고 — 말라가의 노을과 퍼스의 아침 사이 황금 리본 하나
두 도시를 잇는 회고 — 말라가의 노을과 퍼스의 아침 사이 황금 리본 하나

1. 들어가며 — 다시 DDD 이야기가 떠올랐다

요즘 DDD 이야기가 다시 많이 나오는 걸 보니 예전 해외 프로젝트 경험이 떠오릅니다.
기술 자체에 대한 분석은 본문 글에서 다뤘으니, 이 글에서는 그 글을 쓰게 된 개인적 배경을 풀어 봅니다. Akka도 DDD도 처음 만난 곳은 한국이 아니었습니다.

2. Akka를 처음 만났던 시절 — 스페인 말라가

대규모 C++ 서버에서 JVM 액터 메시로 옮겨가던 그 긴 밤들
대규모 C++ 서버에서 JVM 액터 메시로 옮겨가던 그 긴 밤들
국내에 Akka가 소개되던 초창기, C++로 개발된 대규모 서버를 Java로 전환해 해외에 납품해야 하는 프로젝트에 참여한 적이 있습니다.
당시 Java 6~7 시절이었는데, 지금처럼 Netty 기반 생태계가 성숙하지 않았고 고성능 네트워크 처리 기술도 많지 않았습니다. C++ 서버가 처리하던 대규모 동시 접속 환경을 JVM으로 옮기는 과정 자체가 쉽지 않았습니다.
HP 협력사와 함께 최신 장비를 동원해 로드 테스트를 반복했지만, JVM이 먼저 버티지 못하는 경우가 많았습니다. 지금은 웃으며 이야기할 수 있지만, 당시에는 로드 테스트를 통과할 때까지 거의 건물에 상주하다시피 했던 기억이 납니다.
그 시절 Akka.IO는 꽤 인상적인 기술이었습니다. C++ 네이티브 성능을 그대로 제공하는 것은 아니었지만, 높은 동시성과 분산 처리를 비교적 현실적인 난이도로 구현할 수 있게 해주었습니다. 서버 몇 대를 추가하는 것으로 해결 가능한 문제를, 훨씬 더 큰 규모의 인프라 확장 없이 풀 수 있었던 기억이 있습니다.
프로젝트를 무사히 마치고 귀국하기 전, 스페인 말라가(Málaga)에서 현지 팀원들과 송별회를 했습니다. 피카소의 고향 한복판에서 와인을 마시며 프로젝트 종료를 축하했던 기억이 아직도 남아 있습니다.

3. DDD를 처음 접했던 시절 — 호주 퍼스

퍼스의 1:1 미팅 — DDD가 애자일의 확장팩처럼 느껴졌던 시간
퍼스의 1:1 미팅 — DDD가 애자일의 확장팩처럼 느껴졌던 시간
DDD는 호주 퍼스(Perth)의 한 개발팀에서 처음 접했습니다.
그 팀은 애자일 선언문을 이야기하듯 DDD를 이야기했고, 1:1 미팅에서 팀장이 각자의 DDD 학습 진척도를 확인할 정도였습니다.
문제는 당시의 제가 애자일도 제대로 이해하지 못한 상태였다는 점입니다. 영어도 익숙하지 않았고, DDD는 마치 애자일의 확장팩처럼 느껴졌습니다.
뭔가 배우긴 했지만 적응도 쉽지 않았고, 큰 기여를 하지 못한 채 국내로 복귀했습니다. 당시에는 개인 커리어 관점에서 아쉬움이 남는 경험이었습니다.

4. 귀국 후 2~3년 — 선행 학습으로 바뀐 그 시간

그런데 국내로 돌아온 뒤 2~3년 정도 지나 MSA가 본격적으로 이야기되기 시작했고, 자연스럽게 DDD도 함께 등장했습니다. 그때 해외에서 접했던 개념들이 다시 연결되기 시작했습니다.
DDD를 완벽히 익히고 돌아온 것은 아니었지만, 그 경험 덕분에 이후 SI, B2B, B2C, 엔터프라이즈 프로젝트를 수행하면서 많은 도움을 받았던 것 같습니다.
돌아보면 당시에는 실패처럼 느껴졌지만, 결과적으로는 꽤 값진 선행 학습이었습니다.

5. 참고 — 가본 적 있는 회사들

해외 개발 경험에 관심이 있는 분이라면 참고 삼아 한 번쯤 살펴볼 만한 회사들도 있습니다.
실리콘밸리처럼 자주 언급되는 곳은 아니지만, 각 지역마다 나름의 개발 문화와 성장 과정이 있는 것 같습니다.

6. 돌아보며 — 기술보다 더 크게 남은 것

저 역시 커리어적으로는 성공과 실패가 섞여 있었지만, 지금 돌아보면 기술보다도 다양한 개발 문화와 일하는 방식을 직접 경험할 수 있었던 것이 가장 큰 수확이었던 것 같습니다.
말라가의 Akka도, 퍼스의 DDD도, 그 자체로 끝난 기술이 아니라 한국으로 돌아와 MSA 시대에 다시 만나 살아 움직였습니다. 그래서 본문 글의 결론도 같은 자리로 닿습니다 — "다른 답이 아니라 다른 단계."