brunch

You can make anything
by writing

C.S.Lewis

by const Jan 01. 2023

다정함을 닮을 수 있다면

둔재가 천재를 이기려면


계절에 상관없이 모두가 잠들어 있는 새벽이면 출근했던 당신과 가족을 위해 새벽 기도를 다니는 당신에게 다정한 인사를 건네본 적이 얼마나 있는지 생각합니다.


여전히, 오래, 그리고 소중하게 내 곁에서 나를 응원하는 사람에게 보답할 수 있는 삶을 살겠노라 다짐했지만 때론 삶의 풍파에 못 이겨 당신이 시야에 보이지 않는 순간이 있었습니다. 문득 집으로 향하는 길, 사진첩에 손주를 안고 있는 당신의 영상을 우연히 봤습니다. 조카의 울음소리 가득한 영상 속 당신의 얼굴에 있는 주름이 선명하게 보였습니다. 시야에 당신을 계속해서 담아둘 수 있도록 모니터 화면에 당신 모습을 걸어뒀습니다.


당신의 다정함을 조금이라도 닮은 사람이 되고 싶습니다. 다정한 사람이 되어 나의 도전을 응원하는 사람에게 보답하는 삶, 사랑하는 이에게 사랑한다고 늘 표현할 수 있는 삶, 도움이 필요한 이에게 도움이 될 수 있는 삶을 살고 싶습니다. 마지막으로, 이제는 만날 수 없는 친구 앞에 꽃 한 송이 두고 앉아 그 사람을 생각하는 시간을 보낼 수 있는 삶을 살고 싶습니다. 


생일마다 무심하게 날 찾아와 미역국은 먹었냐고 물으며 케이크를 선물한 당신에게 고맙다는 인사는 했었나 생각합니다. 소중했던 사람들을 언젠가는 다시 만날 것이라는 믿음이 있습니다. 언젠가 소중한 사람을 다시 만난다면 당신 덕분에 소중한 삶을 살아갈 수 있었다고 말하고 싶습니다. 모든 지난날을 돌아볼 순 없겠지만, 지나온 삶을 잘 정리한다면 소중한 당신을 다시 만나게 된다면 당신과 많은 이야기를 할 수 있을까 싶어 지난날을 돌아보는 글을 적습니다. 






끝나지 않은 노래

페퍼톤스, 정준일, 그리고 노리플라이. 고등학생 때부터 이들의 팬이었습니다. 공부가 지칠 때면 이들의 노래를 들으면서 힘을 냈던 기억이 납니다. 그 시절부터 지금까지 좋아하는 가수들이 모여 콘서트를 한다는 소식이 반가워 콘서트에 갔습니다.  


노래에 집중하고 있을 무렵, 정장 입은 40대 아저씨가 홀로 옆에 앉아 노래를 감상하고 있었습니다. 정준일의 노래는 눈을 감고 감상했고, 노리플라이, 페퍼톤스의 신나는 노래에는 모든 노래를 따라 부르며 콘서트를 온전히 즐기고 있었습니다.


콘서트에서 들은 감동을 다시금 느끼고 싶어서 노래를 듣고 있을 때 문득 당신이 생각났습니다. 홀로 콘서트를 온몸으로 느끼고 즐기는 당신이 참 낭만적이라 생각했습니다. 당신의 낭만을 배울 수 있다면 좋겠다 싶어 회고 한편에 당신을 기록합니다.  












엘리스 코치

언젠가는 처음 개발을 시작하는 이들에게 개발 지식을 공유하고, 내가 가진 노하우를 알려줄 수 있는 사람이 되고 싶다고 생각했습니다. 운이 좋게도 누군가에게 프로그래밍을 가르칠 수 있는 기회를 얻었습니다. 처음에는 프로젝트 코치로서, 처음 프로그래밍을 공부하는 이들이 조금 더 프로젝트를 수월하게 진행할 수 있도록 도움이 되는 역할을 했습니다. 운이 좋게도 최우수 코치로 선정될 수 있었고, 시간이 지나 여러 개의 특강을 진행하면서 많은 분들을 만나 뵐 수 있었습니다.








