본문 바로가기
스토리

프로그래머는 프로그래밍을 잘하면 됩니다

글쓴이 Lina Ha() 2016년 10월 14일

우리는 ‘나’라는 존재를 넘어 누군가의 친구이고, 후배이고, 동료이자 선배입니다. 때론 많은 역할과 책임이 따르는 이 자리들이 부담스럽기도 하지만 시간과 경험이 만들어 준, 그리고 지금의 ‘나’를 있게 한 소중한 재산이기도 합니다. 우리에게는 선배가 있습니다. 현재 가장 가까이에 있는 선배는 바로 직장상사라 할 수 있는데요. 오늘만큼은 딱딱한 상사가 아닌 인생 선배로서 따뜻한 말 한마디 나눠보는 시간을 가져볼까 합니다. 그 첫 번째 주인공, 배움에 정도(正道) 없음을 몸소 보여주고 계신 System Lab, Jin 실장님인데요. 이롭게의 가장 큰 선배님이자, 멘토이신 Jin 실장님이 들려주는 꿀팁 중의 꿀팁. 함께 들어볼까요?

안경 쓴 남자가 턱을 괴고 컴퓨터 모니터를 보고 있다

기술적으로 흥미로운 것은 다 재미있는 것 같습니다.

‘프로그래머(Programmer)’라는 직업을 선택하게 된 특별한 계기가 있다면요?
조금 늦은 대학생 시절, 리눅스 운영체제를 접하면서 프로그래밍에 관심을 가지게 되었습니다. 전공 분야 중에 프로그래밍이 필요한 분야도 있어서 그쪽으로 가면 어떨까 생각하기도 했습니다만 이렇게 전업으로 하게 될 거라고는 예상하지 못했죠. 어쩌다 보니 전공도 바뀌게 되었고, 이렇게 프로그래밍을 전업으로 하게 되었네요.
직장생활 초기에 업무상 가장 고민했던 것은 무엇이었나요?
저는 스타트업의 기술 책임자로 직장 생활을 시작했습니다. 기술 책임자라는 말에서 느껴지듯 신입임에도 불구하고 혼자 결정을 하고, 실행하고, 책임을 지는 자리에 있었기 때문에 더욱 힘이 들었습니다. 제가 있던 회사는 초기부터 빠르게 성장했던 회사였는데요. 하루하루 늘어가는 트래픽을 어떻게 처리해 낼 것인가가 가장 큰 고민이었습니다. 공부도, 경험도 부족하고 도와줄 사람도 없었던 환경에서 혼자 고민해야 할 게 많았습니다. 덕분에 안팎으로 좋지 않은 말들도 많이 들었던 기억이 나네요. :)
가장 재미 있게 작업할 수 있는 프로그래밍이 있다면요? 그 이유는 무엇인가요?
일이라는 게 재미있다가도 지루해지고 또 한때 재미있었던 것이 재미없게 느껴지기도 하는데요. 그런데도 제가 만드는 것은 다 재미있는 것 같습니다. 물론 고객이 원하는 방향과 제가 좋아하는 방향이 항상 일치하거나 완전하진 않지만요. 그 중에서도 제일 관심 있고 재미있어하는 부분은 대규모 인프라 작업입니다. 특별한 이유는 없습니다. 그냥 기술적으로 흥미로운 것은 다 재미있는 것 같습니다.
일과 더불어 언어에도 관심이 많으시다고 들었는데요, 어떤 언어를 공부하셨나요? 그중 가장 재미있었던 언어는 무엇인가요? 
말 그대로 관심이 많은 것뿐입니다. 가장 자신 있게 하는 언어는 한국어죠. (웃음) 매번 느끼지만, 언어공부는 초기 공부 량에 비해 진전은 느린 것 같습니다. 거기다 잠시 한눈 파는 순간 금방 까먹어버리죠. 그래서 언어를 취미로 하는 것은 아주 힘든 일이라고 생각합니다. 저도 지금 힘든 상태고요.

저는 라틴어, 에스페란토, 일본어, 헬라어(고대 그리스어) 공부를 조금 했습니다. 라틴어는 3번 공부하고 3번 잊어버렸고, 에스페란토는 2번, 헬라어도 좀 공부하다가 잊어버렸죠. 문법은 기억하지만, 어휘나 변환 등은 잠시만 손을 놓아도 금세 잊어버리게 되더라고요. 특히 헬라어의 경우, 신약성경을 읽어보기 위해 공부를 시작했지만 요한복음 1, 2장을 읽고 난 후 한 달 쉬었더니 허탈하게도 다 잊어버렸습니다. 중국어는 관심은 있지만, 콘텐츠가 좋은 것이 없어서 흥미를 못 느끼는 것 같습니다. 보통 그 나라의 문학이나 사료 등에 흥미를 느끼면서 언어를 공부하게 되는데요. 중국의 경우 읽을거리, 흥미거리가 없기 때문에 딱히 언어를 공부하고자 하는 생각이 들지 않습니다.

IT 기술을 다룬 사이트가 제겐 최고의 관심사죠.

