작년에 첫 직장으로 출근 하루 전에 썼던 글에 이어서,
지금까지의 경험을 회고하기위해 글을 쓰게 되었다.
신입 개발자로서 일했던 첫 직장에서의 8개월을 끝내고, 최근 퇴사 및 이직을 결심했다.
갑자기 이직을 결심한 이유는,
그동안 내가 무엇이 부족한지, 어떤 기술에 성취하고자 하는 욕심이 있는지에 대한 확신이 없었는데
메인 프로젝트를 하나 맡아 처음부터 끝까지 개발해내는 경험을 해보게 되면서
그동안 해왔던 어떤 개발자로 성장하고 싶은지에 대한 고민의 마침표를 하나 찍을 수 있게 되었기 때문이다.
Boilerplate 작업을 하며 기술 조사를 하고, 더 나은 환경을 만들기 위해 Storybook & Monorepo를 도입하고, 공용 컴포넌트 분리 작업부터 시작해 실제 프로젝트에 활용하는 등 생각해 보면 그동안 꾸준히 정말 많은 준비와 시도를 했다.
하지만 막상 일정 내에 마무리하기엔 볼륨이 큰 개발 일정들이 잡히고,
동료 개발자분들의 연이은 퇴사로 어떻게든 이미 정해진 기한 내에 쳐내야 하는 프로젝트를 혼자 맡게 되었다.
그 상황에서 커뮤니케이션 미스, 기획 및 일정 미스 등의 으레 있는 장애물들을 넘어가며
구성했던 기술들을 의도대로 활용하지 못하거나, 프로젝트에 활용하게 되면 차차 리팩토링할 예정이었던 공용 컴포넌트도 업데이트를 못하는 상황이 오면서 나 자신의 미숙한 점을 느낌과 동시에 개발자로서 일하기 불편한 경험을 처음 겪어보게 되었다.
체력적으로도 물론 지치지만 그동안 잘 구성해 나가고자 했던 기술들을 제대로 활용 못해보는 상황이 더 아쉽고 속상했다. 물론 시간에 쫓겨서, 아직 쌓여있는 기술 부채 때문에, 이유가 많겠지만 나의 경우엔 꼭 디자인 시스템 구축과 함께 여기저기 다양한 서비스에 흩어져있던 ui들을 정리해 공용 컴포넌트화하고자 했던 입사 후 포부가 있었기 때문에 더욱 미련이 남았다.
결국 3주 내내 야근하면서 주말 근무까지 병행해 어떻게든 밀린 일정에 맞추어 배포했고,
repository 생성부터 시작해 개발 완료하고, qa 검수 후 더 안정성 있는 프로덕트로 시장에 내보내는 (사업 팀 분들이 열심히 대리점에서 영업해 주시는) 단계까지 한 사이클을 쭉 돌아본 것이 주니어로서 한 단계 성장하는 데 개인적으로 큰 도움이 되었지만, 팀 내에서도 올해 목표 중 하나였던 기존 서비스 앵귤러 -> 리액트 개편이 다른 일정상의 이유로 무기한으로 밀리게 되면서, 이번 프로젝트에서 제대로 활용해보지 못해 아쉬웠던 기술들을 다시 못쓰는 이유로 퇴사를 생각해 보게 되었다.
나는 서비스에서 보이는 UI는 정보의 우선순위와 가독성을 향상시켜 사용자 경험(UX) 증대에 도움이 되어야 한다고 생각한다.
또한, 정보의 우선순위는 그리드, 컬러, 강조 등 시각적으로도 고려될 수 있지만 서비스 전체에 녹아있는 디자인 시스템과 그 시스템에 대한 실무진들의 이해도가 매우 중요하게 고려돼야 한다고 생각한다.
서비스의 성격마다 세부적인 디자인 스타일은 달라질 수도 있겠지만,
적어도 중요한 페이지의 이동에 대한 service flow (예를 들면, 사용자가 결제 화면에 진입하기 전, 진입 후 결제가 끝날 때까지 수행돼야 하는 역할들과 페이지의 총합)에서는 기획자, 개발자, 디자이너가 해당 ui가 어떤 역할을 수행해야 하는지 모두가 같은 의미로 이해하고 있어야 한다고 생각하는 편이다.
그렇기 때문에, 개인적으로 Typescript와 React를 활용해 유연하며 안정성 있는 presentation layer를, Storybook으로 ui가 정의된 소프트웨어를 만드는 데 기술적인 성장 욕심이 있다. UXUI 디자이너로 일했던 경험 덕분에 이 일에 대한 이해도가 높은 편이라고 생각하고, 오히려 지금 시점에서 두 가지 분야를 잘 해내고 싶은 욕심도 더욱 커져서(ㅋㅋㅋㅋ) 단순히 생각하면 공통적인 ui 레이어에 대한 코드 한 줄 덜 치게 해주고, 동시에 프로덕트에 대한 이해도를 높여줄 수 있고, 어떻게 하면 더 나은 소프트웨어를 만들 수 있을지 고민하는 데 도움을 줄 수 있는 이런 시도가 추후에 얼마나 괜찮은 퍼포먼스를 이끌어낼지 내가 우선 만들어보고 나서 지켜보고 싶은 마음도 크다.
이러한 개인적인 성장 욕심이 있어서,
우선 지인분 회사에서 일하면서 사업 구상 중인 프로덕트의 기획 단계부터 투입되어
디자이너분과같이 디자인 시스템을 구축하고, 마이크로 프론트엔드 구축 환경을 만들고,
ui 라이브러리를 배포해서 어떤 개발자들이 보든 레고블록처럼 조립해 쓸 수 있고, 개발을 하는 중에도 프로덕트에 대한 이해도를 높여줄 수 있게끔 작업을 해보는 것을 당분간의 목표로 삼을 예정이다.
이왕 이렇게 포부를 정한 김에 미뤄왔던 기술이민 준비도 해보자!! 고 다짐했다.
어학공부, 자료구조 및 알고리즘 스터디도 꾸준히 병행하면서
추후 트랜스퍼 및 정착이 가능한 외국계 회사나,
실제로 해외에서 근무할 수 있는 회사들도 지원해 보려고 생각 중이다.
내가 CS 관련 해외 석사학위가 있어서,
기술이민비자 발급 시 가산점이 많다는 걸 최근에 알았는데,
당장은 코로나 때문에 발이 묶여있더라도 꼭 한번 해외취업에 도전해 보고 싶다.
2020년 8월부터 2021년 4월, 길다면 길고 짧다면 짧은 첫 직장이었지만
앞으로도 더 좋은 경험을 많이 쌓아보고, 중요한 분기점이 있을 때마다 회고할 예정이다.
근황이 궁금합니다! 나타나주세요!