하루 세 번 출근하는 개발자 이야기

하루 세 번 출근하는 개발자 이야기

야생형 개발자에게 원동력이 되어준 것,
그리고 앞으로의 생각들

#개발자 #호돌맨 #개발바닥 #일과고민

여러분에게 경험이란 어떤 의미인가요? 
계속해서 나아가게 만드는 힘은 무엇인가요?

누군가는 직접 부딪혀 얻어낸 경험에 대해 
목소리를 내기도 하는데요. 
이런 목소리는 유튜브나 블로그가 되기도 하고 
강연, 책, 때로는 인프런 강의가 되기도 합니다. 

네 번째 인포커스개발자 이주현 님의 
이야기를 들어보았습니다. 
이주현 님은 반려생활 CTO로 일하는 한편 
인프런 지식공유자, 유튜브 개발바닥의 호돌맨까지 
세 가지 모습으로 매일을 보내고 계신데요. 

스스로를 “야생의 개발자”라 소개하는
유머러스한 모습 뒤에 담긴 일과 경험,
그리고 목표에 대한 진지한 고민에
귀를 기울여주시길 바라요. 

인포커스 #4 📸

개발자로서 지나온 지난 10년과 오늘, 
함께 나누고픈 호돌맨의 생각을 전합니다. 

Scene #1 안녕하세요, 이주현입니다.

현재 스타트업 반려생활에서 CTO로 일하고 있고, 유튜브 채널 개발바닥을 운영하면서 인프런에서는 지식공유자로 〈호돌맨의 요절복통 개발쇼〉 강의를 진행하고 있는 호돌맨 이주현입니다. 2013년에 처음 개발자로 커리어를 시작했고 지금 일하는 반려생활이 세 번째 직장입니다. 올해로 딱 10년 차가 되었네요.


Scene #2 개발자로서의 10년을 돌아보며

첫 회사는 피캣(시럽테이블)이라는 파이썬 기반 맛집 큐레이션 서비스의 관리자 페이지를 만드는 일부터 시작했었어요. 통계 관련 작업도 하고, API도 만들고, 약간의 인프라 업무까지 함께 했고요. 이후에는 PHP로 되어 있던 서비스를 파이썬으로 마이그레이션(migration)하는 업무까지 여러 업무를 했는데요. 

당시에는 막상 여러 가지를 한다는 생각을 하지 않았어요. 첫 회사였고, 아무것도 모르는 상태에서 시키는 일을 다 하다 보니까 그게 원래 백엔드 개발자가 하는 일이겠거니 싶었죠. 그러다 퇴사를 하고 두 번째 회사인 우아한형제들(배달의민족)으로 이직을 했습니다.

퇴사라는 게 타이밍이 복잡하게 엮여야만 이루어지는 그런 면이 있는 것 같아요. 당시에 회사가 어려워지면서 구조조정을 거치고 나서는 제대로 된 프로젝트가 계속 넘어오지 않는 상황이 됐어요. 어떻게 꾸역꾸역 일을 하긴 했는데, 개발자로서 ‘과연 내가 잘 하고 있는 게 맞나’ 하는 고민이 들었죠. 

아무래도 스타트업에 있다 보면 큰 회사에 있는 친구들이 많이 부럽긴 하거든요. 같은 시간을 쓰는데도 친구들은 더 많은 연봉과 복지를 받으니까 그렇기도 하고, 또 그런 큰 회사에 있는 사람들은 과연 어떻게 개발을 할지에 대한 궁금증도 있었고요. 회사도 힘들고 나도 궁금한 마음이 있으니 좀 도전을 해봐야겠다 싶어서 퇴사를 했었어요.

그렇게 이직하는 과정에서는 자신이 좀 없었던 것 같아요. 다른 사람들이 어떻게 개발하는지 모르는 상태에서 오로지 회사에서 제가 맡은 일만 쭉 하다 보니까 뭔가 아닌 것 같고 내가 알고 있는 게 개발의 끝이 아니라 분명히 뭐가 더 있는 것 같다는 생각이 드는데 막상 그런 경험을 못 해봤으니까 자신감이 많이 떨어졌던 거죠. 

