본문 바로가기

댓글0
번역beta

Translated by kakao i

번역할 언어 선택

뷰 본문

패스트캠퍼스

세차장 관리 프로그램 만들어 50만원 번 중학생 지금은

패스트캠퍼스 개발팀장 장동수 인터뷰

16,598 읽음
댓글0
번역beta

Translated by kakao i

번역할 언어 선택

좋은 개발자가 되고 싶다면서 스티브 잡스와 빌 게이츠를 롤모델로 삼는 이들이 있다. 그러나 애플은 스티브 워즈니악이, 윈도우는 데이비드 커틀러가 만들었다는 걸 아는 사람은 생각보다 많지 않은 것이 현실이다. 영화에서 감독과 주연 배우만을 기억하듯, 밖으로 유명한 인물만을 따라가는 것이다. 

개발자 역시 마찬가지다. 자신이 사용하는 프로그램을 누가 만들었는지조차 잘 모르는 경우가 대부분이다. 누구나 롤모델로 삼고 기억할 수 있는 개발자로 성장할 수 있는 방법은 무엇일까. 패스트캠퍼스 장동수 개발팀장에게 '좋은 개발자'에 대한 이야기를 들었보았다.

컴퓨터와 함께한 시간, 30년

회사 시스템에 익숙해지면 안주하고
새로운 시도를 하지 않게 되죠.

장동수 개발 팀장이 컴퓨터와 함께한 시간은 벌써 30년이다. 난생 처음 중학생 때 세차장 고객관리 프로그램을 만들어 50만원을 벌었다. 본격적으로 사회에 나왔을 때는 창업을 했다. 3번을 도전했지만 모두 접고, 2007년부터 월급쟁이 생활을 시작했다. 한글과 컴퓨터에서 3년, KTH에서 3년, 다음카카오에서 3년, 그리고 레진코믹스를 거쳐 패스트캠퍼스 개발 팀장으로 자리를 잡았다.


그가 버릇처럼 3년마다 회사를 옮겨 다는 데는 이유가 있다. 한 회사에서 주저앉는다는 느낌을 받기 싫었기 때문이다. “회사 시스템에 익숙해지면 모든 게 편안해집니다. 안주하게 되니 새로운 시도를 하지 않게 되죠. 정체되는 느낌이 싫어서 3년마다 다른 곳을 찾아 헤맨 것 같습니다.”

우아한 프로그래밍의 규칙

장동수 팀장은 프로그래밍을 레고에 비유했다. 처음 레고를 접한 사람들은 설명서대로만 결과물을 내다가 곧 지겨워지고, 설명서에 없는 나만의 작품을 만들어 낸다. 그러나 레고에는 필요한 부품만 들어 있어 설명서를 따라가지 않으면 부품이 부족해진다. 프로그래밍은 다르다. 필요한 게 있으면 무한대로 만들어낼 수 있다.


그는 ‘우아한 코드’의 기준을 대칭성과 반복으로 꼽았다. “예상한 자리에는 예상한 기능들이 있습니다. 똑같은 일에 변주를 주면서 반복이 되는 게 많죠. 그게 좀 더 복잡해지면 recursive라는 구조를 쓰기도 하게 됩니다. 그런 요소들이 결합이 되면 ‘정말 우아하다’라는 느낌을 주는 코드가 보입니다.”

우아한 코드의 핵심은
대칭성과 반복입니다.

수십 년을 개발자로 근무하다 보니, 후배들은 그에게 우아한 코드를 짜는 비법을 자주 묻는다. 그는 그럴 때마다 톰캣 소스를 열어본 적이 있냐며 역으로 질문한다. “자바를 사용하는 웹 개발자들은 톰캣을 사용하게 되어 있습니다. 그런데 개발자들은 자신의 삶이 그곳에 모두 담겨있음에도, 톰캣이 어떻게 돌아가는지도 모릅니다.” 장동수 팀장은 내부가 어떻게 동작하는지 알면 유추가 가능하다고 강조했다. 소스를 완전히 체득한 상태에서 프로그램을 짜는 것이 그가 후배들에게 하는 조언 중 하나다.

TCP/IP는 몰라도 프로그램을 만들 수 있는 세상

시니어 개발자의 역할에 대해서도 강조했다. 개발자는 최첨단 분야이자 기술적으로 항상 앞서 나가는 위치에 존재한다. 그렇기에 시니어 개발자는 주니어 개발자에게 왜인지 모를 아쉬움을 느끼는 경우가 많다. 그러나 그때는 그때고, 지금은 지금이다. 현재 컴퓨터는 시니어 개발자가 처음 컴퓨터를 만졌을 때보다 훨씬 복잡하다.


모든 수학자가 인수분해부터 시작해 공식을 증명하지 않는다. 개발자도 마찬가지다. OS부터 시작해 프로그램을 만들 수는 없다. 시니어 개발자 중에서는 ’TCP/IP를 몰라?’라고 놀라워하는 이도 있다. 그러나 시니어 개발자 시대에는 TCP/IP 바로 위에 웹이 있었다. 웹으로 프로그래밍을 했던 그들에겐 TCP/IP가 당연할지 몰라도, 신입 개발자는 아니다. 

시니어 개발자가 어깨를 빌려주지 않는다면 주니어는 절대 멀리까지 볼 수 없어요.

“시니어 개발자가 자신의 어깨를 빌려줬기 때문에 지금의 주니어 개발자가 더 먼 미래를 볼 수 있는 거라 생각합니다. 어깨를 빌려주지 않는다면 주니어들은 전혀 해내지 못하겠죠. 밑바닥에서부터 쌓아 올라가면 절대 현재의 위치까지 올라갈 수 없습니다. 쌓을 게 투성이니까요. 시니어 개발자들은 ‘내 어깨를 빌려준다’는 마음을 가지고 있었으면 좋겠습니다.”


패스트캠퍼스에서 분야별 온라인 강의를 만나보세요! ▼▼▼

실시간 인기