눈 떠보니 개발자 - 2

Sol·2023년 4월 12일
0

Sol의 아카이빙

목록 보기
20/29
post-thumbnail

작성자는 올해 27세, 이제 만 나이니 25세입니다.

이 글은 전 글 눈 떠보니 개발자 - 1과 이어지는 글입니다.

이 글은 지나치게 개인적인 리뷰입니다.
또한 2022년에 작성하고, 2023년에 마무리하는 글입니다.


눈 떠보니 개발자?

제목이자 내가 요즘 가장 많이 하는 생각이다.
눈 떠보니 개발자랍시고 떠들고 다니는데, 뭐 제대로 하는 게 있나 싶기도 하고.
글을 쓰려고 하면 개발자로서 Sol보다,
인간 박찬솔이 더 나오는 것 같아 부끄럽기도 하다.

하지만 개발자도 사람이고, 개발도 사람이 하는 일이니까.
사람으로서 그동안 쌓인 감정을 이런 식이라도 풀지 않으면,
성장하기 어렵겠다는 생각이 들었다.


고생 끝 아닌 새 고생 시작

해서 팀장은 나가고, 그 자리에 무려 10년 차 개발자분께서 CTO로 오게 되었다.
기대를 정말 많이 했다. 팀장이 나가는 얘기를 듣고, 나도 나가려던 걸 참은 이유가 이거였다.
제대로 된 사수 밑에서 정말 제대로 배워보고 싶었다.

하지만 세상은 호락호락하지 않았다...

CTO가 와서 처음 한 일은 대대적인 서비스 리뉴얼이었다.
백엔드 코드를 입사 후 처음 보게 됐는데 엉망진창이란 말로 부족할 정도로 큰일이었고,
DB는 더더욱 심각해서 언제 터져도 이상하지 않을 상황이었다.
그래서 리뉴얼 오더에 대해서는 이해했다.

문제는 기간이었다. 서비스는 계속해서 운영 중이고 중단할 수 없었다.
기존에 백엔드 시스템을 python에서 Node.js로 변경,
그리고 DB도 아예 새로 만드는 작업을 두 달도 되지 않는 기간에 하겠다고 얘기했다.
또한 작업 내용 중 유난히 프론트엔드는 설명이 미비했는데,
나중에 물어보니 App은 물론 업주용과 사내용 CMS를 따로 두 개 만들어야 한다고 얘기했다.

이걸 45일 안에?... 처음부터 나는 무조건 반대했고, 도저히 못한다고 얘기했다.
하지만 다수결에 의해 작업은 시작됐다.
정말 지옥문이 열린 것이었다.


한다고 마음먹으면 된다니까?

(마감기한이 15일 남은 상황 CTO가 웃으며 내게 했던 말이다.)

아직 DB 조차 완성이 되지 않고, 백엔드 코드는 테스트 서버조차 만들지 못했다.

하지만 이전의 경험을 토대로 이번에도 그저 지나갈 수는 없었다.
적어도 의견을 내고, 조금이라도 더 나은 방안을 찾아보자 결심했다.

적어도 API 문서를 먼저 마무리하고 res, req를 픽스하고 프론트 UI 작업을 먼저 할 수는 없을까요?

DB명이 워낙 자주 바뀌고, 서버 코드도 자주 바뀌니 우선 프론트에서 먼저 UI를 작업해달라.

그럼 적어도 서비스 로직이라도 픽스해주시면 안 될까요? 매일매일 서비스 로직이 수정되니까 전 날 작업한 UI는 오늘 못 쓰게 되는 상황입니다.

뭐가 문제인지 모르겠다. 그냥 프론트는 html만 작업하고 css는 정 어려우면 부트스트랩을 사용하면 되지 않나?

저희 프론트엔드는 현재 react를 사용하고 있습니다. 아시지 않나요?

알고 있다. 그러니까 html 페이지를 react로 작업하고, css는 어려우면 부트스트랩 템플릿을 사용해라.

이후로도 몇 마디를 더 나눴지만, 답은 없어 보였다.
이유는 근본적으로 CTO가 생각하는 프론트엔드 시스템의 출처가 지나치게 과거였다.

내가 지속적으로 물어봤던 CMS에 사용될 input 상태 값들을 관리하기 위해서
서비스 로직 픽스가 필요하다는 의견에는 결국

redux? 상태 관리?... 그게 뭔데

라고 대답했다.
실망하지도 않았다. 사실 어느 정도 눈치채고 있었으니까.


CTO는 DB에서 boolean 값을 "T","F" string으로 관리한다고 했다.
그럼 "서버에서 T, F를 boolean으로 변경해서 주나요?" 되물었는데,
CTO는 그런 걸 왜 질문하냐는 표정과 함께
"그냥 string으로 받아서 쓰면 되잖아. 뭐가 문제야?"라고 얘기했었다.

나는 최대한 현 상황을 설명하며, 변경이 필요한 이유를 어필했다.

예를 들어 이미지처럼 Switch Button으로 CMS 생성, 수정 페이지를 구성하는 경우

생성: Switch에 사용되는 state는 boolean 값으로 관리
이후에 POST call에 들어갈 body를 만드는 함수에서 "T","F"로 변경해서 서버에 보낸다.

수정: 동일하게 state를 boolean으로 관리해야 한다.
최초의 GET call로 받은 body에 값들은 "T","F" string이기 때문에 boolean으로 변경하고, useEffect 등을 사용해서 재차 렌더링 이후 수정 PATCH, PUT call에 담을 body는 생성 때와 마찬가지로 "T","F" string으로 재차 수정해서 보낸다.

