사수없이 자라기

우창완·2023년 3월 20일
43
post-thumbnail

학교에 복학하게 되어 퇴사를 한 지도 3주가 되어갑니다. 10명 이하의 작은 스타트업에서 작년 11월부터 2월까지 짧은 시간이지만 좋은 팀원들과 함께 일하였습니다. 이제는 학교로 돌아와서 다시 학업을 하고 있지만 좋은 동료들과 함께 협업하며 내가 개발하는 것을 좋아하고, 개발자를 업으로 삼아야겠다는 생각을 확신했던 시간이었던 만큼 블로그 글을 통해 기록으로 남깁니다.

(출처: 데브경수)

사수없이 성장하기

사수없이 성장하기는 이 글을 쓰는 이유이기도 한데요, 입사하기 이전부터 지인이나 인터넷을 통해 신입 개발자가 성장하기 좋은 회사로 가야한다는 이야기를 참 많이 들었습니다. 그 조건 중에는 멘토나 사수 등 배울 수 있는 개발자가 옆에 있으면 많이 성장할 수 있을거라는 이야기도 많았습니다.

하지만, 제가 플래닝고에 처음 합류하였을 때 사수도 없고 프론트엔드 개발자도 저밖에 없는 환경이었습니다. 분명 멘토와 동료 프론트엔드 개발자들이 있고, 좋은 개발 문화가 갖춰져 있는 환경이 개발자의 성장에 많은 도움을 주겠지만, 저와 같이 이상적인 환경에 계시지 않은 개발자들도 적지 않을 것 같습니다. 분명한 것은 프론트엔드 개발자로서 저만의 역량을 키워야했고 주어진 환경에 관계 없이 역량을 키워 빛을 내는 분들은 있습니다. 회사에 합류하고 어떻게 하면 주어진 환경에서 자양분을 흡수하여 폭발적으로 성장할 수 있을까에 대해서 많은 고민을 시작하게 되었습니다.

성장 자양분 찾기

주기적인 피드백

성장에 있어서 피드백의 중요성을 아무리 강조해도 부족하지 않을 것 같습니다. 피드백이 없는 환경에서 일을 한다면 우리가 20년 넘게 숨을 쉬었어도 수영선수들처럼 폐활량이 깊지 않은 것처럼, 의식하여 개선하지 않으면 같은 일을 항상 같은 효율로 할 수 밖에 없습니다.

다른 프론트엔드 팀원들이 있는 환경에 있었다면 코드 리뷰나 이야기를 통해서 자연스럽게 피드백을 주고 받으며 자신의 코드를 개선하고 성장할 수 있겠지만, 그렇지 않은 환경에 있던 저는 회사에서 운영하는 블로그, 믿을 수 있는 국내외 저자들의 블로그들을 보며 best practice에 대해서 참고하고, 우리 회사 프로젝트에 어떤 방법이 가장 적합할까?에 대해 고민하며 서비스에 적용할 수 있었습니다.

실제로 제가 회사 재사용 컴포넌트를 어떻게 작성하면 좋을지에 대해 고민을 하고 이를 바탕으로 작성한 글이 velog 트렌딩 3위에 올라 읽은 분들이 도움을 받았다고 이야기 해주었을 때 굉장히 보람찼습니다.

실제로 돌이켜보면 이미 팀과 프로젝트의 규모가 커져서 정해진 가이드라인으로 코드를 작성하는 것보다, 여러 방법들을 적용하고 고민해가며 우리 회사 프로젝트에는 어떤 방법이 어울릴까에 대해 고민한 시간이 성장에 많은 도움이 되었습니다.

(출처: 데브경수)

누가 코드를 이렇게 짠거냐 에서 누가를 맡고 있습니다🥹

