brunch

You can make anything
by writing

C.S.Lewis

by 기억띠귿 Mar 18. 2023

EP01-P. 사이드 프로젝트를 할 결심

이번에 새로 기능을 추가하면서 DB랑 서버를 docker compose를 이용해서 구성했어요. 설치해 주시고 환경 구성해 주세요.


옛날의 나였으면 당황정도를 넘어서 패닉이 찾아와 숨이 가빠지고 진땀이 나고 앞이 깜깜해지는 게 정해진 다음 순서이었다. 전혀 모르는 것을 활용해서 프로젝트 진행 중에 갑자기 자연스럽게 처리를 해야 할 퀘스트가 나올 때마다 공포의 대상이었다. 그러나 이번엔 땀이 흐르지 않았고 내 심장박동은 ‘쿵덕쿵덕쿵덕’ 정상적인 자진모리장단처럼 자연스럽게 흘러갔다.


왜 그랬을까?

마침 몇 주 전까지 도커로 인해서 몇 주 동안 삽질을 하는 모습이 나의 일상이었다. 개인적으로 토이 프로젝트로 하나 만들어 보고 있었는데 외부의 open api를 활용해야 했다. 그런데 그놈의 CORS 에러가 말썽이었고 이걸 해결하기 위해서 proxy server와 nginx를 공부하고 어느새 nest.js로 서버 구현하는 자료로 흘러가 갑자기 게시판 기능을 추가해서 만들고 있는 나는 토이프로젝트라는 보트를 에베레스트로 이끄는 어엿한 산악인의 면모를 보이고 있었다.

그러다가 화룡정점으로 서버와 DB, 프론트 코드를 각각 docker 이미지로 말아서 compose로 합치 기라는 고지를 달성하기 위해 매일 삽질을 시작했고, 퇴근길을 가던 동료들은 ‘한국인의 정’ + ‘코드의 빨간 줄을 보면 그냥 지나가지 못하는’ 좋은(?) 특성을 넉넉히 갖추고 있기에 매일 내가 하고 있는 삽질에 어느새 삽을 들고 같이 서있었다. 그러면서 인프라 쪽으로 갈 거냐라는 농담을 들어가며 어디로 향하고 있는지 모른 채 열심히 고군분투했다. 덕분에 완전 백지 같던 내 머릿속에는 nest.js를 사용하며 스프링의 동작 흐름을 좀 이해할 수 있었고 도커의 개념이 퍼즐처럼 맞춰지고 있었다.

그때 했던 삽질로 지하 10층까지 다녀온 이후에 갑자기 docker compse를 들으니 아주 친숙하고 반가운 친구처럼 느껴… 진 것은 아니지만 패닉에 빠지지 않고 침착할 수 있었다. 이때 사이드 프로젝트의 효과를 뼈저리게 느꼈다.

‘내가 새로운 기술이나 개념을 학습하고 싶다면 사이드 프로젝트를 하면서 적용해 보는 게 효과가 만점이구나!’

그리고 나는 새로운 사이드 프로젝트를 진행해 보기로 했다.






그렇다면 이번 사이드 프로젝트로 얻고 싶은 열매는 무엇일까?   



1. 실제 돌아가는 서비스를 만들고 사용자가 사용하는 것을 경험한다.


가장 먼저 꼭 경험하고 싶은 게 있었다. 개인 사용자가 실시간으로 사용하고 사용자의 목소리를 반영해서 기능을 개선하는 그 뿌듯함을 깊게 경험해보고 싶었다. 저번에 하던 토이 프로젝트 진행은 이 그림 한 장이면 묘사를 할 수 있었다.

(그래도 이 고양이는 살아 움직이라도 하지…. 내 고양이는 아무도 모르게 잠자고 있다.)


기능을 아주 작고 필수적인 것만 기획해서 만들더라도 꼭 실제로 사용이 되도록 끝맺음을 맺는 ‘winning habbit’이 필요했다. 또한 내가 개발한 프로덕트를 사용자가 사용하는 뿌듯함을 반드시 경험해야 뭔가 개발자로서 추진력이 많이 떨어지고 있던 찰나에 새로운 동기부여 부스터를 달아줄 수 있을 것 같았다.   


2. AWS를 사용해서 클라우드 기반 서비스를 만들고 AWS를 깊게 이해하고 싶다.


내가 개발자로서 커리어를 쌓기 시작하면서 개발 하드스킬도 중요하지만 사람들이 내 커리어를 보면서 기대하는 바가 무엇일까 생각해 보니 IT인으로서 관련 산업에 대해서 설명할 수 있고 깊게 다룰 수 있는 능력을 기대하겠다는 생각이 들었다.

그러면 내가 있는 도메인의 산업에 대해서 깊게 이해하고 활용할 줄 아는 능력을 갖춰야겠다고 결심했고 그러기 위해서는 사용해 봐야 가장 효과적으로 알 수 있다는 결론에 도달했다. 이번 사이드 프로젝트를 한번 AWS에 올려서 운영해 보면 AWS 서비스들을 깊게 이해하고 활용할 수 있을 것이란 기대가 된다. 


