번아웃에 대하여

Jun 25, 2022

Network Image

    I'm stuck in a rut, wanting to better my skills and earn a good amount of money but unable to concentrate, riddled with brain fog, and unsure of my future.

    저는 제 프로그래밍 스킬이 발전하고 더 많은 돈을 벌기를 원하지만 미래에 대한 불확실함과 불안함에 휩싸여서 일에 전혀 집중할 수 없습니다. 아무것도 하지 못하는 상태에 빠졌습니다.

    개발자들에게 유용한 소식이나 서로 질문을 하는 개발자 커뮤니티인 HackerNews를 보던 중, Ask HN: Burnt-out, directionless but want to turn it around의 제목을 가진 글이 눈에 들어왔습니다. Ask HN:는 다른 개발자에게 질문을 던질 때 붙이는 머릿말이며, 프로그래밍 과정에서의 궁금함, 도움이 되었던 책 등을 물어보곤 합니다. 해당 글이 일전에 겪었던 제 상황과 비슷한 점이 있고, 댓글에서 다른 개발자분들이 해줬던 얘기들을 기록하고 싶어서 블로그에 번역하여 옮기게 되었습니다. 본 글의 원문을 보려면 여기로 들어가면 됩니다.

    영어 실력의 한계로 핵심 내용 위주로 번역해서 옮겼습니다. :)

    <<<<< HackerNews 원 글(글쓴이: RoseBuckler)

    저는 16살 때부터 지금까지 프로그래밍을 해왔습니다. 불행하게도 저는 뛰어난 개발자(rockstar programmer)는 아니었습니다. 저는 프로그램을 만들기 위해 다양한 소스에서 있는 코드들을 짜깁기 했고, 제가 스스로 바닥부터 코드를 짜서 솔루션을 만들어내는 일은 하지 못했습니다. 많은 아이디어를 떠올리긴 했지만 온갖 이유를 대며 실행하지 않거나 실행해도 제대로 완수한 적이 없습니다.

    저는 28살에 이르기까지 스타트업에서 4년 정도의 시간동안 풀스택 개발자로 일하며 이미 저의 10대와 20대를 낭비해왔습니다. 저는 루저의 기분을 느끼며 굉장히 작은 스타트업에서 모바일과 웹 플랫폼을 혼자 개발하는 개발자임에도 불구하고 커리어적으로 충분히 잘하고 있지 못하다고 느낍니다. 저는 한 주동안 70 - 90시간을 일하고, 매일 24시간동안 연락 대기 상태입니다. 때때로 몇 달동안 하루도 쉬지 않고 일하지만 월급은 주 40시간을 기준으로 매겨집니다. 내 월급은 그리 늘지 않았습니다. 제 연차에 비해 굉장히 적은 돈을 받고 있다고 생각하지만 시장에서의 나의 가치를 정하는 일에 굉장한 어려움을 겪고 있습니다. 저는 열심히 일하는 것이 언젠가 돌아올 것이라 여겼지만 한번도 그랬던 적은 없었던 것 같습니다. 저는 제가 "그저 열심히 일하는 것이 아니라 똑똑하게 일해라."의 정확히 반대로 일하고 있다고 생각합니다. 저는 데이터 구조와 알고리즘을 배우며 제 실력을 높이려고 했지만 문제를 풀지 못하는 나 자신을 볼 때마다 더 큰 루저로 느끼게 되었습니다.

    저는 제 프로그래밍 스킬이 발전하고 더 많은 돈을 벌기를 원하지만 미래에 대한 불확실함과 불안함에 휩싸여서 일에 전혀 집중할 수 없습니다. 아무것도 하지 못하는 상태에 빠졌습니다. 제 자존감과 자기 효능감은 바닥이며, 네트워킹이 최악이라 조언을 구할 다른 개발자들을 알지 못합니다. 그래서 HackerNews에 묻습니다. 여기가 이런 질문을 하기에 적절치 않은 장소라면 사과드립니다.

    어떻게 하면 방향을 잃은 제 삶을 바꾸고 제 커리어의 만족감을 찾을 수 있을까요?

    =========

    소규모 팀의 모바일 플랫폼과 웹 플랫폼을 홀로 담당하고 있는 개발자지만 커리어에 대해 충분히 잘하지 못하고 있다고 여긴다. 라는 문장에서 제 상황과 비슷하다고 느꼈습니다. 저 역시 개발 역량이 뛰어나지 않다고 생각하고 있으며, 더 높은 개발 능력과 보상을 원하지만 실력을 느끼기 위해서는 어떻게 해야할지, 시장에서의 제 가치는 어떻게 되는지 매기는 것에 큰 어려움을 겪고 있었습니다. 원 글쓴이와 저와의 차이라면 해당 글쓴이는 16살 때부터 지금(28살)에 이르기까지 꽤 오랜 시간을 일을 해왔다는 것이고, 저는 그에 반해 아직 1년 반의 경험밖에 가지고 있지 않다는 것인데, 이를 보며 제가 단지 적은 연차라 불안함과 방향을 잃은 듯한 느낌을 가지고 있는게 아니라는 것을 확인시켜줬습니다.

    해당 글에 많은 개발자들이 댓글을 달아주었는데, 총 499개의 댓글 중 기록할만한 것들을 가져와보았습니다.

    >>>>> 내 생각

    1. 일단 쉬세요. 한 달이나 여러 달동안.(이를 감당할 수 있는 재정 상태가 있을 때요.) 코딩을 제외한 다른 것들을 해보세요. 취미 생활이나, 여행, 봉사활동 등등... 아무도 이력서에서의 한 달이나 두 달 정도의 공백은 신경쓰지 않습니다.

    2. 당신은 당신이 생각하는 것보다 훨씬 가치 있습니다. 이 말을 내면화하세요. 이 말을 알고 있으세요. 이게 핵심입니다. 소규모 팀의 모바일 플랫폼과 웹 플랫폼을 홀로 담당하고 있는 개발자 -> 해당 능력은 그것 자체로 모두가 원하는 능력입니다.

    3. 한 주에 80시간씩 일하는 것을 그만 두세요. 주말에 일하는 것도요. 당신이 하는게 보상이 없거나 적다고 느껴질 때 번아웃이 찾아옵니다.

    4. 너의 시간을 일보다 우선하는 일에 투자해보세요. 일하는 시간을 만드는 것을 어렵게 만드세요. 이건 당신이 80시간동안 일하는 것을 막아줄 것이고, 일과 관련된 실행하는 것, 마무리하는 것만이 머릿속에서 우선적으로 여겨지는 상황을 막아줄 것입니다.

    5. 네트워킹이 핵심이에요. 나도 네트워킹이 어려워서 좋은 조언을 해줄 수 있는지는 모르겠지만 2년마다 일을 바꾸면서 동료들에게 친근하고 도움이 되는 사람이 되면, 그 동료들이 당신의 네트워크가 되줄겁니다.

    p.s. 저는 6살부터 36살까지 코딩 중이지만 비슷한 감정을 느끼고 있어요!


    1. 당신은 능력이 부족한 것이 아닙니다. 만약 그랬더라면 웹과 모바일 플랫폼에서 생기는 문제들을 처리하지 못했을거에요.

    2. 내가 놀랐던 것은 번아웃에 관련된 것들이 대부분 신체적 증상이라는 것입니다. 그걸 명심하세요. 계속 지금 하고 있는 일을 반복한다면 번아웃은 심해지기만 할 것입니다.

    3. 그 환경에 계속 있으면 좋아지지 않을 것이 자명합니다. 뛰어난 개발자(rockstar developer)는 신화에요. 하지만 뛰어난 팀(band)는 있을 수 있습니다. 다른 재능있는 사람들과 연습한다면 더 나아질 것입니다.

    4. 당신도 알고 있겠지만, 당신은 이용당하고 있습니다.(호구 잡혔습니다.)

    그러니...

    1. 모든 사람이 쉬는 것이 옳다고 말합니다. 밖으로 나가서 나무를 보세요, 조용한 곳에 가서 책을 읽고 휴대폰을 꺼놓으세요. 이걸 위해 병가를 내야한다면 내세요. 익숙하지 않을 수는 있지만 과로한 당신의 두뇌에 안정감을 줄 것입니다.

    2. 리크루터들에게 연락하세요. 당신이 가지고 있는 어떤 네트워크라도 좋으니 연락하세요. 당신이 할 이야기는 명확합니다. 4명 남짓되는 팀에서 모든 시스템을 홀로 관리하고 있었고, 더이상 어떠한 도움도 바랄 수 없다고요. 당신은 서로에게 배울 수 있는 팀을 찾는 것이 필요합니다.

    3. 만약 가능하다면 이직하기까지의 공백에 쉬는 시간을 가지며 자신을 돌보세요.

    행운을 빕니다!


    (위 댓글의) 3번에 동의합니다. 당신이 존중할 수 있는 팀의 멤버가 되는 것은 도움이 됩니다. 당신이 너의 일상의 업무들을 나누고 필요할 때 도움을 청할 수 있는 팀원을 가지고 있는 것을 인지하고 있다는 사실은 번아웃에 큰 도움이 될 것입니다. 그들이 당신에게 똑같은 것을 할 수 있다는 사실이 더 강력한 경험을 만들어줄 것입니다.

    당신은 기술적 탁월함이 아닌 사람(네트워킹)을 향상시켜야 합니다. 전자(기술적 탁월함)는 너를 지지해주는 환경에서 자연히 따라오는 것입니다.

    다른 사람이 제안했듯 시간을 두고 쉬는 시간을 가지세요. 그리고 당신이 마음에 들어할만한 팀으로 이동하세요.

    쉬는 동안, 정신 건강이 오히려 안좋아질 수도 있습니다. 왜냐하면 너의 생각과 감정으로부터 더이상 숨지 못할테니까요.(일하면서 이를 피하지 못한다는 뜻) 이런 증상은 간단하고 달성할 수 있는 매일의 목표들(목적이 대단하지 않고 새로운 기술을 배우는 것과 같은 너무 크지 않은 일)을 하나씩 새우면서 좋아질 것입니다. 해변을 매일 간다거나 10분간 명상을 하는 것처럼 말이죠.(명상을 배우려거나 '올바르게' 하려 하지말고 그저 행동을 즐기세요!)

    당신에게 친절해지세요. 너의 삶은 이기기 위한 레이스가 아닙니다. 그것보다는 험난한 숲속을 야영하는 것과 비슷할 것 같습니다.


    당신이 가진 문제:

    큰 범위의 문제들:

    • 좁은 시야
    • 세상에 있는 다른 경험들이 어떤지에 대한 제한된 배움
    • 너가 하고 있는 일에 대한 이익에 대한 깊지 않은 믿음
    • 많은 돈으로 보상받지만 적은 의미
    • 사명과 일의 불일치, 함께 불행한 동료들과의 사회적 불일치

    똑똑하게 일하지 못한다는 것에 대한 좁은 범위의 문제들:

    • 내가 발견한 트릭: 당신의 코드 중 일부가 실패할 때, 당신은 스스로 아래와 같은 것을 반드시 신경써야 합니다. a) 그 케이스를 위한 유닛 테스트를 꼭 짜세요. b) 유닛테스트를 통과하게 만드세요. 이건 당신이 미래에 흘릴 땀과 눈물, 사용될 시간을 엄청나게 줄여줄 것입니다.
    • 당신이 반복적인 일을 하느라 쓸모없이 낭비했던 정신적 에너지를 좋은 도구들을 통해 해결하세요. - 저는 jetbrain의 refactoring tool을 이용했어요!
    • 꾸준히 코드를 리펙토링하는 것은 정말로 중요한 일입니다. 그냥 엄청난 양의 코드 블락을 복사하고 붙여넣는 것이 아니라 조금이라도 다르게 짜려고 노력해보세요. 공통된 부분을 따로 빼거나 문제에 대한 실제 해결책에 대한 더 좋은 이론을 세우려 하는 것처럼 말이에요.

    솔직히 저는 이제 더이상 아래의 원칙없이 코드를 짜는데 필요한 정신적 에너지가 얼마였는지 기억나지 않아요.

    1. red-green unit testing

    2. IDE refactoring tools

    3. imperative to refactor

    이 원칙들은 당신 머릿속의 짐을 훨씬 줄여줄거에요! 빠르게 일하는 것이 재밌고, 동시에 당신의 코드에 자신감이 있을거에요.


    이미 좋은 조언들이 많네요. 휴식을 취하는 것이 정말 중요하고, 일하는 시간을 줄이고 정신적인 치료를 받으세요. 번아웃은 정말 심각한 일입니다.

    당신의 글을 읽으니, 당신이 '아직 충분히 능력 있지 않다는 느낌'과 '그렇지만 많은 연봉을 받고 싶다' 사이에서 괴리감에 빠진 것으로 보여요.

    아마도 당신은 연봉이 2억-5억 정도가 되지 않는 개발자겠지만, 너는 충분히 경쟁력 있는 개발자에요. 지금 스타트업에서 필요한 스택을 관리하고 있고, 편안한 삶을 살만큼은 벌고 있잖아요. 당신이 원하는 연봉은 얼마인가요? 얼마가 돼야 '많은 연봉'인가요?

    당신이 당신을 정말로 기쁘게 만들어주는 것에 대해 생각했을 때, 얼마의 연봉이 충분한가요?

    아마도 당신이 행복해지기 위해 엄청난 연봉이 필요하지 않다는 것을 깨달았을 때 (당신이 생각한) '충분한 연봉'과 '많은 돈'의 차이는 위에서 느낀 괴리감을 줄여줄 것입니다.

    블로그 글을 쓰면서 해당 글에 대한 댓글을 다시 한 번 보면서 다음과 같은 인사이트를 얻을 수 있었습니다.

    1. 많은 개발자들이 본 글과 같은 경험을 했습니다.

    2. 번아웃이 왔을 때 일단 제일 중요한 것은 일에서 손을 떼고 온전히 뇌에게 휴식을 주는 것이 중요합니다.

    3. 과도하게 일하는 것은 오히려 효율을 떨어뜨리고 번아웃을 가속화합니다.

    4. 성장하기 위해 좋은 팀을 만나는 것이 정말 중요합니다.

    5. 위에서 개발자 역량을 위해(똑똑하게 개발하기 위해) 도움이 될 조언도 적혀있었지만, 대부분의 댓글들은 너는 충분히 잘하고 있고 쉬면서 객관적으로 자신을 돌아보는 것이 중요하다고 얘기합니다. 네트워킹과 이직 시도를 먼저 해보고 그를 통해서 부족한 점을 충분히 보충할 수 있다고 생각했습니다.

    6. 저는 특히 리팩토링과 테스트 코드에 대한 얘기가 공감이 갔습니다. 머리로는 알고 있지만 잘 시도하지 않았는데 이후의 시간을 훨씬 줄이기 위해 꼭 명심해야겠습니다.

    업무적 환경은 본 글의 글쓴이와 비슷했지만 같이 일하고 있는 팀원분들은 완전히 다르게 힘들 때마다 항상 지지를 보내주시고, 여러 방면으로 배울 것이 많은 분들이라 정말 행복하다는 생각이 다시 듭니다. :) 번아웃이 왔을 때 빠르게 무너지지 않은 이유도 그곳에 있는 것 같습니다.

    블로그 개설기를 쓰고 있었지만, 해당 내용에 대한 글을 꼭 쓰고 싶어서 중간에 작성했습니다. 비슷한 문제를 겪고 있는 다른 분들에게 꼭 도움이 됐길 바라며, 더 많은 댓글들을 보고 싶다면 원글 링크로 들어가보셔도 좋을 것 같습니다.

    읽어주셔서 감사합니다!