요즘IT
위시켓
새로 나온
인기요즘 작가들컬렉션
물어봐
새로 나온
인기
요즘 작가들
컬렉션
물어봐
개발
AI
IT서비스
기획
디자인
비즈니스
프로덕트
커리어
트렌드
스타트업
서비스 전체보기
위시켓요즘IT
고객 문의
02-6925-4867
10:00-18:00주말·공휴일 제외
yozm_help@wishket.com
요즘IT
요즘IT 소개작가 지원
기타 문의
콘텐츠 제안하기광고 상품 보기
요즘IT 슬랙봇크롬 확장 프로그램
이용약관
개인정보 처리방침
청소년보호정책
㈜위시켓
대표이사 : 박우범
서울특별시 강남구 테헤란로 211 3층 ㈜위시켓
사업자등록번호 : 209-81-57303
통신판매업신고 : 제2018-서울강남-02337 호
직업정보제공사업 신고번호 : J1200020180019
제호 : 요즘IT
발행인 : 박우범
편집인 : 노희선
청소년보호책임자 : 박우범
인터넷신문등록번호 : 서울,아54129
등록일 : 2022년 01월 23일
발행일 : 2021년 01월 10일
© 2013 Wishket Corp.
로그인
요즘IT 소개
콘텐츠 제안하기
광고 상품 보기
개발

멘탈 롤러코스터: 나만 이렇게 힘든가요?

나루브라운
8분
6시간 전
526
에디터가 직접 고른 실무 인사이트 매주 목요일에 만나요.
newsletter_profile0명 뉴스레터 구독 중
AI 생성 콘텐츠 <작가>

 

입사 초반에는 모든 것이 새롭고 벅찼다. 내 컴퓨터에 개발 환경을 세팅하던 날의 설렘, 난생처음 마주한 거대한 프로덕션 레포지토리를 git clone 하던 순간의 막중함, 그리고 수많은 내부 문서를 오가야 하는 과정 하나하나가 ‘진짜 개발자’가 되었다는 증표처럼 느껴졌다.

 

한번은 넘치는 열정으로 팀에서 사용 중이던 Knex.js의 공식 문서를 거의 통째로 번역한 적도 있다. 한국에서는 참고할 자료가 거의 없던 낯선 라이브러리였기에, ‘이건 분명 누군가에게 도움이 될 거야’라는 생각으로 주말을 꼬박 바쳐 번역하고 효과적인 사용법까지 정리해 팀 문서 시스템에 공유했다. 공식 문서 공유 글에 달린 좋아요 이모지를 보고 있으면 마치 세상을 다 가진 듯, 그렇게 모두로부터 “고생했다”는 말을 들은 것처럼 뿌듯했다.

 

하지만 그 벅찬 감격은 오래가지 않았다. 얼마 지나지 않아, 내 멘탈은 마치 가파른 내리막길을 만난 롤러코스터처럼 곤두박질쳤다.

 

이유는 분명했다. 사소한 로직 실수가 이어지며 QA 단계에서 코드가 자주 반려되었고, “이것도 확인 안 했어요?”라는 듯한 무언의 피드백이 쌓여갔던 것이다. 급기야 급히 수정하다 로그인 기능을 비활성화한 채 개발 서버에 배포하는 일까지 겹쳤다. 다행히 스테이징 전이라 큰 사고로 이어지진 않았지만, 그 사실을 깨달았을 때의 아찔함은 상상 이상이었다.

 

잦은 실수는 곧 ‘나는 왜 이렇게 꼼꼼하지 못할까’ 하는 생각으로 이어졌다. 나 스스로 나 자신에 대한 신뢰를 갉아먹었다. 코드 리뷰가 모자란 탓에 무엇이 옳고 무엇을 고쳐야 하는지 가늠할 기준도 부족했다. 내 코드는 시니어의 확인 없이 메인 브랜치에 머지되었다. 이게 정말 잘 짠 코드인지, 아니면 나중에 장애를 일으킬 시한폭탄인지 알 길조차 없었다.

 