3. 기획부터 테스트까지 FE의 한 사이클을 경험하고 싶다.


회사에서 프로젝트를 진행하면서 감사하게도 유지보수보다 새로운 프로덕트를 개발하는 프로젝트가 대부분이어서 새로운 오픈소스 라이브러리나 기술을 적용해 보는 기회도 갖고 공부할 수 있었다. 그러나 마냥 자유롭지는 않다. 안정적으로 서비스를 운영하는 게 가장 중요하기 때문에 새로운 기술이 무조건 답이 아니다. 함께 진행하는 개발자들이 익숙한 기술이나 그동안 다양한 이슈를 대응해 보며 안정성을 갖춘 라이브러리를 맞춰서 써야 한다. 그러다 보면 내가 욕심을 내서 적용해보고 싶은 것들을 일단 마음속에 저장해 둘 때가 있다. 그런 점에서 특히 이번에 꼭 넣어보고 싶은 건 테스트 코드와 CI/CD 과정이다.

또한 개발자로 직무를 바꾸면서 개발자로서 기능을 구현하는데 허겁지겁 따라가기에 바빴기 때문에 사용성을 고려하거나 기획자와 소통하며 함께 고민하기는 뒷전이었다. 그러다 보니 어느새 바쁨을 호소하며 쉽게 개발할 수 있는 방향이나 뻔하게 있는 형태의 기능으로 요구하는 쪽으로 바라는 나의 모습을 발견했다. 깜짝 놀랐다. ‘UX를 공부하고 기획을 했던 이력을 가진 내가 이러고 있다니…!’ 스스로 만들어 온 커리어와 능력을 축적시키고 발전시키기보다는 지우고 빼는 듯한 느낌이었다. 그렇기에 다시금 작게나마 기획서부터 작성해 보고 기획자로서의 마인드 셋이나 스킬을 녹슬지 않도록 해보기로 했다.


이제 사이드 프로젝트를 무엇을 할까 고민이 되었다.


여기서 잠깐 혼자 사이드 프로젝트를 진행할 때 팁이 있다면 ‘최대한 작은 것을 아주 사소하게 느껴질 만큼 작게 쪼개서 시작하기’이다. 혼자 진행하는 경우 누군가에게서 압박을 느끼지도 않고 내가 하고 싶을 때 하면 되지만 보통의 경우 일주일 동안 귀찮기도 하고 그냥 놀고 싶고 일하고 와서 굳이 오늘은 넘어가자라고 생각할 때가 거의 90% 이상이다. 일단 작업을 시작하면 꽤 재미를 붙이기도 하고 몰입해서 하게 되지만 이 막강한 귀차니즘과 미루즘(?)이 문 앞을 단단하게 지키고 서 있다. 그렇기 때문에 범위를 아주 작은 것으로 잡는다. 예를 들어서 이번에 사이드 프로젝트를 기획부터 시작하기로 결정하니 너무 범위가 넓은 데 비해 주어진 시간적 여유는 적어서 마음은 급하니 더 막막해지고 미루게 되는 악순환의 고리를 타고 있었다. 이럴 때 딱 '기획서 메인화면의 설명만 작성하기!’라고 목표를 정해버리니 만만해지고 접근의 문턱이 쑥 낮아져 유튜브의 유혹을 지나쳐 진행할 수 있었고 진도를 뺄 수 있었다. 그러므로 주제를 정하든 정한 주제를 가지고 진행을 할 때든 사이드 프로젝트는 아주아주 작게 쪼개서 진행하는게 좋다.


내가 지금 구상하고 진행하고 있는 사이드 프로젝트는 ‘묵상공방’이라는 서비스이다. 학교를 다닐 때 친구와 함께 잠시 진행했었던 프로젝트였는데 한 주에 한 성경말씀을 랜덤으로 보여주고 섭외한 작가들이 각자의 표현방법으로 그 말씀을 깊게 생각하고 느낀 점을 표현해 하루에 하나씩 작품을 공개하는 프로젝트였다. 각자의 고유한 느낀 점을 때로는 음악으로, 글로, 그림으로 표현하고 함께 공유하며 즐겁게 했던 기억이 있었는데 이것을 플랫폼 형태로 개발해보려 한다. 더 구체적인 프로젝트 내용은 진행하면서 하나씩 올려 볼 생각이다.






사이드프로젝트를 묘사하는 말로 흔히 ‘시작은 창대하나 끝은 미약하리라…’라는 말이 있다. 굳은 결의가 거창한 아이디어 그리고 부푼 꿈 한 스푼으로 시작한 프로젝트는 바쁜 일상이란 파도가 앞에서 때리고 옆에서 때리고 물 세 번 정도 마시고선 이런 생각을 했는지 조차 잊어버리게 되곤 한다. 하지만 내가 멈추지만 않으면 끝난 게 아니라는 생각을 가지고 한걸음 한걸음 나아가 내가 내 자식처럼 애정을 갖고 개발하고 운영하는 보람을 느끼는 서비스를 연말에 품고 있기를 바래본다.

매거진의 이전글 여는 글, 랩탑과 배낭이면 어디서든 잘 살게 하는 하루
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari