회사 다니며 스타트업(2)
개발자들은 알겠지만 코딩을 하는 내내 타이핑을 하고 있지 않는다. 어떤 라이브러리를 써야 하는지 그 라이브러리를 어떻게 사용해야 할지 혹은 어떤 자료구조나 알고리즘으로 구현해야 하는지 등등 고민을 할 때에는 타이핑을 멈추고 모니터를 멍하니 바라보거나 구글링을 하곤 한다. 혹은 더 좋은 코드를 만들기 위해서 책을 들여다 보고 공부하기도 한다. 세상엔 더 좋은 프로그램을 위한 정말 많은 기술과 콘셉트가 존재하고 책을 통해서 그것들을 읽힐 수 있기 때문이다.
회사에서 퇴근 후 집에서 개발을 진행하며 나는 시간의 부족함을 크게 느꼈고 집에서 개발을 하는 도중에 위와 같은 일들로 시간을 보내는 것이 아깝다고 생각했다. 코딩을 위해 타이핑하는 것만으로도 시간이 부족하다고 생각했기 때문이다. 하지만 그렇다고 포기하고 하지 않을 수도 없었다. 내 스스로의 능력 향상과 더 좋은 코드를 위해선 필수인 일들이었다.
이 때문에 나는 회사에서 업무 중간중간 어제 진행하던, 혹은 나중에 하게 될 것에 필요한 지식들을 찾기 시작했다. 필요하다면 회사에서 샘플을 한 번씩 코딩하곤 했다. 회사에서 작성된 자료들은 외부로 반출하는 것이 금지되어 있었기 때문에 간단하고 핵심적인 것들만 예제로 만들어보고 기억해 뒀다가 집에서 코딩하는 식으로 진행했다. 한번 코딩을 해놓으면 손에 익었기 때문에 따로 어딘가에 적거나 저장하지 않았어도 쉽게 다시 작성할 수 있었다.
하루의 한두 시간 정도는 책을 읽으며 공부를 하기도 했다. 하나의 서비스를 처음부터 끝까지 개발해나가다 보니 나 스스로의 부족함을 많이 느꼈기 때문에 열심히 책들을 읽었던 것 같다. 스타트업과 개발에 더 큰 관심을 가지게 되면서 여러 관련 커뮤니티에 가입한 상태였는데 그곳들에서 많은 책들을 추천받을 수 있었고 그중에 지금 나에게 가장 필요하다고 생각되는 것들을 골라내어 읽어 나갔다. 내가 중요시하던 개발의 생산성을 위해선 좋은 설계와 그로 인해 생기는 좋은 유지보수성이 필요하다고 생각했기 때문에 그와 관련된 책들을 주로 읽었었다. 다행스럽게도 회사 내에서 책을 읽으며 공부하는 것은 전혀 흠이 아니었기 때문에 틈틈이 마음 놓고 책을 읽을 수 있었다.
사실 위에서 말했던 행동들은 내가 정말 운이 좋은 사람이기 때문에 가능했다. 많은 사람들이 알다시피 대부분의 대기업은 직원들에게 눈코 뜰 새가 없을 만큼 많은 일들을 주기 때문이다. 나 또한 그전까지 매일 새벽까지 일하는 바쁜 시간이 있기도 했다. 하지만 운이 좋게도 스타트업을 하던 당시에는 맡은 일이 크지 않아 여유가 있었던 것 같다. 그리고 당연한 얘기이지만 난 내가 회사에서 맡은 업무를 제일 우선시했었다. 위에 적은 일들은 모두 내가 여유가 있을 때 했던 일이고 여유가 없을 때에는 하지 못하는 경우도 많았다. 항상 업무에 대한 일정을 준수했고 업무 결과의 퀄리티 또한 지켰었다.
내가 새롭게 공부하고 또 코딩을 하면서 얻은 지식들은 고스란히 업무에서도 사용할 수 있었다. 물론 앞서 썼던 "대기업 개발자의 업무" 글과 같이 내가 하는 업무에 있어서 개발이 많은 부분을 차지하고 있진 않았지만 디버깅뿐만 아니라 코드 분석에 있어서도 큰 도움이 되었다. 이전까지 '왜 이렇게 설계했을까?'란 생각 없이 휙휙 보고 넘어갔던 코드들이 어떤 의도로 만들어졌는지 이해할 수 있게 되었고 그만큼 '어떤 부분에서 버그가 발생할 수 있겠구나'라는 예측 또한 날카로워졌다. 결과적으로 스타트업을 위해서 하던 것들이 나의 실력을 끌어올려줬을 뿐만 아니라 의도치 않게 기존의 업무를 더 잘할 수 있도록 만들어줬었다.
https://brunch.co.kr/@startupbongbong/7