어떻게 이렇게 지금 이 글을 쓰게 되었는지 잘 모르겠다. 오늘도 평소와 다를 것 없는 일상적인 하루였기 때문이다. 오늘도 진행 중인 프로젝트를 계속하고, 늦은 새벽 꾸준히 실천하고 있는 '매일 배포'를 완료한 후 잠시 기지개를 켜고 있었던 중이었다. 그러다 문득 지금 내가 느끼고 있는 감정을 돌아보게 되었고 '내가 이 일을 좋아하고 있구나'라는 생각이 들었다. 몸은 확실히 피로했지만, 분명 나는 즐기고 있었고 만족감과 보람을 느꼈다. 서비스 출시를 앞두고 잦은 밤샘과 강한 스트레스를 받고 있는 상황을 고려하면, 이는 비정상적인 일이었다.

 

어떻게 된 일일까? 대학교에 입학하여 프로그래밍을 접한 후, 대학교를 4년 동안 졸업하고 군 전역을 앞두고 있으니 이 일을 시작한 지 약 6~7년이 지났다. 누군가 보기에는 짧은 시간일 수 있지만, 당연하게도 나에게는 이렇게 오랫동안 한 일은 처음이다. 그리고 지금의 느낌은 이 일을 영원히 할 수 있을 것도 같다는 느낌이 든다.

 

앞으로의 나를 위해서라도, 지난 6년 동안의 경험을 돌아보며, 왜 개발자가 되었는지, 이 직업이 나에게 어떤 의미를 지니는지, 어떻게 이 일을 평생 지속할 수 있다고 생각하는지에 대한 기록이 필요하다고 느꼈다. 이번 글은 내 블로그의 다른 글들과는 달리, 다른 사람들을 위한 것이 아니다. 이 글은 온전히 나, 정확히는 1년, 5년, 10년 후의 나를 위한 것이다. 이 글이 앞으로 만날 수많은 파도와 역경을 극복하는데 도움이 되길 바란다

 

지난 1편 에서는 개발자라는 직업의 의미를 깨닫고 성장하고자 하는 열망을 가진 계기를 살펴봤다. 나는 내가 설정한 높은 기준과 목표에 비해 현재의 내가 많이 부족하다는 것을 알고 있다. 때로는 내 부족함과 앞으로 배워야 할 것들의 양과 시간 때문에 압도되는 느낌이 들기도 한다. 그러나 나는 내가 설정한 높은 목표를 달성할 때까지 절대 포기하지 않을 것이라는 스스로에 대한 믿음이 있다. 이번 편에서는 극한의 어려운 상황을 극복한 경험과 사람들에게 왜 나를 ‘뛰어난 집념과 끈기로 문제를 해결하는 개발자’로 소개하는 이유를 설명하며 '나는 왜 개발자가 되었는가?' 시리즈를 마무리하려고 한다.

 

 

가장 깊은 어둠 속에서도 빛을 볼 수 있는 사람

인생을 살다보면 때론 고난, 역경, 좌절, 그리고 실패가 찾아 오곤 한다. 해결할 수 없을 것 같은 문제, 예상과 반대로 흘러가는 상황, 원하지 않은 외부의 재앙, 그리고 극도로 어려운 과제가 주어졌을 때, 무언가 거대한 힘이 나를 짓 누르는 듯 한 무게감이 느껴진다. 특히나 컨디션이 좋지 않는 날이거나, 밤늦게까지 작업을 하고 난 날이면 이 압박감으로 인한 두려움과 불안감이 몇 배로 켜져 나를 덮칠 때가 있다.

 

처음에는 이런 두려움과 불안을 느끼지 않는 것이 극복이라고 생각했었다. 하지만 얼마 안가 이는 나의 통제 범위가 아니라는 것을 깨달았다. 더 중요한 것은 두려움과 불안을 느끼는 상황, 극한의 압박, 고통을 느끼는 상황에서 내가 어떻게 행동하느냐이다.

 