개인적으론, 처음 프로그래밍 공부를 하면서 많이 힘들었습니다. 지인 중 개발자인 지인이 한 명도 없어서, 내가 겪는 어려움을 해결하기 위해서는 홀로 삽질해야 했습니다. 하나를 알기 위해서 남들은 10분이면 알 것을, 저는 3 달이 걸려서도 제대로 알지 못하는 경우가 허다했습니다. 이렇게 삽질하며 고생한 결과, 다행스럽게도 처음 공부를 시작하는 이들에게 다양한 경험을 공유할 수 있는 사람이 되었고, 결과적으로 이 경험들이 강의를 하는데 도움이 됐습니다.


코칭을 하면서 처음으로 나는 무언가를 가르치는 것을 좋아하는 사람이구나 알 수 있었습니다. 코칭을 하면서 늘 강의에만 집중하느라, 마지막 인사를 제대로 드리지 못해 아쉬웠습니다. 언젠가 수강생 분들을 우연히 만나 뵙게 된다면 강의를 통해 저도 성장할 수 있었다고, 감사했다고 인사드리고 싶습니다.










육아크루 합류

창업학을 복수 전공하고, 프로그래밍을 공부하면서 스타트업을 만들거나 스타트업 조직에 들어가서 능력을 쌓고 싶다고 생각했습니다. 그리고 기회가 된다면 내 능력을 활용해서 누군가에게 도움이 되는 삶을 살아갈 수 있는 조직에 합류하고 싶다고 생각했습니다. 운이 좋게도 현재는 훌륭한 동료들이 모여있는 육아크루에서 백엔드 개발자로서 일하며 조금씩 꿈을 이루고 있습니다.


처음 조직에 합류했을 때 해결해야 할 문제가 많았습니다. 합류 후 백엔드 개발 코드를 처음 볼 때 비효율적으로 설계된 코드가 많아서 놀랐습니다. 심지어 API가 제대로 동작하지 않아 기획팀이 상당히 어려움을 겪고 있었습니다. 어디서 어떤 문제가 발생하는 것인지 부검하듯 모든 코드를 뜯어봤습니다.


부검 결과, 쉽지 않은 문제들을 해결해야 했습니다. 코드가 모두 절차지향적으로 구성되어 있어서 코드를 하나 수정하면 다른 곳에서 문제가 발생했고, SQL Query도 Join 쿼리만 15개씩 붙어 있는 코드들도 많았습니다. 슬로우 쿼리가 발생할 수 있는 쿼리들이 수두룩했습니다. DB 테이블은 불필요하게 많았고 테스트 코드가 하나도 없어서 코드를 수정할 때 큰 어려움을 겪었습니다. 인증, 인가 처리가 제대로 되어 있지 않았고 API도 전혀 Restful 하지 않아서 API 하나가 여러 개의 역할과 책임을 담당하고 있었습니다. 심지어 에러 핸들링도 전혀 되어있지 않아서 에러가 발생하면 어떤 에러가 어떻게 발생했는지 파악할 수 없는 구조였습니다.


현재 백엔드 코드의 문제를 빠르게 해결하려면 리팩터링이 아닌 리빌딩이 낫다는 판단을 했습니다. 하지만, 리빌딩을 하려면 앱 출시를 미루는 결단을 내려야 했는데, 다행스럽게도 기획 팀에서 전폭적인 지원과 지지를 해주셔서 리빌딩 작업을 시작할 수 있었습니다.








육아크루 ver2

백엔드 코드를 모두 새로 만들었습니다. 다만 빠르게 앱을 출시해야 했기에 입사 후부터 앱을 출시하기까지 개인적인 휴식시간은 잠시 접어두고 개발에만 집중했습니다. 다행스럽게도 중간에 동료가 합류해서 함께 개발한 덕분에 리빌딩 작업을 시작한 지 약 2달 만에 앱을 출시할 수 있었습니다. 


