
웹개발, 코드를 넘어 비즈니스 가치를 만드는 여정
풀링포레스트 CTO 송찬영이 전하는 웹개발의 본질. 기술적 화려함보다는 고객의 문제를 해결하고 비즈니스 가치를 창출하는 '적정 기술'과 개발자의 자세에 대하여.
송찬영
CTO

안녕하세요. 풀링포레스트 CTO 송찬영입니다.
주변을 둘러보면 웹개발 시장이 그 어느 때보다 빠르게 변하고 있다는 것을 체감합니다. 어제는 리액트(React)가 정답인 것 같았는데 오늘은 넥스트(Next.js)의 새로운 기능이 화두가 되고, 백엔드에서는 MSA와 모놀리식 사이의 논쟁이 끊이지 않죠. 주니어 개발자분들과 면담을 하다 보면, 이 쏟아지는 기술 홍수 속에서 어떤 것을 붙잡아야 할지 불안해하는 눈빛을 자주 봅니다. "CTO님, 저 이 프레임워크 공부해야 할까요?"라는 질문을 받을 때마다, 저는 기술 그 자체보다는 우리가 왜 웹을 개발하는지에 대한 근본적인 이야기를 먼저 꺼내곤 합니다.
솔직히 고백하자면, 저도 처음에는 '어떻게(How)'에만 집착하던 시절이 있었습니다. 코드를 얼마나 깔끔하게 짜는지, 남들이 안 쓰는 최신 라이브러리를 얼마나 빨리 도입했는지가 제 실력의 척도라고 믿었죠.
한번은 꽤 큰 규모의 이커머스 프로젝트를 리딩할 때였습니다. 당시 유행하던 최신 프론트엔드 상태 관리 라이브러리와 복잡한 마이크로서비스 아키텍처를 야심 차게 도입했습니다. 기술적으로는 정말 화려했습니다. 코드 리뷰 시간마다 우리는 우아한 추상화 패턴에 대해 토론하며 희열을 느꼈습니다. 하지만 정작 런칭 날, 우리는 처참한 실패를 맛봤습니다. 사용자가 몰리자 복잡한 네트워크 통신 구조 때문에 레이턴시(Latency)가 급증했고, 화려한 UI 뒤에서 결제 오류가 발생했습니다. 고객들은 우리의 우아한 코드가 아니라, '빠르고 정확한 결제'를 원했던 것입니다.
그날 밤, 터진 서버 로그를 바라보며 뼈저리게 깨달았습니다. 웹개발은 단순히 브라우저에 무언가를 띄우는 기술 경연장이 아니라는 것을요. 고객의 문제를 해결하고 비즈니스 가치를 전달하는 수단이어야 했습니다. 제가 만든 기술적 복잡도가 오히려 비즈니스의 발목을 잡고 있었던 겁니다.

이후 저는 개발을 바라보는 관점을 완전히 바꿨습니다. 풀링포레스트에서 우리는 기술적 화려함보다 '적정 기술'을 지향합니다. 웹개발이라는 행위가 결국은 '고객에게 얼마나 빠르게 가치를 전달할 수 있는가'에 수렴해야 한다고 믿기 때문입니다.
최근 우리 팀은 AI 기반의 워크플로우 자동화 도구를 개발하고 있습니다. 여기서도 유혹은 있었습니다. 모든 컴포넌트를 직접 만들고, 가장 트렌디한 AI 모델을 무겁게 얹고 싶은 욕심이 났죠. 하지만 우리는 멈춰 서서 질문했습니다. "사용자가 정말 원하는 것은 무엇인가?" 사용자는 복잡한 설정이 아니라, 클릭 한 번으로 업무가 줄어드는 경험을 원했습니다.
그래서 우리는 과감하게 기술적 부채를 허용하는 전략을 택했습니다. 초기 프로토타입은 가장 익숙한 기술 스택으로 빠르게 만들고, 디자인 시스템은 오픈소스를 적극 활용했습니다. 대신 그 시간을 아껴 사용자 피드백을 수집하고 AI 모델의 응답 속도를 최적화하는 데 쏟았습니다. 결과적으로 우리는 경쟁사보다 절반의 인력과 시간으로 시장에 진입할 수 있었고, 고객들이 "정말 내 시간을 아껴준다"는 피드백을 주었을 때 비로소 우리가 올바른 웹개발을 하고 있음을 확신했습니다.
지금 웹 개발자로 성장하고 계신 분들에게, 혹은 기술적 의사결정 앞에서 고민하는 리더분들에게 제가 경험으로 얻은 몇 가지 체크리스트를 공유하고 싶습니다.
첫째, '새로움'이 아니라 '문제 해결'에 집중하고 있는지 점검하세요. 새로운 프레임워크를 도입하는 이유가 단지 "요즘 핫해서"라면 위험합니다. 그 기술이 현재 우리 팀이 겪고 있는 로딩 속도 문제나 유지보수의 어려움을 명확히 해결해 주는지 따져봐야 합니다.
둘째, 데이터의 흐름을 장악하세요. 화면에 보이는 UI는 빙산의 일각입니다. 진정한 웹개발 실력은 데이터가 데이터베이스에서 나와 API를 거쳐 브라우저에 렌더링되기까지의 여정을 얼마나 효율적으로 설계하느냐에 달려 있습니다. 네트워크 탭을 열어 불필요한 요청이 오가지는 않는지, 데이터 구조가 화면 그리기에 최적화되어 있는지 끊임없이 의심해야 합니다.
셋째, AI와 공생하는 방법을 익히세요. 이제 코딩 그 자체는 AI가 놀라운 속도로 도와줍니다. Cursor나 Claude 같은 도구를 활용해 보일러플레이트 코드를 짜는 시간을 줄이세요. 대신 남는 에너지를 아키텍처 설계, 보안 취약점 점검, 그리고 비즈니스 로직의 정합성을 맞추는 데 써야 합니다. 개발자의 역할은 '코드 타이핑'에서 '설계와 검증'으로 이동하고 있습니다.

마지막으로, 동료와의 커뮤니케이션 비용을 기술 비용으로 환산해 보세요. 아무리 좋은 기술도 팀원들이 이해하고 유지보수할 수 없다면 그것은 레거시가 됩니다. 내가 작성한 코드가 동료에게 설명 없이도 읽히는지, 내가 도입하려는 기술이 팀의 러닝 커브를 감당할 만큼 가치가 있는지 고민하는 태도가 시니어 개발자로 가는 지름길입니다.
웹개발은 끝이 없는 여정입니다. 브라우저 환경은 계속 변하고, 사용자의 눈높이는 날로 높아집니다. 하지만 변하지 않는 본질은 결국 '사람'을 향해 있다는 점입니다. 기술이라는 도구에 매몰되지 않고, 그 도구로 어떤 세상을 만들고 싶은지를 기억한다면 여러분의 코드는 분명 비즈니스를, 그리고 세상을 조금씩 바꿔나갈 것입니다.
오늘도 모니터 앞에서 고군분투하고 있을 모든 개발자분들을 응원합니다. 기술의 파도에 휩쓸리지 말고, 그 파도를 타고 멋지게 서핑하시길 바랍니다.