물론 boolean 값이 사용되는 모든 컴포넌트, hook 함수, redux 함수에서
전부 "T","F" string으로 사용해 볼까 생각도 했지만, 말도 안 되는 가정이었다.
또한 react-hook-form 라이브러리를 사용하고 있어서

<Switch
  // 보편적으로 사용되는 로직
  checked={switchState} // boolean 값을 사용해 on/off
  // DB에 boolean 값이 string 이어서
  checked={switchState === 'T'} // string "T"인지 확인
  ...
>

checked와 같은 props에 해당 구문을 넣으며 작업할 생각을 하니 정신이 아득했다.

물론 이러한 이유들은 상태 관리에 대한 이해도가 없었기 때문에 통하지 않았다.
CTO는 나에게 "그렇게 얘기한다고 일 잘하는 게 아니야."라며 핀잔을 줬다.
의견이 묵살되는 것은 받아들일 수 있지만, 의견을 내는 걸 지탄받을 줄은 몰랐다.


뜨는 해를 보면서 퇴근하기

어차피 경력이 훨씬 적은 주니어에 말보다, 10년 차 개발자의 의견이 더 신빙성 있다.
인사팀이나 본부장에게 문제를 얘기해도 들어주질 않았다.
그럼에도 무슨 오기였을까 포기하기 싫었고, 도망가기 싫었다.
여기서 도망치면, 개발자 커리어에 있어 오점으로 남을 것 같았다.
주변의 시선이 무서워서 나를 갉아먹었다.

매일 바뀌는 서비스 로직에 대응하면서 CMS를 만들고,
기본 새벽 3시 퇴근 가끔은 아침에 퇴근해 샤워만 하고, 다시 출근했다.
그런 일상이 반복된 6월, 어느 날처럼 수정 작업을 하다 아침에 퇴근을 하게 됐다.
정문을 나가며 출근하는 사람들을 보고, 평소 머릿속으로만 하던 말을 육성으로 내뱉었다.

"내가 뭐하고 있는지 모르겠다."

감정이 벅차올라 눈물이라도 날 줄 알았는데, 그냥 힘들어서 주저앉았다.
진심으로 생각했다. 개발에 대한 고민이면 행복하겠다.
더 이상 사람 때문에 힘들고 싶지 않다.
왜 업무 내내 사람들이랑 심리싸움을 해야 할까.
내가 살아야겠다. 살고 싶다.
더 이상 내가 이상한 사람으로 생각될까 두려워하고 싶지 않았다.


그만두겠습니다

이후 바로 CTO에게 그만두겠다 얘기했다.
당연히 안된다는 말과 함께 프로젝트 중에 나가는 건 비양심적이고,
무례한 짓이라며 꾸짖었다.
하지만 무리한 스케줄로 인해 말도 안 되는 야근을 해가면서도 진전이 없는 상황에서
도대체 무엇을 보고 일을 해야 할지 나는 이해할 수가 없었다.

나에게 비겁한 사람이고, 몰상식한 사람이라며, 성실하지 못하다 했다.
나를 상처 주기 위해 말을 고르고 골라 위협적이고, 고압적으로 얘기했다.
근성과 성실, 노력만으로 개발이 저절로 되는 게 아닐 텐데.
이 사람이 정말 나랑 같은 개발자인가? 의문이 들었다.

화가 날 법도 한데, 화가 나지 않았다.
오히려 나는 늘 마지막이 되어 갈수록 감정이 무뎌졌다.
에버노트에 적어 놓은 수많은 오류 오답노트와
CMS를 만들어가며 쌓아 놓은 아티클, 그동안 작성한 코드들까지
'내가 문제 있는 사람인가?' 이런 의심은 나한테 너무 가혹했다.
나를 믿어줘야겠다. 나를 너무 챙겨주지 않았다.
오히려 나한테 너무 미안했다. 이제라도 나를 위해서 선택해야겠다.

그렇게 자유의 몸(백수)이 됐다.


썼다 지웠다 썼다 지웠다

사실 이 글과 전 글은 2022년부터 수 차례 썼다 지웠다를 반복한 글이다.
지극히 개인적이고, 감정적이며, 자칫 잘못하면 자신이 다녔던 회사를 욕하는 글이 된다.
좋게 보일리가 없다. 수 없이 생각했던 부분이고, 아직도 글 삭제를 고민하기도 한다.

하지만 흡사 일기와 같은 이 시리즈가 없다면, 나를 설명할 수가 없다.

출판 업계에서 디자이너로 근무하며, 편집자, 인쇄소, 판권 담당자 등등
여러 파트와 같이 일하며, 협업 경험에 있어서는 부족함이 없다 생각했었다.
그러나 이 시리즈의 기간 동안 나는 겉도는 사람, 불성실한 사람, 전투적인 사람,
비겁한 사람 등등 온갖 부정적이고 같이 일하기 싫은 사람이 돼버렸다.

하지만 이 글이 불러올 오해가 무서워서,
스스로를 의심하며 불안했던 시간들을 그저 숨기고 드러내지 않는다면,
지금의 내가 어떻게 성장했는지 말할 수 없다.


이 글을 쓰던 당시(2022년 6~7월) 앞으로 내게 어떤 시련이 오든 무덤덤하리라 생각했지만,
세상은 늘 초라한 인간의 상상을 가볍게 뛰어넘는다.

profile
야호

0개의 댓글