들어가면서
최근 AI 도구에 대한 중요성을 많이 느끼게 되었습니다. 작년 초까지만 해도 ChatGPT를 사용해서 코드를 복사/붙여넣기하고 대답을 기반으로 내 코드를 수정하는 정도였습니다. 이때까지만 해도 신규 버전이 출시될 때마다 성능이 향상하는 느낌은 받았지만 개발자 자리에 대한 위협이 느껴진 적은 없었습니다. Cursor에 대한 이야기를 많이 듣긴 했지만, IntelliJ IDE를 주로 사용하다보니, VSC 환경에서 Java 코드를 사용하는 게 익숙치 않아 피하고 있었습니다. AI에 대한 신규 서비스들이 다양하게 출시되고 있었지만 저에게 큰 관심사로 다가오진 않았습니다.
그러다가 25년도 12월에 재구축 프로젝트에 긴급 투입되면서 AI 도구를 적극적으로 사용하게 되었습니다. 빠른 시일 내에 레거시 프로젝트를 분석 하여 신규 프로젝트에 기능을 구축했어야 했는데, 레거시 프로젝트의 구조가 꽤 크고 복잡해서 투입 초기에 레거시 프로젝트를 파악하는 데에 애를 먹고 있었습니다. 그 뿐 아니라 신규 프로젝트는 MSA 구조라, 신규 프로젝트에 기능을 구현하는 것도 난이도가 꽤 있었습니다. 그러다보니 투입 초반에 개발 속도가 계속 나오지 않다보니 프로젝트 리더님께서 ChatGPT말고도 Claude와 같은 AI도구 활용하여 개발을 진행해보는 것을 추천해주셨습니다. 처음에는 ai에게 내 코드 수정을 맡기다보면 내가 내 코드에 대한 지배력(?)이 떨어져 결국 더이상 내가 짠 코드를 이해하지 못하는 상황이 오는 것이 두려워 주저했지만, ai가 코드 수정시 코드 리뷰를 꼼꼼히 하자고 마음먹으며 AI 도구를 사용하기로 결정했습니다. 저는 Codex CLI를 사용했는데 우선 ChatGPT를 유료결제 해둔 상태라 사용할 수 있었고, 터미널에서 실행하는 서비스다 보니 IntelliJ IDE에서도 사용할 수 있다는게 가장 큰 장점으로 다가웠습니다.
사용 후기
이젠 개발자가 AI 도구를 사용하지 않을 수가 없는 시대가 왔구나라는 걸 새삼 깨닫게 되었습니다. 저는 크게 아래와 같이 사용했습니다.
- 레거시 프로젝트 분석 > 각 프로세스를 md 파일로 저장
- 신규 프로젝트 기능(백엔드) 구현 > 이미 구현된 기능과 비슷한 기능 구현시 적극 활용
- 신규 프로젝트 화면(프론트엔드) 구현 > 대부분의 화면은 Codex를 적극 활용
레거시 프로젝트 분석
레거시 프로젝트는 JSP로 화면을 뿌려줬습니다. 저는 구현해야할 화면의 JSP를 include한 후 아래 단계로 분석해달라고 요청했습니다.
- 해당 화면에서 사용하는 API 엔드포인트에 대한 각 서비스 로직을 정리해.
- 해당 화면에서 특정 권한에서만 사용하는 기능이 있으면 그 조건를 반드시 기입해.
- 각 서비스별 로직의 프로세스를 정리해.
- 위 정리한 내용을 docs/*.md 형태로 작성해.
여러 시행착오를 거치면서 레거시 프로젝트 분석을 위해 대략적으로 4가지의 요구사항으로 정리되었습니다. 그 중에서 각 기능에 대한 정리를 md파일로 관리하기 시작하면서 업무 효율이 더욱 좋아졌다고 느꼈습니다. 기능 분석을 할 때 md 파일로 정리하다보니 추가 분석이 필요할 때 해당 md에 append하는 방식으로 관리할 수 있었고, 관련 질문이나 다른 기능 분석을 할때 비슷한 기능 혹은 화면이면 해당 md파일을 include해서 참고하라고 할 수 있는 등 다양하게 활용 가능했던 것 같습니다.


신규 프로젝트 (프론트엔드) 구현
신규 프로젝트에서 화면을 구현할 때, 레거시 프로젝트의 화면 정보(form 정보)등을 제공하고, 회사 내부에 정의해둔 components를 include하여 이를 참고하여 모달, 화면 등을 구현하라고 지시했습니다. 화면단은 codex를 적극 활용했습니다. event 등록, 실행, 검증 로직 등을 검토하였습니다. 이전 프로젝트 들에선 화면 구축하는데 꽤 많은 시간을 소모했었는데 이번 프로젝트에서는 이 시간을 많이 아낄 수 있었던 것 같습니다.
신규 프로젝트 (백엔드) 구현
AI 도구를 가장 많이 사용해야할 부분이라고 생각합니다. 이번 프로젝트에서는 기능 하나를 직접 구현한 후, 이를 include해서 비슷한 기능을 구현할 때 이를 참고하여 동일한 구조로 작업하라고 지시했습니다.
앞으로
AI 도구를 잘 활용하는게 중요해질 거라고 생각합니다. 백엔드 구현 시 지시를 더욱 잘 하면 더욱 효과적으로 사용할 수 있을 거라 생각합니다. 지금까진 Codex CLI를 메인으로 사용했지만 더욱 다양한 AI 도구에 대한 공부도 필요할 것 같습니다.