동료들은 다들 제 몫을 해내는데, 나만 뒤처지는 느낌이 들었다. 여전히 코드베이스를 온전히 이해하지도 못한 채 매번 새로운 장애물에 부딪히며 시행착오를 반복했다. 같은 시간을 사무실에서 보내도 성과의 체감이 달랐고, 그 간극이 곧 자존감의 균열로 이어졌다. ‘나는 왜 이렇게 못하지?’, ‘혹시 나를 뽑은 건 잘못이 아닐까?’ 하는 자책이 퇴근길 지하철 내내 머릿속을 맴돌았다.

 

새로운 기술을 이해했을 때의 짜릿한 성취감은 이내 사소한 실수와 ‘저 사람은 저렇게 잘하는데’ 라는 비교에 덮였다. 잠시 찾아온 기쁨은 무너지며 자신감이 곤두박질치기를 되풀이했다.

 

내가 겪는 이 격렬한 감정의 롤러코스터, 정말 나만 이렇게 힘든 걸까?

 

 

작아지는 나

한번은 특정 API에서 자꾸 타임아웃이 나는 문제가 생겼다. 도무지 원인을 알 수 없어 3시간을 헤맨 끝에 “다 같이 봐주실 수 있나요?”라고 도움을 요청했다. 그러자 팀원 모두가 내 모니터 뒤에 모여 머리를 맞대고 디버깅을 시작했다. 분주하게 키보드를 두드리는 소리와 마우스 클릭 소리만이 사무실을 채웠다. 한참 동안 로그를 뒤지고 시스템을 헤집던 중, 팀장님이 무심히 물었다. “그런데 여기 쿼리, 왜 이렇게 짜신 거예요?”

 

그 순간, 머리가 새하얘졌다. 그 쿼리문은 내가 로컬에서 테스트하며 수만 건의 데이터를 조인하던 비효율적인 문장을 그대로 커밋한 것이었다. 모두의 시간을, 그것도 바쁜 동료들의 소중한 시간을 나 하나의 어이없는 실수로 낭비시켰다는 자책감과 민망함에 얼굴이 불타올랐다. 그 자리에서 사라지고 싶다는 생각뿐이었다.

 

이런 크고 작은 실수가 이어질수록 점점 말수가 줄었다. 어제 분명히 배운 내용인데 오늘 다시 마주했을 때는 머리가 비었다. “어제 설명해 주시긴 했는데, 다시 물어봐도 될까요?”라는 말이 목구멍까지 차올랐지만 도저히 뱉을 수 없었다. 간단한 API 명세서를 읽는 것조차 버거워졌다. ‘분명 한글로 적혀 있는데 왜 이해가 안 되지?’ 싶었고, 스스로가 한심하게만 느껴졌다.

 

갈수록 간단한 질문을 하기도, 작은 의견을 꺼내기도 어려워졌다. ‘이 정도는 스스로 해결해야 하는 거 아닐까?’, ‘이렇게 사소한 걸 물어보면 바쁜 사람을 방해하는 거겠지?’라는 생각이 나를 더욱 조용하고 소극적인 사람으로 만들었다. ‘A 서비스와 B 서비스의 차이가 뭐죠? 둘 다 비슷한 일을 하는 것 같은데….’ 같은 꼭 필요한 질문도 ‘이건 당연히 알아야 하는 거 아닐까?’ 싶어 차마 물을 수 없었다. 사내 메신저 창에 무언가 썼다 지우기를 수십 번 반복하다 결국 창을 닫아버린 날도 많았다.

 

무엇보다 나를 힘들게 한 건, 보이지 않는 ‘비교’였다. 동기나 주변 동료들은 아무렇지 않게 척척 새로운 기능을 구현해내는 것 같은데, 나만 제자리에 멈춰 있는 기분이었다. 그들이 가볍게 해내는 일이 내게는 거대한 산처럼 느껴졌다. 내가 하루 종일 씨름하며 겨우 원인을 찾은 문제를, 동료는 모니터를 쓱 보더니 1시간 만에 해결하고 커피를 마시러 가는 모습을 볼 때면, 재능 자체를 의심할 수밖에 없었다.

 

