지난 10여 년간 엘리스는 ‘교육 플랫폼’에서 ‘AI 풀스택 기업’으로 영역을 확장해 왔습니다. 초창기 교육 플랫폼으로서 두각을 보일 수 있었던 영역도, 그리고 지금 AI 풀스택 기업으로서 독보적인 포지셔닝을 하고 있는 영역의 중심에도 언제나 ‘클라우드’가 있었습니다.
클라우드 엔지니어링팀의 리더 김재윤 님은 아마존과 스퀘어(현재 Block)에서 쌓은 소프트웨어 엔지니어로서의 경험을 바탕으로, 엘리스에서 자체 클라우드를 구축하는 새로운 영역으로 커리어를 확장했습니다. 서로의 변화에 출발점이 되어, 또 다른 가능성을 만들어 가고 있는 재윤 님과 클라우드 엔지니어링팀을 소개합니다.
호기심 많은 개발자는 결국 성장한다

Q. 간단히 자기소개 부탁드립니다.
재윤 안녕하세요. 저는 엘리스 클라우드 엔지니어링팀 리더 김재윤입니다. 엘리스 클라우드의 전체적인 소프트웨어 스택을 담당하고 있습니다.
Q. 개발자로서의 커리어는 어떻게 시작되었나요?
재윤 처음 개발을 경험한 건 두 번째 인턴십이었던 IBM에서였어요. 호기심의 시작 단계였죠. 첫 번째 인턴십이었던 금융권과 비교했을 때, 저한테 잘 어울리고 같이 일하는 분위기가 훨씬 더 즐겁다고 느껴서 IT 회사로 커리어를 이어가게 되었어요.
Q. 아마존, 스퀘어 등 글로벌 빅테크 기업을 거쳐 오셨는데요. 글로벌 빅테크에서 10년 넘게 일하며 얻은 가장 중요한 인사이트는 무엇인가요?
재윤 호기심이요. '어떤 유형의 인재가 일을 잘하나?' 생각했을 때, 제일 먼저 떠오르는 게 호기심이에요. 빅테크에서 10년 넘게 일하면서 여러 유형의 인재들을 많이 봤는데, 호기심이 많은 개발자는 항상 성공하고 장기적으로도 잘하더라고요. 왜냐하면 호기심이 있어야 깊게 파고들 수 있고, 그 과정에서 실력이 쌓이니까요.
잘하는 개발자는 문제가 해결되었다고 끝내지 않고, ‘이게 정확히 어떻게 해결되었는지'까지 계속 깊이 파고 들어요. 딥다이브(deep dive)를 하는거죠. 이건 제가 아마존에서 실제로 본 원칙(priciple)이기도 해요. ‘5-Whys’라는 프로세스가 있는데요. 어떤 문제가 발생했을 때 ‘왜 발생했는지'를 질문하고, ‘왜’에 대한 대답을 하고, 대답에 또다시 '왜’를 물으며 최소 다섯 개의 레벨을 들어가는 거예요. 호기심이 많은 사람들이 '5-Whys’를 잘해요. 호기심이 많기 때문에 파고들 수 있고, 그러다 보면 원리를 이해하고 설명할 수 있게 되고, 결국 실력도 쌓이고 장기적으로 커리어도 성장하는 사례가 많아요. 빅테크에서 일하면서 그런 사례를 많이 봤습니다.
Q. 인턴에서 시니어로 성장하면서 가장 크게 달라지는 것은 무엇인가요?
재윤 ‘책임’과 책임에 따라오는 ‘오너십’이에요. 인턴에서 정규직으로, 신입에서 시니어로 가면 갈수록 이 두 가지의 비중이 점점 커져요. 단순히 어떤 기능을 추가하는 걸로 끝내고 재미만 느끼는 게 아니라, 기능을 출시한 뒤 사람들이 안정적으로 사용하고 문제가 없는지까지 보는 습관을 가지는 거예요. 서비스 안정성 부분까지 책임감을 가지고 즐길 수 있는 사람이 장기적으로도 더 잘할 수 있지 않을까 생각합니다.