내 경험에 따르면, 이런 상황에서 할 수 있는 일은 생각보더 그리 많지 않다. 그리고 그 일은 이전에 해왔던 일과 크게 다르지도 않다. 상황이 어렵고 고통스러울수록 하루하루 순간순간에 더욱 집중해야 한다. 이런 극한의 상황에서 내가 할 수 있는 것은 더욱 집중하여 오늘보다 조금 더 나은 내일을 만드는 것뿐이다. 나는 이것을 '희망'이라고 부른다.

 

극한에 상황을 극복하는 유일한 방법

극한의 상황에서도 포기하지 않는 집념과 끈기가 작은 희망을 불러와 큰 기적을 만들 수 있다. 이 믿음을 가진 일은 2020년 말 11월 쯤이었다. 당시 나는 SW 마에스트로라는 IT 대외 활동을 준비하고 있었다. SW 마에스트로는 대학 신입생 때부터 꼭 하고 싶었던 활동이었으며, 당시 내 기준으로는 합격하는 것이 내 역량을 뛰어넘는 도전이었다. 자기소개서, 코딩테스트, 포트폴리오를 채우기 위한 프로젝트 등 많은 일을 진행하고 있었지만 준비 과정은 순조로웠다. 계획을 세우고 실천하는 것은 당시에도 자신 있는 일이었기 때문에 모든 것이 계획대로 잘 진행되고 있었다. 이대로만 가면 합격할 수 있겠다는 자신감이 있었다.

 

그러나 항상 그렇듯, 재앙은 예상치 못한 시점에 다가와 모든 것을 파괴한다. 작업 중에 아버지로부터 전화 한통이 왔다. "엄마가 암 진단을 받았어. 자세한 건 나중에 이야기하자."… 그 뒤로 어떤 내용이 오갔는지는 정확히 기억이 나지 않는다.

 

어머니는 유방암 진단을 받으셨다. 암은 크지 않았지만 림프절로 전이가 확인되어 항암 치료를 받아야 했다. 당시 항암치료만 피할 수 있게 기도해 달라고 하셨던 어머니의 말씀이 아직도 기억에 남아 있다. 이 사건은 우리 가족을 완전히 바꾸어 놓았다. 항상 긍정적이셨던 어머니의 부재로 우리 가족은 웃음을 잃었다. 아버지와 누나는 직장인임에도 불구하고 간병일에 참여하셨다. TV 소리와 웃음소리로 시끄러웠던 우리 집은 마치 사람이 없는 것처럼 고요해졌다.

 

어머니는 작은 카페를 운영하고 있었는데, 완전히 회복될 때까지 문을 닫아야 하는 상황이었다. 동네 카페로 단골 고객 위주로 운영되기 때문에, 오랜 기간 문을 닫게 되면 앞으로의 카페 운영에 큰 타격을 줄 것이 분명했다. 카페를 남아 운영할 수 있는 사람은 가족 중 유일하게 아직 직장인이 아니고 평소 일을 많이 도와줘 익숙한 나뿐이었다. 그러나 나는 SW 마에스트로를 준비하고 있었으며, 준비 기간 동안 시간을 완전히 투자하더라도 합격할 수 있을지 불확실한 상황이었다

 

따라서, 나는 선택을 해야 했다. 첫 번째는 카페를 닫고 SW 마에스트로에 집중하는 것, 두 번째는 카페를 계속 운영하면서 SW 마에스트로를 포기하는 것이다. 그러나 나는 두 가지 선택지 중 어느 것도 선택하지 않았다. 카페를 계속 운영하면서 SW 마에스트로에도 도전하기로 결정한 것이다. 이유는, 당시에도 이미 나는 직업이 삶에서 무슨 의미를 지니는지를 이해하고 있었다. 단순히 수입을 넘어서, 어머니의 카페는 어머니의 삶의 터전 이었다. 그래서 어머니가 회복이 끝나고 돌아올 자리가 있다는 희망을 주고 싶었다. 그리고 가장 중요한 점은, 만약 SW 마에스트로 도전을 포기한다면 혹시나 어머니를 원망하게 될까 봐였다. 그것 만큼은 정말 싫었다.

 