회사에 합류한지 2일차에 회사 백오피스 웹 에디터와 뷰어를 만드는 태스크를 저 혼자 맡게 되었는데요, 토이 프로젝트보다 훨씬 더 큰 프로젝트를 하다보니까 컴포넌트를 어떤 단위로 나누어야할지, 서버와 통신은 언제 해야할지, 3D 개발자들와 백엔드 개발자와의 협업은 어떻게 해야 할지 등, 개발 뿐만 아니라 협업도 많은 고민을 하였습니다.
코드를 확장하며 코드 작성하는 방식과 구조가 적절하였는지에 대해 스스로 지속해서 점검하였고 다행히도 스스로의 주기적인 피드백으로 코드를 작성하는 시야가 계속해서 확장되서 프로젝트 중반을 넘어서는 (몇 주 전에 작성한 코드를 보며 누가 이렇게 코드를 짰지? 나지 뭐..) 기능 추가와 함께 초기에 작성했던 코드를 리팩토링을 병행하는 경험도 새로웠습니다.

나 홀로 프론트엔드 개발자? 오히려 좋아

제가 팀에 합류했던 11월에는 프론트엔드 개발자가 저 혼자였고 맡게 된 프로젝트도 진행된 지 얼마 되지않은 시점이었습니다. 물론, 프론트엔드 팀이 어느정도 자리가 잡혀있고 좋은 프론트엔드 팀원들과 협업할 수 있는 환경이 이상적이지만 내가 바꿀 수 없는 환경보다 현재 처한 환경에서 긍정적인 면을 찾기 시작하였습니다.

  • 프로젝트의 적정 기술을 선택할 수 있다
    우리 서비스는 3D 웹 기술을 사용하여서, 타 서비스들과 고려해야 하는 지점들이 달랐습니다. 이미 회사에서 정해진 기술로 개발하기보다는 내가 우리 서비스에 유저 경험, 개발 속도, 향후 프론트 팀원들이 합류하였을 때 적응 등을 고려하여 프로젝트의 라이브러리, 적정 기술 등을 선택하는 것은 경험은 신입 개발자가 쉽게 할 수 없는 경험입니다.
    혼자 회사 프로젝트를 하며 여러 글과 자료를 보며 고민하여 프로젝트를 진행하였고, 이후에 다른 프론트엔드 개발자 분들이 합류하였을 때 나는 프로젝트의 이러이러한 문제 때문에 이러한 코드를 작성하고 이런 기술들을 사용하였다라고 말했을 때 긍정적으로 받아들여주셔서 '고민한 시간이 헛되지 않고 그럴 가치가 있었구나'라고 생각이 들었습니다.

  • 레거시가 없다
    유명한 회사에서도 오래된 프로젝트 같은 경우에는 호환성 문제 때문에 오래된 라이브러리를 사용하여 공부한 기술들을 적용하지 못하는 경우가 많다고 들었습니다. 저는 프론트엔드 개발 경력이 오래되지 않아 오래된 기술 같은 경우에는 백그라운드나 등장 배경 등을 파악하지 못한 것들이 많아 오래된 기술을 사용하였다면 프로젝트 파악에도 많은 시간이 걸렸을 것 같습니다. 하지만, 사이드 프로젝트 할 때부터 사용해온 기술들을 적극적으로 회사 프로젝트에 사용하면서 빠르게 회사 코드에 적응하고 숙련도를 올릴 수 있었습니다.

개발자의 성장은 복리

함께 자라기 내용 중에 자기계발은 복리로 돌아온다라는 말에 대해 깊은 공감을 하였는데요, 저는 개발자의 성장은 선형이기보다는 경사가 기울어진 계단에 가깝다고 생각하고 정적이기보다는 동적이라고 생각합니다. 진전이 뎌디거나 성장이 정체되었다고 생각할 때, 경사로에서 쉽게 지칠 수 있습니다.

개발자로서 성장이 동적이고 일관적이지 않을 수 있음을 인지한 상태에서 짧은 피드백을 통해 안전지대에서 벗어나 문제들을 해결한다면, 성장 복리가 눈덩이처럼 늘어나 다음 계단을 오를 수 있었습니다

외부 교육도 적극적으로