내 자존감은 그렇게 매일 조금씩 깎여나가며, 무너지고 있었다.

 

 

위로의 단서와 작은 빛

답답한 시기에도 작은 빛은 있었다. 어느 날, SQL에서 row에 번호를 매기는 방법을 몰라 한참을 헤매게 되었다. 게시글을 등록일자 최신순으로 정렬하고 그 데이터에 역순으로 번호를 매겨야 했지만, 나는 row_number() 함수를 써본 적이 없었다. OVER() 안에 PARTITION BY를 써야 하는 것인지, ORDER BY의 순서는 어떻게 해야 하는지조차 헷갈렸다. 문법 자체가 너무 생소했다. ChatGPT에 물어봐도 내가 원하는 결과는 나오지 않았고, 조금씩 더 답답해지고만 있었다.

 

그때 옆자리 동료가 다가와 내 화면을 살펴보더니 말했다.

 

“row_number() 헷갈리죠? 저도 자주 틀려요. 처음 보면 좀 그렇죠.”

 

그는 옆에 앉아 천천히 개념부터 정리해 주며 함께 쿼리를 다듬어 주었다. “이건 데이터를 그룹으로 묶는 거고, 이건 그 그룹 내에서 순서를 매기는 거예요. 지금 원하는 건 전체 데이터에 순서를 매긴 다음, 그걸 역순으로 보는 거죠? 그럼 단순하게 외부 ORDER BY를 조정하면 됩니다.”

 

그제야 뒤엉켜 있던 생각들이 정리되며, 마음 한편에 ‘나도 할 수 있겠다’는 자신감이 천천히 스며들었다.

 

사실 그 역시 row_number()를 헷갈려 한다는 말이 전부 진심은 아닐지도 모른다. 이렇게 간단한 걸 다들 헷갈려 한다면, 이 팀이 어떻게 굴러가겠는가. 하지만 그는 나를 위로하고, 내 민망함을 덜어주기 위해 그렇게 말했다. 그 말 한마디가 의외로 큰 힘이 되었다. ‘나만 모르는 게 아니구나’ 하는 안도감이 들었다. 이어진 기술적인 도움보다 ‘괜찮다, 그럴 수 있다’는 공감의 말이 더 큰 위로로 와닿았다. 나 스스로 다시 무언가를 해낼 수 있다는 감각이 돌아왔다. 얼어붙었던 뇌가 다시 움직이기 시작하는 느낌이었다.

 

그 작은 순간부터, 나는 남과 비교하며 스스로를 깎아내리던 내 시선을 천천히 바꾸어 놓았다. 물론 문제를 해결한 건 동료의 도움 덕분이었지만, 그 순간도 나는 분명 한 발짝 성장하고 있었다. ‘이제 row_number()는 확실히 알게 됐잖아.’ 이 말이 중요했다. 완벽하지 않아도, 도움을 받았어도, 나 역시 해낼 수 있으니까.

 

 

내가 만든 회복 루틴

이 작은 단서를 놓치고 싶지 않았다. 그때까지 동료들의 속도나 완성도를 보며 스스로를 평가했지만, 그런 비교는 언제나 나를 초라하게만 만들었다. 어차피 그들은 나보다 몇 년이나 많은 경험과 맥락을 가지고 있지 않은가? 애초에 공정한 비교가 아니었다. 그래서 이제는 방향을 바꾸기로 했다. 타인과의 비교 대신, 나 자신과의 비교에 집중하기로 한 것이다. 어제의 나는 오늘의 나와 비교할 가장 공정한 비교 대상이다. 같은 배경지식을 가졌고, 같은 어려움을 겪었으니까. 그렇게 남보다 잘하지 못한 순간을 떠올리기보다는, 어제보다 한 걸음이라도 나아간 부분을 찾아보기로 했다. 잘하지 못한 것보다 해낸 것에 집중하는 태도, 그것이 내가 다시 중심을 잡으려 시도한 첫 방법이었다.

 

