AI와 함께 코딩을 하자
새로운 프로그래밍 언어를 쓴다는 기분으로 chatgpt, claude, gemini 등과 함께 코딩을 해보고 있다.
간단한 로직을 가진 엔진과 이를 API 로 서비스하는 엔드포인트, 그리고 이 API 를 사용하는 웹페이지를 만들어 보면서 "오... 이거 편한데?" 생각이 들어서 이것저것 시켜보고 있다. 하다보니 좀 하이레벨이긴 하지만 새로운 프로그래밍 언어를 익힐 때랑 비슷한 기분이 든다. 그리고, 회사에서 주니어 개발자들에게 업무를 주면서 설명을 해 주거나, 코드리뷰를 할때와 비슷한 기분도 든다. 아주 오래전 슈레인 옆에 앉혀두고 입코딩을 했던 때가 떠오르기도 한다.
개발에 대해서 전혀 모르는 사람도 한시간 정도면 적당한 웹 서비스를 만들 수가 있는 세상이라 누구나 그냥 하면 될 것 같지만, 일을 말로 시키는 것이 생각보다 쉬운 일은 아니다. AI 가 만들어주는 결과물은 우리가 준 지시에서 비어있는 부분을 적당히 괜찮은 기본값으로 채워주기 때문에 비교적 쉽게 동작하는 것을 얻어낼 수 있는데, 기본값으로 해결되지 않는 디테일을 지시하려면 그 부분들은 역시 in-depth 로 들어가서 하나씩 설명을 해줘야 한다. 그래서 디테일한 지시를 하다보면 개발자 앞에 앉혀두고 얘기를 하거나, 아니면 입코딩을 하던 때가 떠오른다.
예전부터 후배들이 "선배님, 어떤 프로그래밍 언어를 배워야 하나요?" 물어보면 한국어와 영어를 배우라고 (진심이다) 했었는데, 와 지금 되돌아 보니 내가 인사이트 찢었다는 생각이 든다. 대박... 하지만 정작 나도 아직 우리말과 미국말을 둘다 잘 못하는 것이 슬프다.
AI 에게 프롬프트 잘 주는 것도 여기저기 여러가지 아티클들이 돌아다니는데, 그 중에 "코딩" 시키는 좁은 분야에 대해서도 프로그래밍 언어나 디자인 패턴 공부하듯이 여러가지 원칙이 세워지도 약자로 만들어져 돌아다니고 그럴 것 같다. 아니 이미 그럴것 같은데? 검색하러 가봐야지. 역시 생각을 글로 쓰다보면 할 일이 생긴다. :-)
덧: 하다보니 AI 한테 테스트 코드 먼저 만들라고 하는게 꽤 괜찮은 접근인것 같다.