Contents

그런 개발자로 괜찮은가 - '취업' 편

 몇 달 전부터 좋은 기회가 생겨 이제 막 개발자의 길로 들어서는 분들과 다양한 색깔들로 이야기를 나누고 있다. 과거 필자가 막 취업을 했을 때의 온도와는 확연하게 다르지만 확실하게 이야기할 수 있는 건, 이미 개발자라는 직업으로 10년 가까이 지내보니 무엇이 중요하고 어떤 것들은 자신을 갉아먹는 존재라는 게 뻔히 보인다는 점이다. 하지만 그 어느 누구도 처음 시작점에서는 당연히 힘들어할 수밖에 없는데 그 과정을 무작정 싫어만 한다거나 그 힘듦을 못 견디고 포기 또는 잘못된 선택(일단 어디라도 붙으면 무조건 가자는 식의)을 하게 되는 점이 너무 안타깝다. 만약 어떠한 ‘공식’처럼 중요한 것만 바라보고 필요 없는 것들은 하지 않는 식으로 하면 개발자라는 직업을 갖는 직장인의 삶은 과연 행복할까? 아니 그게 가능하긴 할까?

 이런저런 과정을 거쳐서 취업에 성공했다고 가정해 보자. 과연 우리가 꿈꾸던 아름답고 멋진 개발자 라이프가 보장이 될까? (물론 사람마다 회사마다 다르지만) 야근은 밥 먹기 일쑤고 모르는 거 투성에 매번 실수하거나 혼나고 좌절의 연속. 드디어 취업했다!라는 외침이 온 데 간 데 사라지고 스트레스가 반복되어 결국 퇴사를 생각하거나 정신 차려보니 나도 모르게 CRUD (create, read, update, delete) 찍어내는 기계가 되어버리곤 한다. 무엇이 문제일까? 이런 생활을 기대하고 취업한 건 아닐 텐데 말이다.

/images/a-good-developer-in-terms-of-employment/news.jpg
개발자 전성시대, 이대로 좋은가
출처 : https://news.nate.com/view/20210226n37680

 이번 포스팅에서는 이제 막 ‘개발자’라는 직업을 가지려는 분들이나 직장인으로서 시작은 했는데 어떠한 이유로 지친다거나 매너리즘에 빠진 분들께 조금이나마 도움이 될까 하여 필자의 생각을 정리해 보고자 한다. 왜 본인이 수많은 직업 중에 하필 ‘개발자’를 선택했는지, 그리고 취업을 하고자 할 때 생각해 봐야 할 몇 가지들에 대해 이야기해보자.

왜 하필 ‘개발자’인가

 한국 고용정보원이 2020년 발간한 「한국 직업사전 통합본 제5판」에 따르면 2019년 12월 기준으로 우리나라 직업의 종류는 16,891개라고 한다. 산업이 발달됨에 따라 다양한 직업들이 생겨나기에 지금은 훨씬 더 많을 것으로 예상된다. 그런데, 이 수많은 직업들 중에 왜 하필 우리는 ‘개발자’라는 직업을 선택하려는 걸까? 관련 전공을 나와서? 요즘 인기 있는 직업이라서? 한 번쯤은 아니, 꼭 이런 생각을 며칠에서 몇 달 동안 깊게 고민해 봤으면 좋겠다. 왜 나는 개발자로써 살아가려 하는 것인지에 대해서 말이다.

 이력서 혹은 자기소개서에 ‘입사 포부’라는 문항이 자주 나타난다. 그곳에는 본인이 개발자가 되어야만 하는 이유에 대해 다양한 미사여구를 붙여가며 작성하기 마련인데 그렇게 ‘보여주기식’내용 말고 정말 내가 개발이 ‘재밌는지에’ 대해 반문을 해보는 과정이 필요하다. 개발을 하는 과정 속에서 나는 어느 상황에서 재미를 느끼는지. 새로운 기술을 배울 때, 몇 날 며칠 동안 삽질을 하다 해결을 했을 때, 내가 개발한 애플리케이션을 누군가 사용할 때 등등. 찾아보면 다양한 시점에서 우리는 개발을 하며 재미를 느낄 때가 있다.

 눈치를 챘을 수도 있지만 필자가 말하고 싶은 건, 개발자라는 직업을 선택하려면 개발이 재미있어야 된다는 말이다. 반문을 해보자. 그럼 만약에 개발이 재미없다면 어떨까? 개발자로써 살아갈 수 없는 것일까? 일반화하긴 싫지만 개발이 재미가 없으면 개발자로써 살아가기에 너무 힘들 것 같다. 검정 화면에 영어로 된 글자들을 만져가며 홀로 고독하게 자신과의 싸움을 하는 시간들의 연속일 텐데 재미라도 있지 않다면, 더군다나 그게 하루의 절반 이상을 할애하는 ‘직업’이라면 오래 유지하는데 힘들지 않을까?

