[회고] 프론트엔드 입사 6개월차, 퇴사하고 배운 것들.

young_pallete·2022년 8월 19일
38

회고

목록 보기
2/5
post-thumbnail

시작하며

신입 6개월 차에, 회사의 경영난으로 퇴사를 했다.
기나긴 투자라는 굴레에서 벗어나 후련한 감도 있지만, 한편으로는 정말 하고 싶었던 작업들과, 내가 맡았던 프로젝트를 이어가지 못한다는 것이 너무나 아쉬웠다.

회사를 탓한다면 탓할 수도 있겠지만, 한편으로는 그런 생각도 머릿속을 떠나질 않았다.

내가 조금만이라도 더 잘했다면, 회사가 바뀌었을까.

물론 어느정도 정답을 알게된 지금은, 퇴사 후의 여행을 마치며 후회하지 않기로 했지만 결국 인생은 포스트모템을 해야만 성장할 수 있다.

"현재의 시스템에서, 나는 어떤 실수를 했고, 또 이를 통해 무엇을 배웠을까."

다른 글들과 반복되는 지루한 회고가 될까봐 글을 쓰지 않을까도 고민했지만, 지금이 아니면 영영 이 소중한 기억들의 파편조차 찾을 수 없을 것 같았다. 그래서 퇴사한 선배, 동료들과 여행을 마친 후 소소하게 벨로그에 풀어나가기로 한다.

무엇을 배웠을까

사실 개발자로서 회사를 다닌다는 것은 선배들과 함께 좋은 코드를 만드는 것도 있겠지만, 좋은 문화를 만들어간다는 것도 회사 식구로서의 책임이라 생각한다.

이러한 관점에서 분명, 퇴사한 시점에서 나는 개발자로서의 배움도 있었지만, 회사원으로서의 배움도 있었던 것 같았다.

따라서 이를 분리해서 생각해보며, 개발자이자 회사원으로서 어떤 것들을 배웠는지 카테고리로 분류하며 탐색해보고자 한다.

개발자로서의 배움

1. 어떠한 작업이든, 새로운 깨달음을 얻을 수 있다.

자세한 내부 사정은 이야기할 수 없으니 디테일한 설명은 생략하겠다.
어떠한 상황으로 인해 코드를 잠시 다운그레이드와 동시에 마이그레이션할 필요가 있었고, 서버를 세팅하는 것들을 백엔드 개발자분과 함께 하나하나 손봐야 했던 상황이 있었다.

그래서 코드를 빌드하고 배포하는 전체 로직을 모두 대폭 변경하는 작업을 실행했다.

당시의 나는 속으로 이렇게 생각했다.

"어차피 정상화되면 그 코드들 버리고 다시 돌아올 건데... 이렇게까지 하는 게 맞는 걸까"

백엔드, 프론트 모두 한 명씩 밖에 존재하지 않는데, 이 귀하고 한정된 리소스를 일시적 사유로 다운그레이드와 마이그레이션에 집중한다는 것이, 사실 나를 괴롭게 했다.

그렇지만 어쩌겠는가. 개발자는 결국 주어진 문제를 해결해야 하는 사람이다.
그래서 사실 속으로는 불만을 갖고 작업을 실행했었지만, 지금의 나는 깨달았다.
나는 이 태스크 전후로 정말 많은 인사이트의 변화를 겪었다고.

새롭게 알았다. 알고 보니, 나는 정말 기본이 부족한 사람이라는 것이었다.

예컨대 웹 서버를 리다이렉트하는 로직에서는 "그냥 이렇게 하면 되겠지" 싶었는데 되는 것은 하나도 없었다. 새롭게 올려야 했던 도커의 볼륨과 마운트를 이해하는 것도 한동안 꽤 많은 시간이 걸렸다.

특히 하이브리드 앱쪽에서 앱 상태를 체크하는 로직에서는 CORS가 걸려서, 도움 끝에 신박한 방법(?)으로 우회하는 진귀한 상황들도 존재했다. (알고 보니 이건 좋지 않은 방법이기는 했지만 말이다)
그렇지만 다시 또 해결하면서 그 과정 속에서 언러닝하며 배워나갔다.

물론 새로운 인프라 속에서 헤맨 것도 있었지만, 내 애플리케이션의 내부 로직을 책임지고 하나하나 다 이해하지 못한다는 것은 분명 부끄러웠다.

