BUZZVIL BLOG

[Tech Blog] 버즈빌 개발자 회고록, "우리 개발자 자니"

“우리 개발자 자니? 서버가 다운됐네. 넝담 ㅎㅎ”

첫 입사날, 동료가 건내준 스티커이다. 무시무시하다. 실제로 일하는 동안 밤 낮 가리지 않고 일한 적이 많았다. 주말에도 회사 맥북을 켜서 이것저것 끄적이곤 했다. 그 원동력은 나중에 혹시라도 스타트업을 창업한다면 개발자로서 알아야 될 A부터 Z 까지 모든걸 배우고 싶다는 욕심이었다. 1년이 지난 지금, 이 순간에도 끊임없이 코드를 짜고 있을, 혹은 스타트업은 어떤 곳일지 기웃기웃 하고 있을 개발자들에게 나의 스타트업 1년 길고도 짧았던 이야기를 들려주고자 용기를 내어 글을 시작한다. 글을 읽고 “아!” 내지는 “오~” 라고 느낀다면 뿌듯할 것 같다. 이 포스트에서 넓게는 스타트업에서, 좁게는 버즈빌에서, 주니어 개발자로 일하면서 느꼈던/배웠던/깨달았던 소중한 경험들을 가감 없이 풀어보려한다.

disclaimer!

스타트업의 문화는 정말 가지각색 천차만별이다. 스타트업 문화에 대한 보편적 담론은 애당초 존재할 수 없기에, 이 글은 버즈빌에서의 나의 경험을 바탕으로 한 지극히 주관적 생각임을 미리 밝혀둔다.

아니 이게 무슨 짤방인가? 하고 있으리라 예상 된다. 버즈빌에서 겪은 경험들을 다양한 각도에서 서술하고자 무려 5개로 나눴다. 5개라니(..) 드르륵 내리고 있다면 한줄 요약을 미리 전한다.

“매우 재미있었다. 또 하고 싶다.”

거두절미하고 이제부터 하나씩 서술해본다.  

What my friends think I do?

군복무로 4학기를 연속으로 휴학하고, 모두가 이제 학교를 돌아갈 것이라고 생각했지만, 복학을 미루고 스타트업에서 일하기로 결정했을 때, ”복학을 미루고 스타트업에서 일할거에요.“ 라는 말을 꺼내기도 무섭게 “맙소사(..)” 라는 반응부터 “오~” 라는 반응까지, 그리곤 호기심 섞인 질문들이 엄청나게 쏟아졌다. 1년이 지난 지금까지도 스타트업에서 일한다고 하면 굉장히 많은 질문 공세가 이어진다. 그 중 가장 빈번한 질문은 바로 이거다.  

