나는 2019년도를 어떻게 보냈나
사무실 밖으로 보이는 나무들이 너무 추워보입니다. 녹색으로 푸르게 꽉차서 가지 조차도 보이지 않던 유리창이 이제는 휑해져 도로위의 자동차 불빛이 보일 정도로 겨울은 빠르게 다가왔고 벌써 겨울임을 알리고 있습니다.
매년 1월이면 희망에 가득 차서 신년에 할일과 목표를 설정하지만 정작 한해의 마무리는 술, 모임으로만 가득 차있어서 그런지 취기 어린 기억들만 남는 것 같습니다.
올 한해를 살짝 뒤돌아보면 2018년 보다 더 바쁜 한해였습니다. 개인적으로는 이사와 외부활동, 그 외의 일들을 조금 더 늘린 한해였습니다. 오늘은 한해를 마무리하며 개인적인 삶, 회사에서의 삶, 그리고 앞으로 다가올 한해를 또 어떻게 보낼지 계획해 보는 시간을 가지려 합니다.
고양이를 키우는 독거노인의 삶
폭등하는 집값에 원하는 구조의 집을 찾기 위해서는 몇 가지를 포기할 수 밖에 없었습니다. 고양이를 모시고 사는 입장이라 고양이가 조금 활발히 움직이고 또 분리된 공간을 보장하기 위해서 복층으로 이사를 준비했습니다. 이렇게나 많은 집을 단기간에 본적은 없었는데 그래도 출 / 퇴근 시간을 '완전히' 포기하니 고양이와 제가 알콩달콩 지낼 수 있는 거처를 마련할 수 있었습니다.
출 / 퇴근 시간을 포기한다는 것은 그만큼 멀리 떠났다는 의미이고 멀리 떠난다는 것은 앞으로 더 고독하게 지내야 한다는 말로 바꿀 수 있었습니다. 처음에는 사놓고 읽지 못했던 책 읽으면 되겠지라고 생각했지만 이런저런 핑계로 책을 넘기는 시간은 줄어들고 혼자서 TV 앞에 앉아 라면에 소주, 먹태에 맥주를 먹는 시간이 늘어나게 되었습니다.
취미가 없어서 그런건가 하는 생각에 10월 즈음에 평소 배우고 싶었던 일렉 기타를 장만하여 열심히, 술을 마시고 있습니다. -_-a 물론, 술친구가 없으니 조금만 마시게 되더군요. (혼술을 더 자주 즐기게 되었다 / 희한하게도 총량은 줄었다)
다른 회사는 어떻게 일하는지 / 또 다른 이들은 어떤 생각을 하는지
19년도 초 즈음에 이사님께서 다른 회사는 어떻게 일하는지도 좀 알아보고 그것을 흡수해 보는것도 좋을 것 같다는 말씀을 해주셔서 올 한해에는 정말 많은 컨퍼런스, 밋업, 모임 등에 참석하였습니다. 혹자는 저를 보고 이직 중이면 이력서를 달라고 연락을 주신 분도 계셨고, 컨퍼런스만 참석한다고 일을 잘하는 것도 배우는 것도 아니라며 핀잔을 주신 분들도 계셨습니다. 일일이 계획을 설명드리기 애매해서 그냥 웃어 넘겼지만 저에게는 꽤나 도움이 되는 부분이 많았습니다.
지금 우리 조직이 가진 문제점, 혹은 우리 조직의 구성원들이 극복해야할 고민거리를 해결하고 극복한 사례나 그것을 방지하기 위해서 행하는 것들을 직접 듣고 그자리에서 질문하며 그들의 좋은 선례를 참고하고 도입하기 위해서 많은 노력을 할 수 있었습니다.
견고한 코드를 만드는 방법과 자신이 작성한 코드에 자신감과 확신을 갖는 방법을 배웠고 공통 모듈을 어떻게 다른 팀 / 파트와 함께 관리하고 개발해 나아갈지 방법을 논의하는 자리를 마련할 수 있었습니다. 대부분의 조직에서 버스팩터를 높게 유지하기 위해서 어떠한 일들을 하는지에 대해서도 고민하고 그것을 위한 첫 단계를 실천에 옮길 수도 있었습니다.
조직을 구성하는 구성원들의 다양한 생각도 알고 싶었고 단순한 QnA 게시판 보다는 개발 문화나 다양한 분야의 개발자들이 현재 하고있는 일과 그들의 고민, 취업 (이직) 등의 정보도 공유할 목적으로 페이스북에 Developer Square라는 그룹도 만들고 운영하게 되었습니다. 물론 활발히 교류하시는 분들은 아직까지는 많이 없지만 그래도 좋은 정보들이 생기면 그에 대해 한번이라도 읽어보고 적합한 정보들은 전파를 위해 공유를 하고 있으며, 제가 예상했던 분들보다 더 많은 분들이 가입을 하고 계셔서 너무 감사할 뿐입니다.
자연스레 다른 조직에 계시는 분들과도 소통할 기회가 생기게 되어 개인적으로는 좋은 개발자 분들을 조금이나마 많이 알게 된 계기가 되었습니다.
프로젝트 / 프로젝트 / 프로젝트
제가 담당했던 프로젝트를 모두 열거하기는 힘듭니다만 지금 그 프로젝트들을 되돌아보면 1. 허둥지둥 했고, 2. 시간이 없었고, 3. 여전히 시간이 부족했습니다. 명백한 면피용 발언이겠지만 조직에서 원하는 완료 시점, 품질, 요구사항을 모두 만족시킬 시간이 많이 부족했습니다. 물론 지금은 다른 이유로 시간이 없지만 세가지의 커다란 프로젝트를 하면서 느꼈던 가장 아쉬운 점은 생산성을 위한 개발은 다시 시간을 갉아먹는 결과물을 가져올 수 밖에 없다는 점이었습니다. 첫번째는 코드의 품질을 전혀 생각하지 않고 개발을 진행했고, 두번째 프로젝트는 기획을 무시하고 할수있는 것에 치중한채 업무를 진행했습니다. 마지막 프로젝트는 타 부서와의 연계와 소통의 부재로 원하던 목표에 누락된 기능들을 포함한 채 릴리즈 되었습니다.
반면에, TDD나 코드리뷰, 적극적인 소통을 통한 경계를 허문 업무 진행은 3가지의 프로젝트를 거치며, 그것들을 점진적으로 도입하면서, (위의 활동과 함께 개인적인 스터디 혹은 도움으로) 많은 부분을 개선할 수 있었습니다. 비록 프론트엔드를 담당하는 사람이 저 뿐이지만, 파트의 구성원 모두 자바스크립트 기반의 개발을 하고 있기에 적극적인 코드리뷰를 진행하며 서로가 놓쳤던 부분을, 혹은 잘이해하지 못했던 부분을 메울 수 있었고 전반적인 컨벤션 혹은 구조, 동작을 어떠한 관점에서 바라보고 제어하는지를 공유할 수 있었습니다. 시간이 부족하였지만 자바스크립트 동작의 원리를 조금 더 서로가 잘 알수 있도록 한가지의 책을 일주일간 업무 외 시간에 스터디하고 그것을 리뷰하는 시간을 마련했습니다. 기본기를 학습하기 원했던 이유는 아직도 많은 개발자들이 for loop 안의 setTimeout의 var와 let이 왜 다른 결과를 반환하는지를 모르기 때문과도 같습니다. (꼭 블록과 함수 스코핑 때문만이 아닙니다. 더 중요한 부분도 들어있습니다.)
올 한해를 보내면서 수행했던 큰 프로젝트들을 뒤돌아보면서 향후의 목표와 자세를 정하자면, 앞으로도 1. 'Collective Ownership을 위한 다양한 활동을 해야겠다'와 2. '우리가 안다고 넘어간 것은 결코 전부가 아니다'를 실천하자 입니다. AST와 ASI를 들어만 보고 이게 무엇인지, 비슷한건지, 헷갈려 하지말고 코드수를 줄이는 것 보다 그것이 실행되는 연산의 횟수를 줄이는 것에 목표를 둔다면, 더 나아가서 그러한 반복된 훈련과 연습을 계속하게 되면, 결국에는, 생산성 역시도 높여줄 것이라는 기대를 하게 되었습니다.
무언가 새로운 것을 시도하기 보다는 벌여놓은 일을 잘하자
나이가 들고 개발자로 살아가는 시간이 점차 늘어나면서 제가 해왔던 일들을 한해를 넘어서 뒤돌아 보면 많은 것을 했지만 제대로 마친 것은 별로 없구나를 느끼게 되었습니다. 물론 괄목할만한 성장과 결과도 있었지만 그만큼 다양한 시도나 속된말로 뻘짓 역시도 적지 않았습니다. (예를 들어 번역공모...) 뭐 시도한 것에 후회는 단 한번도 해본적 없지만, 이제는, 새로운 것에 대해서 갈증을 갖기 보다 내가 하고있는 일에 더 집중하고 더 잘하는 시간을 마련하기 위한 한 해를 계획하고 있습니다. 그동안 미루웠던 웹개발의 전반을 이해해 보는 것과 UI / UX에 대해서 (둘은 다른 것이지만 함께 언급하기에 저도 관습적으로 사용합니다) 조금 더 깊이있게 다가서는 것입니다.
정말 개인적이지만 아직도 프론트엔드 개발자를 백엔드 개발자 보다 아래로 보는 시선들이 있어서 올 한해의 계획 안에는 그러한 잘못된 시각을 바로잡는 역할을 하려고도 합니다.
참 많은 일들과 아직도 끝나지 않은 '도전'이 남아있지만 올 한해는 50% 이상의 목표는 충족한, 이제껏 경험해 보지 못한, 2019년도 였습니다.