리빌딩을 하기 위해서는, 현재 개발되어 있는 API를 모두 다시 개발해야 했습니다. API를 개발하기 위해서는 먼저 서비스 도메인을 이해해야 했습니다. 육아크루에서는 특히 짝크루라는 다소 생소하고 어려운 도메인이 있었기에, 이 도메인을 이해하는데 시간을 썼습니다.


11월에는 반드시 앱을 출시해야 했기에 도메인에 대한 공부를 하면서 동시에 개발 환경을 설정했습니다. 정해진 데드라인에 맞게 서비스가 정상적으로 동작해야 했으므로 오버 엔지니어링 하지 않도록 구성하는 것이 중요했습니다. 서비스를 계층형 아키텍처로 프로젝트를 설계했고, DDD와 OOP를 적절하게 활용하여 코드를 구성했습니다. 통합, 단위 테스트를 구성하여 코드의 안정성을 올리기 위해 노력했습니다. Github Action과 AWS EB, Docker를 활용하여 CICD를 빠르게 구축했고, 코드 정적 분석을 위해 CI 단계에서 sonarcloud를 적절히 활용했습니다. AWS lambda와 serverless 프레임워크를 활용하여 비동기 처리 로직을 분리하기 시작했고, 최근에는 k6와 grafana를 활용해서 부하 테스트를 조금씩 돌려보면서 서버의 안정성을 올리기 위해 노력하고 있습니다. NestJS의 모노레포로 프로젝트를 구성하여 도메인 별로 구성된 서버를 효율적으로 관리할 수 있도록 설정했습니다.


결과적으로 리빌딩 작업을 통해 서비스가 최대한 문제없이 동작할 수 있도록 구성할 수 있었습니다. 코드의 가독성을 올렸고 유지 보수하기 쉬운 코드를 구성할 수 있도록 노력했습니다. 










더 나은 협업을 위해

근무는 모두 재택근무로 이뤄지기에, 동료들끼리 더 똑똑하게 일하고 싶었습니다. 그래서 입사 전, 더 나은 개발팀을 만들기 위해서는 어떻게 해야 할까 고민하며 기존에 작성된 사내 문서를 모두 정독했습니다. 그리고 생각한 건, 개발 팀이 함께 Jira를 활용한다면 이슈 관리를 더 잘할 수 있겠다고 판단했습니다. 그래서 노션에 Jira 사용 방법과 활용하는 방법에 대해 정리하여 입사 당일날 동료들에게 발표했습니다. 덕분에 현재는 개발팀이 Jira를 활용하여 이슈 관리를 하며 일하고 있습니다. 앞으로도 팀에 도움이 될 수 있는 아이디어가 있다면 제안하고 싶습니다.  











육아크루에서의 목표

취업을 하기 위해 다양한 고민을 하고 있을 때, 친구는 저에게 어떤 사람으로 성장하고 싶은지 물어본 적이 있습니다. 섣불리 말하지 못하고 있을 때 친구는 제게 이런 일화를 말해줬습니다.



어느 마을에 낮잠 자는 것을 좋아하는 할아버지가 살았습니다. 어느 날, 문 앞에서 아이들이 떠드는 바람에 할아버지는 낮잠을 잘 수 없었습니다. 아이들에게 다른 곳에서 떠들라고 말도 하고, 혼내기도 해 봤지만 아이들은 계속해서 할아버지 집 앞에서 떠드는 것을 그만두지 않았습니다.

할아버지는 한 가지 묘수를 생각해 내서, 실행합니다. 할아버지는 아이들의 목소리를 들으면 낮잠을 잘 수 있다고 말하며 아이들에게 8시간 동안 문 앞에서 이야기한다면 8천 원을 주겠다고 말합니다. 아이들은 떠들면서 돈도 받을 수 있다는 생각에 돈을 받고 재밌게 떠듭니다.

다음날이 되어 아이들이 찾아왔습니다. 그때 할아버지는 아이들에게 말합니다. "오늘은 할아버지가 돈이 없어서 4천 원 밖에 줄 수가 없어". 그러자 아이들은 그래도 4천 원이라도 받고 이야기하자, 하며 이야기합니다.

