2025년 개발자 인생 회고

2025. 12. 26. 16:20글/개발

0. 백수 시절 ( 11월 ~ 4월 )
11월부터 백수였던 나는 2024년 회고를 지나칠 정도로 치열하게 취준 준비를 했던것 같다. 혼자서 공부도 하고 친구랑 세미나도 하고. 코딩 테스트 준비도 했었다. 다행히도 자의로 나간 회사는 아니였기 때문에 실업 급여를 타면서 서울에서 계속 생활할 수 있었다. 이놈의 월세 너무 비싸다.. 내년(2026)에는 꼭 이사갈거라는 다짐을 한다. 

서류는 매일 많이 넣었지만 3주에 한번꼴로 합격을 해서 면접을 다녀왔던 기억이 있다. 갈때마다 불합격을 했고, 집으로 돌아오는 길에 복기하면서 나를 계속 다듬어 나가는 시기를 겪었다. 가장 중요한것은 마인드 컨트롤인데, 취업을 준비할 때는 내가 무엇을 해도 불안한 마음이 사라지지 않았는데, 이때 괜찮으니까 계속 이렇게만 해라고 마인드 컨트롤 하는것이 필요했다. 

잘아는 현직자 친구나 가족에게 내가 어떻게 지내는지 공유하면서 그렇게만 하면 되겠다라고 듣는게 큰 도움이 된것 같다. 그렇게 한해를 마무리하고 새해를 맞이 했다.


1. 4월에 건물 그래픽  에디터 제품을 다루는 회사에 취업을 했다.

여의도의 스타트업에 취업을 하게 됐다. 백수생활을 하고 있던 중에 마지막 실업급여를 남기고 있던 그 달에, 링크드인으로 메시지가 하나 왔다. 자기 회사가 채용중인데 내가 맘에 들어서 채용하고 싶어 하는 개발팀 리드의 메시지였다. 어떻게 연락이 닿아서 여의도에 가서 커피챗을 하기로 했다.

엄청 피곤해 보이는 사람이 나를 맞이했다. "아 제가 요새 아파가지고요.. 그래도 할건 해야하니까.. " 라고 말씀하셨다. 이거보고 엄청 나쁜 오라를 느꼈는데, 백수였던 나는 그런 신호들은 그냥 무시하게 되었다. 커피챗이라서 면접을 보는듯한 느낌은 아니였고, 리드분이 프로덕에 대한 설명을 해주셨다.

"저희가 vue를 사용하고 있었는데, React로 마이그래이션을 해서요. 기존의 따로따로 쓰이던 맵 아키텍처와 그래픽 렌더링 구조를 React Three Map 과 R3F를 쓰기 위해서 마이그레이션을 진행했습니다. 그래도 이제는 얼추 구조적으로는 완성이 됐다고 생각해서요. 여기 오시면 많은것을 배우실 수 있을거에요." 라면서 말을 시작하는데 대충 요약하자면 웹 환경에서 건물의 설계를 할 수 있는 웹 에디터 였고, 건물들은 엔진에서 도면을 생성해서 웹으로 뿌려주는 아키텍처였다. 물론 설명을 들을 때는 아무것도 이해하지 못하고 연신 고개만 끄덕거렸다. 웹 에디터가 흔히 보이는 구조도 아니고, 2D 3D 그래픽을 다루는 기회는 흔하지 않기 때문에 해보면 재밌을것 같다는 생각을 하게 되었다. 물론 이때까지 그쪽 분야를 해본적은 없었다. 그때 까지는 그런? 생각이 들었다. 아무튼 그렇게 1시간 가량 설명을 듣고, 다음주에 면접을보는게 어떻겠냐는 질문에 알겠다고 했다. 

그리고 1주일이 지나고, 다시 리드분을 만났다. 지난주 보다는 안색이 좋아진 모습이셨다. 다행스러운 마음으로 간단한 라이브 코딩을 보고 2차 면접까지 합격하게되어서 이 회사에 다니게 되었다. 이 때 면접에서 부터 우리 회사 되게 빡세다라고 말했는데 아오 그냥 취업만 시켜주세요. 라는 마음으로 알겠다고하고 그냥 입사했다.

이 프로덕에서 난이도가 있는 부분을 꼽자면  MobX를 사용한다는 점과 어마무시한 클래스 기반의 에디터의 아키텍처 였다. 일단 아키텍처적으로 완성이 되어 있다는 것은 그래픽 쪽이랑 조작하는 쪽 이였고, Map이랑 도형을 렌더링 하는 부분은 계속해서 기능을 추가 해야하는 상황이였다. 역시 최고의 학습자료는 동료의 코드라고 했던가.. 그렇게 하나하나 코드를 까보면서 어떤 기능이 있는지 적응하기 시작했다. 처음에는 간단한 UI작업 부터 시작하면서 8개월이 지난 지금은 프로덕에 하나의 피처를 쳐낼 만큼 제품에 익숙해졌다. 여기서 클로드 코드가 엄청나게 도움이 됐는데 어떤 부분에서 도움이 됏는지는 나중에 얘기하고.. 지금까지 이 회사를 다니면서 나에게 어떤 부분이 도움이 됐는지 생각해보면,