Q. 엘리스에 합류했을 때 가장 먼저 어떤 점을 느끼셨나요?
재윤 처음 합류하고 느낀 건 생각보다 기술력이 정말 좋다는 점이었어요. 빅테크랑 비교했을 때 코드 퀄리티도 오히려 더 신경 쓰는 부분이 많았고요. 엘리스가 자체 클라우드를 운영하며 높은 수준의 기술들을 보유하고 있다는 점이 인상적이었죠. 빅테크에서 일할 때보다 오히려 기술적으로 많이 배우고 있는 부분들도 있어요. 다들 빅테크라고 하면 기술적으로 훨씬 더 앞서 있을 거라고 생각하실 수도 있는데, 저는 시장(market)의 차이라고 생각해요. 엘리스도 만약에 처음부터 미국에서 글로벌 타겟으로 시작했다면 훨씬 더 성장할 수 있었을거라 생각합니다. 한국 시장과 서비스 범위가 글로벌 시장보다 많이 제한되어 있는 거예요.
다만 프로세스와 같은 부분은 좀 확실히 다른 거 같아요. 큰 회사들은 많은 사람들이 효율성 있게 일하는 문화가 잘 잡혀 있어서, 프로세스 측면에서는 차이점을 많이 느꼈었어요.
Q. 빅테크와 비교했을 때 엘리스에서 특히 놀랐던 점이 있었나요?
재윤 가장 놀랐던 건 서버 개발자 인원 규모였어요. 엘리스에 서버 개발 인원이 많지 않다 보니, 개발자 한 분 한 분이 정말 많은 서비스를 담당하고 있었어요. 엘리스가 운영하고 있는 서비스의 규모가 어마어마하거든요. 코드도 그렇고, 서비스의 개수도 그렇고요. 빅테크 기준으로 생각했을 때 수십 명 이상이 있어야 할 규모를 소규모로 운영하고 있어서, '와 이게 되네' 하면서 많이 놀랐어요.
아마존은 직원 수가 수만 명이고, 스퀘어도 개발자만 수천 명 정도 되는 회사였어요. 규모가 크다 보니 한 사람이 맡는 범위가 작아요. 어떤 기능을 출시하더라도 전체 기능의 일부만 담당하는 경우가 많습니다. 근데 엘리스는 적은 인원이 넓은 범위의 일을 하니까 굉장히 성장을 많이 할 수 있는 환경이라고 느꼈어요. 빅테크에서는 시니어가 되어도 너무 큰 시스템 때문에 자신의 역할이 일부에 그친다는 느낌이 드는 경우가 있는데, 엘리스에서는 한 명, 한 명의 역할과 영향력이 너무나도 중요합니다.
Q. 빅테크에서도 성장의 한계를 느꼈던 순간이 있었나요?
재윤 당연히 있었어요. 엘리스로 온 계기 중 하나도 빅테크에서 느낀 한계와 실망감이었죠.
아마존에 신입으로 들어갔을 때, 처음 몇 달간은 버그만 고치고 테스트 케이스 추가하는 작업만 했어요. 작은 기능 개발부터 큰 범위(scope)의 기능을 맡기까지는 시간이 걸렸어요. 시니어가 되어도 조직이 너무 커서 한명 한명의 업무 범위가 제한적이에요. 시스템적이라 내가 0 to 1을 만드는 경험을 하기가 어려워요. 그런데 지금 엘리스에서는 시니어·주니어 구분 없이 넓은 범위를 맡아 개발하고 계세요. 그런 환경 덕분에 팀원분들의 성장이 눈에 보일 정도로 빠르고, 발전하고 계신 걸 느끼고 있습니다. 그래서 저는 엘리스가 첫 직장인 팀원분들께 항상 부럽다고 말해요.
AI 풀스택 레이어 속에서의 클라우드 엔지니어링팀
Q. 클라우드 엔지니어링팀이 담당하는 개발 영역은 어디까지인가요?
재윤 IaaS(Infrastructure as a Service)·PaaS(Platform as a Service), 이 두 가지 서비스를 모두 저희가 개발하고 있습니다. IaaS가 가장 밑단에 있는 ECI(Elice Cloud Infrastructure) 서비스예요. 물리(physical) 서버를 가상화해서 가상 머신(Virtual Machine) 형태로 사용자에게 제공하는 거예요. PaaS는 사용자 입장에서 ‘인프라는 잘 모르겠고, 그냥 모델 트레이닝만 하고 싶다' 했을 때 사용하는 서비스예요. 예를 들어 주피터 랩(JupyterLab) 같은 개발 환경을 미리 설치하고 설정까지 모두 맞춰둔 뒤, 유저는 들어와서 바로 코드만 작성하면 되도록 돕는 서비스가 런박스예요. 여기에 학습한 모델을 추론(inference) 단계에서 바로 호출해 쓸 수 있는 ML API까지 함께 제공하고 있어요.
담당하는 범위가 굉장히 넓어요. 일반적으로는 IaaS 개발할 때, Compute·Network·Storage 각각을 팀으로 구분하는데, 엘리스는 이 모든 걸 한 팀이 다 하고 있어요. 인프라부터 프론트까지 모든 걸 한 팀에서 다 해요. 그래서 한 명, 한 명이 담당하는 역할과 책임이 넓죠. 지원자분들께서 헷갈리실 수 있는데 실제로 저희는 전부 다 하고 있습니다.

