d라이브러리









[SW 진로체험] 답을 찾는 시간이 즐거운 SW 개발자

김성조 와탭랩스 CTO

웹 서버를 효율적으로 관리하기 위해서는 문제가 일어난 지점과 원인을 정확하게 파악하는 기술이 필요하다. 하지만 큰 서버일수록 초 단위로 엄청난 양의 정보가 쏟아져 이를 알아내기란 무척 어렵다. 방대한 데이터 속에서 문제를 해결하는 실마리를 제공하는 ‘응답시간 분포도’를 고안한 김성조 최고기술책임자(CTO)를 만나 프로그래밍에 숨어있는 수학적 아이디어를 물었다.  

 

와탭랩스는 어떤 회사고 어떤 일을 하시나요?
와탭랩스는 웹 서버가 잘 작동하는지 모니터링하는 프로그램을 클라우드 환경에서 서비스하는 IT 회사예요. 어떤 사이트에 사용자가 몰리거나 문제가 생기면 ‘서버가 터졌다’고 하잖아요? 그런 상황에서 어디에 문제가 생겼는지 파악하고 어떻게 해결할 수 있는지 실시간으로 확인하는 프로그램을 온라인으로 제공하는 거예요. 
이런 기술을 APM(어플리케이션 성능 관리)이라고 하는데 저는 이 프로그램을 개발 및 운영하는 일을 맡고 있습니다.
국내 APM 1세대이자 이 분야 최고 전문가로 꼽히신다고 들었어요. APM을 시작한 계기가 있나요?
처음 개발자 일을 시작했던 건 LG CNS에서였어요. 당시는 개인 컴퓨터가 보급되기 시작한 지 얼마 되지 않았고 서버 장애도 정말 많았던 때였죠. 그래서 장애를 해결하기 위한 팀을 꾸렸는데 그 팀에서 성능 관리를 시작하게 됐어요. 그런데 막상 시작하니 우리나라에는 아무런 도구가 없는 거예요. 맨땅에 헤딩하듯 여러 문제를 해결하면서 차츰 경험이 쌓였고 그것을 바탕으로 프로그램을 스스로 만들기 시작했어요.  

SW 문제 해결 실마리를 수학에서 찾다


 

응답시간 분포도에 대한 아이디어는 어떻게 냈나요?
APM은 초단위로 쏟아지는 엄청난 양의 정보를 빠르게 처리하면서 그 속에서 문제를 정확히 파악해서 조율해야 해는 기술이에요. 
큰 규모의 데이터를 처리할 때 주로 ‘평균’이란 개념을 사용하는데 평균으로는 어디에서 문제가 발생했는지 정확히 알기 어려웠어요. 그렇다고 모든 데이터를 확인할 수도 없었죠. 어떻게 하면 평균의 왜곡을 피하면서 효율적으로 분석할 수 있을까 고민하다가 평면에 데이터를 찍어 분포도를 만든 뒤 패턴을 찾으면 되겠다는 아이디어가 떠올랐어요. 그렇게 하니 한눈에 그래프를 분석해 숨겨진 문제를 빠르게 찾을 수 있게 됐죠. 이것이 바로 응답시간 분포도예요. 처음 이 아이디어가 떠올랐을 때는 너무 기뻐서 맘속으로 유레카를 외쳤어요.

 

SW 개발에서 수학은 어떻게 쓰이나요?
기본적으로 화면을 다루는 프로그래밍은 전부 기하학과 관련이 있어요. 화면은 점, 선, 면을 좌표에서 다룰 수 있어야 원하는 형태를 구현할 수 있거든요. 그래서 제가 아는 한 게임 개발자는 대학 졸업 후에 다시 ‘수학의 정석’을 공부하기도 했어요. 그 외에도 기본적인 방정식과 벡터는 잘 알고 있어야 하고 특히 확률과 통계는 화면을 다루는 프로그램뿐만 아니라 프로그래밍에 광범위하게 쓰이므로 잘 공부해두는 게 좋아요.

 

미래의 개발자들에게
개발자에게 가장 중요한 자질은?
후배들을 가르쳤을 때 느낀 건 적성이 매우 중요하다는 사실이었어요. 전공을 하더라도 나중에 적성이 맞지 않아 포기하는 경우를 많이 봤거든요. 프로그래밍에 대해 막연하게만 알고 있는 학생이라면 프로그램밍 수업을 들어보는 걸 추천해요. 
프로그램은 결과를 바로 보여줘요. 잘 만들면 돌아가고 틀리면 막혀버리죠. 이 문제를 해결하기 위해 밤을 새워도 지치지 않는다면 적성에 맞는 거예요. 그 다음엔 상상력이 필요해요. 내가 만들고자 하는 큰 그림을 짜고 처음부터 끝까지 단계를 구상하고 필요한 명령어를 조립할 수 있어야 하죠. 

 

개발자를 꿈꾸는 학생들에게 조언해 주세요.
언젠가 소프트웨어 전시회에 참석한 적이 있어요. 그때 전세계의 훌륭한 프로그램들을 보면서 이런 생각을 했어요. ‘내 프로그램이 다른 것을 조금이라도 모방했다면 과연 이 자리에 섞여 있을 수 있었을까’라고요. 보통 우리는 ‘다른 사람보다 잘 하는 것’에 노력을 쏟지만 프로그래밍에서는 ‘자신만의 아이디어가 있는 것’이 훨씬 중요해요. 점수에 쫓겨야 하는 학생들에게 특히 이 부분을 정말 강조하고 싶어요. 수학 숙제 하나를 하더라도 나만의 아이디어로 풀려는 노력을 한다면 언젠가 프로그래밍에서도 자기만의 영역을 찾게 될 거예요.

 

이 기사의 내용이 궁금하신가요?

기사 전문을 보시려면500(500원)이 필요합니다.

2019년 04월 수학동아 정보

    🎓️ 진로 추천

    • 컴퓨터공학
    • 소프트웨어공학
    • 정보·통신공학
    이 기사를 읽은 분이 본
    다른 인기기사는?