“정말 수평적인가요? 그게 문화적, 업무적으로 어떤 의미인가요?”

  한치의 고민도 없이 그렇다! 적어도 내가 경험한 버즈빌은 정말 그러하다. 50명에 달하는 적지 않은 수의 사람들이 함께 일하는 조직이었음에도 불구하고 모든 분들이 예외 없이 친구 같은 끈끈한 친밀감과 가족같은 편안함을 주는 분들이었다. 새 학기, 새 친구들을 한 명 씩 알아갈 때의 그 설렘을 회사라는 곳에서 다시 느끼게 될 줄은 상상이나 했을까. 더욱 놀라웠던 건, 친구처럼 지내면서도 일과 관련해서는 프로페셔널함을 잃지 않는 모습이었다. 친함에 기대는 ‘온정주의’가 아닌 그 정서적 친밀도를 바탕으로 높은 수준의 협업을 하고 결과를 만들어내는 ‘성과주의’ 라고 설명할 수 있을 것 같다. 가끔은 카톡과 페이스북까지도 공과 사의 구분이 사라지면서 일상이 곧 업무였던건 함정! 하지만, 이 또한 즐겼던 건 자랑! 이렇게 서로 막역하게 지내면서도 업무적으로 전문성을 잃지 않았던 것은 멤버들의 주인 의식에 기반한다. 모두가 회사 일을 마치 내 일처럼 생각하고 있기 때문에, 내가 하는 일에 확실히 책임을 지고 부단히 노력한다. 내가 맡은 일에서 최상의 결과를 내는데 “원래 그런 것” 혹은 “그냥” 이라는 건 존재할 수 없다. 조금이라도 의심이 드는 일은 옳고 그름의 시시비비를 토론하고 최적점을 찾아간다. 엉뚱한 말을 하고 있을 수 없기 때문에 끊임없이 자기계발을 위해 노력했고, 서로 다른 의견들이 교환되며 최적 혹은 최선의 방향으로 결론이 도출되어 나가는 과정에서 많은 것을 배울 수 있었다. 여담이지만, 이 과정에서 본인의 횡설수설함에 고통 받았을 동료들에게 늦게나마 사과를 전한다. 잘하려던 노력으로 봐주길 (..)   개발적으로도 본인의 의지만 충분하다면 굉장히 다양한 영역에서 자유도 높은 일을 경험할 수 있다. 정말 산더미 같이 많은 일들이 산재되어 있는데(..), 이를 똑똑한 동료들과 함께 해결해 나갈 수 있다는 것은 축복이었다. 개발의 분야에서 좋은 팀워크는 1 더하기 1은 2 이상을 의미 한다고 믿는다. 버즈빌에서의 1년은 훌륭한 동료들과 협업하면서 2 이상을 경험했던 시기였다. 그 중에서도, AWS 인프라를 자유롭게 활용할 수 있던 경험은 특권 중 특권이다. AWS 가 제공하는 여러가지 서비스들을 다뤄보면서 최신 동향들을 파악할 수 있었고 장단점을 충분히 고려해 나가는 과정에서 해당 기술에 대한 이해를 높일 수 있었다.   버즈빌이 이렇게 수평적인 문화 / 업무 환경을 갖추게 된데는 외국인 동료들의 역할도 컸다. 글로벌 스타트업을 지향하는 스타트업답게, 버즈빌에는 실리콘 밸리 출신의 미국인 개발자부터, 프랑스인 수석 디자이너 외 아시아, 미주, 구주, 아프리카 출신의 멤버들이 있다. 한국말로 대화할 수 없기 때문에 이들과의 대화는 수평 그 자체일 수 밖에 없었다. 영어로 자유롭게 소통하는건 매우 고통스러운(..) 일이었지만, 글로벌 기업에서 일하게 된다면 꼭 거쳐야 할 통과의례를 미리 값싸게 치뤄본 것일지도. 그리고 그 과정에서 얻은건 단순히 자유롭게 소통하는 능력을 넘어서는 다양성을 존중하고 소통하는 방식 그리고 폭 넓은 시야, 그리고 더욱 명료한 논리성을 포함한다. 개발자들과의 소통에서 모두가 수평할 때, 남는것은 논리성이다.외국인 개발자들과 영어로 “핵심”에 대해 이야기하면서 그 어느때보다 빠르게 논리적인 사고에 익숙해졌다. 수평적인 문화는 단순히 편안한 근무환경과 좋은 사람들만으로는 다 설명할 수 없는 폭 넓은 학습의 기회였고, 회사와 개인의 성장을 촉진하는 기반이었다.  

What my parents thinks I do?

우리 부모님을 포함하여, 아마 많은 부모님들이 “스타트업” 이라는 단어 자체가 생소하지 않을까 싶다. 부모님이라고 적어놨지만 사실 스타트업이 생소한 모든 사람들을 생각하면 적는다. 어디나 그렇겠지만, 외부에서 보이는 장밋빛 모습 이면에는 스타트업만이 지닌 고유한 문제들도 많다. 다행스러운 것은, 이를 해결해나가는 과정에서 얻는 소득은 매우 값지다는 점이다. 스타트업에 조인하기 전, 창업은 “언젠가 한번 도전해 볼까?” 할만한 가벼운 주제였다. 지금 생각보해면 웃음이 나온다. 성공하는 스타트업을 만들기 위해서 얼마나 많은 노력과 실력과 운과 그리고 좋은 사람이 필요한지 몰랐던 때였으니까. 스타트업에서 일해보았지만, 아직도 경험이 많이 부족하다. 창업 경험도 없으면서 “스타트업에서 성공하기 위해 필요한 10가지” 와 같은 글을 적는 우를 범하고 싶지는 않다. 대신, 나중에 봐도 부끄럽지 않을 만큼 직접 경험한 개발자의 이야기 담백하게 적어보려 한다. 스타트업에서 좋은 개발자가 되려면 이 두가지 만큼은 갖춰야 하지 않을까한다.  

1. 다산.

스타트업이 직면하는 정말 많은 문제들을 해결 하는 건 쉽지 않은 일이다. 개발에만 집중하다가도 틈틈이 들어오는 긴급 요청들, “이거 안돼요” 하는 동료들의 제보 등등 어느 하나 버릴 수 없는 일들이다. 이 때, 개발자의 생산성을 높이는 다양한 프레임워크들과 강력한 클라우드 인프라라는 두 친구가 있다면 스트레스로 파괴되는 뇌세포들을 조금이라도 줄일 수 있지 않을까. 새로운 툴을 빨리 습득하고 능숙하게 다루는 것은 분명 능력이다. 또한, 다산하는 프로그래머가 되기 위해선 오버엔지니어링을 줄이고 트레이드 오프들을 잘 정의할 줄 알아야 한다. 다산한다고 해서 아무도 안쓰는 코드를 짜는건 의미 없다. 디자인 단계에서 버릴건 버리고 챙길건 챙겨서 오래도록 쓰일 코드를 남기자.  

2. 퀄리티.