- 어떤 제품이든 머리를 박아가면서 알아가는 시간이 필요한것 같다. 절대적으로 시간을 많이 쏟아 부어서 익숙해지는 시간이 필요한것 같다.
- 무려 야근을 권장(?)하는 회사이기 때문에 맘 놓고(?) 야근 할 수 있었다. 이게 도움이 된 행동인지는 잘 모르겠다.


- 프론트엔드에서 MobX와 객체 지향적으로 프로덕을 구현하는 방법에 대해서 알게 되었다.
- 좀 더 객체 지향적인 기법을 더 잘 사용해서 리팩토링할 수 잇는 여지가 있는데 그건 다들 아시다 시피 스타트업이라 품질과 기능 개발의 트레이드 오프에 대해서 좀 더 잘 따져봐야 하는것... 어렵다


- 프론트엔드에서 에디터를 구현하는 방법에 대해서 알게되었다.
- 우리가 흔히 생각하는 에디터들이 가지고 있는 필수 기능들이 있고 예를 들면 (undo redo / snapshot / 렌더링 / 포멧 / 저장 기능 / 불러오기...) 그 복잡한 기능을 개발하려면 객체지향은 피할 수 없는 운명인것 같다.
-에디터가 왜 복잡하냐면 도형에 관한 정의나 그리고 마우스와 키보드에 관한 이벤트와 조작, 도형을 조작하는 방법 등등 반드시 필요한 구조들이 존재하기 때문이다. 그냥 모든것을 새롭게 정의한다고 생각해야한다.


- 프론트엔드에서 지도에 도형을 렌더링하는 방법에 대해서 알게되었다.
- 지도에서는 좌표라는것을 사용하고, 지도에서 벡터라는것이 아주아주아주 중요하다. 벡터와 좌표가 틀어지게 되면 우리가 예상하지 못한 동작이 발생한다. 예를 들면 드래그 했는데 도형이 우주멀리 날라간다던지, 반시계 방향으로 회전을 했는데 40번을 회전한다던지..
- 우리가 바라보고 있는 세계를 그대로 구현하는게 얼마나 어려운 일인가... 인간의 입장에서는 웹을 이용할 때 모든게 자동적으로 이루어진다고 생각이 되게 만들어야 하는것... 그것이 프론트엔드 개발자..


- 복잡한 데이터 포멧을 어떻게 JSON으로 관리하는지 알게되었다.
- 우리의 데이터 파일은 용량이 많으면 하나의 JSON파일이 30mb가 넘어간다.
- 이 파일을 주고 받으면서 엄청난 기능이 동작하도록 개발한다.


- 소켓 통신을 통해 복잡한 데이터를 주고 받는 방법에 대해서 알게되었다.
- 소캣통신이 무엇인지는 예전 블로그글에 나와있다.


- 어떻게 AI agent를 가지고 코딩을 잘 할 수 있는지 나름대로(?) 알게되었다.
- 사실상 이게 제일 중요한 파트인것 같은데, 아래 챕터로 따로 작성하겠다.

2. 클로드 코드와의 만남

올해 8월부터 클로드 코드를 사용하기 시작했다. 사실 그전에는 거의 사용하지 않고 자동 완성용으로 코파일럿을 주로 사용하고 있었는데, 리드분이 추천해주셔서 클로드 코드를 사용하기 시작했다. 그런데 이놈(클로드)이 이거 너무 잘하는것이다. 원래 내가 아는 AI들은 내가 하는 말을 알아듣지 못하는 동네 바보 꼬마 같은 이미지였는데, 그 때가 아마 클로드 코드라는게 나오고, MCP라는것이 나오고, 이거저거 연결해서 사용하기 바빴던 시절이였던것 같다. (한창 AI로 주니어 개발자가 대체된다. 라는 AI 옹호론자 말이 가장 많았을 시절이였을 것이다. 물론 나는 개발자니까 그 의견에 반대하긴 한다만 지금은 AI가 좀 똑똑해야지... ) 아무튼 Sequencial Thinking 이랑 File System MCP를 연결해서 AI가 이젠 파일을 탐색하고 관련 코드를 찾아서 직접 코드를 수정하는 플로우를 내가 두 눈으로 목격하고 난뒤에는 이건 진짜 안쓰면 바보다 라는 생각이 들었다.

