도서 리뷰: 개발자의 하루를 바꾸는 코파일럿 & 챗GPT

2023. 9. 24. 23:51내 서재

서평에 앞서

나는 개발자인가? 아닌가?

이런 개발자용 도서를 읽고나면 글을 쓰기에 앞서서 내 정체성에 대한 고민을 하게 됩니다. 제법 오랫동안 '노코드/로우코드(No Code/Low Code)' 방식의 앱개발 또는 업무자동화를 다루면서 코딩에 대한 약간의 지식과 이해가 있기는 하지만 전문개발자로서 일했던 적이 없기 때문에 '개발자인가? 아닌가?'는 꽤 답하기 힘든 입장입니다. "시민개발자"라는 표현을 앞에다 내세우는 입장이다보니 더욱 그 곤혹스러움은 더해지는 듯 합니다.그래서 질문을 바꿔보려고 합니다.

 

개발에 앞서 '추상화'

최근 '파워플랫폼'이란 '노코드/로우코드' 형태의 앱개발 및 업무자동화 솔루션에 대해 문의가 몇 차례 있었습니다. 파워플랫폼의 기능을 익힌 후에 나름대로 회사 내에서 업무를 자동화 하는 방향으로 개선을 하려다가 생각한 것과 달리 쉽지 않다며 본인이 원하는 기능을 어떻게 구현하는 지에 대한 질문이 많았습니다. 근데 들여다보면 모두가 특정 제품의 기능에 매몰되어서 전체 그림에서 중복이 심하게 설계를 하고, 기능을 솔루션별로 맡겨야 할 역할을 구분하지 못해서 복잡성이 매우 높게 구성을 하고 있었습니다. 그래서 전체 업무를 어떻게 공통된 요소를 뽑아내어서 잘 설계하고 정리할 것인지 '추상화'가 필요합니다. '추상화'가 없는 개발은 복잡도만 높여서 혁신이 아닌 레거시로 전락해 혁신을 방해하기 십상입니다. 개발에 들어가기 전에 '추상화'에 대해서 사고할 기초가 필요하지 않을까 거듭 생각하고 있습니다.

 

그런 의미에서 추상화에 대한 예전 글을 공유합니다.

2021.04.06 - [시민개발자] - 추상화, 인공지능, 업무혁신

 

추상화, 인공지능, 업무혁신

19세기 말에 놀라운 물건이 등장했습니다. 시간과 공간을 고정하는 그 장치가 등장했습니다. 이제 자연을 그림처럼 베끼던 화가들의 생계가 문제되기 시작했습니다. 그림보다 더 빛을 정밀하게

parandurume.tistory.com

2021.04.23 - [시민개발자] - 추상화와 형이상학

 

추상화와 형이상학

추상화에 대해서는 이미 다른 글(2021.04.06 - [시민개발자] - 추상화, 인공지능, 업무혁신)에서 설명한 바 있습니다. 그럼에도 불구하고 사람들이 '관념적'이란 표현과 '추상화'를 구분하지 못하는

parandurume.tistory.com

비록 제가 전문 개발자라고 하기 어렵고, 자칭 컴맹이지만 개발자는 이런 추상화에 대한 이해가 된 사람들이라고 믿고 서평을 해보겠습니다.

 

개발자의 하루

저는 프로젝트 매니저를 매니징하고, 프로젝트와 관련해 발생할 분쟁을 미연에 방지하거나 분쟁을 해결하는 일을 하곤 했습니다. 제가 본 개발자의 하루는 회의가 너무 많더군요. 애자일 방식으로 개발하는 프로젝트를 봐도 모인 사람들이 가진 역량과 소통방식 등은 다 달라서 애자일이라고 말하지만 다 제멋대로 해석한 경우도 많았습니다. 그러다보니 합의에 이르기 위한 회의 또는 소통에 시간이 어마어마하게 소모되고 있었습니다.

그래서 개발자에게 가장 필요한 건 '시간'이 아닐까 생각합니다. 제가 프로젝트 매니저인 분들에게 프로젝트 관리를 할 때 가장 우선은 고객이 뭘 원하는 지 명확하게 하고, 그걸 회의에 남겨서 공통된 내용을 서로 인식하게 한 다음 개발자들에게 최대한 많은 시간을 확보해드리라고 부탁합니다. 프로젝트 매니저가 프로젝트 관리를 못하면 개발자들이 여러 회의에 끌려다니게 되고 개발자들이 가뜩이나 한정된 시간을 낭비하게 됩니다.