/images/a-good-developer-in-terms-of-employment/ebs.jpeg
그래도 오늘이 몇일인지는 알고 하자.
출처 : https://bbs.ruliweb.com/community/board/300143/read/49006211

 당장 개발이 재미없어도 좋다. 태어날 때부터 개발이 재밌어서 돌잡이 때 기계식 키보드를 잡는 사람은 없듯 누구나 약간의 호기심에서 개발을 시작하기 마련인데 여기서 중요한 점은 개발의 재미를 본인만의 호흡으로 찾는 습관을 들여야 한다는 것이다. 예컨대, 필자는 회사에서 이런저런 이유로 개발이 재미 없어지거나 쳐다도 보기 싫을 상황이 생기면 무언가를 만들어 보거나(=토이 프로젝트) 모르는 부분이 생겼다면 깊게 파고 들어 어떻게든 해결하려고 노력하는 과정을 어딘가에 정리하며(=기술 블로그) 무너지지 않으려 개발의 재미를 유지하려 애써온 것 같다. 이 글을 읽고 있는 당신은 어떤 상황에서 개발의 재미를 느끼는가. 본인만의 호흡을 찾아서 개발이 재미있도록 습관을 길러보는 건 어떨까.

엄청난 삽질과 고통의 연속. 그래도 할 것인가

 예전에 한창 유행처럼 번졌던 ‘내가 생각하는 프로그래머의 삶.txt’ 이라는 내용을 잠깐 살펴보자.

판교 한복판 복층 오피스텔, 아침 9시 기상, 탄력근무제라 10시에 출근할 계획
잉글리스 토스트와 베이컨 & 서니사이드업 에그, 간단한 식사
전동 스쿠터를 타고 출근, 5분 만에 회사 도착
회사 카페에서 커피 한 잔 주문(직원은 무료)
커피를 마시며, 회사 내부망에 접속
2인 1조로 일하는데 1명은 유럽으로 휴가 중이라는 공지
새로운 이슈가 생겼는지 느낌표 알림을 클릭하니 버전 업된 환경이 구형 시스템과 새로운 충돌을 일으킨 모양, 간단히 3줄 고쳐주니 잘 돌아감.
회사 내부 시스템은 빌드부터 테스트, 최종 시스템에 로드까지 원클릭 전자동이라 단지 푸시 한 번만 해주면 끝.
어느덧 점심시간 회사 식당에서 유기농 식단으로 간단하게 식사한 후 정자역까지 산책
오후는 회사 업무와 상관없는 사이드 프로젝트 진행 이번에 회사에서 따로 개발 지원금을 받은 상태라 동료들과 열심히 개선 작업 중
오후 4시 퇴근, 헬스장으로 향해 운동
띠리링 폰. 월급이 입금되었다는 문자, ‘월 급여 9,879,800원'
집에 도착해 와인 한 잔과 함께 크롬 실행
‘프로그래밍 갤러리’ 접속
※ 출처 : 프로그래밍 갤러리

 위 내용이 100% 거짓이라는 말은 못 하겠지만 엄청난 슈퍼 개발자가 다니는 상위 0.0001%의 회사임에는 틀림없다. 다시 말하면 현실과는 너무 괴리감이 있다는 이야기. 위 내용을 필자의 생활에 대입을 해보자면,