그 때 당시에는 그래도 성능이 좋지는 않아서 "일단 자동화 할 수 있는 부분을 나눠서 그것을 맡겨라"라는 유행이였을 것이다. 그래서 간단한 JSON 수정이나 예시 파일 만들기, 상수 만들기는 기가막히게 잘해줬고, 아직 기능 개발이나 클래스 간의 관계 찾아서 내가 원하는 기능을 정의하는 정도까지는 못했다. 그래서 클로드의 모드를 넣는 readme를 작성하고 Plan - Act 플로우로 일일히 Plan을 수정해야하는 번거로움이 있었다. 왜냐면 여기서 이상하게 Plan을 세워주는데 그게 정말 그럴싸 해서 잘못을 집어주지 않으면 그냥 지맘대로 코드를 싼다(?) 근데 이게 놀랍게도 3개월전 이야기인데 클로드 코드 오푸스 4.0 이후로는 완전히 바뀌었다.

12월 현재는 클로드 코드 오푸스4.5도 출시하고 특히 성능이 말도 안된다. 이제는 프로덕에서 모르는걸 알려달라고 해도 코드 베이스를 전부 훑어보고 심지어 부족한 정보를 찾아서 사용자에게 질문을 해 필요한 정보를 알아서 채워넣는 광기를 보여준다. 그리고 Serena라는 MCP를 정말 추천하는데 코드베이스를 기반으로 Context를 만들어서 토큰 사용량을 대폭 줄여준다. 그래서 실제 코드를 기반으로 정말로 내가 의도한 기능을 개발해서 넣어준다. 미친 성능이다. 

이제는 안쓰는 사람이 바보일 정도로 성능이 좋아졌으니까 지금 이 글을 읽는 사람중에 안쓰고 있는 사람이 있으면 얼른 트라이 해보시길 바란다. (지금 제미나이 할인 중이래 ~ / 클로드 OPUS4.5 보다는 아니지만 chat gpt5.2 보다 좋은 성능이였던것으로 기억함)


3. 앞으로의 목표
프론트엔드 환경에서 객체지향적으로 좀 더 좋은 구조를 작성할 수 있는 개발자. 늘 그랬듯이 프론트엔드가 화면만 찍지 않는다. 특히 여기서 좀 더 복잡한 프론트엔드를 보니까 좋은 구조는 필수적이라는 생각이 들었다. 클래스에 점을 찍었을때 보이는 변수라던가, 어디에 이 메소드가 붙어야하나, 동작을 위한 최소 클래스들은 무엇인가 같은 생각을 조금이라도 줄여주는 구조를 만들고 싶다. DEV OPS나 배포 관리에 관한 부분도 건드려 보고 싶은데 지금은 하나의 프로덕을 계속해서 개선하는 작업을 맡고 있어서 중요한것에 집중을 할 때인것 같다. 필요할 때 배워도 늦지 않을것 같고.. 

근무환경이 빡센거랑 나의 성장이랑 무슨 상관관계가 있겠냐라고 한다면 왜 없어 !!! 남는게 하나라도 있지 않겠어? 라고 반문하고 싶다. 그 만큼 나에게 열중할 수 잇는 무언가가 필요했던것이였고, 나는 그것을 맞이해서 기쁜 청년이 되었다. 쉬었음 청년에서 잠시 숨을 고르는 청년으로 바뀐다고 하는데 참 부질없는 짓이라고 생각하고, 근본적으로 바뀌어야 할 문제가 있지 않는가?라고 생각이 든다.

비교하는 성격은 아니지만 내가 또래보다 연봉을 낮게 받고 있는 생각이 든다. 니가 받는 연봉이야 중요하겠냐? 내가 먹고 살아 가는게 중요하지, 근데 먹고 살아가려면 연봉은 무조건 중요하지. 그래서 나는 회사에 좀 더 기여해볼 생각이다. 일단 내가 먼저 주고, 다시 나한테 돌아오는것을 보고 판단해도 늦지 않을것 같다. 위에 내가 작성한것들이 나에게 남은것들이 아닌가. 잘 다듬고 영향범위를 늘리면서 대체 불가능한 사람이 되는것이다. 

AI를 좀 더 잘 이용해야겠다. 클로드와 더 친해져서 나의 근무 시간을 줄이게 하고 싶다. 이제는 가독성이 좋은 코드가 AI가 알아볼 수 있는 코드로 레벨업 된 만큼 개발자로서의 역량이 업그레이드 된것 같다는 생각이다. 솔직히 이제 AI만 있으면 전부 개발할 수 있겠다라는 쓸데없는 근자감도 있다. 근데 이건 이거고 기간을 빡세게 잡는건 별개입니다. xx님..

그래도 이렇게 쉬는 시간이 생겨서 회고도 작성하고 바쁜 와중에 휴식이 필요한거구나 다시금 느낀다. 서울에 살면서 치열하게 고생만 하지 말고 자신 행복과 인생에 대해서 다시금 생각해보는 시간을 갖는게 어떤가 !!! 개발자님들 너무 개발만 하지 마세요. 이제 그것만으로는 못먹고 사니까. ㅠ,ㅠ