(다른 플랫폼에서 작성했던 글을 옮겨왔음)
이직
올해 초 가장 굵직한 커리어의 변화는 이직이었다. 개발자로 일하기 시작한 지 만 1년을 조금 넘어갈 때쯤 모든 사람들이 한 번쯤 커리어에 대해 고민하게 된다는 그 시기를 나도 맞게 되었고, 이직을 추진하게 되었다. 불만족스러웠던 부분이 있었기에 결국 이직을 선택하고 나왔던 전 회사였지만, 그럼에도 나를 개발자로 일을 시작할 수 있게 해 준 첫 회사라는 점에서 고마운 마음을 가지고 있다.
스타트업
선 퇴사 이후 2달여의 이직준비 시기를 거쳐 5월부터 새로운 회사에서 근무하게 되었다. 스타트업에서 종사하는 누군가에게 스타트업에서 근무한다는 것이 어떤 경험인지 묻는다면 십중팔구 아마 자유로운 분위기, 높은 자율성과 그만큼의 책임, 또는 체계적이지 않은 업무방식과 불안정성 등을 이야기할 것이다. 나는 단 하나의 스타트업만 경험해 봤기에 이에 대한 전반적인 평은 내리기 어렵겠지만, 그래도 지난 약 8개월을 되돌아봤을 때 그 말들에 대부분 동의할 수 있게 되었다.
개발
주니어 프론트엔드 개발자로 회사에 합류했던 나는 초반 온보딩 및 간단한 업무를 거쳐 첫 주 업무로 기존 Django 프로젝트의 화면 관련 부분 작업을 맡게 되었다.(!?) 내가 해야 하는 작업은 views.py에서 API를 이용해 데이터를 가져와 가공한 후 Django Template과 Javascript로 화면을 처리하는 일이었다. Django 프로젝트 전체를 들여다봐야 하는 업무는 아니었지만 웬일인지 하면 할수록 파이썬과 Django의 구조를 점점 더 익혀야 하는 업무가 될 수밖에 없었다.😂
스타트업의 우선순위 0번째는 무엇보다도 생존, 그리고 성장이다. 그렇기에 스타트업은 생존과 성장을 위해 필요한 개발을 할 수 있는 개발자를 필요로 한다. 특정한 전문분야에서의 성숙을 이루고 싶은 개발자에게는 어쩌면 적합하지 않은 환경일 수도 있다. 나는 다행히도 스타트업의 이러한 숙명을 이해하고 있었던 건지 아니면 역시 뭘 모르는 주니어 개발자여서 그랬던 건지, 프론트엔드 개발자임에도 불구하고 “회사를 위해” Django 개발을 하게 된 것이 크게 불만스럽지는 않았다. 비전공으로 개발을 시작한 나는 다른 프로그래밍 언어들이나 프레임워크 혹은 개발환경들을 이전에 경험한 것이 없었기 때문에, 오히려 이러한 새로운 경험들 모두 하나하나 성장의 양분이 된다고 느껴졌다.
이후 회사의 메인 프로덕트를 React로 개발하는 프로젝트를 시작하게 되었다. 이 프로젝트를 아주 빠르게(!) 0부터 1까지 개발해서 릴리즈하는 경험은 결코 쉽지 않았다. 개발해야 하는 기능들이 프로덕션 레벨에서는 거의 모두 처음이었고, 사용하는 라이브러리들도 처음 접해보는 것들을 사용하게 되어서 항상 시간에 쫓기며 많은 압박감을 느꼈었다. 모든 인증과 인가, React-Query를 이용한 server state 관리, D3.js를 이용한 데이터 시각화 등 하나도 쉬운 것이 없었다.
이전 회사에서 Redux를 사용해 모든 종류의 상태들을 store에 때려 넣고 개발했던 경험이 있었다. 그렇기에 React-Query가 가진 이점을 어느 정도는 체감할 수 있었으나 사실 아직도 React-Query는 100% 의도대로 사용하지 못하고 있다.🥲 D3.js는 웬만한 2차원 차트를 개발할 수 있다는 자신감을 갖게 되었다. 그러나 아직 이 D3.js를 React와 조화롭게 쓰는 방법은 찾아내지 못했다. 시간에 쫓겨 수많은 SVG 스파게티🍝 코드를 양산해 냈고, 틈이 나는 대로 조금씩 수정을 하고는 있으나.. 참 어렵다.
한창 메인 프로덕트 릴리즈를 준비하며 개발하던 7월~8월은 정말 일을 많이 했다. 그즈음 코로나 유행이 다시 심해져서 잠시 재택근무로 전환했던 적이 있었는데, 그때는 정확히 언제 퇴근하고 언제 일을 시작했는지 기억이 잘 안 날 정도이다.
강도 높은 환경 속에서 내가 가진 장점과 약점, 한계들을 마주할 수 있었다. 무엇보다도 나의 생산성에 대해 가장 많이 고민하고, 개선하려 노력했다. 또 프로그래머 혹은 개발자로서 느꼈던 한계들을 돌이켜보며 더 나은 개발자가 되기 위해 성장해 나가야 할 방향들을 재고하는 중이다.
면접관
조금이라도 규모가 있는 회사에 속해있었다면 경험하지 못했을 것들을 현 회사에서 받고, 경험하는 것이 한두 가지가 아니다. 그중에 정말 감사하게 느끼는 것은 면접관으로 프론트엔드 개발자 면접에 여러 번 참여하게 되는 기회를 얻은 것이다. 1–2년 차 개발자가 뭘 안다고 면접에 참여할 수 있겠느냐는 생각을 나도 물론 했지만, 어쨌든 회사는 프론트엔드 지원자를 검증할 실무자가 필요했고, 감사하게도 나를 믿어주고 그 면접을 C레벨과 함께, 혹은 단독으로 여러 번 진행할 수 있게 해 주었다.
내가 진행했던 면접들은 주로 Senior 혹은 Intermediate(중니어)를 뽑는 자리였다. 나는 면접 경험도 많지 않았고, 지식도 깊지 않아서 이 몇 번의 면접으로 엄청난 인사이트나 아이디어를 얻지는 못했지만 언젠간 도움이 될 소중한 경험들을 하게 되었다고 생각한다. 내가 만나본 분들의 경력이 되었을 때 과연 나는 어떤 실력을 갖추고 있어야 하는지 생각해보기도 했다.
학습
개발자로 경력을 처음 시작했던 1년 차와 비교했을 때 절대적으로 더 많은 시간을 할애하지는 않았으나, 더 몰입하고 집약된 공부를 한 한 해였던 것 같다. 공부했던 내용들은 React-Query나 D3.js와 같이 주로 회사에서 사용해야 할 기술들이나 JavaScript나 TypeScript 등 프로그래밍 언어들이었다.
인터넷 강의는 주로 연단 위 구독을 하고 있는 FrontendMasters를 이용했고 간혹 유튜브를 통해 간단하게 찾아보곤 했다. 그러다가 4분기에 접어들어 조금 더 열심히 공부를 해야겠다는 생각이 들어서 스타트업에서 프런트 개발을 하고 있는 친구와 함께 스터디를 시작하게 되었다. 매주 각자 학습해보고 싶은 주제를 정해 시간이 되는 만큼 학습하고 정리하여 한 주 한 번씩 서로에게 공유하는 방식으로 진행하고 있다. 궁금하기는 했으나 특별히 따로 시간을 내어 알아보기는 어려웠던 Rollup, Vite, git 등과 같은 주제들을 다뤘다.
우물 안 개구리인 나에게 기술 동향이나 신기술을 파악할 수 있게 돕는 뉴스레터를 항상 구독하고 있다. 그중 자주 읽지 않게 되는 뉴스레터들을 정리하고 이제는 JavaScript Weekly와 React Status, Bytes, Kent C. Dodds 등 자바스크립트와 리액트에 관련한 내용들만을 구독하고 있다.
결론
개발자로서 자신감을 얻기도 했지만 한편으로는 부족한 점들을 많이 느꼈던 한 해였다. 되는대로 학습을 해가며 어떻게든 서비스를 개발할 수는 있겠으나 좀 더 근본적인 컴퓨터 공학 지식이나 알고리즘 같은 부분들에 대해 필요성을 느끼기 시작했다. 2023년은 아마 그러한 공부들을 위해 시간을 좀 더 투자하는 한 해로 보내지 않을까 싶다.
'재밌는글쓰기' 카테고리의 다른 글
신의 존재와 나의 일상 (0) | 2024.03.27 |
---|---|
일단 독일어를 다시 배워보자 (0) | 2024.03.26 |
왜 2달이나 더 일해줘? (0) | 2024.03.14 |
구직의 어려움 (0) | 2024.03.10 |
어떤 비즈니스를 해야할까? (0) | 2024.03.01 |