28년째 잘나가는 개발자의 생존 비결

[인터뷰] SKT 컨테이너솔루션 개발팀 안승규님


세상에서 가장 빠른 기술 변화를 실시간으로 느끼는 직업이라면, 단연 개발자 아닐까? 개발자가 되겠다고 뛰어드는 사람은 많지만, 오랜 시간 개발 업무를 한 '시니어 개발자'는 귀하다. 그만큼 빠르게 변하는 환경에 스스로를 개발하고 적응해야 하는 일이기 때문일 것이다.

그래서겠다. 주니어 개발자들 사이에서는 "내가 이 일을 얼마나 더, 잘 할 수 있을까" 토로하는 이들이 적지 않다. 어렵게 개발자가 됐지만, 되고 나서도 계속 할 수 있을지 고민이란다. 이런 변화무쌍한 환경 속에서 SK텔레콤의 안승규 개발자는 20년을 훌쩍 넘는 시간을 개발자로 살고 있다. 2년만 있으면 30년차를 맞이한다. 강산이 바뀌어도 두어 번 쯤 바뀌었을 시간, 세상과 기술의 변화를 온몸으로 겪으며 앞서 나가는 일이 결코 쉬웠을 리 없다.

"잘할 수 있을까를 고민하지 마세요. 누구나 처음은 어려우니까. 길게 보고 차근차근 하면 됩니다. 고민할 시간에 행동하고 방향을 찾으세요. 꾸준히 노력하면 시간이 전문가로 만들어 줍니다."

개발자로서 어떻게 스스로를 발전시켜 나갈 수 있을지를 묻는 질문에 안승규 개발자는 이렇게 말했다. 따뜻하지만 단호하다. 이같은 조언이 가능한 것은, 그가 직접 해보고 하는 말이기 때문일 것이다. 그의 조언이 개발자 뿐 아니라 모든 직장인들의 마음에 와닿는 이유는, 비단 개발자만을 위한 조언이 아니기 때문일 터. 우리는 어떻게 이 험난한 직업의 세계에서 스스로의 자리를 단단히 굳히며 살아갈 수 있을까, 안승규 개발자에게 물어봤다.


-안녕하세요. SK텔레콤에서 어떤 일을 하고 계시는지 소개 부탁드립니다.

컨테이너 솔루션 개발팀의 안승규입니다. 저희 팀은 쿠버네티스(Kubernetes)* 관리 자동화부터 쿠버네티스 기반의 다양한 솔루션을 개발하고 하고 있습니다. 그 중에서 MSA(마이크로서비스아키텍처) 플랫폼과 AI/ML Model Serving 플랫폼을 개발하고 있습니다.

*쿠버네티스(Kubernetes) : 클라우드화된 애플리케이션을 빠르게 자동적으로 배포하고, 컨테이너들의 배포, 관리, 확장 자동화, 스케일링 등을 제공하는 컨테이너 관리 시스템.


-2015년 SK텔레콤에 오시기 전, 21년간 S그룹 포털 개발을 비롯한 다양한 프로젝트를 이끄셨다고 들었습니다. 국내 최고라 불리는 회사에서 21년이라는 긴 시간 일하다 새로운 회사로 옮기는 것, 언뜻 생각해도 쉬운 선택은 아니었을 것 같습니다. 수많은 선택지가 있으셨을 테고요. SK텔레콤을 선택하신 이유는 무엇이었나요?

이전 회사에서 오픈스택(OpenStack)*을 활용한 프라이빗 클라우드(Private Cloud) 개발/구축을 리딩 했습니다. 당시 IaaS(서비스로서의 인프라스트럭처)에 이어서 PaaS(서비스로서의 플랫폼)에도 관심이 많았어요. 마침 SK텔레콤에서 오픈스택으로 프라이빗 클라우드(Private Cloud)를 구축하고 그 위에 PaaS 개발을 진행할 사람을 뽑는다는 소식을 들었습니다. 이야기를 듣자마자 ‘내가 하고 싶은 그 일인데?!’ 라는 생각이 들었어요.