다시 다음날이 되어 아이들이 할아버지를 찾았을 때, 할아버지는 아이들에게 말합니다. "오늘은 할아버지가 돈이 전혀 없어서, 돈을 줄 수가 없는데, 그래도 나를 위해 오늘 문 앞에 앉아서 이야기해 줄래?" 그러자 아이들은 돈을 받을 수 없어서 손해 본다는 생각에 더 이상 문 앞에서 이야기하지 않고 자리를 떴습니다.

결국 할아버지는 아이들을 성공적으로 다른 곳으로 보낼 수 있었습니다. 




이 일화가 큰 울림으로 다가왔습니다. 회사를 선택할 때 다양한 복지와 연봉을 보면서 어떤 회사에 가야 할까 고민하고 있었는데, 일화를 들으며 어쩌면 회사에 들어가서 나는 어떤 사람으로 성장하고 싶은지 생각하는 것이 더 중요할 수 있구나 깨달았습니다.


육아크루 팀에 합류하면서도 팀에 어떤 영향을 줄 수 있는 사람이 되고 싶은지, 그래서 나는 어떤 사람으로 성장하고 싶은지 생각했습니다. 배달의민족 CEO인 김범준 대표님의 영상을 보면서, 생각을 정리할 수 있었습니다.





출처: EO 이오, 배달의민족 CEO에게 뽑고 싶은 개발자를 물어보았다.





김범준 대표님의 말씀처럼, 저도 단순히 코드를 적는 사람이 아닌, 문제를 해결할 수 있는 사람이 되고 싶습니다. 크고 작은 문제를 해결하며 비즈니스를 만들어갈 수 있는 개발자로 성장하고 싶습니다. 특히 작은 조직일수록 다양한 문제를 직접 겪고 해결해야 하기에, 개발자로서 더 큰 성장을 할 수 있다고 생각했습니다. 그리고 이렇게 쌓은 경험과 지식을 활용해서 언젠가는 누군가에게 내가 알고 있는 지식을 공유할 수 있는 사람이 되고 싶습니다. 





만약 이 글을 보며, 저와 함께 개발자로서 다양한 문제를 해결하면서 성장하고 싶다고 생각하신다면 언제든 연락 주세요. 함께 한다면 더 큰 문제를, 더 좋은 방식으로 해결하는 능력을 키울 수 있다고 확신합니다.








오래 걸린 대답

저는 늘 다양한 사람들을 만난다는 핑계로, 공부를 한다는 핑계로 친한 친구를 자주 만나지 못했습니다. 그러다 2022년 1월 친구를 하늘로 먼저 보내면서, 이제는 많은 사람들을 만나는 것보다 내 주변에서 나를 응원하는 이들을 만나며 고맙다고 표현해야지 결심했습니다. 



결심 때문이었을까요. 2022년에 많은 분들이 제게 연락해 주셨지만, 죄송스럽게도 많은 분들을 만나 뵙지 못했습니다. 대신 고마운 분들 한 분, 한 분 만나 뵙고 저와 함께 해서 고마웠다고 표현하려 노력하고 있습니다. 2022년 12월엔 늘 제게 연락하던 꼬마 동생을 만나서 함께 맛있는 밥을 먹으며 이야기했습니다. 





좋은 시간을 보내고 집에 돌아가는 길, 앞으로도 소중한 분들에게 연락해서 식사 한 끼 하며 그동안 함께 해서 고마웠다고 표현할 수 있는 사람이 되고 싶다고 생각했습니다. 그때의 감정을 잊지 않기 위해 집에 와서 브런치에 글 하나 작성했습니다.



소중한 존재는 그 자체가 궁극이지만, 중요한 존재는 궁극에 도달하기 위한 방편이다.
우리는 중요한 것들의 하중 때문에 소중한 것들을 잃는 경우가 많다.
중요한 약속과 소중한 약속 사이에서 끊임없이 갈등하며 중요한 약속에 몸을 기울이고 만다.
- 김소연, 마음사전 - 



