박인혜 마이크로소프트 클라우드 엔지니어 ⓒ 원티드
그때도 지금도, 개발인 이유는
커뮤니티 운영자이자 구성원으로서 회사 밖에서도 테크와 개발을 이야기한다. 그가 이토록 IT에 폭 빠지게 된 이유는 무엇일까.
첫 질문인 만큼 시간을 돌려 조금 오래 전 이야기를 해 볼게요. 커리어로 개발을 결심하신 이유가 궁금합니다.
저희 아버지가 1세대 IT인으로 30년 정도 일하셨어요. 컴퓨터를 일찍 집에 들이고 아버지 회사에서 슈퍼 컴퓨터를 보던 경험에 자연스레 영향을 받은 것 같아요. 결정적으로 개발을 선택한 계기는 삼성에 입사한 이후예요. 삼성에서 교육을 받으며 저에게 맞는 분야를 깊게 고민했는데, 저는 문제 하나가 주어졌을 때 끝까지 해결해 정답을 도출하는 과정에서 성취감을 크게 느끼더라고요. 그래서 개발하기로 결심했어요. 제 MBTI도 답에 중점을 두는 ENTJ거든요.(일동 웃음)
비전공자도 개발 공부에 뛰어드는 요즘, 개발 직군 채용 경쟁이 치열하다는 소식은 어제오늘 일이 아니죠. 인혜 님께서 커리어를 시작하신 시기에는 어땠나요?
저는 2006년에 개발을 시작했는데 그 당시 90년도 후반에 IMF가 터지면서 IT 버블이 일어나 사람들이 안정적인 제조업이나 경영 지원으로 가는 추세였어요. 당시 개발자 대우가 좋지는 않았어요. 지금과는 상당히 달랐죠. 그래서 제조업에 있는 IT 분야로 옮기는 분이 상당히 많았어요. (부트 캠프와 같은 교육 프로그램도 당연히 없었겠네요?) 네, 취업 준비생을 대상으로 하는 외부 교육 프로그램은 거의 없었어요. 대신 개발 관련 부서에 입사하면 받게 되는 회사 내부 커리큘럼은 있었어요.
개발자로서 최근 가장 고민하고 있는 또는 관심을 가지고 있는 개발 이슈는 무엇인가요?
개발자로 일해 보니 문과적 소양과 사고력이 커뮤니케이션할 때 굉장히 필요하다는 사실을 깨달았어요. 이제는 한 분야의 개발에만 유능한 것이 아니라, 커뮤니케이션도 뛰어나고 풀 스택 개발자(Full Stack Developer)로서 만능 개발자를 요구하는 것 같아요. (어떤 흐름에서 풀 스택 개발자가 중요해진 걸까요?) 최근 스타트업이 늘고 있는데, 스타트업은 대규모 인원 채용이 어려워 한 명에게 연봉을 높게 책정하고 다양한 역할을 하도록 지원하기 때문이에요. 그렇게 계속 개발자에게 챌린지가 들어 오는 듯해요. (요즘 개발자는 글쓰기에도 관심 있는 것 같아요.) 맞아요. 저도 아이폰을 주제로 한 책을 쓴 적이 있는데요. 첫 문장을 시작해 마무리하기까지 너무 힘들었어요. 독자가 이해하기 쉽게 풀어 쓰기 쉽지 않더라고요. 내 기술을 다른 사람에게 공유하는 활동도 분명 중요하다고 생각해요.
테크 분야의 여성 리더십 양성을 위해 구성된 ‘걸스인텍(Girls in Tech)’과 클라우드 기술을 이야기하는 ‘쿠버네티스(Kubernetes)’ 커뮤니티에서 활동하고 계세요. 특히 쿠버네티스에서는 운영진으로 계신다고 들었는데요, 어떤 이야기가 오고 가는지 궁금합니다.
쿠버네티스 코리아 그룹(Kubernetes Korea Group)은 한국에서 많은 유저를 가지고 있는 오픈 커뮤니티 중 하나예요. 커뮤니티 활동을 하면서 심도 있는 배움을 얻고는 해요. 실무자들이 모여 현재 회사에서 사용하고 있는 기술 이야기를 주고받고 더 알고 싶은 분야와 최신 기술 트렌드를 같이 공부해 나가요. 더불어, 각자가 직면하고 있는 문제에 대해 기술적인 해답을 구합니다. 이에 구성원들은 본인 사례를 적극 공유하며 솔루션(피드백)을 제안하기도 해요. 서로 열린 마음으로 치열하게 논의하며 기술 이해도를 높이는 문화예요. 이러한 오픈 커뮤니티 활동을 하면서 여성 개발자분의 참여가 상대적으로 적다는 느낌을 받았고, 이를 활성화하기 위한 방법에는 어떤 것이 있을까 찾아 보다 걸스인텍에도 합류하게 되었어요.
마이크로소프트에서 동료들과 함께 ⓒ 박인혜
누군가에겐 낯선, 그러나 필요한 클라우드 엔지니어링
아직은 개발자에게도 쉽지 않은 클라우드 엔지니어링. 하지만 클라우드의 등장으로 국내외 비즈니스의 모양은 대폭 바뀌었고, 더 이상 뒤로 할 수 없는 개념이 되었다.
마이크로소프트로 오시기 전, 삼성에서 약 12년간 근무하셨어요. 그간 해오신 일을 소개해 주실 수 있을까요?
크게 세 가지 영역의 일을 했어요. 입사 초에는 애플리케이션을 주로 개발했는데요, 삼성에서 사용하는 아이폰 기기의 그룹웨어를 개발했습니다. 그러다, 서버가 제 성향과 더욱 잘 맞는 것 같아 그룹웨어 서버 사이드를 담당했어요. 삼성에서 클라우드 신설 TF 팀을 만든 2009년 또 한 번 직무 이동했어요. 저는 클라우드가 중요한 분야로 떠오를 것 같다는 생각과 새로운 영역에 도전하고 싶다는 마음에 신설팀에 지원했어요. 물리적인 서버가 아니라 가상에 있는 서버에 애플리케이션을 배포하고, 인터넷만 연결되어 있으면 언제 어디서든 손쉽게 사용할수 있다는 클라우드가 세상을 바꿀 수 있지 않을까 생각했어요.
(변화가 있을 때마다 적응하는 데 힘들지 않았나요?) 쉽지만은 않았어요. 하지만, 똑같은 것을 반복하면 흥미를 잃게 되어요. 생각보다 개발 언어와 프레임워크(framework) 주기가 길지 않거든요. 10년 정도 일하면, 저뿐만 아니라 대부분의 개발자도 여러가지 프레임워크를 사용할 수밖에 없는 생태계가 구축되어 있어요. 저는 어쩔 수 없는 변화에 순응하거나 매너리즘에 빠지지 않고 발전하기 위해 먼저 다른 분야에 지원해 왔어요. (인혜 님께서 클라우드 신설팀으로 이동했던 시기에는 그 분야에 종사하는 사람이 얼마 없었을 것 같은데요.) 맞아요. 그 시기 국내에서는 클라우드가 완전히 초기 상태였어요. 돌이켜 보면 선택 타이밍이 적절했던 것 같아요.
클라우드 엔지니어링을 선택하신 이유는 무엇인가요?
앞서 말씀드린 것처럼 오랫동안 개발을 하다 보니 비슷한 패턴으로 일하게 되는 게 아쉬웠어요. 또, 클라우드는 향후 최소 10년 안에 대폭 성장할 거라고 판단했어요. 실제로 연 단위 성장 속도가 1.5배가 아니라, 2~4배 정도로 진행되며 산업이 커지는 걸 체감했어요. 레거시(legacy) 시스템보다 새로운 시스템에서 가볍고 빠르게 동작하는 클라우드가 매력적이었어요. 이제 개발 분야는 충분히 이해하고 경험했기 때문에 배워 나갈 수 있는 영역이 훨씬 무궁무진한 클라우드를 해 보자고 결심했어요. 향후 커리어에도 도움이 될 거라고 확신하기도 했고요. 또한 딥 러닝(Deep Learning), 빅 데이터(Big Data), 컨테이너(Container) 등의 신기술이 빠르게 나오는 IT 세상에서 모든 기술을 각각의 회사에서 구현하는 데 시간이 부족하기 때문에, 이미 구축되어 있는 클라우드 기술을 활용해 신규 서비스를 런칭하며 시장을 선도하는 것이 비즈니스 측면에서 이득이기도 하고요.
마이크로소프트에서 정확히 어떤 업무를 하고 계신가요? Azure를 이용해 인프라를 구축하고 마이그레이션(Migration)하는 작업을 주로 하시는 걸까요?
지금 제 직무 명칭은 ‘애플리케이션 이노베이션 클라우드 솔루션 아키텍트’예요. 솔루션 아키텍트 앞에 인프라, 데이터 베이스 등의 수식어가 붙는 다양한 직무가 있는데 저는 애플리케이션에 특화된 솔루션 아키텍트라고 이해해 주시면 됩니다. 업무로는 Azure에서 인프라를 구축하고 마이그레이션하는 작업을 진행하고 있어요. 기존 서브 사이드 데이터센터에서 동작하고 있던 것들을 클라우드에 올려 제대로 동작하도록 아키텍처링해 주는 작업이에요. 데이터센터와 클라우드는 안에 동작하고 있는 매커니즘도, 디자인 콘셉트도 다르거든요. 그래서 최대한 고객의 현재 상황을 듣고 기술적인 이슈가 있는지 어세스먼트하며 커뮤니케이션합니다. 제가 직접 가서 볼 수 없기 때문에 한정된 시간 동안 고객에게 끊임없이 질문해서 고객의 상황을 말로써 파악하고, 문제 없이 클라우드에서 워킹할 수 있도록 도와주는 역할을 하고 있어요. 그리고, 신규 서비스를 클라우드에 런칭할 때 고객이 실질적으로 원하는 동작이나 디자인을 아키텍처링 해 줍니다.
클라우드 엔지니어가 근무하기 좋은 환경은 어떤 곳인지 궁금해요.
첫 번째는 클라우드를 많이 사용할 수 있는 환경이에요. 보통 빠르게 변화하는 스타트업이나 게임 산업 등에서 클라우드를 필요로 하죠. 두 번째로 CEO는 물론이고 구성원들까지 변화에 유연하게 대응하는 조직이에요. 기존 방식에 고집하지 않고 상황에 맞춰 리액트를 하는는 조직이어야 해요. (그렇다면, 마이크로소프트는 클라우드 엔지니어에게 어떤 적합한 환경을 제공하고 있나요?) 클라우드 엔지니어가 성장하려면 최신 기술을 자주 보고 배워야 해요. 마이크로소프트는 클라우드 최신 기술이 오픈 소스로 공유되고 있어요. 만약 본사에 컨트리뷰션하고 싶다고 의사를 표현하면 주기적으로 미팅을 가질 수도 있어요. 저는 주에 한 번씩 미팅에 참여하고 있는데요, 문제 사항을 공유하고 어떻게 해결할지 논의하는 자리예요. 글로벌 팀이나 엔지니어 팀과도 주기적으로 이야기를 나눌 수 있는 창구가 있어서 프로덕트 관점에서 지식을 쌓고 논의할 수 있어요.
클라우드 장애 상황에 대한 대처는 어떻게 하고 계신가요? 사례가 있다면 함께 들어보고 싶습니다.
첫 번째는 아키텍처링하는 상황에서 고객에게 미처 질문하지 못한, 간과하고 있던 부분에서 런칭 이후 장애가 일어나는 경우예요. 이를 미연에 대비하기 위해 본사 엔지니어 혹은 내부 시니어 팀과 꾸준한 커뮤니케이션을 통해 내가 놓친 부분이 있는지 점검하는 시간을 가져요. 두 번째는 클라우드 자체에서 장애가 발생하는 경우예요. 그래서 고객에게 클라우드는 항상 장애가 일어날 수 있다는 사실을 미리 고지하고 장애가 일어난 상황에서도 애플리케이션과 서비스가 문제 없이 돌아갈 수 있도록 이중화를 시키거나, 안전 장치를 아키텍처링 단계에서 미리 준비해요.
해당 분야의 전망과 관련해 개발 세계에서 다양한 생각이 오고가고 있는데요, 인혜 님의 개인적인 의견을 듣고 싶습니다.
클라우드는 시간이 흐를수록 기본 서비스가 되지 않을까 생각해요. 서비스가 어느정도 안정되면 더 이상 확장되지는 않겠지만 현재 관련한 부가적인 컨테이너 서비스와 기능이 나오고 있고, 앞으로도 계속될 거예요. 사실 저는 기술 역량 확장도 고민하고 있어요. 제일 관심 가지고 있는 부분은 딥 러닝, 데이터 베이스예요. (신산업을 바라보시는 분은 도전을 즐겨하시는 분인 것 같아요.) 맞아요. 면접 인터뷰어로 들어가면 빼놓지 않고 물어보는 질문이 있어요, “본인은 새로운 것을 배우고 적응하는 데 두려워 하지 않나요?”예요. IT에서는 안주하지 않고 뜨고지는 기술에 빠른 속도로 적응하는 인재를 요구하고 있는 것 같아요.