▲ ECI (Elice Cloud Infrastructure) - AI 특화 IaaS, 학습부터 서빙까지 한 번에
Q. 기술적으로 가장 깊이 고민하는 부분은 어떤 영역인가요?
재윤 저희는 항상 최신 GPU를 사용하고 있어요. B200도 이미 도입했고, 인프라 자체도 최신 스펙이고요. 국내에서는 이렇게 최신 GPU를 경험해 볼 수 있는 곳이 거의 없어요.
최신 장비인 GPU뿐만 아니라 네트워크 역시 병렬 파일 시스템(parallel file system)으로 다른 곳에서 쉽게 시도하지 못하는 장비를 다뤄요. 소프트웨어적으로는 파인 튜닝(fine-tuning)을 통해 성능을 최적화(optimization)하는 일이 가장 어렵지만 동시에 가장 중요하고요. GPU 트레이닝을 할 때 네트워크·스토리지 속도를 어떻게 최적화할 수 있을까, 하드웨어적으로 풀지 소프트웨어적으로 풀지를 계속 고민하죠. 그리고 GPU만 하는 게 아니라 NPU도 합니다. 그래서 학습과 추론(inference) 단계까지 고려해서 서비스를 설계하고 있어요. 인프라팀이랑 가까이서 협력하면서, 소프트웨어 엔지니어지만 하드웨어적인 것도 많이 배울 수 있어요. 하드웨어·소프트웨어를 아우르는 환경이 엘리스만의 어필 포인트가 아닐까 싶습니다.
Q. 인프라팀과는 어떤 방식으로 협업이 이루어지나요?
재윤 새로운 GPU가 나오면, 인프라팀에서 먼저 물리 서버를 세팅하고, 그 서버를 저희 쪽으로 넘겨요. 그러면 저희는 서버를 가상화하면서, 서버에서 설정해야 할 환경과 소프트웨어 가상화 환경을 서로 맞추죠.
하드웨어라고 해서 단순히 물리적으로 케이블만 뽑고 있는 게 아니요. 운영체제나 가상화 레이어가 올라가기 전, 순수한 물리 서버 상태를 베어메탈(Bare Metal)이라고 하는데요. 가상화하기 위해 이 베어메탈 단계에서 어떻게 세팅할지 인프라팀과 자주 소통합니다. 새로운 GPU가 들어오면 GPU 세팅을 어떻게 해야 하는지 서로 물어보고 맞춰 나가면서 구현합니다.