매일 퇴근 전이면 10분씩, 사소해도 좋으니 그날의 성취를 기록했다. “로그인 프로세스를 개선해 인터셉터로 핵심 로직을 분리했다.”, “어제는 몰랐던 에러 원인을 파악했다.” 같은 문장들이 노트에 쌓여갔다. 그것들은 내가 멈춰선 것이 아니라, 비록 속도는 느릴지언정 조금씩 나아가고 있음을 보여주는 명백한 증거였다.

 

물론 이 새로운 루틴 하나가 모든 것을 해결해 주진 않았다. 또다시 실수를 저질러 자책감이 몰려오는 날도 있었다. ‘난 왜 맨날 이 모양이지?’ 하는 생각은 불쑥불쑥 치고 올라왔다. 그런 날이면 나는 습관처럼 그 노트를 펼쳤다. 작은 성취의 기록들을 읽다 보면, ‘그래도 나는 어제보다 나아지고 있구나. 오늘도 이 실수로 분명 무언가를 배웠을 거야.’라며 다시 일어설 힘을 얻곤 했다. 그 기록은 넘어져도 괜찮다는 나만의 안전망이자, ‘회복 탄력성’ 장치가 되어 주었다. 넘어진 자리에서 주저앉아 우는 대신, 무릎을 털고 다시 일어나는 법을 배운 것이다.

 

그렇게 자존감의 기준을 남의 시선이 아닌 스스로에게 돌리며, 나는 서서히 안정감을 되찾아갔다. 남보다 느려도, 꾸준히 나아가고 있다면 그걸로 충분했다. 실수 없는 완벽한 날보다 용기 내어 질문한 하루를, 어제 몰랐던 것을 새로 알게 된 하루를, 더 값지게 여기게 되었다.

 

 

다시 용기를 내다

이런 내면의 변화는 자연스럽게 행동의 변화로도 이어졌다. ‘작아지는 나’는 더 이상 없었다.

 

가장 큰 변화는 ‘질문’을 대하는 태도였다. 사내 메신저에 질문을 썼다 지우기를 반복하던 나는, 그러한 질문들을 ‘무능’이라 여겼다. 묻는 순간, 나의 밑천이 드러난다고 믿었기 때문이다. 하지만 이제 내게 질문은 문제 해결을 위한 가장 효율적인 도구이자 성장을 위한 지름길이다. ‘이런 것도 몰라?’라는 남의 시선보다 ‘이 문제를 해결하고 오늘 성취 목록에 적겠다’는 나의 목표가 더 중요해졌다. 모르는 것을 인정하는 용기가, 모르면서 아는 척 넘어가는 자존심보다 훨씬 더 프로페셔널한 태도라는 점 역시 깨달았다.

 

막막하게 느껴지던 API 명세서도 이제는 다르게 대한다. “A, B까지는 이해했는데 C의 구현 의도가 명확하지 않아요. 혹시 이 부분 함께 봐주실 수 있나요? 제가 이해한 바로는 이렇습니다만…” 이제 나는 이렇게 구체적으로 도움을 요청한다.

 

‘1시간 만에 문제를 해결하던 동료’를 바라보는 시선도 달라졌다. 얼마 전, 또 다른 동료가 내가 반나절을 붙잡고 있던 문제를 금세 해결하는 모습을 보았다. 예전의 나라면 ‘역시 난 안 돼’라며 좌절했겠지만, 이번엔 달랐다. 나는 그에게 다가가 “어떻게 그렇게 빨리 원인을 찾으셨어요? 어떤 순서로 디버깅하셨는지 배울 수 있을까요?”라고 물었다. 그는 흔쾌히 “아, 이건 로그를 뒤에서부터 보면 빨라요.” 혹은 “이런 문제는 보통 네트워크 탭부터 확인해요.”라며 자신의 노하우를 공유해주었다. 비교를 포기하자 배움을 얻은 것이다. 그들의 노하우는 내가 시간을 며칠 더 쓴다고 해서 혼자 깨우칠 수 있는 게 아니었다. 배움의 대상이지, 좌절의 이유가 아니었다.

 