소중한 분들에게, 언젠가 만나 뵙고 덕분에 고마웠다고 말하며 인사드리겠습니다. 



















마치며

나의 발자국이 누군가의 이정표가 된다는 것을 아는 사람들이 있습니다. 이번 하반기는 나의 발자국도 누군가에게 이정표가 될 수 있다는 것을 깨달은 시간이었습니다. 개인적으로 만화가 이현세 작가가 이야기한, '천재들과 싸워서 이기는 방법'에 대한 글을 좋아합니다.



작가의 길은 장거리 마라톤이지 단거리 승부가 아니다. 천재들은 항상 먼저 가기 마련이고, 먼저 가서 뒤돌아보면 세상살이가 시시한 법이고, 그리고 어느 날 신의 벽을 만나 버린다.

인간이 절대로 넘을 수 없는 신의 벽을 만나면 천재는 좌절하고 방황하고 스스로를 파괴한다. 그리고 종내는 할 일을 잃고 멈춰서 버린다.

이처럼 천재를 먼저 보내놓고 10년이든 20년이든 자신이 할 수 있다는 생각으로 하루하루를 꾸준히 걷다 보면 어느 날 멈춰버린 그 천재를 추월해서 지나가는 자신을 보게 된다. 산다는 것은 긴긴 세월에 걸쳐하는 장거리 승부이지 절대로 단거리 승부가 아니다.

가끔 지구력 있는 천재도 있다. 그런 천재는 존재하는 것만으로도 축복이고 보는 것만으로도 감사하다. 그런 천재들은 너무나 많은 즐거움과 혜택을 우리에게 주고 우리들의 갈 길을 제시해 준다. 나는 그런 천재들과 동시대를 산다는 것만 해도 가슴 벅차게 행복하다.

나 같은 사람은 그저 잠들기 전에 한 장의 그림만 더 그리면 된다. 해 지기 전에 딱 한 걸음만 더 걷다 보면 어느 날 나 자신이 바라던 모습과 만나게 될 것이다. 그것이 정상이든, 산중턱이든 내가 원하는 것은 내가 바라던 만큼만 있으면 되는 것이다.







포기하지 않고 꾸준히 노력한다면 둔재가 천재를 이길 수 있다고 다시금 믿으며. 앞으로도 더 나은 개발자가 되기 위해 노력하려 합니다.





기억하라. 스스로가 리스크를 찾아 나서지 않으면 리스크가 당신을 찾아낼 것이다.
일부러라도 자주, 제한적으로나마 리스크를 감수하며 적절하게 충격을 흡수하는 능력을 기르는 과정은 장기적인 관점에서 안정을 가져오는 역설적인 생존 전략이다.
- 리드호프먼



앞으로 개발자로서 더 많은 문제를 겪게 될 것입니다. 그때마다 포기하지 않고 문제를 해결할 수 있는 사람이 되고 싶습니다. 문제를 나만의 방법으로 해결할 수 있는 도전을 하면서 리스크를 감수하고 여러 충격을 흡수하는 능력을 키우고 싶습니다. 조금씩 충격을 흡수하는 과정 속에 성장이 있다고 믿으며, 언젠가는 내가 바라는 나의 모습을 만나고 싶습니다.


당신이 내게 선물한 '상수'라는 이름의 뜻처럼, 변수가 아닌 불변함이 있는 사람이 되기 위해 끊임없이 노력하겠습니다. 당신의 응원 덕분에 지금의 내가 있었다고, 당신의 다정함을 통해 이렇게 성장했다고 말할 수 있는 그날까지 노력하겠습니다. 


끝으로, 사랑하는 당신 덕분에 2022년도 정말 행복했습니다.

당신 덕분에 사랑이 무엇인지 조금은 깨달을 수 있었습니다.

당신에게 더 다정한 사람이 될 수 있도록 노력하겠습니다. 고맙습니다.  













브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari