전체 내역
  • post
  • 7 min read
  • 조회수268

11년 차, 여섯 번째 회사에서 쓰는 회고

학원에서 자바를 배우던 2014년부터, 개발과 PM을 같이 하는 지금까지. 이력서를 다시 쓰다가 그동안 미뤄 둔 회고를 써 봤다.

이직할 때마다 이력서를 고치긴 했지만, 처음부터 끝까지 다시 읽어 본 건 이번이 처음이었다. 경력란에 "11년 3개월"이라고 적힌 걸 보고 좀 놀랐다. 회사는 여섯 곳. 숫자로 보니 생각보다 많이 옮겨 다녔고, 생각보다 오래 했다.

회고는 늘 연말에 쓰려고 마음만 먹다가 한 번도 못 썼다. 이번에도 연말까지 기다리면 또 안 쓸 것 같아서, 블로그를 연 김에 지금 쓴다. 잘한 것보다 그때 몰랐던 것 위주로 적어 보려고 한다.

학원에서 시작했다

2014년에 PHP 과정을 들었고, 그해 겨울부터 오라클자바교육학원에서 자바, 스프링, 오라클 과정을 들었다. 그때 이력서에 쓸 수 있는 건 학원 수료증 두 장이 전부였다. 그때는 백엔드 개발자가 될 줄 알았다. 화면 쪽으로 오게 될 거라고는 생각도 못 했다.

인스웨이브: 남의 코드에서 문제를 찾던 3년

첫 회사는 WebSquare라는 웹 UI 솔루션을 만드는 곳이었다. 기술지원팀에 들어갔는데, 일의 대부분이 고객사 코드에서 문제를 찾는 거였다. "솔루션이 이상하다"는 문의가 오면 열어 보고, 십중팔구는 솔루션이 아니라 고객사 코드 문제였다. 그걸 정중하게 설명하는 것까지가 일이었다.

나중에 SI팀으로 옮겨 기업은행 CRM 화면을 만들었고, ActiveX로 된 화면을 HTML5와 자바스크립트로 바꿔 주는 변환 툴(WCraft) 개발에도 참여했다. 지금 생각하면 웹 표준으로 넘어가던 시기를 현장에서 본 셈인데, 그때는 그런 의미를 생각할 여유가 없었다. 일정 맞추기 바빴다.

이 시절에 남은 게 하나 있다면 처음 보는 코드를 겁내지 않는 습관이다. 요즘 AI가 만든 코드를 리뷰할 때 가끔 그때 생각이 난다. 남이 쓴 코드를 읽고 어디가 이상한지 찾는 일, 결국 같은 일이다.

이노뎁: 가장 오래 있었고, 가장 많이 배운 곳

2019년 1월에 이노뎁으로 옮겼고 2023년 11월까지 4년 10개월을 있었다. 지금까지 가장 오래 다닌 회사다. 스마트시티와 재난안전 관제 화면을 만들었는데, 지도가 빠지는 화면이 거의 없었다. OpenLayers를 처음 제대로 써 본 것도, 좌표계 때문에 마커가 바다 한가운데 찍히는 걸 처음 본 것도 여기서였다.

그리고 Angular에서 React로 넘어가는 전환을 여기서 겪었다. 솔직히 처음엔 반발이 있었다. Angular는 정해진 구조가 있어서 팀원 누가 짜도 비슷하게 나왔는데, React는 자유로운 만큼 사람마다 코드가 달랐다. 상태 관리부터 폴더 구조까지 하나하나 정해야 했다.

그러다 보니 같은 지도 코드를 프로젝트마다 또 짜고 있는 게 보였다. 지도 생성, 레이어, 팝업, 정리 코드. 그래서 공통 지도 모듈을 만들고, React GIS 컴포넌트 라이브러리로 정리하고, 보일러플레이트까지 만들었다. 후속 프로젝트에서 그 라이브러리를 그대로 가져다 쓸 때 꽤 뿌듯했다. 전국 37개 지자체 관제센터에서 지금도 돌아가는 통합플랫폼도 여기서 개발하고 유지보수했다. 내가 만든 화면을 누군가 매일 켜 놓고 일한다는 게 처음으로 실감 났던 프로젝트다.

책임연구원이 되고 팀장도 맡았다. 팀장이 되고 나서 깨달은 건, 내가 코드를 잘 짜는 것보다 팀이 같은 방식으로 짜게 만드는 게 훨씬 어렵다는 거였다. 이건 지금도 어렵다.

스퀘어스: 짧게 끝난 팀장

2023년 11월에 노코드 웹 빌더 큐샵을 만드는 스퀘어스로 옮겨 에디터팀 프론트엔드 팀장을 맡았다. 그리고 2024년 3월에 나왔다. 넉 달 남짓이다.