마친 지금에서 다시 생각한다.
분명 그 방법은 완벽한 방법은 아니었다.
아마 다시 돌아가도 난 우선 그 태스크를 늦추고 준비했을 것 같다.
분명 회사의 결정에 대한 내 제동도 옳았다.

그렇지만, 어떻게든 그 태스크를 하게 된 것은 정말 영광이었다.

내게 귀중한 인사이트를 준 팀장님과, 백엔드 엔지니어분과 밤 늦게까지 그 작업을 수행했던 것은 아직까지도 기억에 남고, 앞으로 내게 새롭게 해결해나가야 할 길들을 알려주었다.

지금은 그 작업들에서 새롭게 영감을 얻어, 인프라를 비롯한 실제 코드 작업도 꾸려나가고 있다.
모든 코어 지식들도 다시 또 쌓아 올리려고, 스터디도 들어가면서 새로운 도약을 향해 준비하고 있다.

인생은 거리보단 방향이니 천천히, 그러나 올바르게 준비하면 되지 않을까.

2. 개발자로서의 적극성과 코드 외적인 것도 신경 쓰자.

이는 논란이 될 수 있겠으나... 6개월 동안 일을 마치면서 느낀 것은 개발자는 결국 회사 입장에서 문제를 해결하는 사람에 초점을 맞춰야 한다는 생각이 들었다.

아무래도 인턴 때 같이 일을 하셨던 디자이너, 기획자분들이 나간 상황이었다.
이때, 나를 포함한 어느 정도 기존 개발자들이 현재 애플리케이션 디벨롭을 위해 다른 팀에 대한 인터뷰를 하고 싶다는 건의를 사측에 꾸준히 했다.

다행히도 우리는 여러 사원들의 목소리를 들었고, 결국 이를 1주에 걸쳐 타이트하게 문서로 취합하고 기술할 수 있었다.

하지만 문제가 발생했다.

도대체 어떻게 이러한 문서를 토대로 어떤 기획을 할 수 있을 것인가.

그도 그런 것이, 아무래도 UX 기획자가 나간 상황이라 이를 충분히 반영할 기획자가 존재하지 않았기 때문이다.

사실 내 업무와는 거리가 멀었기에, 이를 관여하는 것이 옳은가 싶기는 했다.
그렇지만 나는 분명 식구였고, 그래도 UX와 UI를 더 많이 이해하고 있는 상황에서 내 나름대로의 인사이트를 설명할 필요가 있다고 생각했다.

단순히 올바른 기획이 나오기를 바라기보다는, 우선 좋은 기획이 나오기 위해서는 프론트엔드의 관점에서 생각하는 해결방법을 사전에 제시해야 한다고 생각했다.

따라서 팀원들의 문서를 취합한 후에 별도로 프론트엔드 관점에서의 제안서를 몇 장 적었다.
그리고 제안서에는 사원들이 토로하는 문제점 및 원인의 핵심을 정의하고 UI나 UX상에서의 해결방법을 설계 후 잘 설명하려 노력했다.

어찌 보면 주어진 업무 이상으로 했던 건방진 행동이었지만, 결과적으로 꽤나 팀장님과 CSO님께 긍정적인 반응을 얻었고, 사원으로서도 좋은 인정을 받았던 것 같다.

실제로 회사가 정상화되면 어느 정도 반영을 하기로 했던 부분들도 존재했다.
다만 회사는 내가 상정한 조건 내에 일어서지 못했을 뿐. (갑자기 마음이 좀 먹먹하네)

그렇지만 이 과정 속에서 정말 많은 것을 얻었다. 반드시 코드를 잘 짠다고 해서 좋은 개발자가 아니란 걸. 어쩌면 인정 받는 개발자는 모두가 가진 사내 공통의 문제를 잘 해결해낼 수 있는 사람이라는 것을 말이다.

프로그래밍 지식을 갖고 있는 것은 기술이다. 그건 개발자가 반드시 갖춰야 하는 필수 요건이다.
그러나 이를 제외한, 문제를 함께 해결하는 능력의 관점에서 분명, 우리는 코드 이상의 것에도 관심을 가져야하지 않을까. 내가 6개월간 얻은 것은 그런 관점에서의 인사이트였다.

3. Git 관리 전략과 문서화는 항상 신경 써야 한다.

간혹 개발자들과 대화를 하다 보면, 생각보다 깃을 소홀히 하는 회사들도 적진 않은 듯하다.