그 후 몇 달 동안은 기억이 잘 나지 않는다. 그만큼 열심히 일하고 힘들었기 때문이다. 나는 매일 아침 8시에 카페를 오픈하고 저녁 9시까지 일하면서, SW 마에스트로 준비를 병행했다. 손님이 없을 때는 프로젝트와 자기소개서를 작성하곤 했는데, 손님이 오면 바로 뛰어 나가야 했다. 이를 하루에 수십 번씩 반복했다. 집중하는 것을 중요하게 생각하는 나에게는 매우 힘든 시간이었다.

 

카페를 마감하고 오후 9시부터 11시까지가 유일하게 내가 집중할 수 있는 시간이었다. 이 시간에는 매일 코딩 테스트를 준비했다. 이 기간동안 가장 힘들었던 것은 퇴근 후 퇴근 후 어머니를 만나는 것이었다. 항암 치료는 예상했던 것보다 훨씬 더 가혹하였고, 부작용으로 어머니는 정말 많이 힘들어하셨다. 그럼에도 불구하고 어머니는 항상 퇴근 후 돌아오는 나를 기다려 주시며 걱정스러운 눈빛으로 바라 봐주셨다. 그런 어머니를 두고 절대 힘들다고 불평할 수 없었다.

 

당시의 심정은 마치 숨이 막히는 것과 같았다. 정말 힘들었지만 포기할 수 없었다. 가족들이 나보다 더 힘들다는 것을 알기에, 감정 또한 최대한 절제해야 했다. 내가 할 수 있는 일은 주어진 일에 더욱 집중하는 것뿐이었다. 그렇게 하루, 일주일, 한 달이 지나갔고, 그동안 나는 매일 똑같은 하루를 보냈다.

 

약 6개월이 지난 후였다. 어느 날과 같이 카페를 오픈하던 중에 9시에 문자 한 통이 왔다. SW 마에스트로 합격을 축하하는 문자였다. 나는 바로 어머니께 전화해 이 소식을 전했다. 어머니는 마치 자신이 병이 다 나은 듯 나보다 더 기뻐하고 축하해 주셨다. 그때 나는 어머니가 아프신 후 처음으로 나에게 눈물이 흘러내리는 것을 느꼈다.

 

물론 합격했다고 모든 일이 끝난 것은 아니였다. 어머니는 항암치료를 성공적으로 마무리했지만, 여전히 회복에는 시간이 필요했다. 하지만 상황이 이전보다 나아진 것은 사실이었다. SW 마에스트로에 합격하면서 매달 100만 원의 지원금을 받게 되어, 이 돈으로 카페 알바를 고용하고 나는 더욱 집중할 수 있는 시간을 확보할 수 있었다.

 

모든 것이 다시 원래대로 돌아오는 데는 더 많은 시간이 필요했다. 그럼에도 불구하고 시간은 계속 흘렀고, 나는 매일 최선을 다했다. 모든 것이 천천히, 조금씩 정상으로 돌아왔다. 조용했던 집은 점차 활력을 되찾았고, 웃음 소리가 들리기 시작했다. 어머니는 여전히 약간의 여파가 남아 있었지만, 일상생활에는 별다른 무리가 없을 정도로 회복되셨다. 그리고 얼마 안 가 다시 카페에 복귀하였다. 그리고 나는 원하던 SW 마에스트로에 합격해, 높은 수준의 프로젝트 경험을 쌓을 수 있었다.

 

돌아보면 아주 고통스러운 시간이었지만, 나는 내가 해야 할 일과 져야하는 책임에서 도망치지 않았다. 가족 구성원으로서의 책임과 개발자로서의 성장, 이 두 가지를 위해 집념과 끈기로 최선을 다하며 하루하루를 버텼다. 그렇게 하루하루를 견디다 보니, 끝나지 않을 것 같던 순간도 어느새 지나가고 오히려 기적처럼 모든 것이 이전보다 더 나아졌다. 먼저 우리 가족은 다시 일상생활을 찾았다. 카페는 다시 활기차게 운영되었고, 어머니는 점차 건강을 찾아갔다. 우리 가족은 이후로 어떤 시련도 이겨낼 수 있는 더 강한 결속력을 가지게 되었다. 나는 SW 마에스트로에서 고수준의 프로젝트를 수행하며 성장에 집중할 수 있었다. 이 모든 것이 11월에 처음 어머니가 암 진단을 받았을 때는 상상도 할 수 없는 일이었다.

 

