바닐라 부트캠프

[WIL] 바닐라코딩 부트캠프 11주차 후기 - 그렇게 점점 여름이 찾아온다…

feel2 2025. 4. 25. 20:54
반응형

 

또 이렇게 1주가 지나갔다. 이제 에어컨을 서서히 틀기 시작한다. 여름이 다가오는 소리가 천장에서 들린다. 이번주는 구현해야할 요구사항들이 많아서 리팩토링은 고사하고, 과제 종료까지 겨우 모든 요구사항들을 끝낼 수 있었다.

 

여기서는 이상하게 모두가 경력과 상관없이 같은 출발선에 놓이게 된다. 경력이 많든, 적든 구현이 끝나는 걸 보면 거의 비슷하다. 단지 내가 조금 더 지식을 많이 알고 있을뿐, 그 이상도, 이하도 아니다.

 

이번주는 12시가 넘어서 집에 도착한 날이 많았다. 과제를 하다 보면 욕심이 생겨서 ‘이것까지만 끝내고 가야지’라는 생각이 길어진다. 그래도 코딩을 하는 것은 언제나 나에게 즐거움을 준다. 여기서 말하는 즐거움은 ‘눈에 보이는 즐거움’을 말한다.

 

이전에 대학생일때는 눈에 보이지 않는 힘에 대해서만 공부를 하니, 흥미가 생기지도 않을뿐더러 어려워서 따라가기도 벅찼다.(참고로 기계공학부… 5대 역학은 기본…) 하지만 코딩세계에서는 다르다. 여기서 말하는 다름은 어쨌든 피드백이 즉시 일어난다. 이것이 장점이자 단점일 수도 있을 것 같다.

 

장점이라고 하면 바로 눈 앞에 결과가 보이니 흥미가 생기지만, 단점은 내생각대로 안됐을 경우에는 짜증난다. 물론 그럴경우 빨리 문제를 해결하면 상관없지만, 보통의 경우에는 문제가 정말 해결이 안되면 반나절까지도 잡고 있던적이 있다.

 

ChatGPT를 사용 X!!

 

그럴경우 나는 ChatGPT의 유혹을 받는다. 최근 들어서 ken님께서는 절대 ChatGPT를 쓰지말라고 하셨다. 그 의미를 한번 생각해보면, ChatGPT의 경우에는 내가 원하는 코드를 쉽게 짜주는 문제hallucination이 있다는 점이다.

 

첫번째 문제인 내가 원하는 코드를 짜주는 경우에는, 내가 그 코드를 제대로 이해하지 않은채 그대로 사용하는 경우가 문제라고 생각한다. 모든 코드에는 개발자의 의도가 담겨있다. 그래서 변수명, 함수명을 지을때도 신중해야하는 이유다. 가령 같은 기능을 하는 라이브러리가 있어도, 굳이 A 와 B 중 A를 쓰는 이유가 있어야 하는 것이다.

 

그런데 ChatGPT의 경우에는 내가 질문하는 것에 따라서 그 문맥을 파악하고, 그 상황에서의 최선의 코드를 작성해준다. 그건 내 코드가 아닌 ChatGPT 의도가 담긴 코드다. 즉, 내가 그 코드를 정말 이해하고 사용한다면(체화) 나는 그것을 내 의도를 충분히 코드에 담을 수 있기에 상관이 없다고 하는 것이다.

 

사실 더 문제는 두번째다. hallucination이 있다는 말은 ChatGPT가 얘기하는 것이 다 정확하지 않다는 것이다. 오죽하면 생성형 AI에게 어떻게해야 더 정확한 질문을 할 수 있는지 설계하는 프롬프트 엔지니어라는 직업이 생겼을까!

 

두번째가 정말 문제라고 느끼는 것은 ChatGPT가 얘기한대로 구현을 했을 때 제대로 동작을 하지 않거나, 더 좋은 방법이 찾으면 있을 경우다. 그래서 항상 더블 체크가 필수다. 한번 ChatGPT가 한 얘기나 코드를 살펴보고, 직접 관련된 정보를 또 검색해 보는 것이다. 이렇게 했을 때 장점은 좀 더 방향을 쉽게 찾을 수 있다.

 

처음에 어디로 가야할지 모르고 시작하는 것과 어느정도 방향을 알고 시작하는 건 엄연히 시간차이가 크다. 그래서 나는 정말 여기서 어떻게 구현할지 대략 의사코드 작성과 방법을 생각해보고, 더 좋은 방법이 있는지 물어본다. 그럼 ChatGPT는 자신이 긁어온 데이터를 종합해서 나에게 알려준다. 그걸 내 코드와 비교해보고, 내가 몰랐던 사실이나 방법이 있으면 또 검색해 보는 것이다.

 

이 방법이 좋은 방법인지는 모르겠다. 현업에 있을 때 (2020년~2021년, 개발자1~2년차) 그때는 정말 사실 개발하기가 너무 힘들었다. 왜냐하면 모르는 정보를 찾는것도 요령과 스킬이 필요한데, 나는 아무리 찾아도 내가 원하는 걸 잘 찾지 못했다. 그래서 항상 주변에 정보를 잘 찾는 동료들을 보면 부러웠다. 내가 10시간 걸려서 찾을 걸, 5시간만에 찾아서 이미 작업을 끝내고 있으니 말이다. 이런 나에게 생성형 AI는 많은 생산성을 가져다 주었다.

 

시대가 변했고, AI를 잘 활용하지 못하는 개발자는 도태되는 시대가 되었다. 분명 AI는 우리에게 많은 생산성을 주는 것은 사실이다. 잘못은, 무분별하게 사용하는 사용자에게 있을 뿐.

 

왜를 왜 궁금해하지 않아요?

 

ken님의 세션을 듣다 보면 ken님은 항상 우리에게 이렇게 질문하신다. ‘왜 이걸 사용해요?’ 혹은 ‘왜 이렇게 동작해요?’ 혹은 ‘왜 이렇게 로직을 짜셨어요?’… 항상 라는 말을 문장 앞에 붙이신다. 어떻게 보면 이 부트캠프의 본질이 이 라는것에서 시작되는 것이 아닐까?

 

엄마의 말을 들어보면 나는 어릴때 궁금한게 많았다고 한다. 그런데 내가 성장하면서 왜라는 것이 점점 사라졌다. 현실이 Why라는 것 대신 How를 ****내게 채워넣은 것이다. 이제는 순서를 바꿀때가 된 것 같다. 어떻게를 외치기 전에 왜를 먼저 외치는 것….

 

왜를 아는 것이 왜 중요할까? 이 질문에 답을 하기는 정말 어렵다고 생각한다. 다만, 내 나름대로 정의를 해본다면, 왜를 안다는 것 자체가 내가 그것에 흥미를 가졌다는 것을 의미하고, 어떤 영역에서도 즐기는 자를 이길자는 없다는게 나의 정론이다.

 

그럼 나는 지금 왜를 알기 위해 노력을 하고 있는지 돌아볼 필요가 있는 것 같다. 이번주에 했던 것을 되돌아보면, 왜를 알기 위해서 그래도 노력을 조금씩 더 하는 것 같다. 인증 방식에서 세션 방식에서 토큰 방식이 나왔는지 또 리마인드를 했고, 인메모리 DB를 쓰는지, mongoDB에서 lean이라는 메서드를 쓰는지… 왜를 먼저 생각하게 나의 메커니즘이 조금씩.. 변하고 있다.

 

한줄 후기

 

Start with Why


바닐라코딩: https://www.vanillacoding.co/

반응형