어제 새벽까지 일을 해서인지 퉁퉁 부은 얼굴로 부스스하게 회사에 출근하고
김밥에 우유를 먹으며 쌓여있는 메일함을 읽다 보니 옆 팀원이 점심 먹으러 가자고 한다.
커피를 마실 여유조차 없이 자리에 앉아 버그와 싸움을 하고
점심에 먹었던 라멘 면발처럼 스파게티 코드들은 아프다며 tc fail의 연속이고
회의는 또 왜 이렇게 많은지 이제 좀 여유가 생기니 저녁 먹을 시간.
10분만 더, 5분만 더 하며 코드를 만지작거리다 정신 차려보니 사무실의 등대가 되어있는 내 자리.
지하철 막차를 타고 집으로 돌아와 한숨을 돌리고 침대에 누워보지만
아까 만지던 코드를 좀 더 잘 짜고 싶은 맘에 VPN으로 접속하여 쪼금만 봐야지 하다가
끝끝내 해결을 하고는 기분 좋은 마음에 잠자리에 들려고 보니 새벽 1시 반.
띠리링 폰. 자려고 하니 이제는 서버가 아프다며 알림 문자를 보내온다. (cpu 사용률이 90% 이상입니다.)
다시 VPN 접속
※ 출처 : 필자.

어떤 부분은 과장이 섞여있을지 모르겠지만 말하고자 하는 건 개발자의 삶은 마냥 장밋빛이 아니라는 점이다.

 개발자라는 직업을 갖고 살아가려면, 적어도 1~2년 ‘체험’할게 아니라면 이러한 고통의 연속은 필연적으로 만날 수밖에 없고 내가 원래 이렇게 삽질을 잘했었나 싶을 정도로 지구 내핵까지 삽질을 하는 경우가 비일비재할 것이다. 필자는 스마트폰이 이제 막 나오는 시절부터 개발을 시작했는데 요즘엔 AI며 머신러닝이며 등등 배워야 할 내용이 홍수처럼 많아져서 매일 공부를 해야 한다는 압박이 있을 수밖에 없고, 아주 초창기 개발 멤버로 시작해도 겪는 문제지만 레거시(legacy)와의 싸움은 아무리 해봐도 정답이 없을 정도로 어렵다. 그럼에도 불구하고 오랫동안 개발을 하고 있는 필자를 포함한 대부분의 사람들의 공통점은 (또 말하지만) 그렇게 개발이 재밌다는 점이다.

/images/a-good-developer-in-terms-of-employment/insta.jpg
솔직히 저때 좀 재밌었음
출처 : 필자 instagram

 필자는 다시 태어나도(?) 개발자로써 일을 할 것인가에 대한 물음이 있다면 1초도 망설이지 않고 ‘예’라고 답변을 할 것 같다. 이야기하고자 하는 건, 요즘 뉴스나 겉으로 보이는 개발자의 멋지고 아름다운(?) 모습만 바라보고 뛰어들지 말고 정녕 자신이 얼마나 개발에 대해 생각을 하고 있는지. 어떠한 상황이 오더라도 흔들리지 않는 ‘신념’이 있어야 한다는 점이다. 그렇게 하기 위해서는 차곡차곡 개발자로서의 마음을 쌓아올려야 한다. 첫술에 당연히 배부를 수 없고 혹여 배부르다 해도 금방 고꾸라질 마련일 테니까 말이다.

버려야 할 첫 번째 단어 ‘조급함’

 취업을 준비하는 분들과 이야기를 하다 보면 가장 많이 나오는 이야기가 ‘조급함’이다. 물론 개인적인 상황으로 인해 돈을 빨리 벌어야 한다거나, 나이가 남들보다 많아서 일단 취업부터 하고 보자는 식으로 방향타를 잡곤 하는데 지금 당장 눈앞에 보이는 상황들은 해결이 될지 모르겠지만 자칫 그 선택이 잘못되어 돌이킬 수 없는 상황으로 변질되는 경우가 많다.

 그러한 상황을 이해 못하는 건 아니지만 적어도 10년 ~ 20년 정도를 바라보고 개발자로써 뛰어든다고 가정했을 때, 전체에 비하면 지금의 시간은 너무 작은 순간들이다. 다양한 방법으로의 시간을 투자하여 노력을 하면 충분히 더 좋은(?) 기회나 회사로의 취업이 가능하다고 확신한다. 그래서 여러 곳의 회사에 취업문을 두드리다 한 곳에서 최종 합격까지 왔다고 해도 계속 다른 회사들도 두드려 보다 어느 정도 괜찮은 회사를 본인이 ‘선택’하는 상황을 만들어야 될 것 같다. 회사의 사업 성장성이나 규모, 배울 수 있는 곳인지, 처우 등 다양한 관점으로 첫 회사를 선택해야지 그렇지 않고 눈앞의 상황에 ‘묻지 마 결정’을 해버린다면 첫 단추가 꼬이는 순간도 생길 수 있을 것 같아서이다.

 취업을 떠나 인생에서 ‘조급함’은 본인의 부분을 갉아먹는 안 좋은 마음이라 생각한다. 조금 더 여유를 가지고 넓게 바라보고 선택해도 돌이켜 보면 그렇게 조급하지 않아도 될 선택이었다고 느낄 때가 생각보다 많기 때문이다.