"개발자들이 몇 없어서 PR을 남겨야 하는 게 의미가 없을 거 같아서..."
"개발자들이 없어서 힘든데, 그 관리할 시간에 코드 하나라도 더 짜야 하지 않을까요?"

내 생각은 다르다.
오히려 회사가 작으면 작을 수록, 깃을 비롯한 문서화는 더욱 잘 되어야 한다는 게 내 관점이다.

내가 깃을 처음 마주했을 때, 나는 '히스토리'라는 단어에 주목했다. 결국 그것이 말도 안되는 충돌로 괴롭게 할지라도, 그것은 당신이 만들어낸 '역사'이다.

보통 '시대'라 함은 크게 역사시대, 선사시대로 나누어볼 수 있다.
이 차이는 바로 무엇인가? 바로 문자 사용의 여부이다.

알쓸신잡을 왜 사전에 설명하냐면, 쉽게 말하자면 나는 기가막힌 무령왕릉을 만들었다고 하지만, 설명 없이는 그저 고인돌로 해석될 수 있다는 거다.

특히 그것은 현재, 미래의 개발자의 수준과 개발 습관에 따라서 그 가치가 더욱 과대평가되기도, 과소평가되기도 한다는 것이다. 아마, 오늘 귀가 아프다면, '과거의 나'가 남긴 레거시를 누군가가 욕하고 있지 않을지를 의심하는 것도 방법일 것이다.

물론 공감한다.
문서화를 남기는 그 시간은 좀 많이 걸린다.
내 경우 PR 남기는데 20분~30분도 걸리기도 했다. 때로는 동료에게 PR하기 힘들다는 의견도 들었고, 이 역시 수용했다. 사람의 관점은 분명 다른 거니까.

그렇지만, 명심하자. 언젠가는 당신의 코드를 문자로 남겨야 한다고. 내 코드가 가진 어썸한 가치를 분명히 현재의, 미래의 동료에게 알려줘야 한다고.

그렇지 않는다면 다른 개발자는 당신의 레거시를 '고인돌'로 취급할 것이다.
(아, 고인돌을 폄하한 건 아니다. 다만 당신의 코드 안에 담긴 가치를 이해하지 못할 수도 있다는 뜻이다.)

아, 남기면 좋은 또다른 이유는 퇴사할 때 정리할 시간이 줄어든다. 쿨럭쿨럭... 🥲


회사원으로서의 배움

사람은 결국 포용해야 한다.

어찌 보면 가장 논란이 될 수 있겠다. 인정한다. 모든 케이스에 들어맞지 않다.
분명 모든 예상을 뛰어넘는 사람도 존재하지만, 이 글은 그렇지 않은 대개의 범인을 대상으로 하는 것으로 가정하겠다. 내가 있던 회사의 식구들이 그랬던 것처럼.

사실 나는 회사 내에 계시던 몇 사람들을 이해하지 못했었다.

  • 왜 이 사람은 일을 하지 않는 걸까.
  • 왜 이 사람은 남에게서만 배움을 찾는 걸까.
  • 왜 이 사람은 모든 것에 다 부정적인 걸까.

초창기에는 그래서, 일부러 나 역시 좋지 않은 것들에 전염될까봐 멀리하려는 경향도 있었다.

그러나 회사가 정말로 위기를 겪으면서, 나 역시 마음 속으로 심란함을 겪었을 즈음, 다른 사람들과 더 많이 식사도 하게 되고, 소통을 하게 됐던 듯하다.

그때부터는 밥을 먹게 되면, 동료들의 백그라운드를 들으려 노력했던 것 같다. 하다 못해 예전의 업무에 관해서라도 말이다.
어떻게 보면 관심이기는 하지만, 내 기준으로는 이 사람을 이해하고 납득하기 위한 절차였다.

그렇게 얘기를 하다보면, 모든 것을 완전히 받아들일 수는 없겠지만 이해가 갔다.
'아, 이 사람은 어떤 사람이구나. 나보다 더 많은 고민을 하고 있구나. 나도 괴로운데, 정말 힘들겠구나.'

특히 어느 순간 회사원 모두가 스트레스를 받는 상황이 존재했다.
그 때 발견했다. 나 역시 그 태풍의 눈 한가운데로 진입했을 때, 그 부정하던 모든 것들을 서스럼없이 하고 있는 나 자신을.

이전에 대학교 교양 수업에서 들었던 것인데, 엘리자베스 퀴블러-로스의 말에 따르면 죽음을 받아들이는 과정은 5가지가 있다고 한다.

  1. 부정
  2. 분노
  3. 타협
  4. 우울
  5. 수용