그때가 채용 과정에서 코딩 테스트를 많이 도입하기 시작한 시기였어요. 그런데 코딩 테스트에서 계속 떨어지니까 ‘이거 어떻게 해야 하나’ 싶었고요. 또 제가 갖춘 기술적인 커리어로 이직할 만한 회사를 찾으려고 하니 그렇게 쓸 만한 데가 많지 않더라구요. 그동안 사용해왔고 자신 있었던 기술 스택이 파이썬과 PostgreSQL이었는데, 그때는 제가 가진 스택이 꼭 그 회사랑 맞아야 들어갈 수 있다는 생각을 갖고 있었거든요. 나중에 돌아보니 꼭 그렇진 않았지만, 그때는 잘 몰랐으니까요. 

쓸 만한 데도 몇 군데 없고, 넣어도 서류 탈락하거나 코딩 테스트에서 광탈하다 보니까 ‘지금까지 길을 잘못 쌓아왔구나, 나랑 맞지 않는구나’ 하는 생각이 들어서 개발을 그만두려고도 했었어요.

파이썬(Python), 포스트그레스큐엘(PostgreSQL).

사실 운이 좋았죠. 우아한형제들에는 원래 당연하게 지원을 안 하고 있었어요. 이미 당시에도 유명한 회사였고 좋은 개발자도 많이 뽑고 있었던 상황에다 자바(Java)를 쓴다, 자바로 넘어간다고 공고에도 명시되어 있어서 내가 갈 만한 급의 회사가 아니라는 생각이 들었거든요. 그러다 기왕 개발자 그만둘 거 한번 써보고 그만두자 싶어서 이력서를 냈었는데, 좋게 봐주셨는지 합격이 됐고요.

그때 합류한 팀이 빌링/정산 개발팀이었어요. 그 팀에 김영한 님(현 우아한형제들 기술이사)이나 지금 반려생활 대표이신 이혜미 대표님도 계셨고, 함께 하던 팀원분들도 무척 열심히 하는 분들이셨는데요. 그런 환경으로 가게 된 게 계속 개발을 할 수 있게 된 원동력이 되어주지 않았을까 싶어요. 〈어벤져스〉 같은 히어로물 속 영웅들처럼, 팀원들 각자 장점과 능력이 있었는데 잘 조화가 됐던 거죠. 

만약 우아한형제들이라는 좋은 회사에 들어가더라도 그 팀에 가지 않았더라면 지금 제가 걸어온 길이 아마 없지 않았을까 하는 생각이 들기도 해요. 여전히 생각해보면 그런 조합이 나올 수 있나 싶기도 하고요. 

그땐 잘 몰랐는데 돌이켜 생각해 보면 이런 환경이 제게 엄청난 영향을 줬던 것 같아요. 당시에 김영한 님이 제가 잘 일할 수 있도록 신경을 많이 써주셨는데, 그 포인트가 저랑 되게 잘 맞는 일들이었던 점도 무척 좋았구요. 그렇게 3년을 일하다가 지금 대표님의 제안으로 반려생활에 합류하게 됐죠.

우아한형제들 재직 당시 이주현 님이 회사 기술 블로그에 쓴 .

막간 인터뷰 🎤

Q. 만약 주니어 시절로 돌아간다면 ‘이건 할 것 같다’ 하는 게 있을까요?
첫 회사에 들어갔을 때, 나중에 사업을 할 때 도움이 될 만한 걸 많이 배우고 나오자는 목표가 있었어요. 대학 시절 1인 개발자로 사업을 했었는데 혼자 하다 보니 기술력도 없고 부족했던 게 아쉬웠거든요. 그래서 첫 회사에서는 주어지는 일을 넘어서 거의 매일 사무실에 남아서 공부를 했는데요. 책을 읽거나 하기보다는 제 서비스를 만들어보려고 계속 무언가 만들었던 기억이 나요. 내가 발전하기 위해 꾸준히 공부하면서 서비스를 만들어보는 일은 그때로 돌아가도 계속 하지 않을까 싶어요.


Scene #3 경험을 나눌 수 있도록

