캐나다에서 개발자로 커리어 전환을 시작하고 첫번째 회고 글이다.
23년 상반기에 굵직한 이벤트가 많았어서 정리해놓지 않으면 금방 기억에서 흐려질 것 같아 정리한 글
이제 정말 정신없이 일하고 있어서 정신차리고 정리해야겠다 다짐
4번째 학기에 강의하는 교수님 2명 스타일 파악도 끝나서 수업에 대한 긴장도는 높지 않았다. 이전 학기에 MERN 스텍, Laravel, Electron을 동시에 진행하는 극악한 일정을 소화하고 나니 이정도 쯤은... 다만 외부 팀 프로젝트와 발룬티어, 그리고 간간히 들어오는 인터뷰를 동시에 쳐내다 보니 제일 집중하기 어려웠던 학기가 아니었나 생각한다. 그래도 전체적인 커리큘럼은 나쁘지 않은 편. 무엇보다 교수를 잘못만나면 고생하는 건 한국이나 여기나 마찬가지.
작년 11월에 시작했던 팀 프로젝트를 2월경 드디어 마무리 했다. 취업이 목표였는데 결과적으로 4명 중 3명이 취업했으니 성공적이라 할 수 있겠다. 백지상태에서 간단한 시스템 디자인부터 시작했는데 결론적으론 아쉬움이 많았다. 요즘 회사에서 rechart 라이브러리를 이용해서 데이터 시각화를 많이 하고 있는데 디자인적으로 개선할 여지가 많았다는 걸 다시한번 느꼈다. 키지지 중고차 섹션에서 스크래핑한 데이터를 MongoDB로 옮겨서 Fast api로 API를 구성했는데 사용자 authentication과 상태관리 하는게 쉽지 않았다. Laravel이나 Django 같은 프레임워크를 사용하는 이유를 경험적으로 알았다고 해야 하나. 지금 회사에서 사용하고 있는 supabase를 썼으면 간단하게 해결하고 다른 기능들을 추가하는데 시간을 쓸 수 있었을 것 같다. (이제 카카오 로그인까지 가능)
이것도 작년부터 매 주 미팅하면서 빌드업해왔던 프로젝트. 학교에서 매년 열리는 잡페어 행사를 준비하는 학생위원회에 들어갔는데 분위기가 묘했다. 2학년이 뭔가 끌고가야 하는데 막상 웹사이트 개발이 가능한 사람이 없는 느낌. 무조건 개발 관련된 경력을 만드는 게 목표였기 때문에 Tech 팀 리드로 지원했고 덕분에 데이터베이스부터 클라이언트까지 모두 들여다볼 수 있었다.
Laravel + mySQL 조합의 간단한 정적 웹사이트였는데 문제는 문서화도 제대로 되어있지 않고 코드에 대해 알고있는 시니어도 없었다는 것. 담당 교수는 경영쪽이라 코드에는 문외한이었고 내가 영어가 편하지도 않으니 유일한 방법은 맨땅에 헤딩하며 구조를 파악해내는 방법 뿐이었다.
개발에 참여할 수 있는 기회를 잡은 것. 덕분에 간단한 시스템이었지만 어떤 식으로 호스팅되고 운영되는지 전체적인 부분들을 경험할 수 있었다. 2학년이라 팀 리드를 할 수 밖에 없었는데 덕분에 1학년 팀원들과 커뮤니케이션과 업무분담, 협업 등을 겪어볼 수 있었다.
프로젝트 문서화가 정말 아쉬웠는데 시간 여유가 없어서 손도 대지 못했다. 어떤 식으로 문서화를 하는 것이 좋은지 자료들을 찾아봐야겠다.
1월 팀 프로젝트가 마무리 될 무렵부터 지원을 시작했다. 나름 캐나다 내 경력을 채워넣었다고 생각했지만 생각만큼 서류통과가 이뤄지진 않았다. 무엇보다 인터뷰 경험이 부족하다 보니 처음 몇몇 회사들은 너무 아쉬웠다. 가고 싶었던 회사들은 미리 경험을 쌓고 도전했다면 하는 아쉬움이 컸다. 확실히 하면 할수록 겹치는 질문들도 많아지고 긴장을 덜하게 되더라.
테크 업계 레이오프가 이어지면서 주니어 개발자 자리는 경쟁이 너무 치열해졌다. 250군데 넘게 지원해서 10군데 정도 1차 인터뷰 연락 받고 마지막 인터뷰에서 떨어진 곳은 2군데 였던 것 같다. 결론적으로 정식 루트로 서류접수한 회사는 모두 떨어졌다.
지금 일하고 있는 회사는 컬리지 같은 과 친구 소개로 연결되었다. UI/UX 경험이 있고 풀스텍 개발이 가능한 사람을 찾고 있었는데 내 링크드인 프로파일을 확인하고 연락이 왔다. 팀 매니저와 리드 개발자가 첫 인터뷰에 들어왔고 이후 한 번의 1대1 인터뷰 후 잡 오퍼를 받았다. 인터뷰라기 보다는 회사의 계획을 설명하고 서로 알아가는 방식의 대화가 대부분이어서 더 호감이 갔던 것 같다. 데이터 시각화와 대쉬보드를 이용한 서비스를 준비하고 있다고 해서 2차 인터뷰 때는 비슷한 형태의 프로토타입을 만들어서 보여줬는데 반응이 좋았다. 친구가 추천을 잘 해줘서 첫 취업 문턱을 넘을 수 있었다.
5주 간의 워크텀 이후 팀 리드와 1대1 미팅을 가졌다. 독립적으로 일하면서 어떻게 더 좋은 코드를 만들어갈 수 있을지 고민하는 모습이 좋았다고 피드백을 들었다. NextJS와 Material UI를 사용해서 프론트 개발을 맡아서 했는데 프로젝트 컴포넌트 구성을 Atomic Design Pattern으로 만들자고 먼저 제안했던 부분, 그리고 회사 디스코드에서 데이터 팀 멤버들의 피드백을 빠르게 반영해서 UI를 완성해나간 것도 좋은 피드백을 받았다. 다만 영어가 모국어가 아니기 때문에 미팅 때 잘 따라오고 있는지, 애매한 부분이 있다면 적극적으로 소통했으면 좋겠다는 말도 들었다.
23년 상반기 가장 큰 목표였던 취업을 이루어서 홀가분한 기분이다. 전혀 생각치 못했던 분야의 회사지만 재택근무에 팀 리드도 좋고 여러모로 만족스럽다. 그동안 시간적 재정적인 여유가 없어서 미루어왔던 일들도 다시 계획해볼 수 있어 감사한 시간이다.
현재 Nextjs13에 MUI를 사용해서 프로젝트를 개발하고 있는데 생각치 못했던 여러 이슈에 부딪히고 있다. 그래도 포기하지 않고 찾을 때까지 검색하다 보면 비슷한 상황에서 해결한 케이스들을 어떻게든 발견하긴 하는데.. 이 시간을 줄일 수 있으면 좋겠다. 우선 매 주 회의때마다 논의할 이슈들을 노션에 정리하고 있다. 문제를 해결하고 난 이후라도 관련 지식을 깊이있게 공부하고 블로그에 올려봐야 겠다.
현재 회사에서 일차적인 목표는 서비스를 잘 런칭하고 글로벌 사용자들을 상대로 운영하는 경험을 쌓는 것이다. 그 과정에서 차근차근 노하우를 쌓다 보면 한 단계 성장한 개발자가 되어 있지 않을까. 팀 안에서 신뢰할 수 있는 개발자로 팀원으로 잘 인정받는 것이 가장 중요한 목표이다.