안녕하세요.
첫 회고 글을 써보는 거라서 어떻게 시작해야 할지 모르겠네요. 딱히 다른 글을 참고하지 않고 생각나는대로 써보려고 합니다. 회고라는게 뭐.. 결국 돌아보기만 하면 되는 거 아닐까요.
올해는 생각보다 많은 일이 있었습니다. 개발자로서 성장도 꽤 한 거 같아요. 물론 더 많은 발전이 있어야겠지만 그래도 많이 후회되는 일은 크게 없는 거 같습니다.
시작하기 전에, 회고하는 방법에는 여러 가지가 있을 거 같은데요. 월별로 회고할 수도 있고, 카테고리 별로 회고할 수도 있을 거 같은데요. 저는 카테고리 별로 한 번 나눠서 되돌아보도록 할게요.
2022년 3월에 산업기능요원 보충역으로써, 주니어 백엔드 엔지니어로 전자계약 서비스를 만드는 모두싸인에 합류하게 됐어요. 사실 산업기능요원 편입 자체는 4월에 했고, 수습 기간 1개월이 있었어요.
작년에 4급 판정을 받고, 원래 사회복무요원으로 가려고 했었어요. 서울로 올라가면 산업기능요원 정보가 많았지만, 아직은 계속 부산에 머물러 있고 싶었거든요. 아직은 집을 떠나고 싶지 않았어요. 그런데 병무청에서 받은 종이 중에 산업기능요원 채용 정보도 있더라구요? 대부분 제조 등 제 분야와는 다른 회사들이 많았는데, 그 중에 딱 한 곳 IT회사가 있었습니다. 그게 바로 모두싸인이었어요.
채용 정보를 보니, 백엔드 스택이 당시 제가 사용하고 있던 스택과 굉장히 잘 맞아떨어지는 걸 보고, '아, 이 회사에 가야겠다' 결심했고, 어떤 과정을 통해 채용이 이루어지는지 찾아보고, 아직 산업기능요원을 채용 중인지도 메일을 보내 여쭤보면서 계속 회사에 관심이 있음을 나타냈어요.
하지만 아직 그렇다 할 포트폴리오도 없었고, 아직 대학교 1학년 2학기가 채 마치지도 않은 시점이었습니다. 그래서 시험 공부도 하며 포트폴리오도 2개를 제작했어요. 하나는 Nest.js + Flutter
였고, 하나는 Nest.js + React
였어요.
막상 포트폴리오를 만들려고 보니 지원을 넣을 직군은 백엔드 엔지니어가 맞지만 막상 그렇다고 백엔드만 구현하기에는 눈에 보이는 게 없으니 좀 그렇다고 생각해서(..) 결국 프론트엔드/백엔드 둘 다 만드는 상황에 이르렀습니다. 이 글을 보는 여러분들은 포트폴리오 만들 때 꼭 다른 직군의 지인을 끌어들여서 만드시길 바랍니다. 😭
어쨌든 서류 면접, 코딩 테스트, 직무 면접, 구성원 면접, 컬쳐핏 면접까지 모두 마치고 어떻게든! 합격을 해서 현재 10개월차 주니어 백엔드 엔지니어가 되었습니다.
면접 경험도 정말 좋았는데요. 모르는 게 있어도 괜찮다고 해주시고, 정말 면접자의 마음을 편안하게 해준다는 느낌을 받았습니다. 그래서 더 답변을 잘할 수 있었던 거 같아요. 특히 압박을 받았다는 느낌도 들지 않았고, 편안하게 현업 개발자와 이야기하고 왔다는 느낌을 받았어요. 구성원 면접에 오셨던 면접관분들이 현재 제가 속한 팀의 PO님과 프론트엔드 엔지니어 분이셨구요. 실제로 같이 일할 분들과 면접을 한다는 것도 재밌는 경험이었습니다.
사실 기술 면접을 제외하고는 도대체 무슨 질문이 나올지 예상이 안 가서, 이 회사에 왜 지원했는지 등 정말 흔한 질문을 제외하고는 거의 준비를 안 했었습니다. 그런데 막상 면접에 들어가서 질문을 들어보니 애초에 준비를 할 수도 없는 질문이었던 거 같아요. 여러 재밌는 질문을 받았던 기억이 나네요.
취업을 이야기 했으니 일 이야기도 빼놓을 수는 없겠죠.
제가 모두싸인에 들어와서 하고 있고, 해왔던 일은 아래 4가지 정도로 정리할 수 있을 거 같습니다.
먼저 '소셜 로그인 유저에게 비밀번호를 붙여서, 로그인이 가능하게 하기' 프로젝트에 대해서 이야기해볼게요.
이 기능을 구현했었습니다. 위 이미지는 여기서 볼 수 있어요.
큰 기능은 물론 아니지만, 온보딩 프로젝트였고 모두싸인의 백엔드 아키텍쳐가 어떻게 구성되어 있는지를 살펴보기에 좋았습니다. 모두싸인 백엔드 아키텍쳐에 대해 궁금하시다면 이 글을 참고해주세요.
두 번째로 무려.. 7~8년 전에 만들어져서 express + ES5의 조합으로 이루어져 있던 서명 서비스를 현재의 아키텍쳐에 맞게 포팅하는 프로젝트가 있었습니다.
무려 async-await가 없었던 시절에 구현된 코드였는데요. 포팅하면서 해당 프로젝트에서 사용하던 외부 라이브러리를 그대로 가져다 사용했더니 이제는 정상 작동하지 않는 경우도 있었고, 이건 왜 이렇게 구현했지? 이건 뭐지??? 하는 경우가 상당히 많았습니다. 아무래도 당시 빠르게 개발하기 위해 그런 걸 신경쓰지 않고 구현해서 그렇지 않을까 하는 생각은 합니다.
이것이 레거시구나를 뼈저리게 느꼈던 프로젝트였습니다. 한 3~4년 뒤에 다른 사람이 제 코드를 보고 이렇게 생각하지 않았으면 하지만 저도 제 코드를 보고 이게 뭐지 하는 경우도 꽤 있어서.. 이 부분은 노력해도 결국 시간이 지나면 어쩔 수 없는 부분인 거 같긴 합니다. 어쨌든 무사히 배포 완료했구요. 데이터베이스 마이그레이션이 필요해서 처음으로 새벽 배포라는 걸 경험했었습니다. 마이그레이션 시 서버 중단이 필요했었고, 따라서 새벽 시간에 배포할 수 밖에 없었구요.
아직 제가 만든 기능이 고객에게 큰 영향을 끼치지는 못했고, 프론트엔드 엔지니어 분과도 아직은 협업을 하지 않았습니다. UI 수정 및 API 수정이 없었으니깐요. 그게 포팅이니까요! 하지만 다음 프로젝트부터는 점점 커졌어요.
조직 내 사인/도장 공유 기능을 구현하였습니다. 모두싸인에서는 일반 유저와 조직 유저, 두 유형의 유저가 있는데요. 이 때, 조직 내에서 싸인이나 도장을 권한이 있는 멤버가 특정 멤버에게 공유하는 기능을 구현하였습니다. 구현 자체의 난이도는 그렇게 높지 않았었는데, 아무래도 싸인이나 도장을 사용하는 곳이 많다보니 신경써야 할 사이드 이펙트도 생각보다 꽤 있었던 것으로 기억합니다.
요청 수도 작지 않고 서명 데이터가 워낙 많기도 해서, 데이터베이스의 인덱스도 신경써야 하고, 마이그레이션 해야 하는 데이터 양도 꽤 되어서 DB를 비교적 딥하게 파볼 수 있었습니다.
여기부턴 점점 프로젝트의 임팩트가 커지더라구요. 아무래도 이에 따라 책임도 늘어나겠죠?
그리고 현재 참여하고 있는 프로젝트는 소개드리긴 어렵지만 앞서 했던 모든 프로젝트들과는 차원이 다를 정도로 크기가 크고, 서비스 전체에 영향을 주는 프로젝트입니다. 특히 더 속도가 중요한 부분이라 여러 자료를 찾아보면서 공부하고, 구현해가고 있어요. 아마 내년 회고에는 소개드릴 수 있지 않을까 생각합니다.
제가 지금까지 봐온 모두싸인이라는 회사는, 단적으로 표현해서 좋은 회사입니다. 너무 간단하게 표현했는데 뭔가 서술하는 걸 제가 잘 못하네요. 대신 제가 좋은 회사라고 생각한 이유를 나열해볼게요.
먼저 사람으로 스트레스를 받아 본 적이 없습니다. 집과 회사 간 거리가 멀어서 출퇴근이 귀찮다는 것 외에 회사에서 일하면서 스트레스를 받은 적이 없습니다. 매일이 새로운 경험이었고 성장이었습니다. 모르는 게 있으면 같은 팀원 분들, 특히 사수님께 정말 많이 여쭤봤는데 항상 정성스럽게 답변해주시고 절대 귀찮아하지 않으셨습니다. 정말.. 정말로 좋은 분입니다.
뭔가 이모저모 적어볼 순 있을 거 같은데 대부분 복지 제도 부분을 참고하면 다 나와있긴 합니다. 저번에 기술 리드 세 분이서 AWS re:Invent도 회사돈으로(!) 다녀오시더라구요.
분위기도 편안하긴 한데 부산 사무실은 워낙 조용해서 씁.
서울 사무실은 마음 맞는 분들끼리 방탈출 카페도 가고 운동도 하고 하더라구요. 아무튼 재밌는 회사입니다.
기술적 성장에도 지원을 많이 해주시는데요. 매년 주는 복지 포인트로 책도 자유롭게 살 수 있고, 회사에 둘 책은 구매 요청도 가능합니다. 또 테크톡도 격주로 하면서 공부할 수도 있어요. 거기서 발표하려고 정리하다가 만들어진 글이 여기 벨로그에 올라와 있는 Nest.js는 실제로 어떻게 의존성을 주입해줄까? 입니다.
뭔가 회사 홍보가 된 거 같은데 좋은 분들도 정말 많고, 기술적인 부분은 물론 기술 외적으로 정말 많은 걸 배울 수 있었습니다. 앞으로도 열심히 배워나가야죠.
이외에 활동으로는 올해 크게 한 게 없습니다. 아무래도 회사를 다니면서 의도치 않게 어느 정도 제한되는 부분이 있는 거 같아요. 회사 다니면서 다른 것도 하시는 분들 정말 존경합니다.
한편, 아주 큰 외부 활동이 있었는데요. 바로 훈련소입니다. 산업기능요원도 4급이다보니 훈련소에 3주 동안 훈련을 갔다와야 하는데요.
막 다른 사람들이 요즘 군대가 무슨 군대냐 캠프지 하는데 정말 4급의 훈련소는 캠프였습니다. 제가 체력이 정말 안 좋은 편인데 잘 살아남아서 돌아온 거 보면 캠프가 맞는 거 같습니다.
첫 주는 코로나 격리 때문에 아무것도 안 했어요. 다만 정말 글자 그대로 아무것도 안 해서 미쳐버리는 줄 알았습니다. 회사에 다른 산업기능요원 분이 갈 때 꼭 책 들고 가라고 하시던데, 그래서 이때 안 읽고 미뤄둔 책이라도 읽자는 생각에 기술 서적(클린 아키텍쳐 외 2권)을 들고 갔는데요. 그냥 소설책 들고가세요.
실탄도 쏴보고 수류탄도 연습용이지만 던져보고, 전투식량은 맛 진짜 더럽게 없고, 밤마다 현타가 가득가득하지만 어쨌든 거기도 사람 사는 곳이더라구요. 그래도 왔는데 뭐라도 해야하지 않겠나 싶어서 각개 전투는 끝까지 갔습니다. 마지막은 악바리로 올라간 거 같네요. 거기도 분대장 소대장 중대장 다 좋은 분들이긴 했었지만 아무튼 다신 가기 싫습니다. 할 거 없는게 제일 큰 거 같네요.
훈련소를 제외하고는 소소하게 외부 활동이 있었습니다.
부산 ICT융합 해커톤 대회에 친구랑 나가서 대상도 탔습니다. 앞서 만들었던 포트폴리오의 주제를 갖고 완전히 새롭게 구현했었는데요. 주제만 같지 백엔드는 구현할 때 사용한 프레임워크도 다르고, 기능도 완전히 다르게 만들어졌습니다. 대학생은 부울경 소재 대학 재학/휴학생만 가능하다고 되어 있는데, 아니 부산에만 지금 21년 살고 학교는 3번 밖에 안 가봤는데 이 정도면 부산인이죠. 해서 참가 신청했더니 다행히 승인이 나서 갔다왔습니다. 반차 쓰고 밤 새서 만들었는데 대상 못 받았으면 좀 억울할 뻔 했습니다.
부산 소프트웨어 마이스터 고등학교에 가서 인공지능 강의 보조도 했었는데요. 이제 고등학교 2학년 올라가는 학생 대상이었는데, 벌써 React에 Express를 다루고 있는 걸 보면서 대단하다 느꼈습니다. 추가적으로, 이번에 회사에 무려 04년생 프론트엔드 엔지니어 분이 들어오셨는데 저렇게 1~2학년 때부터 열심히 하면 이런 분이 되는건가 싶기도 했습니다.
이 경험을 하면서 누군가에게 질문을 받고 답변해주는 게 재밌어서 나중에 학교로 복학하면 소프트웨어 관련해서 봉사도 다녀봐야지 했습니다.
네. 지금 느낌은 벌써 학교 졸업하고 회사 다니는 기분인데 아직 대학교가 3학년이 남았습니다. 1학년에 휴학하고 모두싸인에 들어와서 근무하고 있으니 복학하면 2학년이겠군요.
아직 학점이 104.. 정도 남았는데 어느 세월에 다 채울지 모르겠습니다. 아무래도 21학번이라 코로나를 직격타로 맞아서 학교를 거의 못 가봤는데요. 면접 볼 대 한 번 가보고 미적분 중간/기말 치느라 딱 2번 가봤습니다. 그래도 그 때는 학교에 지인이 있었는데 그 분이 지금 타 학교 대학원에 가셔서 이젠 복학해도 아는 사람이 없습니다 (..)
모두가 똑같은 상황이겠거니 생각하고 있긴 한데 이런 상황에서도 친해질 사람은 친해지더라구요.
일단 전 학교 가면 똑같은 상황인 사람부터 찾아봐야겠습니다. 그래봤자 아직 많이 남았지만요.
산업기능요원 복무가 얼마나 남았나 보려고 이런 것도 만들었었는데, 처음엔 좀 보다가 최근엔 거의 안 들어가고 있습니다. 간혹가다 들어가면 1의 자리가 많이 변해 있는 걸 보면서 시간 참 빨리 가네 싶습니다.
소집 해제가 2024년 3월 20일인데, 복학 시기가 애매해서 아예 2025년 2월까지 모두싸인에 있다가 3월에 복학할까 생각하고 있기도 합니다. 일단 고민만 하고 있는데 아직 1~2년 남았으니 천천히 고민해도 될 거 같네요.
처음으로 써보는 회고글입니다. 처음에 회사 이야기 쓸 때는 각 잡고? 쓰다가 점점 의식의 흐름이 된 느낌이 없진 않은데요. 시간이 날 때마다 조금씩 써서 마무리까지 왔네요.
내년엔 더 행복하고 발전한 제가 되길 바라며 글을 마칩니다.
읽어주셔서 감사합니다.