2025. 1. 9. 19:11ㆍ잡담
최근 NestJS를 학습하기 시작했다. 이유는 크게 두 가지 정도가 있는데,
1. 회사 사수분이 풀스택이셨다. 사실 백엔드 개발자라고 말하는게 맞겠지만, 리액트도 어느정도 할 줄 아는 분이셨다. 다른 팀들과의 커뮤니케이션은 원래 사수분이 모두 도맡아 하셨는데.. 이직을 하시고 나선 많은 커뮤니케이션을 담당하고 있다. 웹개발자가 아닌 다른 팀원분들은 프론트엔드 / 백엔드에 대한 이해가 딱히 없으셨다. 나한테 백엔드는 너무 먼 영역이라 생각됐지만 ML개발자 분들에겐 웹개발잔데 뭘 분류해? 이런 느낌으로 다가오나 보다.
사수분은 모든 이슈에 대해 다른 팀 팀원들에게 이런 저런 이유들을 잘 설명해주셨다. 하지만 요즘 나한테 이런 저런 질문을 해주시다 보면 나는 종종 "이건 백엔드 문제라.. 다른 분한테 여쭤보세요.."라는 답을 했는데, 다른 팀 팀원분들은 사수 분과 주로 소통하시다 보니 당황하시는 모습을 보이신시기도 했다. 내가 인간적으로, 그리고 개발적으로 존경했던 사수였기에 나도 회사에서 사수 분이 해내던 역할을 하고 싶었다.
현재 회사의 백엔드는 Go로 되어있다. 하지만 백엔드의 어떤 커다란 개념적인 부분(아직 어떤 개념들이 있는지 모르기에 이렇게 표현했다) 들을 알면 Go의 문법은 간단하다고 너무 많이 들어서, JS 기반으로 백엔드를 학습하는게 더 빠른 길이라고 생각했다.
2. 에디와의 멘토링을 끝마치면서 에디가 나한테 했던 말이 있다. 시저는 풀스택이 되어야 한다고. 개인적으로 나도 동의하는 말이다. (물론 10년 뒤에 프론트엔드와 백엔드 중에 뭘 더 잘해?라고 물어보면 프론트엔드라고 답하고 싶다.) 그 당시엔 사실 정확히 말 뜻을 이해 못했는데, 지금은 에디가 왜 그런 말을 했는지 조금씩 이해되고 있다.
결국 두 가지 이유를 종합해보자면 백엔드를 알아야 직성이 풀릴 것 같아서로 귀결되는 것 같다. 뭐든 공부하는 걸 좋아하고, 내가 모르는게 있으면 알고 싶어하는 성격을 장점으로 환원시키고자 백엔드를 공부하기 시작했다.
-
Nest는 참 재밌다. 내가 취준 때 상당히 공을 들여 공부했던 프로젝트가 있다. Inversify로 React + supabase를 내 나름의 아키텍처로 구상한 프로젝트였는데, 정말 재밌게 프로젝트를 완성했던 기억이 있다. 그때는 뭣도 모르고 마구잡이로 학습하며 '의존성 주입은 멋있고 좋은거야'와 같은 식으로 진행했었는데, 지금 보니 사실상 생으로 Nest를 구현했던 듯 싶다. 이 경험 덕분에 조금 더 쉽게 백엔드 학습에 입문한 듯 하다.
FE개발을 하면서는 Class를 쓸 일이 거의 없다. 컴포넌트도 하나의 클래스라고 생각은 하는데, 좋은 객체지향 원칙을 FE에 적용하기는 쉽지 않다. Nest는 거의 모든게 Class다. 지금은 인프런 강의를 통해 학습만 하고 있지만, 사이드 프로젝트를 해보며 좋은 코드를 위해 객체지향적 고민을 해보려고 한다.
-
Nest와 관련 없는 이야기지만, 요즘 GPT를 많이 가져다 쓴다. 하나 느끼는건 더이상 나같은 신입 개발자가 필요 할까? 라는 물음이 스스로 생겼다. 문제 해결을 위해 새로운 라이브러리 도입을 결정하고 나서 더이상 라이브러리 사용법을 학습할 필요가 없다. 어느정도 알려진 기술이라면 GPT에게 사용 예제를 바로 받아볼 수 있다.
예전엔 사소한 지식 하나 하나가 중요했으리라고 본다. 하지만 이젠 사소한 지식은 더 이상 기억해두거나 기록해두지 않아도 검색 엔진 보다 훨씬 빠르게 적용이 가능하다. API의 사용법이 아닌 변하지 않는 지식들에 조금 더 집중해보고자 한다.
요즘은 어느 지점이 트리거였는지 모르겠지만 이따금 CS와 연결되는 지점들이 보이곤 한다. 취준할 땐 한번도 못느꼈는데. 내가 가진 지식들을 CS와 연결시키는 작업들을 조금씩 해나가려 한다. 얼마나 걸릴지는 모르겠다.
-
오히려 실무를 겪으며 개발이 더 재밌어졌다. 진작 취업할걸 하는 아쉬움이 있지만, 세상 모든게 다 필요한 경험이겠거니 생각한다. 주저리 주저리 생각들을 적어보니 재밌다. 기술 글을 더 적어야 하는데 ㅎㅎ