이력서에서 이 줄이 제일 신경 쓰인다. 면접에서도 꼭 물어본다. 짧게 있었던 이유를 여기서 길게 쓰진 않겠지만, 돌아보면 내가 아쉬운 건 기간이 아니라 그 기간 동안 팀에 충분히 스며들지 못한 거다. 텍스트 에디터를 리팩토링하고, 온보딩 문서를 만들고, 공통 ESLint 플러그인과 릴리즈 노트 자동화로 개발 환경을 정리했다. 일은 했다. 그런데 팀장으로서 사람들과 신뢰를 쌓기엔 시간이 부족했다.

그래도 이때 만든 개발 규칙들, PR 템플릿이나 커밋 컨벤션 같은 것들이 의외로 지금 AI 에이전트와 일할 때 그대로 쓰이고 있다. 사람이 같은 규칙으로 일하게 만드는 장치가, 에이전트에게도 똑같이 통한다. 이건 그때는 상상도 못 한 쓰임새다.

다비오, 이든티앤에스: 3D와 AI를 처음 만났다

다비오에서는 STUDIO3D의 지도 대시보드와 Cesium 기반 3D 결과 화면을 만들었다. 2D 지도만 하다가 3D를 하니 처음엔 카메라 각도 하나 맞추는 데도 한참 걸렸다. Rollup과 Storybook으로 디자인 시스템을 npm 패키지로 만든 것도 이때다. 컴포넌트를 패키지로 배포해 본 건 처음이었는데, 버전 관리가 생각보다 훨씬 귀찮다는 걸 배웠다.

이든티앤에스에서는 프론트엔드 개발을 총괄했다. LLMOps 서비스에서 모델, RAG 문서, 프롬프트를 관리하는 화면과 사용량 대시보드를 만들었다. AI가 제품의 중심인 화면을 처음 만들어 봤는데, 솔직히 처음엔 기획서에 있는 "토큰 사용량", "임베딩 상태" 같은 항목을 이해하지 못한 채로 화면에 옮겼다. 그게 부끄러워서 나중에 AI 기초 과정을 찾아 듣기 시작했다.

제이디원: 개발자이면서 PM

2025년 9월에 제이디원에 왔다. 여기서 처음으로 개발과 PM을 같이 하고 있다.

AI AGENT ONE 프론트엔드를 만들면서 Cursor를 처음 써 봤고, 올해 들어 Claude Code로 완전히 옮겨 왔다. 지금 사내 업무관리 시스템을 다시 만들고 있는데, 코드의 대부분을 에이전트가 쓴다. 나는 설계 문서를 쓰고, 계획을 검토하고, 결과를 확인한다.

그리고 한쪽에서는 합천과 통영의 스마트시티 사업 PM을 하고 있다. 스마트폴, 키오스크, 스마트주차장 같은 장비가 공장에서 만들어지고 현장에 설치되는 과정을 관리한다. 통영은 주차장 8개소에 주차면 분석 솔루션을 구축했다. CCTV를 어디에 몇 대 달지, GPU 서버 사양을 어떻게 잡을지 같은 걸 결정하는 일은 개발과 완전히 다른 근육을 쓴다. 발주처, 감리, 시공업체, 제조사, 개발팀 사이에서 하나의 요구사항이 화면에 도착하기까지 몇 번이나 바뀌는지 직접 보니, 예전에 "기획이 또 바뀌었다"고 투덜대던 내가 좀 머쓱해졌다.

나는 아직 개발자인가

요즘 가장 자주 하는 생각이다. 코드를 직접 치는 시간이 확실히 줄었다. 하루 종일 문서를 쓰고, 회의를 하고, 에이전트가 만든 결과를 확인하다 보면 퇴근길에 "오늘 나 코드 몇 줄 썼지?" 싶을 때가 있다.

처음엔 이게 불안했다. 손이 무뎌지는 것 같아서. 그런데 요즘은 조금 다르게 생각하려고 한다. 기술지원 시절에 남의 코드에서 문제를 찾던 일, 팀장 시절에 팀의 규칙을 만들던 일, PM으로 범위를 정하고 조건을 협상하는 일. 에이전트와 일하는 지금, 이 모든 게 다 쓰이고 있다. 코드를 쓰는 사람에서 코드가 맞는지 판단하는 사람으로 무게가 옮겨 가는 중인 것 같다. 이게 좋은 변화인지는 아직 모르겠다. 몇 년 더 지나 봐야 알 것 같다.

앞으로

거창한 목표 대신 지킬 수 있는 것만 적는다.

  • 이 블로그에 한 달에 두 편은 쓴다. 고친 코드든 바뀐 생각이든.
  • AI 과정 네 개(AI Fluency, 생성형 AI 기초, OCI AI Foundations, 허깅페이스 에이전트)를 끝까지 듣는다. 지금 절반쯤 왔다.
  • 사내 업무관리 시스템을 실제로 오픈한다. 문서와 셸만 만들고 끝나지 않게.

11년 동안 같이 일한 사람들에게 고맙다. 특히 이노뎁 시절 팀원들. 내가 처음 팀장을 맡아 서툴렀을 때 많이 참아 줬다. 그때 못 한 말을 여기에라도 적어 둔다.

Comments (0)