다른 분야에는 크게 물욕이 없는 편이지만 생산성을 올려주거나 역량을 키울 수 있는 컨텐츠가 있으면 주저없이 지갑을 열었습니다. 코드에는 정답은 없고 상황마다 각기 다르지만, 많은 개발자 분들이 몇십년 전부터 여러 시도와 고민 끝에 좋은 코드라고 여겨지는 코드들도 적지 않습니다.
내가 처음부터 아무것도 없이 코드를 작성하며 시행착오를 겪는 것보다는 비싼 유료 컨텐츠일지라도 지갑을 열고 지식을 채웠습니다. (통장은 비웠습니다...🥲)

팀원간의 신뢰 형성하기

팀원간의 신뢰

우리의 뇌는 구조상 어떤 내용을 요청받을 때 내용을 듣기 이전부터 누가 요청하느냐에 따라 요청을 들어줄지, 거절할지 어느정도 미리 결정한다고 합니다. 특히, 스타트업에서 능동적으로 일을 하기 위해서, 나의 의견이 팀원들에게 설득력 있기 위해서는 팀원들에게 신뢰를 받는 것이 굉장히 중요다고 느꼈습니다.

두 번째 달부터 팀원들이 저에 대한 신뢰가 생기고 있다고 느꼈고 팀원들의 신뢰를 받은 이후에는 톱니바퀴가 맞물려 돌아가듯이 협업을 하며 개발 속도를 더욱 올릴 수 있었습니다. 또한 제가 프론트엔드에서 어떠한 기술을 도입하여야 한다고 의견을 냈을 때 빠르게 팀원들을 설득할 수 있었습니다.
마지막으로 팀원들에게 신뢰받기 위해서는 팀원들을 존중하고 신뢰하는 태도로 대하는 것이 중요했습니다.

커뮤니케이션 방법

최근에는 프로그래머 커뮤니케이션의 중요성이 강조되어서 많은 분들도 중요성을 인지하고 있는데요, 저 또한 중요성을 알고 있었지만

  • 프론트엔드 버그인데 백엔드 개발자한테 버그 확인을 부탁한다던지..
  • 다른 개발자가 작성한 코드를 수정한 뒤에 말한다던지..

회사에서 협업하기 이전에는 혼자 사이드 프로젝트를 한 것이 전부라 실제로 어떻게 협업해야 할 지에 대해서는 부족했던 것 같습니다. 글을 작성하는 지금 돌이켜 봐도 커뮤니케이션에 참 서툴렀던 것 같지만 좋은 동료들을 옆에 두었던 덕분에 어떤 방식으로 커뮤니케이션해야 긍정적으로 협업할 수 있을지에 대해서 고민하고 배웠던 시간이었습니다.

다시 되돌아 갈 때

좋은 팀원들과 일할 수 있었고, 많은 것들을 배우고 경험할 수 있었지만 2월을 마지막으로 퇴사했습니다. 원래는 더 오래 일할 생각도 가지고 있었지만, 빠르게 변하고 있는 개발자 시장을 보며 졸업을 1년 앞두고 졸업을 계속 늦추는 것은 불확실성을 키운다고 생각하여 학교로 우선 돌아가 졸업을 하기로 하였습니다.

3월부터 다시 학교를 다니며 수업을 듣고, 졸업 프로젝트를 하고, 취준을 같이 하며 바쁜 나날들을 보내고 있습니다. 요즘도 회사에서 하루종일 개발하며 서비스를 배포하고 개선하던 때가 많이 그리운 걸 보면 '개발을 많이 좋아했구나' 라고 생각이 듭니다.
올해 다시 취준을 앞두고 불안한 마음을 가지고 있기도 하지만 주어진 상황에서 내가 가진 무기로 잘해낼 수 있다고 믿으며 하루하루 앞으로 나갑니다.

profile
CDD(Coffee driven development)

3개의 댓글

comment-user-thumbnail
2023년 3월 22일

당신의 사수 Copliot 과 Chat-GPT로 대체되었다.

답글 달기
comment-user-thumbnail
2023년 3월 27일

멋진 글 잘 봤습니다~

답글 달기
comment-user-thumbnail
2023년 3월 28일

사수없이 일하는 와중에 좋은글을 발견했네요. 잘 읽고 갑니다.

답글 달기