와이컴비네이터 사이트 메인 이미지
업무 관련 관심 있는 토픽이나 자주 방문하시는 사이트가 있나요?
일반적으로 SNS는 트위터를 주로 이용하고 사이트는 IT 기술적인 뉴스를 다루고 있는 '와이컴비네이터의 해커 뉴스'를 즐겨봅니다. 또 하나는 '레딧 '이라는 사이트인데요. 댓글 기능이 우리와는 좀 다릅니다. 링크에 댓글을 달 수 있는 특이한 구조로 되어 있는데요. 여러모로 특이한 점이 많아 들르는 편이죠. 요즘은 학교에서 배우는 것들에도 관심이 많습니다. 학술적이고 근본적인 것들이 대부분인데요. 고루하게 느껴질 수도 있겠지만 같은 내용이라도 심화한 것들이 많아서 새롭게 보이기도 하고 흥미를 느끼고 있습니다.
취미 등을 포함해 지금 하는 자기계발이 있나요?
저는 이것저것 관심이 많은 *딜레탕트한 면을 갖고 있습니다. 나이를 먹어가며 느끼는 것은 무엇인가를 완전히 해내는 게 중요하다는 거고, 그걸 위해서 포기할 것은 포기해야 한다는 것입니다. 지금 대학원 수업을 받고 있는데 이것 외에는 적극적으로 아무것도 안 하려고 하고 있죠. 
* 전문가적인 의식은 없지만 단지 애호가(愛好家)의 입장에서 예술 제작을 하는 사람을 일컫는 말.
실무에 가장 많은 도움을 받은 자기계발법 또는 공부(책 추천)가 있다면 어떤 것인가요?
SICP  Structure and Interpretation of Computer Programs특별한 자기계발법이 있었는지는 잘 모르겠습니다. 하지만 실무에 도움을 받았던 문서는 많았습니다. 대부분 영문 문서였는데요. 대학 시절 영어로 된 전공 서적으로 공부하고 논문을 읽는 훈련을 했던 게 실무상 문제를 풀어나가는 데 도움이 되었던 것 같습니다. 가장 인상 깊었던 글이라면 Eric Raymond의 “How To Become A Hacker”이고, 책이라면 SICP (Structure and Interpretation of Computer Programs)입니다.
프로그래머는 프로그래밍을 잘하면 됩니다.
프로그래머로서 요구되는 면모나 적합한 성격이 있다고 생각하시나요? 있다면 어떤 점인가요?

프로그래머도 다양한 성향과 인품을 갖고 있죠. 보통사람들처럼요. 다양한 특성이 있다는 것을 인정하기 때문에 제한을 두고 사람을 보지 않습니다. 단지 코딩하는 것을 보고 평가할 뿐이죠. 프로그래머라면 코딩을 잘하는 것이 가장 중요합니다. 코드만 잘 짜면 그 외에 것들은 상관없습니다.

일이 잘 풀리지 않을 때, 어떤 방법으로 해결하시나요? 실장님만의 특별한 방법이 있다면 알려주세요.

‘일이 잘 풀리지 않는다’라는 정의를 저는 기술적인 문제보다는 요구사항 정리, 일정산출 등의 문제들에 더 근접 한다고 봅니다. 우리 쪽 언어로 하면 소프트웨어 공학적 문제들이 많은 편이죠. 이런 문제의 경우, 어떤 상식이나 문서자료를 찾아서 해결하는 것이 아니라 문제 밖으로 나와서 전체를 보고 천천히 풀어내는 것이 중요한 것 같습니다. 문제에 계속 빠져 있다고 해서 절대 풀리지 않기 때문입니다. 또 일이 잘 안 된다는 것은 부지런함의 문제가 큰 것도 있습니다. 보통 업무상 큰 문제가 발생했을 때 거슬러 올라가면 기술적인 역량 부족보다는 게으름이 문제를 일으킨 원인이 되는 경우를 많이 봤던 것 같습니다. '빨리 빨리'는 좋아하지만, '미리 미리'는 안 되는 것과 같은 것이죠. 결론적으로 한 걸음 떨어져서 문제를 객관화하는 것. 조금 더 부지런해지는 것. 이것이 방법이라면 방법입니다.
직장생활 통틀어 가장 기억에 남는 에피소드 하나만 말씀해주세요.
2004년쯤, 사이트 대규모 업데이트를 진행한 적이 있습니다. 모든 게 서툴렀을 때였죠. 따로따로 업데이트해도 어려웠을 커다란 기능들을 한 번에 여러 개 업데이트하려고 했으니 지금 생각하면 참 무모했던 것 같습니다. 업데이트 후 터진 장애로 3일간 집에도 못 들어가고 일주일 넘게 사이트 장애로 안팎으로 아우성이었죠. 그 과정에서 깨달은 것도 많았지만 자다가 이불킥 할 만큼 부끄러운 경험이었죠.
후배들에게 하시고 싶은 말씀이 있다면요?
가장 먼저는 소스 프로젝트들이 많으니 소스 코드를 많이 읽어보라고 권하고 싶습니다. 그리고 영어 문서에 익숙해지라고 말하고 싶습니다. 영어 공부가 부족하다면 토익 학원을 가기보다는 짧은 문서라도 꾸준히 보고 읽으며 공부하는 것을 추천합니다.
내가 생각하는 프로그래머란 OOO이다.

특정 그룹의 사람들이 그들만의 특정 속성이 있거나 혹은 가져야만 한다고 생각하지 않습니다. 컴퓨터 프로그래머란 프로그래밍을 하는 사람일 뿐입니다. 프로그래밍만 잘하면 됩니다. :)