결국 하고 싶은 일을 하려고 왔어요. 오래 다닌 회사에서 나름 인정받으며, 진급도 빠른 편이었어요. 하지만 이런 생각이 들자, 일주일 고민하고 바로 결심해서 회사를 옮겼죠. 그 만큼 제 비전과 회사의 비전이 딱 맞다는 생각이 들었거든요.

*오픈스택(OpenStack): 클라우드 컴퓨팅 플랫폼을 개발하고 관리할 수 있는 공개 소스 소프트웨어 기반의 클라우드 운영 체제.




-세상에서 가장 빠르게 변하는 분야가 개발이라고 하잖아요. 매일 새로운 기술이 나오는 터라, 주니어 개발자들 중에는 기술 변화를 따라잡기 힘들다고 토로하는 분들 많으시더라고요. '이 일을 얼마나 할 수 있을까 싶다'고 말하는 분들도 적지 않아요. 긴 시간 업계에서 스스로를 성장시킨 방법, 주니어 개발자들 뿐 아니라 모든 직장인들이 궁금할 것 같습니다.

처음에는 프로젝트에 투입되면서 선배들로부터 프로그래밍을 배웠죠. 아무래도 혼자 공부해서 실무에 적용하는 것은 한계가 있고 선배들이 써왔던 방식을 배울 수 있기 때문에 ‘삽질’하지 않고도 최적의 방법을 바로 알 수 있어요.  

다만 계속 비슷한 프로젝트만 하다 보면 매너리즘에 빠질 수 있어요. 그럴 때마다 오픈소스 커뮤니티에 참여하여 새로운 트렌드와 기술을 접했습니다. 글로벌 개발자들이 개발한 오픈소스를 분석하면서 배웠어요. 예를 들어 2011년에는 오픈스택을 접하면서 클라우드 인프라스트럭처(Cloud Infrastructure)를 파이썬(Python) 언어로 핸들링 하는 방법을 배웠고, 2016년에는 쿠버네스트를 접하면서 컨테이너 관리를 'Go언어'로 하는 방법을 배웠습니다. 네트워크, 스토리지, 컴퓨팅 등의 기술을 같이 배울 수 있어서 좋았어요.

배울 때는 근본적인 원리를 이해하는 것을 중요하게 생각했어요. 기술들이 서로 연관성이 많기 때문에 한 분야를 제대로 배워 두면 다른 분야에서도 써먹을 수 있는 상황이 많은 것 같습니다.

자기계발 과정에서 제일 힘들었던 것은 이 분야가 끝이 없다는 것입니다. 항상 새로운 것이 나오고 또 기존의 기술들도 업그레이드되기 때문에 남들에게 뒤쳐지지 않으려면 계속 노력하는 수밖에 없는 것 같습니다. 결국 꾸준히 열심히 노력해야 한다는 이야기네요.(웃음)

하지만 이 얘기는 꼭 드리고 싶어요. '잘할 수 있을까'를 고민하지 마세요. 처음은 누구나 어려워요. 너무 짧은 시간에 무언가를 이루려고 하지 마시고 마라톤처럼 20년, 30년 장거리를 뛴다고 생각하고 차근차근 하면 됩니다. 해보지도 않고 잘할 수 있을지, 적성에 맞을지는 알 수 없어요. 고민할 시간에 일단 먼저 행동하고 그리고 나서 자신의 방향을 찾으세요. 일단 하면 안될 것은 없습니다. 꾸준히 노력하면 시간이 전문가로 만들어 줍니다. 시간과 노력을 믿으세요.

 

-1994년부터 지금까지 개발자로서 일하면서 초기에는 사내 포탈 개발과 문제 해결 등에 포커스가 맞춰졌다면 2011년부터는 자체 클라우드 개발에도 힘을 쏟아 오셨다고요. 지금은 쿠버네티스 분야에 집중하고 계시고요. 이렇게 빠르게 트렌드를 읽고 다음 단계로 도약하기까지 우여곡절도 많으셨을 것 같은데요. 이렇게 빠르게 트렌드를 포착하고 앞서 나갈 수 있었던 비결이 뭘까 궁금합니다.  

