본문 바로가기

개발새발 일기

[2020년 회고] 테스 형, 올해 인생이 왜 이래?

오랫동안 블로그에 들어오지 못했다. 회사에서 여러 일로 절망에 빠져있었고 스스로 생각이 정리될 때까지 충동적이고 감정적으로 글을 남기고 싶지 않았다. 그건 순간적인 감정 토로일 뿐, 아무 해결책도 되지 않기 때문이다. 글을 쓰면서 북받쳐 괜한 자기 연민에 빠지고 싶지도 않았다. 중요한 건 부족한 점을 깨닫고 이겨내는 것이니까.

다행히 좋은 지인들 덕분에 조금씩 길을 찾고 있고, 올해 회고를 쓰며 그 내용을 공유해보려고 한다.

1. 회사 생활

1-1. 무슨 일이 있었나

생각해보니 1년이라는 시간 동안 퇴사 - 이직 - 휴직 - 복직 이라는 다이나믹한 사건이 연달아 있었다.

 

퇴사

맞지 않는 업무, 적응하기 힘든 사내 문화로 2년 만에 퇴사를 했다. 막 대리급으로 승진한 시기였고 그만큼 포기해야 할 것이 많았지만 후회 없는 선택이었다. 자세한 내용은 아래 링크에 있다.

 

대기업에서 스타트업으로 이직하면 행복할까

 

이직

우연히 유명 스타트업에 입사했다. 능력 있고 좋은 동료를 만났으니 이제 올라갈 일만 남았다고 생각했는데 아니었다. 매일이 고난의 연속이었다. 개발 경험이라곤 2개월 토이 프로젝트가 전부였던 나는, 실제 프로덕트 단에서 필요한 스킬은 물론이고 기초적인 내용조차 알지 못해 동료들을 당혹게 했다.

 

'개발에 재능이 없다', '실력이 없다' 며 부정적인 피드백을 많이 받았다. 사실 이런 피드백은 사실이니 겸허히 받아들일 수 있다. 실제로 날 힘들게 했던 건 못한다는 이유로 상대가 던지는 감정적인 말이었다. 그런 말을 했던 동료들은 다른 사람들이 우러러볼 만큼 실력적으로나 인격적으로나 평가가 좋았다. 그럼에도 불구하고 나와 일을 할 땐 무척 답답해하고 짜증을 노골적으로 표출했다. 내가 얼마나 부족하면 그럴까 싶어 몇 개월 동안 자책하고, 울고, 스스로에 대한 분노에 잠 못 이루었다.

 

 

정규직 전환 평가 마지막 달, 모든 자신감이 없어져 전환에 대한 기대감이 1도 없었기에 조용히 회사를 떠날 준비를 했다. 운이 좋아 내 처지에 맞지 않는 좋은 환경에 너무 일찍 와버렸고, 현실을 깨달았으니 다시 처음부터 차근차근 공부해 취업 준비를 할 생각이었다.

 

그런데 한 동료가 날 측은히(?) 여겼는지 붙잡고 새로운 프로젝트를 함께 해보자 했다. 이걸 잘 해내면 전환 가능성이 올라가지 않겠냐며. 그 친구는 거의 멱살을 붙잡고 끌고 가다시피 나를 보살폈고(!) 덕분에 많은 것을 배웠다.

 

우여곡절 끝에 결국 나는 정규직 전환이 되었다.

 

휴직

허나 정규직이 됐다고 다가 아니었다. 여전히 내 실력은 지지부진했다. 잘 해내고 싶은 마음에 침낭까지 싸 들고 와 집에 가지 않고 새벽까지 야근을 했다. 하지만 생각보다 큰 변화는 없었다. 여전히 모르는 게 많았고 자신감은 없었다. 분노와 걱정을 오락가락하느라 불면증도 찾아왔다.

 

육체적, 정신적으로 몸을 혹사시킨 탓인지 이상 신호가 찾아왔다. 견딜 수 없는 피로감은 기본이고 누군가에게 흠씬 얻어맞은 듯이 온몸이 계속 아프고 두통과 이명이 잦았다. 위장 장애도 심해졌다. 병원에 가니 온갖 수치들이 정상인게 없었고 의사는 하루 빨리 일을 쉬라고 조언했다.

 

그렇게 부랴부랴 3주 휴직에 들어갔다.

코로나 시국이기도 하고, 어차피 아파서 나갈 힘도 없었으므로 3주 내내 집 안에만 있었다. 1주차 되니 온 몸이 얻어맞은듯 아픈 게 사라졌고, 2주차가 되니 두통이, 3주차엔 불면증이 없어졌다. 무슨 사이비 종교 치료 받은 것마냥 기적을 경험했다! 휴식이 이렇게나 영향이 크다.

 

몸이 나아지니 정신도 조금씩 맑아져 그동안의 회사 생활을 뒤돌아보게 되었다. 그제서야 좀 정리가 되었다. 내가 왜 계속 제자리걸음이었는지, 무엇을 잘못 해왔는지 말이다. 그 내용은 뒤에 자세히 써보겠다.

 

