가계부를 작성할 때 매일 써야 하는 항목에는 무엇이 있을까? 식비, 통신비, 교통비 등이 떠오른다. 김희준 개발자의 가계부에는 ‘연구비’ 항목이 있다. 그는 연구비에 매달 약 10만원을 들여서 매일 공부한다. 자신은 아직 부족한 개발자라고 설명하는 사람, 그래서 매일 공부하고, 공부하는 것이 즐겁다는 김희준 개발자의 삶을 들여다보자.

▲  김희준 개발자의 가계부. 연구비라는 항목을 만들어 매달 공부하는 데 투자하고 있다.
▲ 김희준 개발자의 가계부. 연구비라는 항목을 만들어 매달 공부하는 데 투자하고 있다.

PC와 함께한 개발 10년

김희준 개발자는 고등학교 1학년 때 처음 프로그래밍을 접했다. ‘인터넷 무작정 따라하기’ 같은 책을 사고 직접 웹사이트를 만들어보면서 프로그래밍에 재미를 붙였다. 대학교에 진학한 뒤엔 프로그래밍을 더 깊게 알고자 했다. 당시 강원도에 살았던 김희준 개발자는 1학년을 마치고 무작정 상경해 병역특례 IT기업을 찾아갔다. 그러면서 대부분의 시간을 보안회사에서 보냈다. 보안마법사, 안철수연구소같은 기업이었다. 보안회사에 근무하면서 자연스레 시스템 뒷단에 대한 관심이 높아졌다.

“제가 호기심이 많은 편이에요. 보안은 여러 기술을 두루 알아야 하거든요. 운영체제를 공부하면, 운영체제 아래에는 어떤 기술이 있는지 궁금하더라고요. 그렇게 계속 밑단의 기술을 파고 보니 하드웨어와 가장 밀접하게 붙어 있는 기술이 드라이버라는 걸 알았어요. 졸업 후에는 아예 드라이버를 전문적으로 만드는 회사에 입사했죠.”

드라이버란 모바일 기기를 PC와 연결할 때 필요한 소프트웨어다. 당시 컴퓨터 대부분이 윈도우 기반이었기 때문에 윈도우 드라이버 기술이 많이 쓰였다. 그렇게 1년간 드라이버 기술을 배운 뒤 한국마이크로소프트에 입사했다. 전자회사나 소프트웨어 업체는 윈도우 기반 애플리케이션을 만들었고, 김희준 개발자는 고객 지원 부서에서 개발자를 돕는 일을 맡았다. 그러면서 윈도우와 하드웨어를 연결할 때 발생하는 문제점을 해결하거나 기술 자문을 하곤 했다.

“많은 계산을 하고 회사를 옮기진 않았어요. 궁금한 기술이 있으면 그 기술을 공부할 수 있는 회사로 가려고 했어요. 사실 드라이버 기술은 수요가 아주 많은 업계가 아니거든요. 그럼에도 불구하고 드라이버 회사로 들어간 건 그 기술이 궁금했고, 공부하고 싶었기 때문이었죠. MS도 마찬가지고요. 그런데 시간이 점차 지나자 MS에서 할 수 있는 일이 줄어들더라고요. MS뿐만 아니라 많은 회사가 이제 PC보다 모바일과 웹 기술에 더 집중했기 때문이죠. 그래서 좀 더 많은 일을 할 수 있는 곳을 찾다가 마침 다음카카오에서 일자리가 난 것을 알았어요.”

▲  김희준 다음카카오 개발자
▲ 김희준 다음카카오 개발자

김희준 개발자는 현재 다음카카오에서 근무하고 있다. 다음카카오에 온 지는 약 1년. 현재 PC버전 카카오톡을 개발하는 팀에 소속돼 있다. 현재 PC버전 카카오톡을 개발하는 인력은 10명 정도다. 이들은 PC버전 제품에 새로운 기능을 추가하고 기술 안정성을 높이는 일을 주로 맡고 있다.

“생산성 높여주는 C++에 관심 많아요”

시스템 뒷단 기술을 개발하다보니 김희준 개발자는 주로 C++를 이용했다. 그가 최근 가장 관심을 가진 기술 역시 C++다. 사실 최근엔 자바스크립트나 , 스위프트 같은 신생 언어가 더 많이 주목받고 있다. 다른 언어가 아닌 C++에 더 관심을 갖는 이유는 무엇일까?

“이전에는 윈도우98용 디버거, 윈도우98 아키텍트 같은 걸 집중 공부했어요. 그런데 어느덧 제가 열심히 공부했던 기술이 역사 속으로 사라지더라고요. 시간이 지나다 보니 지금 그 기술은 많은 쓰이지 않았던 거죠. 이제는 다양하게 쓸 수 있고 생산성을 높일 수 있는 기술에 관심이 생겨요. 하나의 아키텍처만 파고 공부하는 것보다요. 마침 최근 C++에 생산성을 높여주는 기능이 많이 추가됐어요.”

