LLM을 제대로 사용하는 개발자가 되기 위해선
올해 저는 6개월 정도는 집중적으로 직무 역량을 키워보려고 합니다. 어디 가서 저 스스로 부끄럽지 않게 시니어 개발자라고 말할 수 있을 정도로 역량을 키우는 게 목표입니다
벌써 햇수로는 10년 차이지만 직무를 두 번 정도 크게 바꾼 탓에 동일 연차의 개발자들과 비교하면 부족한 부분이 있고 느낍니다.
물론 그간 허투루 보낸 건 아니라서 어렴풋이 아는 건 많습니다. 그런데 스쳐 지나간 것들이 많아 정확하게 알지는 못하는 게 문제입니다. 매번 구글 검색 + ChatGPT로 부족한 내공을 수습하고 있는데 이제 슬슬 한계에 도달하고 하는 것 같습니다.
주니어 때는 문제가 터지고 고치면서 배웠다면 시니어부터는 문제가 터지지 않도록 만들어야 하는 것 같습니다. 에러 없는 프로덕트를 만들기 위해선 반복된 실수를 하지 않아야 하는데 그러려면 정확하게 알고 있는 게 중요합니다.
매번 경험하지만 애매모호하게 알고 있을 때 실수할 확률이 높아집니다. 멀티 스레드, Race Condition 문제 등등 면접 때마다 물어보는 이유가 있습니다. ‘너는 얼마나 실수를 안 하는 사람이니?’
그래서 저는 요즘 유데미 강의를 듣고 있습니다. 이미 알고 있는 내용이더라도 겸손하게 들어 봅니다. 혹시나 내가 잘못 알고 있는 게 아닌지 그리고 어렴풋이 알고 있었다면 다시 확실하게 개념을 잡아봅니다. 시간은 걸리지만 도움은 됩니다.
강의를 쭉 듣다 보면 종종 처음 보는 용어나 라이브러리가 나오기도 합니다. ChatGPT와 구글 검색으로만 버티고 있었다면 알지 못했을 것들입니다.
ChatGPT와 구글 검색을 이용하면 우리가 어렴풋이 알고 있던 것들을 보완할 수 있습니다. 하지만 몰랐던 것들을 알게 되지는 않죠. 요리로 비유를 하자면 ChatGPT를 이용하면 묵은지 김치찌개 레시피를 손쉽게 알 수 있습니다.
하지만 책을 정독하면 묵은지 김치찌개 말고도 세상에 다양한 먹을거리가 있다는 걸 알게 되죠. 묵은지 김치찌개를 설명한 페이지 옆에 차돌 된장찌개가 있고요 그 뒷장에는 버섯 들깨탕을 발견합니다. 검색만으로는 알 수 없었던 메뉴들입니다.
검색은 지금 당장 나의 문제를 해결할 수 있지만 범위를 넓혀주진 못합니다. 반면에 책은 범위를 넓혀줍니다.
LLM 덕분에 이제 더 이상 개발을 공부할 필요가 없다는 사람들이 있습니다. 저는 잘 모르겠습니다. 오히려 현재 LLM 코딩 환경에선 오히려 책과 강의가 더 필요한 것 같습니다. 제가 아예 모르는 거는 LLM에게 시킬 수 없습니다. 적어도 원리와 개념 정도는 알고는 있어야지 LLM에게 요청을 할 수 있으니까요. 그리고 정확히 알고 있지 못하면 LLM 할루시네이션에 호되게 당할 수 있습니다.
LLM을 제대로 굴리기 위해선 똑똑한 상사가 돼야 합니다. 일을 잘 시키려면 무엇을 시켜야 하는지 알고 있어야 하고, 결과물이 이상할 때 어디가 잘못됐는지도 짚어낼 수 있어야 합니다. 전부 맡겨버리는 사람은 상사가 아니라 방관자에 가깝습니다.
동료 개발자와도 원만히 협업하는 시니어가 되기 위해서 다시 역량을 키워봐야겠습니다. 과연 1년 후 저는 어떻게 달라져 있을지 궁급합니다.
아, 새해계획은 오래가지 않는다는 말을 덧붙이고 싶습니다 :)