2026.08.24

main.py를 열어보고, 첫 프로젝트를 버렸다

수정했다는데, 왜 계속 깨져 있지?

첫 번째 주식관리 시스템은 생각보다 잘 돌아갔다.

그러다 어느 날,

한글이 깨졌다.

별일 아니라고 생각했다.

Claude에게 말했다.

“인코딩 깨졌어. 수정해줘.”

잠시 후 Claude가 말했다.

“수정했습니다.”

다시 실행했다.

그대로였다.

“아직 깨져 있는데?”

다시 수정했다.

“수정했습니다.”

확인했다.

안 됐다.

또 말했다.

또 수정했다고 했다.

또 안 됐다.

몇 번을 이랬던 것 같다.

처음에는 인코딩 문제라고 생각했는데, 계속 이러니까 슬슬 다른 생각이 들었다.

‘도대체 코드를 어떻게 만들어놓은 거야?’

결국 직접 열어봤다.

main.py를 열었다

그리고 좀 충격을 받았다.

엄청 컸다.

그동안 추가해달라고 했던 기능들이 main.py에 계속 들어가 있었다.

‘아니… 이걸 왜 여기다 다 때려 넣었어?’

내가 생각했던 프로그램 구조와는 너무 달랐다.

더 황당했던 건 나는 처음부터 아무렇게나 만들어달라고 한 것도 아니었다는 거다.

당시에는 Gemini의 Gems 기능으로 미리 기획까지 해뒀다.

프로그램 구조를 설계하고, 개발 프롬프트까지 만들어서 Claude에게 넘겼다.

모듈형으로, 유지보수하기 쉽게 만들어달라는 말도 분명히 넣었다.

그래서 믿었던 것 같다.

처음에 그렇게 시켰으니까, 계속 그렇게 만들고 있겠지.

아니었다.

나는 기능이 잘 돌아가는지만 봤고,

Claude는 내가 시키는 기능을 계속 만들었고,

그 사이 main.py는 계속 커지고 있었다.

인코딩이 깨지고 나서야 그걸 본 것이다.

고쳐서 쓸까?

잠깐 고민했다.

이미 꽤 많이 만들어놨다.

아침마다 텔레그램도 잘 오고 있었다.

코드를 정리해서 다시 살릴 수도 있었을 것이다.

그런데 main.py를 보고 나니 별로 그러고 싶지 않았다.

그리고 결정적인 이유가 하나 더 있었다.

이 프로그램이 나한테 돈을 벌어주고 있는 것도 아니었다.

삼성전자를 팔았다가 더 비싸게 다시 산 바로 그 시스템이다.

돈도 못 벌어주는데,

코드까지 마음에 안 든다.

버리자.

생각보다 결정은 빨랐다.

첫 번째 프로젝트는 그렇게 끝났다.

그런데 만드는 재미까지 끝난 건 아니었다.

오히려 반대였다.

‘이번에는 다른 걸 만들어보자.’

문제는 하나였다.

뭘 만들지?

바이브코딩을 시작하고, 주식 시스템을 만들었다
손 안 대고 코 풀 수 있는 걸 만들어보자