이 일은 앞으로의 내 삶에서 가장 큰 자산이 되었다. 어떤 어려운 상황에서도 끈기와 집념을 가지고 내가 해야 할 일에 집중하고, 포기하지 않고 계속한다면, 상황을 개선하는 기회를 만들 수 있다는 것을 배운 소중한 경험이었다. 모든 삶이 그러하듯, 이후에도 수많은 문제와 고난, 실수와 실패가 있었다. 그 때마다 힘들지 않았다면 거짓말일 것이다. 하지만,나는 어떤 어려움과 문제도 극복할 수 있다는 것을 알고 있으며, 이 과정을 배움과 발전의 기회로 삼을 수 있음을 알고 있다. 문제를 포기하지 않고 극복했을 때, 내가 더 나은 사람으로 성장해 있을 것이라는 것을 알고 있다. 이때의 경험은 지금까지 내가 어려움을 극복하는 데 큰 힘이 되어 주었으며, 앞으로 다가올 문제를 해결하는 데도 큰 힘이 되어줄 것 이다.

 

 

뛰어난 집념과 끈기로 문제를 해결하는 개발자가 되다

시간이 흘러 나는 사람들에게 나를 "뛰어난 집념과 끈기로 문제를 해결하는 개발자"라고 소개한다. 일종의 캐치프라이즈인 것이다. 앞서 소개한 두 가지 일화를 봤을 때 이 문장이 나를 가장 잘 표현한다고 생각하기 때문에 이렇게 소개를 하고 다닌다.

 

집념과 끈기는 내가 가장 잘하고 자신 있어하는 일이다. 뛰어난 개발자가 되기 위해서는 다양한 역량이 필요하다. 대상을 추상화하는 능력, 탁월한 알고리즘을 설계하고 선택하는 능력, 그리고 다양한 변수와 상황을 고려하여 결정을 내리는 능력, 꼼꼼함 등이 포함된다. 하지만 모든 능력이 있더라도 끈기와 집념이 없다면 문제 해결 전에 포기할 것이다. 그러나 역량이 약간 부족해도 집념과 끈기가 있다면 처음엔 시간이 좀 걸리더라도 반드시 문제를 해결할 수 있다고 믿는다. 그리고 그 과정에서 다른 역량들도 점진적으로 성장할 것이다.

 

문제를 해결하는 것은 개발자라는 직업의 본질이다. 아직 해결되지 않은 문제를 정의하고 해결함으로써, 이전에 불가능했던 일을 가능하게 하는 것, 이것이 개발자가 비싼 연봉을 받는 이유일 것이다. 그리고 나는 이 과정에서 금전적 보상을 넘어선 보람과 만족감을 느낀다. 결국, 프로그래밍은 문제 해결 도구일 뿐이며, 그 본질은 아니다는 게 내 생각이다. 아무리 훌륭한 기술, 뛰어난 수학적 알고리즘, 탁월한 설계 기법이라도, 문제를 해결하기 위해서는 주어진 상황과 목표가 우선적으로 고려되어야 하고, 그 맥락에서 적절하게 선택되는 도구일 뿐이다.

 

말은 쉽지만, 이는 가장 어려운 과정이기도 하다. 내 정의에서, 개발자는 문제 해결을 위해 주어진 상황과 변인을 고려하고, 반복적인 주기를 거치는 동안 무엇을 만들어야 하는지 지속적으로 수정하고 구체화해야 한다. 또한, 상황에 맞는 적절한 도구를 선택하는 능력이 필요하며, 도구 상자의 도구들이 낡지 않도록 새로운 도구를 계속 추가해 줘야 한다.

 

스스로도 이런 역량을 갖추기 위해 노력하고 있지만, 아직 많이 부족하다는 것을 인지하고 있다. 더 높은 수준의 문제를 해결하기엔 지식과 경험이 부족하다. 그러나 집념과 끈기는 내가 가장 자신하는 부분이다! 아직 너무 멀어 보이지 않더라도 방향성을 알고 있기에, 매일 최선을 다하면 분명 언젠가 원하는 수준의 탁월한 개발자가 될 수 있을 것이라고 믿고 있다. 항상 그랬듯이, 나는 절대로 포기하지 않을 것이다.