Easy Understanding

2022년 1분기 주니어 개발자의 회고 본문

Job

2022년 1분기 주니어 개발자의 회고

appleg1226 2022. 4. 9. 15:58

원래 회고를 할 생각이 없었지만 주말에 스터디를 위해 까페에 오면서 갑자기 이런 생각이 들었다.

'지금 내 3개월이 과연 나중에 연말이 되어서는 기억이나 날까?'

기억이 날때 최대한 기록을 남겨놔야겠다는 생각이 들어 분기별로 한 번은 작성하는게 어떨까하여 블로그를 켰다. 

 

제목을 정하면서 드디어 나도 '주니어' 개발자라는 타이틀을 붙일 수 있다는 데에서 살짝 감동했다.

개발자로서 제대로 직업을 가진 적이 없었으니, 취준생으로서의 나를 주니어라고 부르기는 사실 쉽지 않았다. 

그런데 지금은 저렇게 당당하게 붙일 수 있다는 것 자체가 뭐 감격스럽고 그렇다.

 


신입 프로젝트

신입 교육은 12월 ~ 1월 첫주까지 진행했고 사내 블로그에도 잘 정리되어 있어서 링크를 걸어둔다.

(https://kakaoentertainment-tech.tistory.com/67?category=525699)

 

[2022 신입공채] 카카오엔터테인먼트 신입 개발자로서의 첫걸음👣 테크 온보딩 프로그램 살펴보

안녕하세요 •ᴗ• 카카오엔터테인먼트 Tech HR 담당자 Selian입니다! 카카오 7개 공동체가 함께 진행했던 2022 kakao blind recruitment를 통해 총 19명의 신입 개발자분들이 카카오엔터테인먼트 크루가

kakaoentertainment-tech.tistory.com

별 어려움 없이 신입 과정은 마무리가 되었고, 

미니 프로젝트의 요구사항도 크게 어렵지는 않았기 때문에, 다행히 발표회까지 무난하게 넘어갔다.

 

사실 예전 인턴 때를 생각하면 이번 프로젝트는 거의 뭐 천국 수준이었다.

그때의 나는 모든 영혼을 바쳐서 프로젝트를 진행했었다.(사활을 걸었었지... ㅠㅠ)

살아남기 위해서 기능 하나라도 더 넣으려고 아둥바둥했고,

하나라도 설명하기 위해서 슬라이드를 수시로 늘리기도 했던 기억이 난다.

 

그런데 이미 생존이 보장된 상황 자체가 너무 달콤했다.

'아니 좋은 결과물을 내든 말든 상관없이 팀에 배정되어서 일을 할 수 있다고? 오히려 우쭈쭈해주는 분위기??'

이런 느낌은 2년간의 취준과 2번의 인턴 탈락을 맛본 나에게는 너무나도 감격적인 상황이었다.

 


팀 배정

나는 성장에 대한 욕심이 정말 많이 컸고, 이 때문에 나의 주니어 생활은 최대한 빡세게 겪고 싶다는 마인드가 너무 컸다.

다행히도 회사는 희망직무와 부서에 대한 선택지를 제공해 주었고,

이 덕분에 각 직무와 팀이 어떤 업무를 하는지는 충분하게 인지할 수 있었다.

 

사실 나는 최종 면접 때, 음악 서비스 개발이 하고 싶다고 어필을 했었다.

나의 어릴적 꿈이 음악 플랫폼 회사에 입사해서 최고로 만들고 싶다는 꿈이 있었기 때문이다. (사실 지금도 없지는 않다)

대략적으로 '공정하고 공유가 자유로운 차트를 제공하는 음원 사이트' 같은 것인데,

이게 개발자로서의 꿈은 아니긴 했다.(설마 면접관 분이 저런 얘기를 해서 나를 뽑으신 건 아니겠지...)

 

그 중에서 나는 한 부서에 엄청나게 꽂혀있었고, 가고 싶다는 어필도 적극적으로 했다.

그 부서는 직무/부서 소개에서 한결같이 '빡세지만 배울 것들이 정말 많다'는 점을 어필한 부서였다. 

그 부서가 바로 내가 지금 있는 '플랫폼' 조직이다.

 

나는 이전에도 입사 지원에서 조직을 고를땐 항상 플랫폼 단의 직무를 지원하곤 했다.

'공통' 또는 '통합'이라는 이름이 붙은 서비스는 고민해야할 점들이 몇 가지가 있는데,

여러 서비스에서 사용하기 때문에 '확장성'이 있어야 하고,

이러다 보니 '추상성'을 염두해둔 객체지향적인 코드를 작성하지 않으면 안 된다.

게다가 어느 회사든지 '결제', '회원', '광고' 같은 공용 도메인은 항상 존재하기 때문에 개발자로서 경쟁력도 충분하다.

 

그 플랫폼 조직에서 오신 리더분들이 설명하신 성장 가능성과 어필 포인트들이 너무나도 나의 가슴을 뛰게 만들었다.

게다가 아직 새롭게 진행할 프로젝트들도 많이 남아있다니 가서 얻게 될 기회들도 충분했다.

 

나는 큰 고민없이 이 조직에서 일하기를 희망했다. 

결국 나는 플랫폼에서 '빌링', 즉 결제를 담당하는 팀으로 배정되었다.

 


팀 생활 초반(1~2월)

우선 팀에 처음 와서는 당연히 그렇듯이 가만히 앉아서 돌아가는 상황만 보고 있었다. 

멍하니 앉아서 개발 환경 셋팅이나 하고, 팀 내 위키 문서들도 둘러 봤는데,

애초에 아는 게 없으니 대충 봐도 이해할 수 있는 것들이 없었다.

 

이전에 개발자는 개발 지식만큼 도메인 지식도 중요하다는 이야기를 많이 들었지만 체감한 적은 별로 없었다.

하지만 여기에 와서보니, 이렇게 모를게 많을 일인가 싶을 정도로 모르는 용어와 과정들이 많았다. 

이쪽 세계가 이렇게 복잡할 줄이야...

복잡한 도메인을 만나니, 시작부터 생각보다 많은 도전이 되었다.

 

처음에는 어색하게 앉아있으니 팀에서 간단한 작업거리들을 던져주셨다.

간단한 버그 수정 등의 이슈들이었는데, 이거 하나를 진행하는데 엄청나게 오랜 시간이 걸렸다.

 

우선 도메인 지식을 하나도 모르니 일이 진행될 수가 없었다.

하나를 이해하기 위해서 줄줄이 다른 지식들이 필요했고, 이걸 타고가다보니 시간이 정말 오래 걸렸다.

 

게다가 각종 프로세스들은 나에게 너무나도 생소했다.

스타트업에서 일할 때도 내가 하고싶은대로 진행했고, 두세명이서 편하게 일을 했으니 따로 체계를 겪어본 적이 없었는데...

 

브랜치를 따는 것부터 시작해서 정말 하나하나 다 확인해봐야했다.

개발환경 셋팅, 로그 확인, 각종 url 확인, 사내 인프라 이용까지 너무 알아야 될 것들이 많았다.

그래서 팀 내 문서란 문서는 다 뒤지고, 정 그래도 모르겠는 것들을 질문했다.

 

그 과정에서 그나마 새로운 기술들을 겪어보진 않아서 다행이었지

그것까지 익혔으면 두배의 시간이 더 걸렸을지도 모른다.

 

게다가 기획자와 협업하는 것도 처음 겪어보는 일이라

소통 등의 컨벤션들에 익숙해지는 것도 나에겐 정말 큰 도전이었다.

 

어디까지 개발자들과 소통해야 하는지

어디서부터 기획자와 소통해야 하는지

개발은 어디까지 보고하고 진행해야 하는지

이 사항은 누가 결정해야 하는건지

이외에도 정말 많은 것들이 궁금했지만 이런 것들을 일일이 다 물어볼 수도 없는 것이었다.

 

그래서 최근 슬랙에서 이루어진 대화들을 거의 1년치를 다 뒤져봤다. 

어떻게 요청하는지, 어떻게 대화하는지를 그나마 알 수 있었다.

그럼에도 불구하고 메시지 하나 작성하는데 몇 번을 수정하고, 오랜 시간을 들이기도 했다.

실수할까봐 메모장에서 써서 옮기고 그랬는데,

3개월이 지난 지금은 그래도 빨리 익숙해진 것 같기는 하다.

 

이런 과정들을 생각해보면 초반은 굉장히 분주하게 보냈던 것 같다.

 


적응기(2~3월)

작은 버그들도 고쳐나가고, 팀분들과의 소통도 늘어나면서 이제는 조금씩 익숙해지던 차였다.

익숙해질 때쯤 오미크론이 터졌고, 풀재택 시기를 맞게 되었다.

재택이 편하기는 하지만, 이전에는 팀원 분들을 보면서 많이 물어보고 배울 수 있었는데 그런 점들은 조금 아쉬웠다.

물론 재택이야 이전에도 많이 경험해봐서 큰 문제는 없었다.

 

이제부터는 주요 작업들 중에 마이너한 것들을 한 개씩 맡게 되었다.

대체로 크리티컬하지 않은 작업들이었다.

 

그런데 개발 시기가 내가 생각했던 것보다 너무 오래걸렸다.

처음에 봤을땐, 아 이거 로직도 복잡하지 않으니 금방 되겠구나 했던 것들이었다.

뇌로는 빠르게 각이 잡혔는데...

 

직접 작업을 시작해보니 내 예상의 거의 10배는 걸렸다.

그러한 이유가 꽤나 있었는데

1. 도메인 지식 부족

코드를 작성하기 위해서 알아야 하는 비즈니스 세부 사항 같은 것들이 단순하지가 않았다.

게다가 개발자 혼자서 결정해야 하는 것이 아닌, 기획의 의도대로 동작하는 코드를 만들어야 하기에 질문도 많이 해야만 했다.

그래서 또 위에서 언급했던 쓰고 지우고의 기나긴 시간을 거치기도 했다.

 

2. 코드 컨벤션

여기에서 배우면서 내가 하던 방식을 다 버리자고 생각을 하니, 참 알아야할 것들이 많았다.

어떻게 작성하는 것이 맞을지 팀 내의 다른 코드들을 다 확인하면서 알아갔다.

이 과정에서 한 두개만 볼 수가 없었기 때문에 생각보다 많은 시간이 걸렸다.

그 선택의 과정, 그리고 모르는 것에 대한 질문의 과정까지 해서 시간이 늘어났다.

 

3. 완벽함 추구

아무래도 내 개인 코드가 아니기 때문에, 더 나은 코드에 대한 고민이 너무나도 필요했다.

내가 또 누군가에게 누를 끼치거나 하는 것을 매우 싫어하기 때문에 계속 확인하고 알아봤다.

테스트도 여러번 돌려보고 하다보니 시간은 당연히 늘어났다.

 

4. 코드 리뷰

내가 아무리 완벽을 추구하려고 했다한들 내 수준에서 그게 얼마나 완벽하지 않을지는 뻔하다.

팀분들이 내가 고려하지 못하는 부분들을 정말 많은 부분 짚어주셨다.

아 이래서 내가 신입이구나하는 생각을 한두번 한게 아니다.

'이럴 경우에는 이런 문제가 발생할 수도 있어요'

'이럴 경우에는 재사용성이 떨어지니 확장성을 염두해주세요' 

와 같은 리뷰들이었는데, 나로서는 너무나도 감사한 조언들이었다. 

 

이런식으로 하나하나 해결해가다보니 오래 걸렸지만,

이제는 위의 과정들이 익숙해져서 조금이나마 빠른 처리가 가능해졌다.

 


지금

이슈들을 처리하다보니 슬슬 프로세스가 보이게 되었고, 사용하는 기술들도 익숙해졌다.

또한 도메인 용어와 관련해서 적어도 처음 듣는 용어는 없게 되었다.

 

이제야 이 도메인에 대한 감이 온다는게 딱 2분기의 시작인 4월이 되고 나서였다.

 

적어도 업무 프로세스에 관해서는 예전보다 질문이 줄어들게 되었다.

다른 직무/부서와의 협업 과정에서도 내가 스스로 소통하고 처리할 수 있는 부분이 많아졌다.

적어도 예전처럼 수십번 썼다 지웠다는 하지 않는 듯.

 

최근에는 프로젝트를 진행하다가 서버에 작은 에러가 발생했는데, 인프라에 관한 문제였다.

해당 문제에 대해서 팀에 보고를 하고 스스로 해결 원인을 찾아서 해결을 했는데

이게 나름 뿌듯했다.

 

최근에 가장 기분이 좋았던 것은, 내가 처리할 수 있는 이슈가 생겼다는 것이다.

어딘가에서 이슈가 생겼을 때

'이거 제가 처리할 수 있을 것 같아요' 라는 말을 하게 된 순간 솔직히 조금 웃겼다.

할줄 아는것도 별로 없는게 말은 또....

하지만 실제로 어려운 건 아니어서 fix 후 바로 문제를 해결할 수 있었다.

드디어 내가 0.001 인분을 하게된걸까라는 생각으로 뿌듯하기는 했다.

 


올해의 계획

나의 2022년은 간단하게 요약해서 '죽었다'고 말할 수 있는 2022년이다.

올해는 나의 즐거움보다는 '성장'을 선택했고 이에 올인하기로 했다.

 

1년의 일과를 단순화했고, 정말 딱 이거만 하겠다고 확정을 해놨다.

주중에는 '일 + 운동' 

주말에는 '스터디 + 가끔의 지인들과의 만남'

 

어차피 지금 나는 일에 시간을 투자해도 '소모'적인 측면보다는 '생산'이라는 측면이 강하다.

어떤 것을 해도 배우는 것밖에 없으니 시간을 들일수록 나에겐 이득이다.

 

이 팀에 처음 들어올 때 리더분들이 이런 말씀을 하셨다.

'이 팀에서 제대로 배운다면 다른 주니어들의 몇 배의 성장속도를 경험할 수도 있다'

이 말대로 되려면 진짜 열심히 노력해야된다는 생각을 하고 있다.

 

여기는 배울 것도 많고, 이를 위한 일도 많이 준비되어 있는 팀이다.

함께 일하는 누구든지 존경스럽고 배울점들이 너무 많아서 항상 감사하고 있다.

이런 팀에 속해있을 때 확실히 배워놔야한다.

 

게다가 여기는 내가 생각했던 이상적인 기술적 수준과 목표를 갖고 있다.

'와 이것도 한다고? 이걸 이렇게 한다고?' 라고 놀란게 정말 많다.

이런 분위기와 수준에 익숙해진다면 무조건 나의 커리어에도 도움이 될 것이다.

 

도메인과 기술적 컨텍스트는 얼추 파악이 되었으니 2분기에는 좀 더 업무에서 달리지 않을까 싶다.

2분기도 잘 죽어보자!