[바이크코딩] 프로그램은 사실 코딩과는 사실 다른 것이다.
보통 프로그래머라 하면 키보드를 붙잡고 알 수 없는 영문자를 빠르게 두드리는 사람을 떠올린다.
하지만 실제 개발 일은 그보다 건설 현장에 가까운데 무엇을 지을지 설계도를 그리고 철근으로 골격을 세우고 시멘트를 바르고 벽돌을 하나씩 쌓는 작업이다.
키보드는 마지막 순간의 연장 도구일 뿐이다.
▷ 일반인이 잘못 이해하고 있는 것들
착각 1: 개발은 타자를 빨리 치는 능력이다
실제로는 코드를 치는 시간보다 화면을 보며 고민하는 시간이 훨씬 길다. "어떻게 만들 것인가"를 먼저 설계하고 나서야 손이 움직인다.
착각 2: 코딩 실력이 좋으면 좋은 프로그램이 나온다
건물의 완성도는 벽돌치기 솜씨보다 설계도가 결정한다. 프로그램도 마찬가지로 무엇을 어떤 순서로 어떤 조건에서 동작하게 할지 정하는 기획이 품질을 결정한다.
착각 3: 프로그램은 한 번 만들면 끝난다
건물이 준공 후에도 관리·보수·리모델링을 하듯 프로그램도 만든 뒤가 진짜 시작이다. 오류를 잡고 요구가 바뀌면 구조를 고치는 일이 계속 이어진다.
착각 4: 버그는 단순한 오타다
벽에 금이 간 건 대부분 시공 실수가 아니라 구조 설계의 문제다. 프로그램의 오류도 한 글자 잘못 친 것보다 애초에 예상하지 못한 상황을 설계에 빠뜨린 경우가 훨씬 많다.
착각 5: 머리가 좋으면 설계 없이도 만들 수 있다
설계도 없이 지은 건물은 규모가 커지면 무너진다. 프로그램도 마찬가지로 작을 땐 버텨도 커지고 사람이 많아지면 기획 없이는 유지할 수 없다.
프로그램의 본질
결국 프로그램이란 "무엇을 만들 것인가"를 정하는 기획이고 코딩은 그 기획을 현실로 옮기는 시공 행위다. 건축가가 연장을 휘두르는 사람이 아니라 집을 설계하는 사람이듯 개발자의 진짜 일은 키보드가 아니라 생각에 있다.
마지막으로 바이브코딩이 잘 안되는것은 여러가지 이유가 있지만 잘 되는 이유도 있습니다.
잘 되는 경우는 도메인 지식이 풍부해서 본래 하려고 했지만 실행 부분에 힘들어서 그런 경우인데 기획(프로그램)이 다 되어 있었다는 의미 입니다.
