들어가며
만약 내가 컴퓨터 공학 전공자였다면, 지금과는 다른 프로그래밍 실력을 가질 수 있지 않았을까 생각하곤 합니다. 공부를 하면 할수록, 실력이 상당히 부족하다는 것을 깨닫습니다. 실력이 없어서, 가끔은 조바심이 들기도 합니다. 불안하고 흔들리는 삶이 내 인생에 어떤 의미가 될 수 있을까요.
흔들리고 불안했기에, 포기하고 싶은 순간들이 있었습니다. 나의 도전을 응원했던 친구들, 지인들마저 점점 걱정하는 목소리가 커졌습니다. 이제는 그만하고 다른 길을 가야 하지 않겠냐며, 다른 일자리들을 추천해주기도 했습니다. 그런 말을 들을 때면, 지금 내가 경험하고 공부했던 것들을 잘 활용할 수 있는 곳에 어디든 취업을 해야 하나 생각하기도 했습니다.
시간이 지날수록, 책임감이 마음을 짓눌렀습니다. 꿈을 찾기 위해 노력했던 시간 동안, 내 부모는 늙어있었기에. 주름살이 하나라도 더 많아지기 전에 그들에게 행복을 안겨드려야 하는 것은 아닐까 생각했습니다.
The Crisis
끝없이 불안했습니다. 내가 지금 이 길을 걷는 것이 맞는 것일까 하는 생각이 계속해서 들었습니다. 나는 왜 개발을 하고 있고, 왜 개발을 해야 하며, 앞으로 나는 어떤 사람이 되고 싶은지를 다시 한번 생각해봤습니다. 생각이 복잡해질 때쯤, 지금까지 달려온 시간들을 돌아봤습니다. 그동안 작성했던 회고글을 돌아봤습니다. 1년 전, 아무것도 모르는 내가 지금은 한 기업의 서버를 책임지고 있는 사람이 되어있다는 것을 생각할수록, 내가 노력한 과정이 헛된 노력이 아니었음을 깨닫고, 앞으로 나아갈 수 있다는 믿음이 생겼습니다. 그리고, 내가 흔들리면, 내가 함께 하고 있는 기업이 흔들릴 수 있기에, 더욱 수련해야겠다고 생각할 수 있었습니다.
어쩌면 지금 시기는 상당히 불안하기에 인생에서 더 기억에 남고, 의미 있는 순간이 될 수 있지 않을까 생각했습니다.
지금의 상황과 순간을 곡으로 표현한다면, 저는 엔니오 모리코네의 곡 'the crisis'와 같다고 생각합니다. 이 곡은 중간중간 불안정적인 음계를 넣어서 만들어진 곡입니다. 아프고 불안정한 부분조차 아름다운 음악의 한 부분이 되었듯, 내 인생도 가끔은 흔들리고, 불안정하지만, 그 부분이 내 인생을 더 아름답게 만들어 줄 수 있지 않을까 생각했습니다.
불안하기에 더 아름다울 수 있는 순간을 살기 위해 노력하고 있습니다. 불안을 극복하고, 실력을 쌓기 위해 어떤 노력을 해왔는지를 작성해보려 합니다.
미라클 모닝 서비스 미닝 마무리
1, 2월. 저는 대학생 연합 IT 창업 동아리 SOPT의 활동을 끝내고, 미라클 모닝 서비스 미닝 프로젝트를 조금 더 발전시키기 위해 노력했습니다. 서비스 기획과 개발을 동시에 하면서, 서비스 고도화를 위해 노력했습니다. 하지만 팀원들의 사정에 의해 프로젝트는 중간에 해산됐고, 프로젝트가 끝나면서, 앞으로 나는 무엇을 해야 할 것인가 고민을 시작했습니다.
미닝 프로젝트를 하면서, 기본기에 대한 중요성을 깨닫곤 했습니다. 예를 들면, 미닝 서비스에서 sequelize ORM을 사용하면서, sequelize가 제대로 작동이 안 될 땐, 어떻게 해결해야 할지 막막하기도 했습니다. 주위에 문제를 물어보면, 로그에 찍힌 SQL문을 보고, 파악해야 한다는 말을 종종 들었는데, SQL을 전혀 모르는 상황에서, sequelize를 아무리 잘해본다고 한들, 문제가 생기면, 문제를 제대로 해결할 수 없는 사람이라는 것을 깨달았습니다. 저는 아직 기본기가 전혀 없는 사람이라고 생각이 들었습니다.
이제 프로젝트가 끝이 났으니, 기본에 대한 공부를 충실하게 수행해야겠다고 생각했습니다. 이를 위해 어떤 공부를 해야만 기본을 쌓을 수 있을까 고민했습니다.
포켓유니브 백엔드 개발자
기본기에 대한 공부를 하기 위해 알아보고 있을 때, 우연히 하나의 채용공고를 봤습니다. 스타트업에서 백앤드 개발자를 뽑는다는 채용 공고였습니다. 아직 완벽하진 않더라도, 내가 만약 이 팀에 합류했을 때, 분명 도움이 될 수 있는 부분들이 있을 것이라 생각했습니다.
포켓유니브라는 서비스에서, 백앤드 개발을 하면서도, 서비스 기획, 마케팅에 대한 인사이트를 팀 전체에게 줄 수 있지 않을까 생각했습니다. 그래서 면접에서는 개발적인 부분뿐만 아니라, 기획, 마케팅에 대한 전반적인 인사이트를 함께 공유했고, 마지막 하고 싶은 말이 있냐는 질문에, 저는 "지금은 제가 실력이 부족하더라도, 미친 듯이 공부해서 성장하겠습니다. 성장을 통해 팀에 도움이 될 수 있는 사람이 되겠습니다."라고 답했습니다.
일을 하면서, 기초적인 공부를 동시에 한다면, 시너지 효과가 더 클 수 있을 것이라 생각했습니다. 그렇게 운이 좋게도 팀에 합류할 수 있었습니다.
스타트업의 개발자가 된다는 것
첫 출근. 인수인계를 받으면서 코드를 살펴보는 데, 수정해야 할 필요가 있는 코드들이 많이 보였습니다. 내가 당장 회사에 어떤 점을 기여할 수 있을까 걱정했던 것이 무색할 정도였습니다. 당장 불필요한 레거시 코드를 없애고, 조금 더 좋은 코드를 적기 위해 노력했습니다.
하지만, 어느 순간부터 막히는 부분이 있었습니다. 미닝 프로젝트를 하면서 sequelize를 사용했는데, 여기서는 MySQL을 활용해서 쿼리를 진행하는 것을 보면서, 내가 빠르게 MySQL을 공부해야만 업무에 적응할 수 있다고 생각했습니다. 그래서 SQL 공부를 시작했고, 채팅 서비스를 개발하고 있는 상황에 합류했기에, socket을 활용한 채팅 서비스까지 개발해야 했습니다. socket에 대해서도 잘 몰랐기 때문에, 이에 대해 자세하게 공부해야겠다고 생각했습니다. 이를 통해 SQL과 socket에 대한 기본지식을 공부하고 서비스 개발에 대한 기초 지식을 쌓을 수 있었습니다.
문제를 해결해갈 수 있는 개발자가 된다는 것
점점 개발을 하면 할수록, 작은 문제점들을 발견했습니다.
가장 먼저 보였던 것은 비용적인 측면이었습니다. 팀 단위로 개발하다 보면 다양한 서비스를 이용하곤 합니다. 그중 포스트맨을 사용할 때도 돈이 나갔는데, 작은 스타트업일수록, 돈이 나가는 것을 최대한 줄일 수 있으면 줄여야겠다고 생각했습니다. 이를 위해 포스트맨을 사용하는 것이 아니라 swagger을 사용해서 API 명세서를 작성하고, API 요청까지 보낼 수 있게 만들어봐야겠다고 생각했습니다. 지금까지 API는 많았지만, 명세가 적혀있는 것은 하나도 없었기에, 빠르게 이 문제를 해결해야겠다고 생각했습니다.
swagger의 공식 문서를 전부 보면서, 회사에 어떻게 적용하면 swagger을 잘 적용할 수 있을까 고민하면서 블로그에 글을 남기기도 했고, 나와 같이 고민하는 다른 개발자에게 도움이 되고 싶어서 열심히 정리하기도 했습니다. 이를 통해, 팀 내에 swagger를 도입할 수 있도록 세팅을 할 수 있었습니다.
지속적으로 나타나는 문제를 해결할 수 있는 개발자가 된다는 것
점점 개발을 하면 할수록, 고민을 거듭하며 작은 문제를 해결했습니다.
먼저, 푸시 알림 푸시 알림 기능을 개발하기 위해 node-schedule을 활용하면서 생기는 문제점을 어떻게 해결할 수 있을까 고민했습니다. node-schedule을 활용해서, 매일 9시에 푸시 알림을 보내는 기능을 개발하기도 하고, 특정 이벤트가 발생하면, 발생한 시점의 48시간 후에 푸시 알림이 가게끔 하는 기능을 개발했습니다. 이 과정에서 만약 서버가 다운되는 문제가 발생할 때, 48시간 후에 푸시 알림을 보내야 하는데, 어떤 푸시 알림을 보내야 할지 서버는 기억하지 못하기에 푸시 알림을 보낼 수 없는 문제가 발생했습니다.
이 문제를 해결하기 위해서는 큐 시스템을 구현하거나, 다른 라이브러리를 활용해서, 어떤 푸시 알림이 보내질 것인지를 기록하는 시스템이 필요하다고 생각했습니다. 결국에는 agenda 라이브러리를 활용해서 푸시 알림 기능을 개선했고, 삽질을 기록하면서 푸시 알림 서비스를 더욱 고도화하고자 노력했습니다. 앞으로 푸시 알림 기능만 놓고도 해결해야 할 문제가 많을 것이기에, 문제를 꾸준히 기록하고, 해결 과정 또한 꾸준히 기록해야겠다고 생각했습니다.
마치며
힘들어할 때마다, 생활코딩 이고잉님의 슬럼프에 관한 글을 보곤 합니다. 이고잉님의 글을 보면서, 슬럼프는 프로그래밍을 잘하는가 못 하는가에 따라오는 것이 아님을 깨닫습니다. 누구나 충분히 슬럼프는 올 수 있지만, 슬럼프를 어떻게 극복하느냐가 대단히 중요한 문제라는 것을 다시금 깨닫습니다. 스타트업에서 일을 하면서, 부족한 점이 너무도 많다는 것을 깨닫곤 합니다. 그럼에도 절대 포기하지 않고, 내가 가고자 하는 길을 걸어야겠다고 생각했습니다.
길이란 걷는 것이 아니라, 걸으면서 나아가는 것이 중요하다. 나아가지 못하는 길은 길이 아니다.
길은 모두에게 열려있지만, 모두가 그 길을 가질 수 있는 것은 아니다.
미생의 문구를 다시금 기억하며, 나만의 길을 걸을 수 있는 사람이 되고 싶습니다.
참고
'일상 정리 > 회고' 카테고리의 다른 글
[회고] 2022년 하반기 - 다정함을 닮을 수 있다면 (5) | 2023.01.01 |
---|---|
[회고] 2022년 상반기 - 당신을 향한 기착(寄着) (2) | 2022.07.03 |
[회고] 2021년 하반기 - 돌에 글을 새기면 백 년을 간다 (8) | 2021.12.27 |
[회고] 2020년 하반기 - SOPT와 함께한 성장기 (0) | 2021.02.21 |
[회고] 2020년 상반기 - 사회복지 전공자의 개발 공부 (1) | 2020.12.13 |