▲ Spot 소개 (https://elice.io/ko/cloud/pricing/eci)
Q. 최근 팀 업무 중에 가장 뿌듯했던 성과를 소개해 주신다면 어떤 게 있을까요?
재윤 스팟(spot)이라는 새로운 요금제 모델을 출시한 일이 가장 기억에 남아요. 예전에는 요금제가 온디맨드(On-Demand), 리저브드(Reserved) 이렇게 두 종류였는데, 몇 달 전에 스팟이라는 새로운 요금제를 출시했죠. GPU 트레이닝은 24시간 내내 돌려야 할 때도 있지만, 잠깐 돌렸다가 멈추거나, 테스트 때는 자원이 있을 때만 잠깐 사용하는 등 다양한 사용 패턴이 있어요. 그 중에서도 스팟은 중간에 끊겨도 괜찮은 워크로드를 실행할 때 적합 요금제입니다.
사용자 입장에서는 저렴하게 사용할 수 있는 기회가 되고, 저희 입장에서는 여유 자원이 있는 상황에서 저렴하게 제공했다가, 필요할 때 다시 회수해 쓸 수 있어서 인프라를 훨씬 유연하게(flexible) 운영할 수 있어요. 만약 대기업에 있었다면 엄청 오래 걸렸을 것 같은데, 엘리스에서는 저희가 '이거 필요하겠다' 싶은 걸 빠르게 캐치해서, 이야기 나온 지 일주일 만에 서비스로 만들었어요. 이 점이 특히 뿌듯합니다.
고통이 있어야 성장한다
Q. 엘리스 구성원들이 높은 밀도로 일하는 원동력은 무엇이라고 생각하시나요?
재윤 구성원들의 성장에 대한 욕구가 강한 것 같아요. 리더십 레벨부터 성실하게 일하는 습관들이 자리 잡고 있고, 이런 문화와 맞는 사람들이 계속 남아 있으면서 자연스럽게 성장 지향적인 사람들이 많이 모여 있는 것 같습니다. 그리고 계속 성장하는 걸 느끼고, 더 큰 일을 해나가는 과정을 직접 경험하다 보니 더 열심히 하는 것 같아요. 고통을 감수해야 성장할 수 있다고 생각하고, 그런 고통을 기꺼이 받아들이는 분들이 많아요.
이전에 근무했던 스퀘어는 직원의 편안함을 중요하게 여기는 회사였어요. 저도 20대 때는 무조건 복지나 워라밸이 좋은 걸 가장 중요하게 생각했는데, 점점 경험이 쌓이다 보니까 열심히 일하고 회사가 성장하면서 저도 함께 성장하는 게 더 큰 의미가 있다는 걸 깨달았어요. 워라밸과 편안함을 중요하게 생각하는 문화가 분명 장점도 있지만, 1년, 2년, 3년 지나면서 회사의 혁신 속도가(innovation) 느려지고, 아웃풋과 기능 출시 사이클이 길어지면 결국 회사의 시장 경쟁력에도 영향을 주더라고요. 결국 그 결과가 나한테 다시 돌아오는 사이클이 되거든요.
그리고 아마존은 ‘검소함(frugal)’이라는 가치를 강조하는 회사인데요. 복지는 검소한 편이고, 일도 많고, 평가도 엄격하다는 인식이 있어요. 그만큼 부담과 스트레스도 있지만 결국 세계적인 회사가 되었고, 아마존에서 쌓은 경력과 경험이 저의 커리어에도 큰 도움이 되고 있어요. 회사가 성장하면서 자연스럽게 더 많은 기회와 보상이 따라오는 구조를 몸소 느꼈어요.

Q. 엘리스에 합류한 이후 가장 크게 성장한 부분은 무엇인가요?
재윤 사실 아직 많이 부족하다고 느끼지만, 기술적으로 많이 배우고 있어요. 이전에는 클라우드 서비스를 사용하는 엔지니어로서 서비스를 많이 써봤다면, 엘리스에서는 클라우드 서비스 자체를 어떻게 개발하는지를 다루고 있습니다. 엘리스에서는 그 경험을 할 수 있어서 많이 배우고 있어요.
물론 성장에는 고통이 따라오죠. 전혀 익숙하지 않은 역할을 수행해야 할 때, 스스로 편안하지 않은 상황에 놓여요. 시스템 엔지니어 분야도 빠르게 익혀야 하고, 여러 분야를 잘 이해하면서 팀을 이끌어가야 하니까요. 하지만 그럴 때마다 '내가 고통스럽고 불편한 상황이라면, 그만큼 난 성장하고 있구나'하고 스스로 되새겨요. 아마존에서 일할 때도 제일 스트레스 받았을 때가 결국 제일 많이 배운 시기였거든요. 편안한 상태가 오래되면 다른 걸 시도해 봐야 하는데, 사람은 편안함을 추구하다 보니 쉽지 않잖아요. 그래서 의식적으로 계속 스스로 리마인드 하려고 노력하고 있습니다.
개인의 성장에서, 팀의 성장까지

Q. 주니어 팀원들의 성장을 이끌기 위해 어떤 문화를 만들어가고 있나요?
재윤 무엇보다 오너십을 계속 키우는 것이 중요하다고 생각해요. 오너십을 가지고 서비스를 보면 호기심과 연결되어서 더 깊게 파고들게 되거든요. '우리 팀이 맡고 있는 서비스는 나의 책임이고, 장애가 생기면 내가 해결해야 한다'라는 마인드를 갖고 계속 일하는 거예요. 그럼, 결국 실력이 쌓이고 커리어도 더 단단해집니다. 그래서 결과적으로는 본인을 위한 길이라고 생각해요.
최근에는 서버가 안정적으로 운영되는지 매일매일 체크하고 있어요. 문제가 있을 때만 보는 게 아니라 평소에도 꾸준히 살펴보는 걸 습관화하는 거죠. Operation 대시보드를 보면서 ‘밤사이에 이상한 패턴이 생겼는지’, '우리가 놓쳤던 게 있는지'를 살펴보는 습관을 팀원분들께 전파하고 있어요. 이런 습관이 본인에게 정말 도움이 된다고 직접 느낄 수 있도록 설득하는 게 제 임무입니다.
실제로 이런 문화를 통해 팀원분들의 행동이 바뀐 게 느껴져요. 에러 로그가 뜨면 제가 이야기하기도 전에 먼저 확인하러 가고, 인프라팀에 가서 '데이터베이스에 문제가 있는지 봐달라'고 먼저 요청하기도 해요. 말로 전하는 것보다 이렇게 팀원들의 행동이 변하는 순간이 제일 뿌듯하죠.
Q. 클라우드 엔지니어링팀만이 갖는 조직 문화의 차별점은 무엇인가요?
재윤 저희 팀은 담당하는 범위가 넓다는 점이 가장 큰 특징이에요. 시스템 엔지니어부터 백엔드 개발 그리고 프론트 개발까지 모두 다루다 보니, 자연스레 한 분 한 분이 넓은 시야를 갖게 되는 환경에 놓여 있는 것 같아요. 처음에는 백엔드 엔지니어로 합류하셨더라도, 일을 하다 보면 프론트 개발을 하거나, 시스템 레벨에서 네트워크까지 다루는 경우도 있어요. 실제로 그런 분도 팀 안에 이미 있고요. 리더로서 제가 잘하고 싶은 건, 다양한 걸 시도해 보는 환경을 만들고, 각자가 호기심을 느끼는 분야와 업무를 매칭해 주는 문화를 만드는 거예요. 사람마다 잘하는 것도 다르고 호기심도 다르잖아요. 개발이라는 영역이 프론트엔드, 백엔드, 시스템(스토리지·네트워크·컴퓨팅)까지 정말 광범위하다 보니 처음부터 확고한 사람도 있지만 사실 아직 잘 모르는 분들도 많거든요.
다양한 걸 시도해 보는 환경을 만들고, '아, 나는 이 부분에 흥미가 많네'라고 느끼면서 스스로를 발견하게 해 주고 싶어요. 호기심이 생기면 당연히 자연스레 공부하게 되고, 해당 분야를 파고들게 되니까요. 그래서 팀원분들이 뭘 좋아하는지 계속 지켜보고, 본인이 하고 싶은 것과 회사에서 필요한 것 사이의 균형을 잘 인지시켜 주려고 합니다. 당연히 회사에서 필요한 걸 해야 할 때도 많지만, 팀원마다 관심사가 조금씩 다르다면 각자 좀 더 파고들고 싶은 분야의 업무를 드리려고 노력하고 있어요. 실제로 네트워크 쪽에 관심이 있으신 팀원이 있어서, 그런 성향을 관찰하고 확인한 뒤 *로드 밸런서(Load Balancer) 개발을 맡겼어요. 자발적으로 즐겁게 개발하시는 모습을 보면서 ‘맞는 기회를 잘 연결해 드렸구나’라는 생각이 들었습니다.
* 여러 서버로 트래픽을 골고루 분산시켜, 특정 서버에 부하가 몰리지 않고 서비스가 끊김 없이 안정적으로 운영되도록 돕는 장치
Q. 클라우드 엔지니어링팀과 맞지 않는 유형의 사람이 있다면 어떤 경우인가요?
재윤 조금 솔직하게 말씀드리면, 아주 안정적인 워라밸을 최우선으로 생각하시는 분과는 잘 맞지 않을 수 있어요. 그분이 잘못됐다는 의미는 전혀 아니고, 단지 저희 팀의 문화와 지향점과는 결이 다를 수 있다는 뜻이에요. 매일 야근을 하는 건 아니지만 ‘내가 열심히 해서 나의 성장과 회사의 성장을 둘 다 이루고 싶다’라는 마음을 가진 분이 저희 팀과는 더 잘 맞는 것 같아요.
클라우드를 직접 개발한다는 것 자체에 호기심이 있어야 해요. 정해진 범위 안에만 머물지 않고 필요한 만큼 자유롭게 영역을 넓혀갈 수 있어서, 그만큼 자발적으로 몰입하는 사람에게는 성장할 여지가 큰 환경이에요.
Q. 신규 입사하시게 되시는 팀원분들이 팀에서 어떤 걸 얻어갈 수 있을까요?
재윤 클라우드를 개발해 보고 싶은 분들께는 정말 천국이라고 생각해요. 클라우드 자체를 직접 개발해보고 싶어도 할 수 있는 곳이 많지 않아요. 특히 스타트업 중에서는 엘리스가 유일한 곳이고요. 개인이 경험할 수 없는 최신 장비, 매우 고가의 장비, 다양한 종류의 NPU까지 직접 다루고 가상화해 볼 수 있어요.
저희가 지향하는 모습에 비하면 아직은 시작 단계이지만, 이 환경에서 잘 맞고 역량을 키워 나가신다면 회사 안에서도 핵심 인재로 성장할 수 있는 기회가 충분히 있다고 봐요. 팀과 개인 모두에게 의미 있는 성장을 만들 수 있는 윈윈(win-win) 환경이라고 생각합니다.
Q. 앞으로 클라우드 엔지니어링팀이 엘리스에서 어떤 역할을 하기를 기대하시나요?
재윤 앞으로도 클라우드 분야는 훨씬 더 성장할 것이고, 그 안에서 클라우드 엔지니어링팀은 엘리스의 핵심 개발팀 역할을 맡게 될 거라고 생각합니다. 그래서 부담도 크고, 때로는 어려움도 있겠지만 그만큼 많은 기회가 있다는 뜻이기도 해요. 회사의 성장에 정말 큰 기여를 하는 팀이 되고 싶습니다. 아직은 소수 정예 팀에 가깝지만, 장기적으로는 더 체계적인 풀스택 팀, PM팀, 엔지니어링 조직을 단계적으로 갖춰 나갈 계획입니다.