세 번째 회사로 오고 나서 예전과는 상황이 많이 바뀌었어요. 2년 반 넘게 개발바닥 유튜브로 활동하고, 인프런에서 강의를 만들기도 했죠.

지난 여름 강의 〈호돌맨의 요절복통 개발쇼〉를 만들게 된 건 제가 그동안 공부하면서 들었던 생각 때문이었어요. 보통 공부를 하다 보면 어떤 기술적인 부분에 대한 책 같은 걸 읽으면서 나온 내용을 따라 실습하게 되는데, 막상 어떤 프로젝트를 전체적으로 진행해볼 수 있는 사례가 별로 없는 것 같았거든요. 내가 지금 배우는 내용이 어떻게 쓰이는지를 막상 잘 모르시거나, 실제로 만들어보지 않은 분들도 많은 것 같았고요. 개발자로 일을 하게 된다면 그런 경험이 필요한데, 그렇게 학습한 내용을 직접 만들어보지 않는다면 좀 아쉬운 학습 방법이 아닌가 싶었어요. 

또 회사에서 서비스를 만들 때 서비스를 개발해서 배포하고, 실제 서비스를 운영할 환경까지 만들어낼 때 어떤 과정이 일어나는지를 알고 있다면 좋겠다는 생각이 들었고요. 경험이 부족한 상태에서 애플리케이션을 만들 때는 항상 불안하거든요. 기술력도 부족하고, ‘내가 모르는 뭔가가 있는데 그게 뭔지 모르겠네’ 하는 생각이 드니까요. 그런 식으로 도움이 되었으면 하는 생각으로 강의를 만들었어요.

오리엔테이션에서도 저는 블로그를 만들 테니 여러분은 블로그 대신 다른 걸 만들어보시라고 말씀을 드려요. 저는 뭔가 배울 때 알려주는 내용 자체를 그대로 따라하는 경우가 거의 없거든요. 아무래도 야생형 개발자에 가까운 편이죠. 책에 코드가 나와있으면 그대로 따라치지 않고 나와 있는 걸 하나하나 찾아서 저만의 방식으로 커스텀해서 다른 코드를 작성해요. 

호돌맨의 요절복통 개발쇼는 서비스를 만들고, 배포하고, 완성하기까지의 과정에 집중합니다.

가령 책에 어떤 자바스크립트(JavaScript) 코드가 있다면 저는 책 내용과 다르게 타입스크립트(TypeScript) 환경을 꾸려놔요. 이 환경에서 자바스크립트 코드를 그대로 붙여넣으면 당연히 작동을 안 할 테니까 타입스크립트 형식으로 코드를 바꾸게 되는데, 그 과정에서 타입스크립트에 대해 더 잘 알게 되잖아요. 이런 식으로 뭔가 난이도를 스스로 높여서 응용하는 방식을 선호해요. 그래야 책에 나온 것 외에 더 많이 배울 수 있거나 제가 모르는 부분들이 드러나면서 찾아보고 새롭게 알게 되거든요. 

제 강의도 마찬가지인 것 같아요. 제가 보여드리는 블로그 만들기를 그대로 따라하면 사실 의미가 없거든요. 블로그 대신 쇼핑몰을 만든다거나, 저는 자바로 하지만 수강생 여러분은 코틀린(Kotlin)으로 해보거나 하면서 방법을 달리해보고 제가 알려드리는 기능 외에 더 많은 기능을 집어넣는 식으로 따라오시면 더 많이 배울 수 있지 않을까 싶습니다. 강의라는 이름 대신 ‘쇼’라고 한 이유도 그래서였어요.

유튜브를 시작한 계기도 비슷해요. 예전부터 하고 싶다고 생각했고요. 2017년에 종영한 팟캐스트 〈나는 프로그래머다〉를 재미있게 들었는데, 개발 관련 콘텐츠가 많지 않았어서 종영 당시에 청취자로서 굉장히 아쉬웠던 기억이 있었거든요. 그럼 오히려 제가 이런 걸 만들어보면 좋겠다는 생각이 들었는데, 내공이 부족한 당장은 힘들고 나중에 한 번 해봐야겠다 생각했어요. 당시 우아한형제들 빌링/정산 개발팀에서 함께 일하던 향로(현 인프랩 이동욱 CTO)님이랑 같이 하면 좋겠다 싶었고요. 제목도 〈개발바닥〉으로 이미 오래 전에 정해놨었는데, 시간이 흘러 반려생활로 이직하고 난 뒤에 팟캐스트가 아닌 유튜브로 2021년 1월부터 시작하게 되었어요.

2.9만 유튜브, 개발바닥은 “본격 세계최초 예능지향 DEV 엔터테인먼트 토크쇼”를 지향하는 유튜브 채널이에요.

초기 스타트업에 몸담은 상황에서 회사에 도움이 될 만한 일에 대한 생각도 해봤는데요. 아무래도 개발자에 초점을 맞춘 홍보, 스스로는 “개발적 마케팅”이라 부를 만한 포인트를 고민했었어요. 사실 누군가를 처음 만나는 자리에 가거나 어디 나서서 이야기하는 걸 좋아하는 편은 아니거든요. 

그런데 제가 지금 속해 있는 스타트업 CTO라는 자리에 있어서는 그런 점을 좀 깰 필요가 있다는 생각으로 지금도 노력을 하는 편이에요. 회사 서비스에 충실함으로써 다른 개발자분들께 널리 알려질 수 있는 면 외적으로도 회사에 도움이 될 수 있는 부분을 생각했던 건데 그게 이제 개발바닥이었던 거죠. 

결과적으로는 향로님과 저 자체에 대해 브랜딩이나 도움이 된 부분도 있지만, 반려생활과 인프런이라는 회사를 널리 알리는 데도 도움이 되지 않았나 생각하고 만족하고 있습니다. 

개발바닥은 인프런의 첫 오프라인 콘퍼런스, INFCON 2022에서 라이브 토크콘서트를 진행하기도 했어요.

인프런 강의 수강평이나 커뮤니티, 개발바닥 채널 댓글 등으로 저를 유머러스하게 받아들여주시는 분들을 보면 재밌기도 해요. 또 한편으로는 조금 걱정이 되기도 하고요. 사실 그렇게 재미있는 사람은 아닌데, 그런 이미지가 아무래도 제가 속한 회사의 서비스 이미지에 누가 되지는 않을까 싶은 부분도 있어요. 

그렇지만 지금은 그렇게 해서까지 알아봐주시기만 하다면 감사하다는 생각으로 여러 가지를 하고 있어요. 그래서 수강평도 올려주시면 일단 다 좋고요. 무관심보다는 악플이 낫잖아요. 그만큼 관심을 가져주시는 거니까, 어떤 표현을 남겨주시든 상관없이 좋아요. 

때때로 어떻게 도움이 되었다고 자세히 적어주시는 분들이 계신데 그럼 강의하는 입장에서는 뿌듯하고 더 좋습니다. 쇼핑몰이나 주문 시스템, 퀴즈 프로그램 같은 걸 만들어보시는 분들을 볼 때도 좋더라구요. 서비스를 만드는 과정에서 겪는 문제나 알아야 할 포인트를 제가 아는 선에서 다 보여드리고 싶었는데, 실제로 각자 본인이 만들고 싶은 서비스를 만드는 과정에 활용하고 있으시다면 강의를 기획한 의도와 목적대로 되고 있는 것 같아 만족스럽죠.

호돌맨의 요절복통 개발쇼 수강평 & 커뮤니티 자유주제 게시글(수염 알고리즘).

그래서 질문을 해주실 때에도 본인이 무엇을 모르는지, 어떤 게 궁금한지 명확하게 말씀해주시면 좋을 것 같아요. 실제로 본인이 궁금한 게 있는데 설명을 잘 못하시는 분들이 있더라구요. 두루뭉술하게 질문하시는 분들도 계시고, 아니면 궁금한 부분에 대한 코드를 함께 첨부해주시는데 알고 보니 막상 그 부분과는 전혀 상관없는 다른 문제인 경우도 있거든요. 

또 생각보다 궁금한 걸 어떻게 찾아야 하는지 모르시는 분들도 계신 것 같아요. 찾아보면 금방 알 수 있는 내용인데 궁금해하실 때는 제가 구글링해서 찾아드리는 대신에 어떻게 검색을 하면 좋을지 추천 키워드를 달아드리려고 해요. 

