예전에는 서비스를 만들 때 기술 스택을 고르는 기준 중 하나가 “이 기술을 다룰 수 있는 개발자를 쉽게 구할 수 있는가?”였습니다.
아무리 좋은 기술이라도 시장에 개발자가 별로 없다면 쉽게 선택하기 어려웠습니다. 당장 채용도 어렵고, 기존 개발자가 나가면 대체 인력을 구하기도 어렵고, 팀을 키우기도 어려웠으니까요.
그런데 바이브코딩이 이 기준을 조금씩 바꾸고 있습니다.
예전에는 ‘개발자가 많은 기술’이 중요했습니다
Rust나 Go가 특정 영역에서 좋은 장점을 가지고 있어도 현실적인 문제가 있었습니다.
“그래서 이거 할 줄 아는 개발자를 어디서 구하지?”
반면 Java, JavaScript처럼 사용자가 많고 생태계가 큰 기술은 개발자를 구하기도 상대적으로 쉬웠습니다.
그래서 순수하게 기술적인 장단점만 비교해서 스택을 결정하기 어려웠습니다.
| 예전 기술 스택 선택 기준 | 중요도 |
|---|---|
| 개발자를 쉽게 구할 수 있는가 | 매우 중요 |
| 팀원들이 이미 사용할 줄 아는가 | 매우 중요 |
| 자료와 생태계가 충분한가 | 중요 |
| 유지보수 인력을 구하기 쉬운가 | 중요 |
| 우리 서비스에 가장 적합한가 | 중요하지만 현실적인 제약이 많음 |
결국 “가장 좋은 기술”보다 “우리 팀이 사용할 수 있는 기술”을 선택해야 하는 경우가 많았습니다.
그런데 이제 코드는 AI가 짜줍니다
바이브코딩에서는 상황이 조금 달라집니다.
내가 Rust를 한 번도 사용해보지 않았다고 해서 Rust를 선택지에서 제외할 필요가 예전만큼 크지 않습니다.
Go 개발자를 구하기 어렵다는 이유만으로 Go를 포기할 이유도 줄었습니다.
AI에게 요구사항과 구조를 설명하면 실제 구현의 상당 부분을 AI가 해주기 때문입니다.
그래서 질문이 바뀝니다.
예전
“내가 어떤 언어를 잘하지?”
“우리 팀에서 할 수 있는 사람이 있나?”
“나중에 이 개발자를 구할 수 있을까?”
↓
바이브코딩 시대
“내가 만들려는 서비스에는 어떤 기술이 가장 적합하지?”
이제 ‘서비스’를 기준으로 기술을 선택할 수 있습니다
빠르게 웹 MVP를 만들어 시장 반응을 확인해야 한다면 JavaScript나 TypeScript 생태계가 편할 수 있습니다.
작은 서버 자원으로 가볍게 돌아가고 배포도 간단한 서버나 CLI를 만들고 싶다면 Go가 더 적합할 수도 있습니다.
성능과 메모리 안정성이 중요하거나 시스템에 가까운 프로그램이라면 Rust를 검토할 수도 있습니다.
| 만들려는 것 | 고려해볼 수 있는 선택 |
|---|---|
| 빠른 웹 MVP | JavaScript / TypeScript |
| 가벼운 API·서버 | Go |
| CLI / 단일 실행파일 | Go / Rust |
| 성능·메모리 안정성이 중요한 프로그램 | Rust |
| AI·데이터 처리 | Python |
| 일반적인 웹 서비스 | TypeScript / JavaScript 등 |
물론 이 표대로 무조건 선택해야 한다는 뜻은 아닙니다.
중요한 건 “내가 할 줄 아는 언어”라는 제약에서 조금씩 벗어나 서비스의 특성을 먼저 보고 기술을 선택할 수 있게 됐다는 것입니다.
그렇다면 이제 기술을 몰라도 될까요?
오히려 반대라고 생각합니다.
알아야 하는 것의 종류가 달라지고 있습니다.
Rust의 문법을 모두 외우는 것보다 Rust를 왜 사용하는지 아는 것이 중요해집니다.
Go 코드를 처음부터 끝까지 직접 작성할 수 있는 것보다 어떤 상황에서 Go가 좋은 선택인지 아는 것이 중요해집니다.
그리고 언어 선택보다 더 큰 것들을 알아야 합니다.
• 프론트엔드와 백엔드를 어떻게 나눌 것인지
• 어떤 데이터베이스를 선택할 것인지
• 인증과 권한을 어떻게 처리할 것인지
• 외부에 노출되면 안 되는 정보는 무엇인지
• 어떤 보안을 적용해야 하는지
• 장애가 발생하면 어디부터 확인해야 하는지
• AI가 제안한 구조가 정말 적절한지
AI에게 코드를 만들어달라고 하는 것은 점점 쉬워지고 있습니다.
하지만 무엇을 만들어야 하는지, 어떤 방식으로 만들어야 하는지, 만들어진 결과가 제대로 된 것인지 판단하는 일은 여전히 사람의 몫입니다.
‘구현’에서 ‘선택과 판단’으로
예전에는 이런 질문을 먼저 했다면,
“우리가 할 수 있는 기술 중에서 무엇을 선택할까?”
앞으로는 이런 질문을 먼저 할 수 있게 될지도 모릅니다.
“이 서비스에 가장 적합한 기술은 무엇일까?”
그리고 AI에게 그 기술로 구현을 맡기는 겁니다.
바이브코딩은 기술 스택의 중요성을 없애고 있는 게 아닙니다.
오히려 우리가 사용할 수 있는 기술의 범위를 크게 넓혀주고 있습니다.
그래서 코드를 직접 작성하는 능력의 장벽이 낮아질수록 기술을 이해하고, 적절한 것을 선택하고, AI가 만든 결과를 판단하는 능력은 더 중요해질 것 같습니다.
기술을 잘 다루는 사람에서, 기술을 잘 선택하는 사람으로.
어쩌면 이것도 바이브코딩이 가져오고 있는 꽤 큰 변화 중 하나가 아닐까요?