10년 정도 사내 엔터프라이즈 포탈 개발을 했어요. Java EJB 부터 시작해 Spring, JPA, ESB(Enterprise Service Bus) 등을 활용한 개발, 당시의 대용량 시스템 SA 역할까지 두루 경험했죠. 하지만 뭔가 정체되는 느낌이었어요.

그러다, 2011년 아마존 웹 서비스(AWS) 가 막 국내에 알려지기 시작할 때 사내 프라이빗 클라우드를 개발/구축하는 TF가 생겼습니다. 앞으로는 클라우드가 큰 흐름을 가져가겠다는 생각에 바로 지원을 했죠. 2011년 7월부터 8개월 만에 오픈스택 소스를 분석하고 부족한 부분은 개발해 서비스를 오픈했습니다. 지금 생각해도 뿌듯한 경험이었어요. 이 때부터 글로벌 커뮤니티에 참여하고 다양한 외국의 개발자들과 소통하는 법도 배웠고요. 오픈스택은 인프라를 프로그램으로 핸들링 하는 영역이라 코드를 통해 인프라에 대해서 많은 것을 배울 수 있었죠.

쿠버네티스는 그 경험을 바탕으로 먼저 시작하게 됐어요. 해외에서 개최되는 오픈스택 서밋에서 쿠버네티스와 gRPC 2개의 소프트웨어로 클라우드 네이티브 컴퓨팅 재단(CNCF)을 만들려고 준비하는 구글의 Dan Korn을 만났습니다. (안타깝게도 지금은 고인이 되셨습니다.) 여기서 쿠버네티스를 접했고 앞으로 오픈스택처럼 성장할 기술이다 싶어 바로 스터디를 시작했죠. 오픈스택과 쿠버네티스, 클라우드 분야에서 핫한 2개의 기술을 처음부터 접하고 개발을 시작했으니 운이 좋았다고 할 수 있죠.

AWS로 인해 IaaS가 뜰 것이라는 것은 누구나 알 수 있었을 겁니다. 또 컨테이너(Docker)가 알려지면서 관리 기술인 쿠버네티스 역시 각광받을 것이라는 것도 쉽게 알 수 있었고요. 이런 확신은 직접 설치해보고 사용해보면서 왔던 것 같아요. 어떤 소프트웨어는 개념은 좋지만 설치가 어렵고 사용도 어려워 힘들겠다 싶었는데, 아니나 다를까 결국 성공하지 못하더라고요.


-결국 직접 접해보고 실제로 해봐야 알 수 있다, 그만큼 꾸준히 관심을 갖고 공부해야 한다는 이야기신 것 같습니다. 누구나 잘 나갈 것이라고 예상할 수 있더라도 생각만 하는 것과 실제로 하는 것은 또 다른 이야기일 테니까요. 여전히 공부 중이라는 말씀이신데요. 실제 14년 전부터 운영 중인 블로그에 지금도 어떤 공부를 하셨는지 꾸준히 글을 올리고 계시더라고요. 개인적으로 깜짝 놀랐습니다. 요즘은 어떤 분야를 관심있게 보고 계시나요?

요즘 관심있게 보는 분야는 ‘MLOps on Kubernetes’ 입니다. 2020년까지 쿠버네티스의 발전 시기 였다면 이제는 단순히 이를 사용하기 보다 그 위에 올라가는 소프트웨어들이 더 중요시 되고 있습니다. 즉, 쿠버네티스는 마치 OS처럼 취급되고 있는거죠.

MLOps(Machine Learning Operations)는 2018년 큐브콘(KubeCon·글로벌 쿠버네티스 컨퍼런스)에서 쿠브플로우(Kubeflow)를 접하면서 관심을 갖게 됐어요. 딥러닝(Deep Learning) 기술이 급격히 발전하면서 데브옵스(DevOps)처럼, 데이터 전처리, 모델 개발과 배포/관리를 자동화하는 방향으로 진화하고 있습니다.

쿠버네티스를 잘 알기 때문에 그 위에 올라가는 쿠브플로우를 공부하는 것은 그나마 조금 더 수월하다고 생각합니다. 물론 ML/DL 에 대해서도 어느 정도 지식이 필요하기 때문에 쉽지만은 않지만요.