다산하면서도 중요한건 코드의 품질이다. 자신이 짠 코드 한줄 한줄이 모두 유지보수 및 관리해야 할 코드라는 생각을 항상 해야한다. 버그가 없는 코드를 짜는 것은 당연히 필수다. 물론, 마음처럼 잘 되지 않는다. 암이 쉴 틈 없이 걸린다. 좀 더 꼼꼼한 초기 테스팅을 통해 나중에 힘들게 디버깅하는 일이 없도록 해야한다는 걸 뼈저리게 실감하는 순간의 연속이다. 버그 없는 코드를 짜는 능력은 스스로의 정신 건강과 동료들의 신뢰를 얻기 위해 반드시 습득해야 할 소양이다. 또한, 높은 수준의 코드를 짜기 위해선 펀더멘탈에 대한 이해도 반드시 필요하다. 특정 프레임워크를 사용할 때 내부적인 동작 방식을 이해하지 못하면 문제에 봉착했을 때 해결하기 어렵다. DB 인덱스 설계, Concurrency/Atomicity 이해, 여러 디자인 패턴 숙지 등등 기본적인 것들을 학교 다닐 때 놀지 말고 꼼꼼히 공부해 놓는 건 두말이 필요 없다.   적어놓고 보니 슈퍼개발자가 따로 없다. 비록 지금은 아닐지라도 부단히 자기 계발하며 슈퍼개발자를 지향하는게 스타트업 개발자의 모범이 아닐까 조심스레 생각한다. 갈 길이 멀다.  

what my boss thinks I do?

“우리 개발자 자니? 넝담 ㅎㅎ”. 위 짤방을 다시 한번 보고오자. 여전히 매우 무시무시하다. 하지만, 1년 일하면서 깨닳은게 있다면 남의 눈치 혹은 보스를 만족시키기위한 보여주기식으로 일하다보면 지친다는 것이다. 스타트업에서 유쾌하게 일하려면 저마다의 원동력이 필요하다. 개인적으로 그 원동력은 나중에 스타트업을 창업하게 된다면 A부터 Z 까지 개발자로서 알아야 될 모든걸 배우고 싶다는 욕심이었다. 때론 배우려고 욕심부리다 오버엔지니어링해서 말아먹은 코드들도 많다. 사장님 죄송합니다 (..). 하지만, 외부의 압박이나 월급이 주는 의무감이 아닌 순수한 욕심이었기에 이해 해주실거라 믿는다. Boss 이야기가 나와서 하는 여담이지만 실제로 회사의 두 공동 CEO 분 한 분은 개발 PM 을 겸하셔서 업무간의 접점이 많았다. Boss 라고 느껴지기 보단 PM 역할을 하는 한 분의 동료라는 생각이 더 친숙했고, 그보다 점심먹고 커피 한 잔, 일 끝나고 맥주 한 잔 할 수 있는 친근한 분이라는 생각이 더 자주들었다. 그런 소프트한 리더쉽 아래에 좀 더 보은(?) 하고자 열심히 일 할 수 있었다.  

what I think I do & what I actually did?

스타트업의 다산해야 하는 개발 환경에서도 흥미로운 문제들을 많이 풀려고 노력했다. 너무 많이 회자되서 이젠 더 이상 핫하지 않은 머신러닝 기반 추천 시스템, AWS EMR을 이용한 로그 수집 및 분석, 광고 업계의 숙명과 같은 효율 개선 시도, MAB 등등, 일부는 시도에 그쳤고 일부는 성과도 있었다. 테크기반 스타트업이 지수적 성장을 거듭하기 위해선 언젠가 꼭 해결해야 되는 문제들이다. 이런 문제들을 해결하기 위한 간단한 접근 부터 복잡한 접근까지 여러 시도를 할 수 있었음에 감사한다. 그 과정에서 똑똑한 동료들에게 많이 배울 수 있었음 또한 마음의 빚으로 남아있다.   견고하게 성장하는 버즈빌이라는 로켓이 폭발적으로 더 성장함이 곧 개인의 성장이라 의심치 않았기 때문에 주인의식을 가지고 재미나게 일했다. 정신차려 보니 1년 2개월이라는 시간이 훌쩍 지나가 있었는데 그간의 경험에서 자부 할 수 있는게 한가지 있다. 그 누구보다도 스타트업에서의 일 그리고 버즈빌에서의 생활을 문화적으로/개발자로서 진심으로 즐겼다는 점이다. 좋아하고 배울점 많은 동료들을 매우 많이 사귀고 개발자로서의 스스로의 장단점을 알게 된 것도 큰 소득이다.   좋아하는걸 할 수 있고 그걸 잘하도록 노력할 수 있는 환경에서 최고의 동료들과 같이 일한다면 그것만큼 행복한 경험이 있을까. 나의 유쾌한 경험들을 공유함으로써 다른 이들의 도전에도 직간접적으로 도울 수 있다면 매우 뿌듯하겠다. 진부한 멘트를 끝으로 마무리할까 한다. Buzzvil is hiring!

  • #Engineering
  • #People & Culture