완벽하게 관리가 안되는 일이 허다하기에 결국 개발자들이 답답해서 회의에 참석하려고 하기도 하죠. 아무튼 개발자들은 회의가 지나치게 많습니다.

 

코파일럿 또는 챗GPT

그래서 개발자들에게 코파일럿 또는 챗GPT(저는 이런 기형적인 표현을 싫어합니다만 제가 참고한 책 원본이 '챗GPT'라는 표현을 쓰고 있어서 일단은 이런 표현을 쓰도록 하겠습니다)은 소모된 시간을 회복하는 소중한 도구라고 생각합니다. 얼마 전 제주도에서 있었던 '제주 웹 컨퍼런스'에서 만난 어느 대표님은 직원들에게 '깃허브 코파일럿'을 무조건 쓰라고 하신다더군요. 강한 믿음을 갖고 계신 이런 분이 계신 회사는 분명 개발자들에게 어떻게 만은 시간을 확보해줄 것인지 고민하셔서 상승작용을 보고 있으리라 생각합니다.

사실 더 이상 코파일럿을 쓰느냐 마느냐 하는 시대는 아니라고 봅니다.

 

2023년 5월에 마이크로소프트가 개발자들을 위해 주최한 '빌드(Build)'라는 행사에서 테스트케이스까지 만들어 주는 코파일럿의 진화는 더더욱 의미하는 바가 큽니다. 더이상 쓸 것이냐 아니냐가 아니라 어떻게 실무에서 잘 쓸 수 있는가?

 

실무적으로 경험할 수 있는 팁을 굉장히 구체적으로 잘 알려주고 있기에 이 책은 인공지능을 페어프로그래밍 툴로 쓰려는 사람들에게 매우 도움이 되는 책이라고 생각합니다.

 

실무를 꽤 반영한 책 구성

이 책의 추천포인트는 실무를 꽤 구석구석 반영하고 있습니다.

1장 소프트웨어 개발에 AI 활용하기

AI 활용사례에서 아주 기본적인 사용방법에 대해서 충분히 설명하고, 한계와 논란도 잘 다뤄 개발자들이 미리 주의할 요소를 알려줍니다.

2장 셸 스크립팅 명령

이제는 텍스트 에디터에 관한한 사실상 표준이라고 봐도 무방할 'VS Code'를 통해 활용하는 팁을 역시 구체적으로 꼼꼼히 설명해 주고, 길을 잃지 않게 도움 줍니다.

3장 깃 명령

기본적인 깃 명령에서 중급, 고급 깃 명령까지 깔끔하게 해결해줘서 깃에 관한한 거의 완벽한 퍼포먼스를 어떻게 구현할 수 있는 지 알려줍니다. 코파일럿을 활용하는 주석처리가 영어인 점은 매우 아쉽단 생각이 들 수 있습니다만, 친절하게 아래 한글 번역된 내용을 적어 두었고, 한글 번역 내용을 입력해도 잘 작동하고 있습니다.

실제 VS Code에서 활용해본 깃 명령어들 한글도 잘 작동함을 확인할 수 있음

 

4장 일반적이 알고리즘

5장 Rxjs 학습하기

6장 앵귤러 HttpClient

7장 정규표현식

8장 데이터 생성

9장 애자일 프로젝트 관리

10장 애플리케이션 만들기

11장 유닛 테스트

12장 다른 고려사항들

13장 소프트웨어 개발의 미래

 

등으로 구성된 목차에서 매 장마다 실무에서 매우 자주 다루게 되는 내용들을 꼼꼼하게 설명하고 있습니다.

 

특히 주석으로 입력한 내용이 조금 과하게 나온다거나 원하는 결과가 나오지 않을 때 어떻게 다뤄서 원하는 결과로 끌어내는 지 보여주는 팁은 실무적으로 매우 필요한 팁들입니다.

 

위에 나온 각 장들은 개발자들이 늘 고민하는 문제들일텐데요. 25년 이상의 개발 경력자인 저자가 내공을 모두 책에 담아 제공하는 느낌이 듭니다. 무협지에 나오는 그런 무림 비급같은 느낌입니다.

 

아마도 이게 이 책을 꼭 가까이 둘 필요가 아닐까 싶습니다.

 

회의에 시간을 많이 낭비하는 회사일수로 이 책은 필수가 아닐까 저는 생각하고 강력히 추천하고 싶습니다.

아마 어쩌면 정규표현식과 데이터 생성, 유닛 테스트 등만으로도 제 값은 하지 않을까요?

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.