더이상 백엔드에 흥미를 느끼지 못하는 이유
번아웃
지난 1월, 그토록 가고 싶어 했었던 D모 회사에서 인턴십 서류 합격 메일이 왔다. 너무 미친듯이 기뻤다.정확한 경쟁률은 모르지만 상당히 치열했을텐데, 그 중에서 내가 붙다니 믿기지가 않았다. 가족들도 기뻐했고, 내 연인도 한마음으로 기뻐해줬다. 과제전형도 너무 재미있게 진행했고, 자신 있었다. 개발자로 일하고 계시는 우리 아버지도 데모와 코드를 보여주니 긍정적인 반응이셨다. 떨어지는게 이상하지 않을까 라는 말을 덧붙이셨고, 나 또한 그렇게 생각했다. 이정도면 충분히 경쟁력 있지 않을까.
면접을 보고 최종 발표날 당일, 나는 그렇게 떨어졌다. 불합격 메일을 본 순간 기대를 하시던 어머니, 아버지의 표정이 스쳐갔다. 앞이 막막해졌다. 약 2달간 걸린 채용 프로세스는 결국 아무것도 남기지 못했다. 피크를 찍을것 같던 도파민은 우울한 감정으로 부메랑처럼 돌아왔다. 불합격 여부에 대한 피드백도 없다. 답답했다. 아마 면접에서 컬쳐핏에서 어딘가 잘못된게 아니었을까 싶은 추측만 있을 뿐이다.
그 뒤로도 몇군데 더 회사에 서류를 넣어보았다. 한군데에서 서류를 붙었고, 면접을 보았다. 면접을 내가 생각하기에도 최악으로 못봤다. 면접관들의 심드렁한 표정이라고 해야할까, 그런것들이 이제는 더이상 견디기가 힘들다는 생각이 들었다. 마음 속에서 남아있던 어떤 의지들이 사정없이 꺾이는듯한 느낌. 그렇게 번아웃이 찾아왔다.
3월에 들어서 취업난에 대한 뉴스가 대대적으로 보도되기 시작했다. 슈카월드도 이 문제에 대해서 다루었다. 취업계수는 IMF 이후 역대 최악이라고 한다. 구글, Anthrophic, OpenAI, 메타의 CEO들은 1년내에 AI 가 개발자를 대체할 것이라고 한다. 아침에 일어나서 뉴스를 보면 절망적인 소식밖에 보이지 않는다. 그렇게 침울하게 하루를 시작하는 것이다. 실제로 작년과 비교했을때 현재 올라오는 채용 공고를 보면 그 사실들이 피부로 와닿는다. 그와 동시에 나는 백엔드, 더 나아가 웹개발에 흥미를 잃어버렸다.
웹개발은 꽤 반복적인 작업이다. 그리고 지난 몇년동안 나는 국내외로 많은 자료를 찾아보면서 좋은 설계, best practice에 대한 생각을 많이 해왔다. 그리고 단순한 CRUD를 넘어 더 흥미로운 애플리케이션을 만들기 위해 노력했고 실제로 꽤 성과도 있었다. 오직 겪어보지 못한것은 대규모 트래픽을 다루는 것인데, 이것을 다뤄보기 위해서는 두가지 선택지가 있다. 하나는 회사에 들어가는 것이고, 또 하나는 사업에 준할 정도의 애플리케이션을 개발하는 것이다.
하지만 나에게 이제 그럴만한 동기가 남아있지 않다. 웹개발은 이제 지루하게 느껴진다. 나는 매일 해커뉴스나 유튜브의 코딩 채널들을 자주 보는데, 그쪽에서 다루는 웹개발에 대한 토픽이 흥미롭게 느껴지지 않는다. 좀 더 내가 못해봤던 영역들에 가보고 싶었고, 단순히 ‘웹 개발자’가 아닌 ‘소프트웨어 엔지니어’가 되고 싶다는 생각을 가지게 되었다. 새로운 웹프레임워크, 새로운 DB, AI.. 이제 이런것들은 내 관심 영역이 아니라는 생각이 들었다.
방황, 그리고 새로운 길
이런 생각을 가지게 된 이후 나는 방황했다. 웹 개발이 아니라면 어떤것을 공부해야 할지, 어떤 길을 가는것이 맞을지 확신이 서지 않았다. 오픈소스 프로젝트를 내가 직접 만들어볼까, 예전에 공부하다가 채 마치지 못했던 인터프리터나 LSP를 공부할까.. 이것저것 한 것은 많았으나 도무지 어떤 방향으로 가야할지 몰라서 계속해서 방황했다. 하나를 하다보면 또 다른 생각이 나고, 걱정이 앞섰다.
그러던 중 유튜브에서 발라트로가 Lua로 작성되었다는 영상을 보게되었다. Lua는 내가 Neovim을 설정할때 쓰는 언어였다. Lua로 작성된 Love2D 엔진의 심플함에 대해 내심 놀랐다. 그동안 게임 개발은 유니티나 Godot 처럼 특정한 툴에 의존해야 하는 줄 알았다. 하지만 미처 게임 프레임워크에 대한 영역은 잘 몰랐던 것이다.
문득 내가 처음 코딩을 배웠을때가 떠올랐다. 나는 초등학교때 Flash와 Action Script로 개발을 처음 접했다. 그 이후로 나는 게임 개발을 하고 싶었다. 게임 개발은 언제나 나의 꿈이었다. 특히 10년대 중반때부터 1인개발이 주목받기 시작하면서, 그리고 퀄리티 높은 인디게임들이 훌륭한 비전을 보여주는 것에 대해서 감명을 깊게 받았다.
하지만 군대이슈로 인해 게임 개발의 꿈은 접었어야 했다. 군대에서는 유니티같은 툴을 사용하지 못하므로, 자연스럽게 웹개발로 눈을 돌릴 수 밖에 없었고 지금까지 웹개발을 공부했다.
막상 전역 이후 학교에서 유니티를 공부 했을때, 유니티에 그다지 큰 관심이 가지 않았다. 사용하기에는 쉽지만, 많은 부분들이 추상화되어서 내가 “개발”을 배운다기 보다는 툴의 사용법을 익히는 기분이었다. 그리고 더럽게 무거웠다. 나의 5년된 인텔 맥북이 감당하기 힘들었기 때문에, 자연스럽게 유니티는 나의 관심사에서 멀어지게 되었다.
반면 Love2D나 Golang의 Ebiten 엔진은 나의 취향에 매우 잘 맞았다. 엄청나게 심플하며, 유니티처럼 손을 이끌어주지는 않는다. 하지만 코드의 전체를 통제하고 있다는 느낌이 들고, 내가 원하는대로 프로젝트를 구성할 수 있으며, 게임 개발의 기초를 다지기에 매우 좋다는 생각이 들었다. 게다가 Lua나 Golang은 꽤 자신있는 언어이다. 한번쯤은 배워봐도 좋을 것 같다는 생각이 들었다. 중간에 Godot의 튜토리얼을 잠시 보기도 했지만 역시 내 취향은 아니었다.
지금까지 Love2D로 약 3개의 게임을 만들었다. 자료는 인터넷에 무료로 풀려있는 하버드 대학교의 2018년 게임 개발 강의를 참고했다. 매우 재밌는 경험이었다. 간단한 Pong부터 Flappy Bird, Breakout을 만들어 보았는데 이제 꽤 자신감이 붙은 느낌이다. 이후에는 마리오나 젤다, 포켓몬을 만드는 세션도 있는데 정말 기대된다.
게임 개발을 공부하면서 다시 프로그래밍에 흥미가 생겼다. 그렇다보니 자연스럽게 만들고 싶은 게임에 대한 생각이 자라게 되었다.
그치만 돈은..?
이게 가장 큰 문제이다.
설령 게임 개발에 풀타임을 쏟는다고 해도, 당장 수익이 나지 않는다. 게임을 출시해도 그게 곧 성공과 큰 수익으로 이어지는 것은 아니다. 모든 사람이 스타듀밸리 개발자 에릭 바론이나 언더테일의 토비 폭스처럼 성공하는 것은 아니다. 이게 가장 큰 고민이다. 돈이 아닌 낭만을 쫓겠다는 결정을 내린 것인데, 현실적인 문제를 무시할 수는 없다. 나는 이제 사회에 진출해야 하는 나이이다. 그런 상황에서 낙관적으로 생각하기에는 매우 힘들다.
그래서 눈을 돌린것이 프리랜서 일이다. 어쨌든 몇년동안 공부해왔던 것은 웹개발이고, 꽤 잘할 수 있는 일도 웹개발이다. 그래서 크몽에 PR 페이지를 올려서 현재 검토중이고, SI 회사가 주로 올리는 프리랜서 공고도 살펴보고 있다. (죄다 Java이긴 하지만..) Upwork도 고려중이지만 영어 회화가 많이 녹슬어서 그 점을 보완해야 시도할 수 있을것 같다.
혼란스러운 시기라는 것은 부정할 수 없다. 나는 정신적으로 힘든 상황을 겪고 있고 외적으로도 상황이 더 나아질것 같진 않다. 하지만 이럴때일수록 내가 사랑하는 것들을 생각하게 된다. 여자친구랑 노는것이 좋고, 밤에 좋은 애니를 보고 행복해하는게 좋고, 게임을 하면서 생각이 비워지는게 좋다. 그리고 코딩하는 것이 좋다. 그 사실만큼은 부정할 수 없다. 그래서 코딩으로 내가 가장 사랑하는 것을 빚어낼것이다.