실수 역시 이제는 ‘자책’ 대상이 아닌 ‘데이터’다. 최근 배포 과정에서 또 사소한 실수를 했다. 얼굴만 화끈거리고 앉아있는 대신, 침착하게 롤백하고 원인을 분석했다. 실수를 한 나를 비난하는 대신, 실수를 그대로 넘긴 프로세스를 살폈다. 데이터는 무엇보다 객관적이다. 그렇게 ‘내가 멍청해서’가 아니라 ‘배포 전 체크리스트에 이 항목이 빠져 있었기 때문’이라는 명확한 원인을 도출할 수 있었다. 그날의 성취 기록에는 이렇게 적었다. ‘배포 실수의 원인을 파악하고 롤백 프로세스를 익혔다. 다음엔 체크리스트를 만들자.’ 실수를 더 이상 나의 존재 가치를 깎아내리는 실패가 아니라, 성장을 위한 명확한 기록이자 시스템을 개선할 데이터로 삼았다.

 

 

코드도, 나도 리팩토링이 필요하다

이제 나는 남의 속도를 좇는 대신, 나 자신의 보폭에 맞춰 걸어가고 있다. 타인과 비교하며 스스로를 채찍질하던 시절엔 불안이 컸지만, 지금은 작은 성취를 발견하고 스스로를 다독일 줄 아는 여유가 생겼다. 그 변화는 단순히 마음가짐의 차이를 넘어, 일하는 태도와 삶의 리듬까지 바꾸어 놓았다. 더는 실수 앞에서 조급해하지 않고, 성장을 ‘경쟁’이 아닌 ‘과정’으로 바라본다.

 

우리는 코드를 리팩토링한다. 어제보다 더 나은 구조를 위해, 더 높은 효율을 위해 코드를 다듬는다. 당장은 기능 추가가 늦어지는 것 같아도, 장기적으로는 그것이 더 빠른 길임을 알기 때문이다. 그것은 곧 기술 부채를 갚아나가는 일이다.

 

그 노력의 절반만이라도 우리 자신을 돌보는 데 쓸 수 있다면 좋겠다. 실수했다고 자책하며 스스로 몰아붙이는 것은 ‘감정 부채’를 쌓는 일이다. 그 부채가 쌓이면 결국 번아웃이 찾아온다. 자신을 다독이고, 실수에서 배우고, 작은 성장을 축하해주며 그 부채를 갚아나가는 셀프 리팩토링을 해보자.

 

이 글을 읽는 모두에게 말하고 싶다. 우리 모두는 각자의 속도로 성장하고 있다. 때로는 남보다 느려 보일 수도, 스스로 부족하다고 느껴질 수도 있다. 하지만 중요한 건 속도가 아니라 방향이다. 남의 발자국을 쫓기보다, 어제의 나보다 조금 더 나아간 오늘의 나를 바라보길 바란다. 그것이야말로 지치지 않고 오래 달릴 힘이 되어줄 것이다.

 

그러니 오늘은 속도를 조금 줄여도 괜찮다. 우리가 매일 들여다보는 코드만큼, 아니 그보다 더, 나 자신을 잘 살피고 다독이며 걸어가자. 완벽한 코드는 없듯이, 완벽한 개발자도 없다. 그저 매일 조금씩 더 나아지는 과정 속에 있을 뿐이다.

 

©️요즘IT의 모든 콘텐츠는 저작권법의 보호를 받는 바, 무단 전재와 복사, 배포 등을 금합니다.