복직

오랜만에 출근하니 새로운 동료들이 많아졌다. 다들 멋지고 좋은 사람들이라 마음이 놓였다.

 

새로 맡은 프로젝트에서는 코틀린, 도커 같은 새로운 기술에 도전할 기회가 생겼다. 휴직하며 정리했던 시행착오를 반면교사 삼아 잘 해내고 싶다. 행여 생각보다 우당탕탕 하더라도 더 단단하게 버틸 수 있었으면 좋겠다.

 

1-2. 깨달은 것

클론이 내 실력이 될 것이라고 착각했다

지금까지 나는 인프런, 노마드 코더 등의 유명 강의를 들으며 강사가 치는 코드를 따라하는 식으로 공부했다. 따라한 코드가 잘 동작하면 다 이해한 것이라고 생각했다. 그때는 열심히 한 거라고 생각했는데, 지금 와서 생각해보면 그냥 하도 클론 코딩, 클론 코딩 하니까 맹목적으로 타자 치는 행위만 했을 뿐, 체화시키려는 노력은 하지 않았다.

 

스스로 실제 애플리케이션을 만들어보고, 처음 보는 에러에 골머리 앓으며 며칠을 고민해보면서 한계를 넘어봐야 비로소 성장으로 가는 진입점에 설 수 있다는 걸 이제야 깨달았다.

 

구글, 유튜브도 좋지만 책이 기본이다

개발하면서 막히는 부분이나 궁금한 점이 있으면 주로 구글링을 하거나 유튜브에 돌아다니는 짤막한 강의를 찾아봤다. 초보자 입장에서 컴퓨터공학 도서들은 지나치게 현학적이고, 복잡하고, 방대하고, 어렵게 느껴졌기 때문이다.

 

하지만 편협한 생각이었다. 인터넷에는 한 두줄로 설명된 개념을 책에서는 자세히 사례까지 들어 차근차근 설명하기 때문에 기초을 쌓기에 훨씬 좋았다.

 

최근 읽은 책은 코틀린 인 액션 객체 지향의 사실과 오해 다. 쪼렙이라면 책 두께와 이름에서 겁부터 나지만 막상 읽어보면 블로그에서 한 두 줄로 딱 정의만 내린 내용을 책 전체, 혹은 100페이지에 달하는 한 챕터 분량으로 기술하기 때문에 이해에 큰 도움이 된다. 그것도 출처 불분명한 블로거 대신 그 분야 최고 전문가가 말이다!

 

특히 프로그래밍 언어를 책으로 학습하는건 굉장히 딱딱하고 지루하다고 생각했는데 코틀린 인 액션은 그 선입견을 무참히 깨버렸다. 코틀린이 어떻게 동작하는지, 왜 사람들이 열광하는지 컴퓨터공학 이론과 엮어 배워나가니 훨씬 흥미로웠고, 해당 언어를 목적에 맞게 잘 활용하기 위해서 필수적으로 알아야 한다는 걸 깨달았다. 단순히 인터넷의 예제를 베껴 배우면 코더가 될 뿐이다.

 

책을 너무 꼼꼼히 읽으려 하지 말자

보통 프로그래밍 쪽 서적은 내용이 방대하기 때문에 한 줄 한 줄 다 기억하겠다고 꼼꼼히 읽으면 스스로가 지쳐버린다.

 

객체 지향의 사실과 오해 라는 책을 읽을 때의 일이다. 이 책은 비교적 얇고, 객체 지향을 앨리스 이야기에 빗대어 쉽게 풀어낸 책인데도 처음엔 첫 챕터도 완독하지 못하고 덮어버렸다. 객체가 뭔지, 메시지가 뭔지 하나하나 다 기억하려다 보니 과부하가 걸려서 생긴 일이었다.

 

 

두 번째로 도전했을 땐 그냥 소설 읽듯이 휘리릭 읽어버렸다. 그저 흐름만 파악하자 생각했다. 뒤로 갈 수록 개념이 반복해서 나오는 경우도 있고 마음을 편하게 먹어서 그런지 기억에 더 잘 남았다.

 

이 경험이 인상적이어서 다른 개발자들의 경험을 찾아봤는데, 그들도 일단 흐름만 파악하고 관련 서적을 2~3권 더 읽어서 필요한 내용을 보충해간다고 했다.

 

처음부터 완벽하려고 강박을 갖지 말자. 중요한 건 반복이다!

 

무작정 죽치고 있는게 답은 아니다

이전에도 말했듯 나는 정해진 업무를 완수하지 못하면 새벽까지 밤을 새서라도 계속 앉아 해결을 보려고 했고 그 결과로 몸과 마음이 망가졌다.

 

그런데 어느 날 술 자리에서 동료가 이런 말을 했다. 일이 안 된다고 계속 앉아있으면 아무것도 안된다고. 그 시간에 집에 가서 자기 공부를 하는 게 더 도움이 될 수 있다고.

 