버려야 할 두 번째 단어 ‘비교’

 나 홀로 취업을 준비하거나 교육기관 또는 스터디를 통해 취업을 준비하다 보면 아무래도 주변이 신경 쓰이게 마련이다. 누구는 본인보다 그렇게 개발 실력이 좋아 보이지 않았는데 본인은 탈락한 A 회사에 최종 합격했다거나, 누구는 본인이 떨어진 코딩 테스트를 합격했다거나, 본인은 어려워하는 기술들을 누구는 능수능란하게 써가며 이야기한다거나 등등. 그런데 여기서 묻고 싶은 점. 과연 본인은 그 어느 누구보다도 단 1도 잘하는 게 없는가. 혹시 어떤 누군가는 당신을 부러워하고 있진 않을까.

 위에서 이야기했던 ‘조급함’에 1+1처럼 따라다니는 게 ‘비교’인 것 같다. 잘 안될 때는 본인 자체의 어떠한 이유가 있거나 아니면 운이 좋지 않았거나 했을 텐데 유독 다른 사람과 비교를 하며 본인 자신을 깎아내리곤 한다. 하지만 그래봤자 힘들어지는 건 본인뿐 그 누구도 본인을 다른 사람과 비교하며 깎아내리지 않았다. 남들이 좋은 회사나 좋은 처우를 받고 간다 해도 부러워할 필요가 전혀 없다. 그건 남의 인생이지 본인의 인생이 아니기 때문. 너무 뻔한 이야기일지 모르겠지만 남들과 본인 자신을 비교하지 말고 묵묵하게 호흡 챙기면서 가다 보면 반드시 좋은 성과가 있을 거라 자부한다.

 개발자로써 취업을 했다고 해도 끝나는 게 아니다. 개발자라는 직업은 은퇴할 때까지 기술을 배워야 하는 직업임에는 틀림없다. 그만큼 마라톤처럼 오랫동안 견뎌낼 수밖에 없는 직업인데 바로 앞에 결과들에 대해 일희일비 하기엔 우리들의 인생이 너무 아깝지 않을까. 어떠한 경로를 통해서 이 글을 읽고 있는 독자분들은 좀 더 좋은 개발자가 되어보겠다는 마음이 조금이나마 있다고 생각이 든다. 하지만 이런 고민하나 없이 하루살이처럼 지내는 개발자들도 많다. 누가 옳고 누가 틀린 건 없다. 그저 다른 것뿐이다.

마치며

 필자도 신입 시절에 Spring 코드를 A4로 전부 출력해서 보라는 어떤 사수 님의 잔소리에 극심한 스트레스를 받곤 했었다. 하지만 지금 돌이켜 보면 그렇게 필자를 챙겨준 사람이 없을 정도의 시절을 살아가는 것 같다. 힘들면 누군가에게 기대도 된다. 다만 이 글에서 필자가 이야기하고 싶은 건 정말 개발자를 하려면 선배 개발자들의 목소리를 듣고 내 것으로 만드는 과정이 필요하고, 거기에 왜 내가 개발자를 하려고 하는가라는 거시적인 관점에서 고민해 볼 필요가 있다는 점이다.

 가령, 그러한 고민을 하고 ‘아! 나는 개발자 하면 안 되겠다.‘라는 결론으로 도달할 수도 있겠지만 그게 꼭 나쁜 건 아니다. 모든 선택은 본인의 책임이 따르고 후회만 하지 않으면 그걸로 ok. 개발자는 이러이러한 고통이 따르니 하지 말라는 게 아니라 ‘직업’은 가급적 본인이 ‘재미’를 느낄 수 있는 것을 해야 오래 할 수 있고 나아가 행복할 수 있을 거라 생각이 들기 때문이다.

/images/a-good-developer-in-terms-of-employment/취뽀부적.jpg
가보자고
출처 : https://www.instagram.com/gosimperson

 이제 개발자로 시작하려는 모든 분들께. 목이 터져라 이야기하고 싶은 그 한마디. 제발 좀 개발을 재미있게 했으면 좋겠다. Good Lock!


Buy me a coffeeBuy me a coffee