‘내가 어떤 환경에서 했더니 잘 안되더라, 그래서 이런 걸 검색해서 이 방법으로 해결해보려고 했더니 이것도 잘 안 된다’ 이런 식으로 구체적으로 얘기해주시면 참 좋지 않나 싶어요. 기술적인 부분에 대해 잘 몰라서 명확하게 질문하지 못하실 수도 있지만 커뮤니케이션 능력이 부족해서 그럴 수도 있거든요. 소프트 스킬도 그런 측면에서는 개발자에게 중요한 일부인 것 같아요.

한편으로는 깊이있는 질문을 해주시는 분들이 있어서 놀라기도 했고요. 그런 경우에는 저도 어떻게 답변을 달아야 할지 약간 고민이 될 때도 있습니다.

얼마 전에는 호돌맨의 요절복통 개발쇼 수강생 분들을 대상으로 한 “천하제일 포트폴리오 자랑대회”가 개최되기도 했어요.

막간 인터뷰 🎤

Q. 강의 수강평, 질문/답변은 언제 어떻게 확인하시나요?
특정한 시간을 잡고 하지는 않고요. 주기적으로 확인을 해요. 평소 메일을 2~30분에 한 번씩 확인하는 편인데요. 그래서 인프런에 곧바로 접속하기보다는, 알림 메일이 오면 질문만 먼저 읽어요. 그래서 이 분이 이런 부분을 궁금해하시는구나 확인한 다음에 어떻게 답변을 드릴지 미리 생각해놓고 저녁에 답변을 달아드리려고 해요. 그런데 낮에 어떻게 답변을 달지 계속 고민하다 보면 답변 단 걸로 착각을 할 때가 있는데요. (웃음) 그러면 이제 며칠 뒤에 할 때도 있고 그렇습니다. 양해 부탁드립니다.

Q. 수강생이 남긴 글 중 특별히 기억에 남는 글이 있나요? 
자유주제로 제가 쓰는 키보드가 뭔지 여쭤보신 분이 있어요. 강의에서 타이핑하는 소리를 듣고 궁금해하셨던 거겠죠. 어떤 키보드를 쓴다는 답변과 함께 정보가 담긴 링크를 함께 드렸는데, 그분이 답변에 쿠팡파트너스 링크인 줄 알았는데 아니었다고. 하하하. 제일 기억에 남네요.


Scene #4 “멋있는 개발자”로 기억된다는 것

저는 개발자로서 엄청난 목표가 있지는 않은데요. 좀 멋있는 개발자가 되자고 생각을 하고 있어요. 그 멋있다는 건 제가 처한 상황에 따라 그때그때 포인트가 바뀌는 것 같아요. 지금은 제가 할 수 있는 것에 대해서, 그러니까 제가 할 수 있는 걸 가지고 다른 사람에게 도움이 되는 그런 서비스를 만들어가자는 마음이 듭니다.

좋은 개발자라는 기준도 그 사람이 어디에 속해 있는지에 따라 달라질 수 있다고 생각하거든요. 스스로 생각할 때는 좋은 개발자에 부합할 수도 있지만, 회사나 팀에서는 또 다를 수도 있거든요. 개발에 대해 무언가 많이 알고 있더라도 팀에서 그런 지식을 결과나 성과로 이어지게 하지 못한다면 그건 또 좋은 개발자가 아닐 수도 있겠죠. 상황에 따라 다르기는 하겠지만요.

누군가 개발자에게 필요한 자질이 뭔지 묻는다면, 회사 입장과 객관적인 개발자 입장에서 함께 생각해볼 때 탐구심을 갖춘다면 참 좋은 개발자로 이어지지 않을까 싶어요. 어떤 업무가 주어질 때, 그 업무가 누가 새로 준 일일 수도 있고 본인이 스스로 만드는 걸 수도 있잖아요. 주어진 일에 코드를 작성한 걸로 끝내는 게 아니라 그 과정에서 내가 잘 모르거나 다른 어떤 부가적인 기능과 방법을 더 고민해보고 또 직접 해보는 그런 사람이라면 좋은 개발자에 가깝지 않을까 생각합니다.