OPA(Open Policy Agent)에도 관심이 많아요. 2019년 큐브콘에서 해킹과 방어를 롤플레이로 경험한 적이 있는데, 이 때 보안 측면에서 OPA Gatekeeper 로 방어하는 것을 보고 프로젝트에 꼭 필요하다고 생각했습니다.

 


-하지만 매번 새로운 것을 접하고 배운다는 것, 말처럼 쉬운 일이 아니잖아요. 지금의 자리를 만든 것은 결국 하루하루의 시간들일 것 같아요. 오랜 시간 개발자로 일하시면서 지켜온 나만의 루틴이 있을까요?

주말에 시간 날 때 기술 서적을 읽어요. 사다 놓은 기술 서적들이 많은데 아직 못 읽은 것들도 많죠. 관심이 있어서 샀지만 시간상 혹은 중요도가 낮아서 못 읽은 책들은 주말에 읽습니다. 처음에는 가볍게 읽고 더 깊이 봐야 할 내용들은 본격적으로 실습을 따라해 보면서 읽습니다. 또 기술 블로그 글을 자주 씁니다. 제가 기억력이 별로 좋지 않아서 주로 제가 나중에 다시 볼 수 있게 정리하는 용도로 쓰죠.


-여전히 새로운 것을 접하고 배우고 계신다는 이야기를 들으니, 말씀만 들어도 열정이 느껴지는 것 같아요. 선배 개발자로서 요즘의 구직자들, 주니어 개발자들에게 조언을 해주신다면요?

대부분의 주니어 개발자들이나 구직자들은 모바일 프로그래밍이나 웹 프로그래밍(Backend, frontend)을 먼저 준비합니다. 저는 다양한 분야가 많다고 말해주고 싶어요. 컨테이너 관리 기술 (Kubernetes)도 있고 인프라스트럭처 (네트워크, 스토리지, 컴퓨팅), Machine Learning Engineering, 게임, 보안, 클라우드, 데이터베이스, 오픈 소스 등 많은 분야가 있습니다. 지금 당장 뜨는 기술에만 너무 집착하지 말고 내가 하고 싶은 분야를 시작으로 점차 분야를 넓혀 갔으면 좋겠습니다.

무엇보다 경험이 중요하다고 생각합니다. 원하는 회사, 원하는 기술에만 집착하지 말고 다양한 프로젝트 경험을 쌓을 수 있게 열린 생각으로 접근했으면 합니다.


-오랜 시간 다른 회사에서 일하다 SK텔레콤에 오셨는데요. SK텔레콤은 통신이라는 키워드에만 주목하기 쉽지만, 사실은 어느 회사보다 개발에 진심이라는 이야기를 들었어요. 그만큼 공고한 개발 문화가 갖춰져 있다고요.

3년 전부터 개발자들이 소통할 수 있는 ‘Devocean’이라는 사이트가 있습니다. 각자의 경험을 이 곳에 모아 데이터베이스화 하기 시작한건데요. 지금은 기술 블로그, 오픈 강의 동영상, 기술 세미나 등 다양한 자료가 있어요.

저는 이런 소통의 장이 있을 때 참여하는 것을 중요하게 생각합니다. 1명, 2명이 모여서 뭔가를 만들거나 바꾸려고 하면 그건 그냥 소수의 의견일 뿐이예요. 그러나 3명 이상이 되면 그건 흐름이 되고 문화가 되죠. 이런 흐름과 문화는 생명체와 같아서, 살아서 전파가 됩니다. 그런 의미에서 개발 문화는 우리가 스스로 참여하면서 만드는 것이라고 강조하고 싶네요.


- SK텔레콤에서 개발자로서의 미래와 비전, 어떻게 보시나요? 꼭 이루고 싶은 목표가 있다면요?

외국 회사에는 Individual Contributor (개발만 하는 전문가)이라고 하죠. 조직을 관리하지는 않지만 전문 개발자로써 임원대우를 받는 직책이 있습니다. 아직 SKT 에는 해당 직책이 없는데 직책과 상관없이 전문 개발자, 개발을 하는 사람으로 남고 싶습니다.



저작권은 SK텔레콤에 있으며, 무단 배포를 금지합니다