All Articles

2019년 상반기 회고 (3월~8월)

항상 다른 개발자 분들의 회고를 잘 보고 있다가 문득 내 회고를 쓰는 것도 누군가에게는 도움 혹은 재미가 될 수 있을 수 있다는 생각이 들어서 간단히 회사에 다니기 시작한 3월 부터 8월까지, 6개월 간을 돌아보려고 한다.

학생에서 개발자로

일단 이 기간에 내 신상에 일어난 가장 큰 변화는 대학원을 졸업하고 회사를 다니게 된 것이다. 대학원에 들어갈 때부터 학계에 뜻이 없었고, 또 2년 동안 나름 논문이란걸 써보려고 해봤더니 개인적으로 연구에 소질이 있는 것 같지도 않아서 박사를 진학하지 않기로 하는데는 별 고민이 필요하지가 않았다.

다만 졸업하고 다닐 회사를 고를 때는 고민을 정말 많이 했다. 처음에는 한국에서 커리어를 시작하고 일을 배울거면 한국이 잘하는 일을 하자는 마음으로 반도체 회사의 SW 엔지니어를 하려고 했었고, 별일이 없었으면 정말 그렇게 될 뻔 했다가…. 지금 회사의 행사에 참여한 것을 계기로 면접 제의도 주시고 오퍼도 주셔서 그 별일이 생기게 되었다.

특성이 많이 다른 두 회사 사이에서 고민을 많이 했었는데, 결국 결정을 내리는데 있어서 가장 큰 factor는 내 흥미였다. 지금 회사에서 하는 개발은 개인적으로 관심을 가지고 쭉 보아온 분야였는데, 반도체 회사에서 하게 될 임베디드 개발은 평소에 흥미를 가져본 적이 없고, 또 학교에서도 수업을 하나도 듣지 않았어서 솔직히 조금 자신이 없었다. 처우에 대해서도 고민이 많았는데 최근 우리나라도 개발자 처우가 올라가는 중이기도 하니 꼭 세계적인 레벨에서 일을 못해도 엄청 배고프지는 않겠다는 생각이 들었다.

그리하여 결국 원래 관심있던 길을 쭉 가면 어떻게 되나 한 번 봐보기로 했고 (적어도 여기는 내가 뭘 모르는지는 잘 아니까….) 2월 말부터 지금 회사에 다니게 되었다. 학부를 마치고 바로 취업을 했으면 좀 더 시간을 두고, 더 많은 옵션을 두고 고민을 했겠다 싶기는 한데 무의미한 가정이라고 생각한다.

첫 6개월

내가 일하게 된 팀은 프론트 팀으로 웹페이지와 프론트 서버를 개발하는 역할을 맡고 있었다. 그래서 나도 그런 개발을 하게 되지 않을까 싶었는데 아직 내가 업무를 정확히 모르기도 하고, 기존 업무는 원래 하던 분들이 있으니 약간 새로운 일을 하게 되었다.

처음 했던 일은 로그 처리 시스템을 개선하는 일로, 신규로 받은 물리 장비에 ambari를 가지고 하둡 패키지를 깔고, 서비스에 수집 스크립트를 붙여서 이런 저런 스파크 쿼리를 짜고, 에어플로우로 그 잡들이 잘 돌아가게 엮는 일이었다. 다 키워드 정도만 들었지 실제로 써본 적은 한 번도 없었어서 처음에 좀 시행착오가 많았는데 다행히 워크로드에 비해 자원이 매우 넉넉한 상황이어서 한 번 세팅을 해놓고 나니 그렇게 고생이 많지는 않았다. 대신 이 데이터가 실제 유저 경험을 개선하는데 쓰인다던가, 기획자 분들이 쉽게 볼 수 있는 것까지는 아직 할 일이 많이 남았고, 동시에 내가 혼자 할 수 있는 영역을 벗어나버린 것 같다.

그 와중에 신규 API 서비스 하나를 사내 클러스터에 올리는 작업도 있었다. MSA 시대에 서비스 하나를 클러스터에 띄우는 게 뭔 대수인가 싶지만, 이 역시 처음 해보는 일이고, 꼬이면 다시 할 수 있는 로그처리랑 달리 실제 서비스에 직접 닿아있는 부분이라서 신경 쓸 부분이 많았다. 다행히 올라가고 나서 아직은 큰 문제 없이 운영되고 있고, k8s을 활용하는 영역이 점점 넓어지고 있으니 다음에 비슷한 작업을 할 때는 시행착오를 많이 줄일 수 있을 것 같아서 나름 배운 게 많은 것 같다. 물론 배포/운영 과정에서 여전히 사람의 실수 여지가 많아서 여전히 할 일이 많은데 이 부분은 다른 팀원들이랑 같이 고민해가면서 개선을 했으면 좋겠다.

업무 외적으로는 사람들이 다들 좋아서 출퇴근 시간이 다소 긴 것 빼고는 거의 스트레스나 고민이 없었다.

직업으로서의 개발자에 대해서

학교 다닐 적에는 어차피 블록을 가져다 끼우는 건데, 왜 개발자는 항상 바쁠까 하는 생각을 많이 했었는데 회사를 좀 다녀보니까 저 고민을 별로 하지 않게 되었다. 세상은 빠른 속도로 바뀌고 있고, 그에 따라 서비스에 대한 요구 사항도 빠르게 변화한다. 당연히 코드 역시 빠르게 변화해야 하는데 이때 적절한 블록을 적절하게 엮어 놓은 코드가 아무래도 더 스무스하게 바뀔 수 있다고 생각한다. 물론 저 적절이란 게 정말 쉽지 않고 자주자주 바뀌는 게 문제지만, 또 너무 쉬워도 사람이 할 일이 없으니까 받아들여야 하는 부분이라고 생각한다.

작은 블록이라도 좀 튼튼하게 만들자는 마인드로 요즘은 테스트에 관심을 많이 두고 있다. 이제는 레거시가 돼버린 사이드(?) 프로젝트에 테스트를 하나씩 붙이고 있는데… 아무래도 테스트 코드를 짠 시간이 그냥 코드를 짠 시간보다 비교할 수 없이 작으니까 시간이 좀 오래 걸리는 것 같다. 그래도 꾸역꾸역 붙이다 보니까 조금씩 익숙해지는 느낌이 들기는 한다. 일단 어설프게라도 테스트 코드를 짜봐야 그다음에 효율적인 테스트 전략을 고민할 수 있는 것 같다.

직업 바깥의 나에 대해서

개인적으로 코딩이 취미인 수준은 절대 아니지만 그래도 내가 원하는 수준의 경제적 / 직업적 자유를 얻으려면 배우고 익힐 게 너무 많다고 느껴서 빈 시간에 공부를 많이 하려고 하는 편이다. 그동안 주말 내내 아예 노트북을 안 열어 보기도 하고, 좀 오래 컴퓨터 앞에 있어 보기도 하면서 나름 만족할 수 있는 선을 찾아가는 것 같다. 개발과 무관한 책을 읽고 간단히 정리 하는 것도, 걸어서 남산에 한 번 다녀오는 것도 리프레쉬에 큰 도움이 된다. 잘 쉬는 방법을 더 찾았으면 좋겠다.

마무리

평소에 일기는 종종 쓰는 편이지만 이렇게 회고의 형태로 돌아보는 것은 처음이었다 (일기를 보면서 많이 참고했다). 연말에는 어떤 내용을 쓰게 될까?

Published 1 Sep 2019

If I keep marking the dots, someday they will 🔗🔗
Hyeungshik Jung on Twitter