개요
나는 이제 막 2년차에 들어선 주니어 개발자다. 올해 들어서 태어나 처음으로 이직도 하고 정말 많은 일이 있었다. 개발을 정말 좋아하고 이 일을 하면서 뿌듯함을 느끼는 건 변함없다. 그런데 앞으로 내 인생의 전부는 개발자로 살아가는 삶이 대부분일텐데 어떻게 커리어를 설계해나가야 할지, 공부할 건 정말 많은데 어떻게 그 우선순위를 정해야할지 정말 많은 고민이 들었다.
솔직히 처음 회사는 개발문화에서 정말 많은 실망을 하고 떠난 게 맞다. 나한테 PATCH 메소드가 뭐냐고 물어보시던 CTO님... 형상관리를 사용하지만, 모든 개발자가 main 브랜치에서 작업하고... 운영, 배포 과정이 파일 복붙이었던 곳이었다.
정말 어떻게든 벗어나려고 하는 거에만 초점을 맞추느라 중요한 걸 잊었다는 사실을 이제는 인정할 수 있다.
이직에 성공하고 나니 마냥 다들 라디오처럼 외치는 네카라쿠배당토에 가고싶다에 얽매여서 너무 많은 것을 놓치고 있다는 생각이 들었다. 이렇게 커리어를 쌓아가단 운좋게 어렵게 대기업이나 유니콘 기업에 가더라도 즐겁지 않을 것 같았다. 그래서 가장 처음으로 돌아가서 가장 기본부터 정리해야겠다는 생각이 들어서 블로그 글로 정리해보려고 한다.
본론
나는 다행히도 개발이라는 일이 적성에 잘 맞는다. 그래서 좋아하는 일을 직업으로 삼고자 개발자라는 직업을 선택했다.
그래서 나는 개발에서 어떤 일을 할 때 가장 즐거울까?
내가 계속 고민해왔던 질문은 아래와 같다.
어떤 일을 하고 싶은가?
내가 궁극적으로 하고 싶은 건 무엇인가?
백명석님의 브런치 중에 있는 글의 제목과 진태양님과의 멘토링 중 가장 머릿속에 남았던 질문이다.
내가 개발을 통해 어떤 일을 하고 싶은지 알기 위해서는 다음 질문이 떠오른다.
나는 어떤 일을 좋아하고, 언제 가장 즐겁고 기쁜가?
백명석님의 글을 인용해보면 여기서 좋아하는 건 보상이 좋은 것, 편안한 것, 재미있는 건, 잘할 수 있는 것, 가치가 있는 것 등등이 될 수 있다. 내가 좋아하는 일은 어려운 일을 해결하고, 그에 따른 개선점을 얻어내는 일이다.
그러면 어려운 일은 이런 게 될 수 있을 것이다. 구현하기 어려운 비즈니스 로직, 수많은 레거시 등등이 될 수 있다.
나는 어려운 비즈니스 로직을 프로그램적으로 구현하는 것과 수많은 레거시를 개선하는 것 둘 다 좋아한다.
어려운 비즈니스 로직을 해결하는 걸 좋아하는 이유는 나는 평소에도 전략 및 추리게임을 좋아하는데 꼬여있는 실타래의 가장 처음을 찾아 결국엔 가지런한 실로 만들어내는 그 과정이 정말 즐겁고, 내 승부욕을 자극시킨다.
그리고 수많은 레거시를 개선하는 걸 좋아하는 이유는 이 레거시를 개선하는 이유는 아마 사용자가 큰 불편을 느꼈거나 이전엔 몰랐던 시스템적인 결함이 발생하여 비용 등의 문제로 개선해야하는 이유가 동반된다. 이를 해결함으로서 내 동료 혹은 내 회사가 제공하는 서비스를 사용하는 사용자가 더 좋은 경험을 했으면 좋겠다는 바람이다.
내가 좋아하는 건 정말 실행하긴 어렵지만 해결했을 때 가치가 있는 것이다.
그러면 이제 정답이 나온다.
나는 실행하긴 어렵지만 해결했을 때 가치가 있는 일을 하고 싶다.
그럼 이제 두 번째 질문으로 가보자.
내가 궁극적으로 하고 싶은 걸 위해서 뭘 했고, 뭘 하고 싶을까?
내게 있어 실행하긴 어렵지만 해결했을 때 가치가 있는 일이란 어려운 비즈니스 로직을 풀어서 구현하는 것과 개선을 통해 사용자에게 좋은 경험을 선사할 수 있는 일이다. 그 중 나는 사용자에게 좋은 경험을 선사할 수 있는 일이라는 것에 좀 더 초점을 맞췄다.
사용자에게 좋은 경험을 선사할 수 있는 일에는 결국 어려운 비즈니스 로직을 풀어서 구현하는 것도 포함되어 있다고 생각했기 때문이다.
어려운 비즈니스 로직이라고 함은 사실상 내가 전문적으로 배우지 못한 영역과 매우 예민한 비즈니스라고 생각했다. 예를 들어 내가 회계, 세무, 부동산중개업, 법률 등 예시로 든 영역에 대해 전문가 수준의 지식을 가지고 있기란 어렵고, 갖가지 이해관계가 모여있기 때문에 어렵다고 판단하는 것이라 생각했다.
사용자에게 좋은 경험을 선사할 수 있는 일은 무엇이 있을까? 이 질문에 대답하려면 사용자가 가장 기민하고 예민하게 반응하는 영역이 무엇인가 생각해봐야했다. 나는 이를 결제, 정산 등 자산이 묶여있는 서비스라고 생각했다. 전자상거래는 우리가 인터넷을 이용하면서 가장 많이 이용하는 영역 중 하나일 것이다. 그러면 결제는 가장 꼼꼼하고 발생할 수 있는 모든 예외상황을 고려하며 구현해야한다. 이게 어려운 비즈니스 로직이 아니라면 대체 뭐가 더 어려울까.
그래서 나는 첫 회사로 결제대행서비스 회사를, 그리고 이직한 회사로는 회계 및 경비 관리 플랫폼을 운영하는 회사를 골랐다. 전자상거래 중에 일어나는 모든 결제 흐름에 대해 파악할 수도 있으면서 어려운 비즈니스 로직을 어떻게 대하고 해결하는지 알 수 있을 것 같았다. 여기서 일한 약 1년 동안 정말로 승인, 청구, 매입 등 결제 흐름에 대해 이해할 수 있었고, 또한 전회사와 현회사를 다니면서 복잡한 요구사항을 간단하게 풀어내는 것의 중요성과 상세하게 나누고 분리해서 개발하는 법을 배울 수 있었다.
나는 이제 실제로 사용자와 가장 가까운 서비스를 하고 싶다. 여태까지의 직무는 B2B 여서 적당히 합의하고 구현한 것도 없잖아있었다.
실제 B2C 에서는 어떤 식으로 서비스를 구현하고 제공하는지 배워가고 싶다. 또한 그 안에서 피어나는 다양한 애로사항도 겪고 싶다. 가장 경험하고 싶은 것은 기술부채를 해결해나가는 법과 팍 튀는 트래픽이다.
어느정도 규모가 있는 회사는 자신들의 기본 트래픽을 감당할 수 있는 환경이 갖춰져있을 것이다. 그래서 더욱 더 팍 튀는 트래픽에 대해 경험할 일이 없을 것이다. 주기적으로 팍 튀는 트래픽이 존재하고 이를 해결해나가는 경험을 정말 값질 것이라 예상한다.
또한 기술부채를 해결해나가는 법이다. 기술부채란 정말 어려운 숙제다. 회사가 커지는 와중이라면 더욱 더. 새로운 서비스는 개발해야하는데 그에 집중하면 이전에 해결하지 못한 기술부채에서 이런저런 이슈가 발생한다. 여태 지나온 회사는 이런 기술부채에 정말 많이 허덕였다. 성공적으로 기술부채를 해결해낸 회사의 개발문화 및 개발프로세스에 대해서도 배워보고 싶다.
+) 누구든 이 아래 포스트를 보고 한번쯤 이 문제에 대해서 정말 많이 고민해봤으면 좋겠어서 남긴다.
https://brunch.co.kr/@cleancode/37
어떤 일을 하고 싶은가?
연말이다 보니 이직을 하겠다는 주변의 후배들도 있고, 공채 면접도 있었는데, 내가 최근에 본 분들은 어떤 회사를 가서 어떤 일을 하고 싶어 할까?라는 생각이 들어 정리를 한번 해봐야겠다고
brunch.co.kr
'General > Essay' 카테고리의 다른 글
나는 어떻게 살았는가 (0) | 2023.11.18 |
---|---|
[Book Review] 성장이란 과연 무엇일까? (유난한 도전 읽고나서) (0) | 2023.05.25 |