그래서 지금은 반려생활 서비스를 더 잘 만들기 위해서 노력하고 있습니다. 어떻게 보면 제가 지금까지 배운 걸 토대로 서비스를 계속해서 개선해나가는 데 사용하는 시즌이라고 생각하고 있어요. 코드 하나를 치더라도 이게 나중에 우리가 속도를 내는 데 있어 발목을 잡지 않도록 매 순간순간마다, 코드 한 줄 한 줄 칠 때마다 더 집중하고 있습니다. 

‘어떤 기술을 딱 넣어서 더 좋게 만든다’, ‘세상에서 제일 개발하기 좋은 회사를 만들자’가 아니라 서비스를 만드는 매 순간마다의 과정에 집중하고 정신력을 투입하고 있다고 생각해주시면 좋을 것 같아요. 우리 반려생활이 가진 그런 기술력을 통해 고객에게 어떤 가치를 전달하는 데 있어서, 우리가 제일 잘 할 수 있는 일을 안정성을 갖고 잘 해냄으로써 회사적으로 기여하고 싶습니다.

한편으로는 제가 지금까지 겪어온 과정에서 느끼고 알게 된 것을 많은 분들에게 알려드릴 수 있었으면 해요. 인프런 지식공유자로서는 수강생 분들께 본인이 뭘 모르는지에 대해서 많이 알려줬던 사람으로 기억해주시면 좋을 것 같고요. 개발바닥에서는, 채널의 어떤 모토라고 해야 할까요. 어떤 한 주제에 대해서 향로님과 제가 이야기를 할 때 그 얘기가 맞는지 틀린지를 떠나서 구독하시는 분들도 이 주제에 대해 한번 생각을 해보셨으면 좋겠다는 마음으로 하고 있거든요. 그래서 개발에 있어서 어떤 생각의 폭을 넓히는 데 도움이 되었던 분이라고 기억이 된다면 좋지 않을까 싶습니다.

막간 인터뷰 🎤

Q. 요즘 관심 가는 주제가 있으신가요?
요즘 〈나는 SOLO〉 보고 있거든요. 하하. 너무 재밌어서 쭉 정주행하고 있고요. 기술적인 부분은 사실 없어요. 러스트(Rust)나 코틀린 같은 데 좀 관심이 가기는 하는데 현실적으로 손은 못 대고 있고요, 그런 쪽으로 직접 파고드는 것보다는 현재 가지고 있는 시간과 정신력을 반려생활 서비스를 좀 더 잘 만드는 데 투자하는 게 좋지 않을까 생각해요. 

Q. 혹시 다음 강의 계획이 있다면 알려주세요.
아직은 노코멘트 하겠습니다. (웃음) 만약 하게 된다면 제목은 요절복통YJBT 대신 우당탕탕UDTT으로 하려고요.

호돌맨 이주현 님의 싸인(!) 인프런이 받아봤습니다. >.<

이주현 님의 강의를 만나보세요.


[인포커스]를 계속 받아보고 싶다면?

매달 첫 번째 & 세 번째 화요일마다 찾아오는 인프런 뉴스레터,
[헬로 인프런]으로 가장 빨리 인포커스를 받아보세요!

헬로 인프런 구독하러 가기 💌
([인프런 소식 및 홍보]를 ON으로 바꿔주세요 😊)

댓글 3
  • Jang Jaehoon
    Jang Jaehoon

    언젠가 반포 자이에도 입성하세요 ^^

  • Jun Heo
    Jun Heo

    이주현 개발자 인터뷰 내용이 공감되는 부분도 있고 위로도 되네요.

     

    유투브 개발자 컨텐츠 잘 보고 있습니다. 호돌맨님 유투브 해주셔서 감사합니다!

     

    인터뷰 해주신 인프런 솔님도 감사 드려요!

  • OMG
    OMG

    호돌맨의 인포커스라니...

    앞으로 구르고 나이따

    뒤로 구르고 나E따

    옆으로 돌고 나e따

    나2따 나잇따