당장에 시킨 일을 못하면 회사 일정에 차질이 생기는데 어떻게 그렇게 할 수 있지? 하며 갸우뚱 했는데, 휴직 기간동안 내 행동을 뒤돌아보니 동료의 말이 맞았던 것 같다.

 

적게는 3시간, 많게는 10시간까지 붙잡고 있던 그 추가 근무 시간동안, 내가 해결해낸 문제는 아무것도 없었다. 그저 문제가 안 풀린다고 머리를 쥐어 뜯으며 다크써클만 수집했을 뿐이다. 수능 공부처럼 엉덩이만 붙이고 있는다고 해결되는 종류가 아니기 때문이다.

 

그 시간에 JPA의 동작 원리가 뭔지, Jackson이 직렬화를 어떤 방식으로 풀어내는지 공부했다면 그때의 버그들은 쉽게 해결해냈을 것이다.

물론 이런 경우도 있었다(...) 이런 경우도 역시 붙잡고 있는다고 답은 아니더라. 한 숨 돌리고 나중에 다시 보면 바로 보인다.

1-3. 얻었던 것

정산, 결제 도메인 지식

  • 세금 계산서 발행, 간편 결제 API 연동 등을 작업하면서 생소한 단어를 많이 접했다. 아직도 어렵고 헷갈리는 것 투성이지만 돈 계산 못해서 모임에서 회계는 절대 맡지 않는 내가 이 분야를 한다는 것만으로도 큰 도전이었다(...)
  • 참 동아리에서 COO하면서 예산을 담당하긴 했지

 

코드짤 때 의외로 많은 걸 생각하며 짰구나

  • 다른 사람 코드 참고하면서 더듬더듬 겨우 완성했다고 생각했는데 최근 작업 과정에 대해 사내에서 회고할 일이 생겨 정리해봤더니 꽤나 많은 개념을 다뤘다는걸 알았다.
  • DDD, 클린 아키텍처, 캡슐화, TDD...새삼 다양한 내용이 혼합된 결과물이었다.
  • 개발을 맨 처음 시작했을 땐 이런 개념은 뜬구름 잡는 얘기고 당장에 돌아갈 코드를 짜는 게 우선이라 생각했다. 부끄럽다. 어렵더라도 꼭 다시 공부해야겠다.

 

2. 대외 활동 - 비사이드

https://www.bside.best/

 

비사이드

IT 사이드 프로젝트 & 교육 플랫폼

www.bside.best

사이드 프로젝트 플랫폼 비사이드 4기 활동을 했다. 유료이지만 발표를 성실히 수행하면 일정 금액의 지원금이 나와서 지속적인 참여를 위한 최소한의 장치라고 생각하면 좋을 것 같다.

 

우리 팀은 인터넷에서 스크랩하고 싶은 글을 저장해주는 애플리케이션을 만들었다.

 

2-1. 좋았던 것

  • 회사 코드를 참고해 비슷하게 구조를 짜갔는데 새롭고 깔끔하게 짠다는 긍정적인 평가를 받았다. 그렇게 좌절의 시간을 겪었으면서도 그래도 배운 게 있구나 싶어 기뻤다.
  • 혼자서 한 프로젝트라면 생각하지 못했을 복잡한 다대다 관계 구현에 도전할 수 있었다.
  • 이전에 활동했던 동아리 넥스터즈에서는 기획자가 없어 디자이너가 이 역할을 대신했는데, 비사이드엔 기획자가 있다보니 역할 분담이 잘 돼서 기획서, IA, QA 문서 등 기획 작업이 체계적으로 되는 것 같았다.

 

2-2. 아쉬웠던 것

  • 코로나 때문에 대부분 원격으로 진행한 것은 아쉽다. 사적으로 친해졌으면 작업할 때 커뮤니케이션이 쉽고 추억도 많이 만들었을텐데.

 

3. 기타

  • 나는 생각보다 훨씬 집순이었다. 코로나로 오랫동안 사람을 만나지 않아도 우울하지 않았다. 오히려 편했다.
  • 대신 살이 많이 쪘다. 매일 3시간씩 운동하다가 멈추니 10키로가 금방 늘었다.

 

4. 2021년에 하고 싶은 것들

  • 하루에 1시간은 꼭 자기 계발을 위한 시간을 갖는다.
    • 올해의 깨달음을 토대로 짱이 되기 위한 도전을 시작한다!
  • 알고리즘, CS, 인프라 지식을 공부하자.
    • 백엔드 개발자라면 특히 잘 알아둬야 하는 것 같다.
  • 바빠도 하루에 30분은 꼭 운동한다.
    • 더 이상 미룰 수 없다 나의 건강.
  • 내 몫을 스스로 해낼 수 있는 사람이 되자.

 

마지막으로 깊이 공감한 박세리 선수의 말을 공유하며 마무리 하겠다. 우리 모두 건강하게 오래오래 해먹자!