▲  평균값을 계산하는 코드. 왼쪽이 파이썬으로 만든 코드, 오른쪽은 C++14로 만든 코드(출처 : MS 테크데이즈 세미나)
▲ 평균값을 계산하는 코드. 왼쪽이 파이썬으로 만든 코드, 오른쪽은 C++14로 만든 코드(출처 : MS 테크데이즈 세미나)

김희준 개발자는 언어로 프로그래밍을 가지는 것이 집 짓는 것과 비슷하다고 설명했다. 집을 지을 때 그 시대마다 새로운 건축 방식이 나오는 것처럼, 언어도 새로운 특징이 계속 나오고 있다고 보고 있다. 그래서 새로운 언어의 성질을 계속 공부하다보면 좀 더 나은 프로그래밍을 할 수 있다고 믿고 있다. 김희준 개발자는 “C++이 한동안 정체됐던 건 사실”라며 “하지만 최근 C++11부터 C++14까지 매력적인 언어로 변화되고 있다”라고 설명했다.

“최근 C++은 다양한 플랫폼을 지원하고 있어요. 플랫폼별로 컴파일러 도구 생겼고요. C++로 공통된 모듈을 작성할 수 있습니다. 그러다보니 개발 비용이나 시간이 줄어들 수 있죠. 드롭박스는 ‘C++나우’라는 컨퍼런스에서 C++로 개발한 메인 기능을 iOS, 안드로이드, 윈도우, 맥에 전부 활용했다고 발표했어요. MS 역시 맥용 오피스와 윈도우용 오피스에 들어간 코드 중 상당수의 공통 모듈을 C++로 작성했죠.”

내 모토는 ‘후회하지 말자’

그는 후회하지 않는 삶을 사는 것이 인생의 모토라고 한다. 좋은 결과든 나쁜 결과든 매순간 최선을 다하면 결과에 대해 후회하지 않을 거라고 믿고 있다. 그러한 이유로 그는 항상 공부한다. 한동안 김희준 개발자의 출퇴근 시간은 2시간이었다. 하루 4시간, 부천에서 판교까지 이동하면서 그는 공부할거리를 가지고 나갔다.

매달 10만원을 들여 공부할 수 있는 방법은 무엇일까? 그는 플러럴사이트나 린다닷컴을 자주 활용한다. 유명 현직 개발자들이 직접 라이브 코딩을 보여주며 강의를 제공하는 교육 플랫폼이다. 얼마 전 플러럴사이트에 인수된 코드스쿨도 자주 이용했다. 코드스쿨은 웹브라우저에서 바로 코딩을 작성하며 결과를 보면서 배우는 서비스다. 코세라도 자주 활용한다. 코세라는 유명 대학 강의를 무료로 볼 수 있는 플랫폼이다. 이산수학, 통계같은 고등학교 수준의 기초지식이 필요할 땐 칸아카데미에서 수업을 듣는다. 사파라북스온라인같은 웹사이트를 활용해 필요한 서적도 찾아본다. IT 전공서적은 가격이 비싼 편인데, 사파리북스온라인은 월정액으로 보다 저렴한 가격에 책 여러 권을 볼 수 있다.

▲  플러럴사이트. 개발자를 위한 고급 강의 교육을 제공하고 있다.
▲ 플러럴사이트. 개발자를 위한 고급 강의 교육을 제공하고 있다.

최신 트렌드를 따라잡기 위해 팟캐스트도 활용한다. 닷넷락스, 스콧 한센만 팟캐스트, 소프트웨어엔지니어링라디오같은 해외 개발자들이 직접 방송하는 팟캐스트를 꾸준히 듣고 있다. 영향력 있는 국내외 개발자의 트위터를 팔로우하면서 다른 개발자의 관심사에 대해서도 꾸준히 모니터링한다.

“기존에 생각지도 못한 방법으로 문제를 해결하는 대단한 개발자들이 많아요. 한국이든 해외에서든 천재적인 개발자들이 꽤 있어요. 그런 사람들을 보면 부럽기도 하고요. 항상 저는 부족하다는 생각을 하죠. 그러니 더 공부를 하게 되더군요. 새로운 지식을 알아가는 게 즐겁기도 하고, 남들에게 내가 공부한 정보를 공유하는 것도 좋아해요. 올해는 C++같은 공부를 더 열심히 해서 여러 개발자와 함께하는 세미나도 직접 열고 싶습니다.”

김희준 개발자가 추천하는 개발 교육 웹사이트

교육 플랫폼


팟캐스트

저작권자 © 블로터 무단전재 및 재배포 금지