개발자로서 첫 시작에서 마주한 내 회사 속 대인관계는 정말 똑같았다.
이 사람을 맨 처음에는 부정했다가 분노했다.
실제로 나 나름대로 대화도 해보며 바꿔보려 노력했지만 바뀌지 않는 것에 좌절하기도 했다.

그러나 그 모든 것들을 다 맞닥뜨리고 나서는...

결국 사람은 다같이 문제를 맞닥뜨리고 해결하는 과정 속에서 받아들이게 되더라.

세상에는 내가 투덜거리는 그 상황보다 더 심오한 상황을 마주하면서도, 내색하지 않는 사람들이 분명 존재한다. 그렇지만 대개의 사람들은 완벽하지 않아서, 그러한 고민들이 다른 방식으로 표출된다.
나는 그런 나 자신의 부족함을, 아니 우리의 부족함을 이제는 받아들이기로 했다.

그러자 꽤나 놀라운 일이 벌어졌다.
더이상 남탓을 하지 않게 됐고, 그저 내가 해야할 일만, 할 수 있는 일만 생각하게 됐다.

지금은 이렇게 생각한다.
애초부터 우리 회사 생활이 비극일 수밖에 없는 이유는, 나는 하는데, 이 사람은 하지 않는다는 비교에서가 아닐까.

이제는 그저 그 사람을 일단 받아들여보기로 했다.
나도 완벽하지 않은데, 그 사람은 내 세계에 어떻게 기꺼이 포개어질 수 있겠는가.
6개월 동안 그 역경의 파도 속에서, 건방진 말이지만 수 년의 인생을 배운 기분이었다.

사실 더 쓸 게 있을까.

계속 고민해봤는데... 다른 모든 배웠던 점들이 위의 깨달음에 다 속해버리는 듯하다. 🥲
어찌 보면 카테고리를 잘 세분화하지 못한 내 미스이자, 모자란 내 머리 기준에서는 너무 완벽한 문제를 설정한 역설적인 상황을 마주하게 됐다. 😅

정말 회사 생활하면서 다양한 사람들 마주하게 된 듯한데, 아무리 다른 분의 업무가 불만이더라도 한 번은 이런 생각을 해보면 좋을 듯하다.

"정말 혼자만으론 힘든 순간에는, 그 사람의 소소한 업무나 도움마저도 절박할 때가 있다. 당장은 불만이더라도 그 사람은 분명 우리 동료이다"

어찌 보면, 퇴사한 이후에도 함께 여행한 것을 보면, 회사는 잃었어도 사람은 얻었다는 것에 지금은 오히려 후련하다 🙆🏻


마치며

쓰다 보니 벌써 3시간이 흘렀다.
사실 이 역시 기회비용을 따지자면 엄청난 비용이 들었지만, 내 생각을 다시 정리하는 데에는 더없이 귀중한 시간이었다.

아마 당분간은... 취준에 완전히 집중하지는 않으련다. 이제 곧 취준하기 적합한 시기가 곧 오기는 하지만 말이다. (뭐, 기회가 있다면 좋겠지만)
다만 최근에 정말 여실히 깨달았던, 잃어버린 개발 코어 지식에 집중하지 않을까.

최근에 같이 퇴사하신 이사님께서 영상을 보내주셨는데, 그 영상 중 기억나는 강사의 구절이 있다.

"나의 시간을 아끼는 가장 좋은 방법은 누군가의 경험을 듣는 것"

이 글이 누군가에게 좋은 영감을 주었기를 바라며.
다들 즐거운 회사생활과, 개발하시길 바라며.
이상 🌈

profile
People are scared of falling to the bottom but born from there. What they've lost is nth. 😉

8개의 댓글

comment-user-thumbnail
2022년 8월 21일

짧지만 함께할 수 있어서 좋았습니다 😄

1개의 답글
comment-user-thumbnail
2022년 8월 26일

좋은 글 잘 보고 갑니다 :)

1개의 답글
comment-user-thumbnail
2022년 8월 29일

잘 읽었습니당. 저는 아직 준비중이지만 실무를 하고 다시 읽어보면 감회가 다를것 같아요. 수고 많으셨어요

1개의 답글
comment-user-thumbnail
2022년 12월 3일

공감가는 글이었습니다. 좋은 글 감사해요!

1개의 답글