처음으로 느껴 보는 바이브 그 후에 전략 수립

프로젝트 데이비드: 다시 개발을 시작하다

by 안영회 습작

반나절 이상 이어진 개발 괴정에서 코드 수정은 커서에게 시키지만 만들어진 코드는 클로드에 물어가며 더듬더듬 낯선 길을 걷는 기분이었습니다.


바이브 코딩에 대한 조사가 아니라 그저 바이브를 타 보다

그런데 <새로운 도구를 원했으니 낯선 내용에는 적응해야 하네>를 쓰며 클로드랑 호흡을 맞추는데 '이런 것이 바이브구나' 싶은 기분이 들었습니다. 작년에 AI FOMO를 극복하며 '바이브 코딩'을 다룰 때와는 완전히 다른 느낌입니다. 아무래도 제 아이들을 위해 하는 일이다 보니 몰입감을 느껴서 그런 듯합니다. 여기서 낱말의 뜻을 제대로 알고나 쓰자는 마음에 사전에서 vibe를 찾아보았습니다.


느낌이나 기분氣分이 나는 것에 맞춰 (지금 하는 행위를) 즐기거나 상황에 어울리는 일을 말하는 말로 여겨졌습니다.

아무튼 그렇게 바이브를 느껴 도달한 지점에서 만난 낯선 결과물을 두고 다음에 가야 할 지점을 생각해 봅니다.


문제 해결 전략을 쓰면 어떤 효과가 있을까?

<대체 전략을 어디에 써먹고 어떻게 실천할까?>의 실제 사례라고 할 수도 있습니다. 이번에는 최근에 발견한 문제 해결 전략 템플릿을 써 보겠습니다.

문제의 시작점은 <인공지능과 함께 처음 만들고 배포한 우리 가족용 앱>에 기록이 담겨 있습니다. 다시 읽어 보니 논리적 오류가 눈에 보입니다.

나의 개발 경험을 아들에게 물려주기


개발 경험은 물려줄 수 있는 대상이 아니고, 설사 할 수 있더라도 효과적이지도 않습니다. '하늘 천 따 지를 외우는 식'이라고 스스로 조롱한 방식에 가까울 것 같습니다. 개발 역량을 키워주고 싶은 것을 잘못 쓴 말입니다.


문제를 다시 정의하기: Re-framing the problem

아무튼 그 이후 몇 시간 정도 인공지능과 함께 한 여정에서 만난 결과물이 '패밀리 캘린더 빌더'였습니다.


명시적으로 드러나지 않은 제 결정과 클로드의 제안이 묘하게 섞인 결과죠. 템플릿의 어휘를 빌면 이제 문제를 다시 돌아볼 Reframing 시간이 된 듯합니다. 이렇게 질문을 던져 보겠습니다.

내가 원한 것이 패밀리 캘린더 빌더였을까?


이렇게 질문을 던졌더니 확연히 다른 두 대상과 주체가 보였습니다. 하나는 아이에게 제가 했던 과거의 경험을 그대로 노출하는 식의 '하늘 천 따 지'식으로 가르치지 않기 위한 도구를 개발하는 일이었습니다. 개념적으로는 애뮬레이터 혹은 시뮬레이터라고 할 수 있습니다.

컴퓨터 과학에서 에뮬레이터는 한 컴퓨터 시스템(호스트) 이 다른 컴퓨터 시스템(게스트)처럼 동작할 수 있도록 해주는 하드웨어 또는 소프트웨어입니다.


적절한 이름의 중요성과 시각화가 주는 힘을 확인하기

애뮬레이터인지 시뮬레이터인지 헷갈리지만 뭐로 분류하든 그건 제가 만들어야 합니다. 불필요한 복잡함을 숨기기 위한 계층(layer)을 하나 두는 것이죠. 추상화도 해야 하고, 그 추상 결과물에 맞춰 작동하기도 해야 합니다.


그 위에 존재하는 '가족용 앱'은 경험을 함께 하기 위한 도구입니다. 두 아들과 제가 공유하지만, 아이들에게 강력한 영향력을 행사하는 엄마도 시너지를 낼 수 있게 설계하려고 합니다. 이렇게 둘로 나뉜 혹은 두 계층으로 나누어져서 존재해야 하는 소프트웨어 덩어리가 필요하다는 사실을 깨닫게 해 준 결정적 단서는 바로 '패밀리 캘린더 빌더'란 이름이었습니다.

그것이 '꽃'이 될지 아니면 '몸짓'이 될지는 이름에 달려 있었습니다. 이렇게 문제를 다시 정의해 보니 계획을 세우기 좋아진 것 같습니다. 하지만, 구체적인 계획을 세우기 전에 우선 지금까지 이해한 내용을 제가 좋아하는 UML 그림으로 그려 보며 생각을 정리해 보았습니다.

그리다 보면 (스스로 독자가 되어) 어디까지가 분명하고 어디는 분명하지 않은지 명확하게 드러납니다.


프로젝트 데이비드: 다시 개발을 시작하다 연재

1. 클로드는 훌륭한 프로그래밍 과외 선생님

2. 이건 정말 편안하게 페어 프로그래밍을 하는 기분이다

3. 학습과 개발과 코딩이 섞이는 개발 방식의 진화

작가의 이전글기대는 자기가 등장할 차례를 기다리고 있는 분노이다