- 가장 훌륭한 코드는 작성하지 않은 코드다: 입사 3주 만에 프로젝트 중단을 건의한 이유2026년 04월 07일 16시 39분 53초에 업로드 된 글입니다.작성자: 핀수728x90반응형
들어가며
개발자가 오직 나 하나뿐인 새로운 직장에 합류하며 받은 첫 미션은 명확했다.
'기존 수기로 진행되던 현장 조사 및 보고서 작성 업무를 자동화하는 앱을 만들 것'
하지만 나는 입사 후 3주 동안 단 한 줄의 코드도 작성하지 않았다. (테스트코드 제외)
대신 현장 업무 프로세스와 레거시 데이터를 분석했고, 최종적으로
'현재 환경에서의 앱 개발은 무의미하며, 전면 재검토가 필요하다'는 리스크 검토 보고서를 경영진에 제출했다.
결과적으로 나는 회사를 떠나게 되었지만, 이 3주간의 경험은 4년 조금 모자란 개발자 커리어 중 가장 강렬한 인사이트를 남겼다.
'무엇을 만들 것인가?'보다 '왜 만들면 안되는가?'를 치열하게 고민했던 그 과정을 기록해보려 한다.
1. 환상과 현실의 괴리
회사가 원한 것은 클릭 몇 번으로 데이터가 연동되고 보고서가 자동으로 생성되는 완벽한 앱이었다.
하지만 이를 구현하기 위해 마주한 현실의 벽은 높고도 단단했다.
기존 모든 데이터는 DB가 아닌, 양식이 전부 다른 비정형 PDF 문서 형태로 존재했다.
앱에서 현장의 기존데이터와 신규데이터를 함께 확인하려면 기존 데이터를 모두 디지털 데이터로 변환하는
전처리 작업이 필수적이었다.
이를 보다 쉽게 구현하기 위해 여러 방안을 생각해봤지만, 결론적으로 누군가는 그 수많은 PDF에서
필요한 정보를 추출해 디지털로 옮겨야하는 역설적인 상황에 놓일 수 밖에 없었다.
시스템을 위한 시스템 노가다가 발생하는 구조였다.
2. 개발을 멈춰야 했던 3가지 이유
어떻게든 앱 화면을 띄우고, 원본 PDF 위에 펜 그리기 기능을 넣는 식의 우회를 할 수도 있었다.
하지만 고심 끝에 다음의 세 가지 이유로 개발을 만류했다.
(이 과정에서 경영진과 충분한 논의가 있었다. 나 혼자의 독단이 아니었음을 밝힌다.)
1) Garbage In, Garbage Out
입력 데이터가 구조화되어 있지 않은 상태에서 억지로 껍데기(프론트엔드)만 씌우는 것은 기술적 부채를 쌓는 일이다.
앱 위에서 이미지 형태로만 존재하는 과거 데이터에 새로운 정보를 덧씌운다 한들, 결국 복귀 후 사람이 다시 눈으로 확인하며
엑셀로 옮겨야 한다면 종이가 모바일 디바이스로 바뀌었을 뿐 업무 공수는 전혀 줄어들지 않는다.
2) 양식의 파편화과 N+1 문제
텍스트 추출이나 AI를 활용한 자동화도 검토했다. 하지만 업무 특성상 양식이 무한히 변형되는 환경에서는
모든 예외 케이스를 코드로 대응해야 한다. 이는 개발 리스크를 기하급수적으로 높이며, 결국 'AI가 추출한 데이터를
사람이 다시 꼼꼼히 검수해야 하는' 새로운 비효율을 낳는다.
3) UX의 붕괴와 사용성 한계
현장에서는 업무에 필요한 여러 자료를 동시에 띄워두고 교차 검증을 해야 한다.
모바일 디바이스의 제한된 화면에서 이 모든 비정형 데이터를 한 번에 비교하도록 UI를 억지로 구겨 넣으면,
사용성은 극도로 떨어질 수 밖에 없다. 그럴 바엔 먼저 시중에 나와 있는 완성도 높은 필기 앱을 사용하는 것이
더 낫겠다고 생각했다.
가장 훌륭한 코드는 작성하지 않은 코드다
나 역시 고용된 개발자로서 무언가 결과물을 내놓아야 한다는 압박감에 시달렸다.
그리고 적당히 범위를 줄여 회사가 원하는 목표 중 일부만이라도 달성하는 테스트 앱을 먼저
만들어보자 제안한 바도 있다.
그러나 아무리 생각해도 이 프로젝트는 개발이 아니라 업무 프로세스 표준화가 선행되어야 풀리는 문제였다.
1인 개발자가 비표준화된 환경에서 억지로 땜질식 앱을 만든다면, 훗날 유지보수의 지옥에 빠지거나
현장에서 외면받는 돈 들인 쓰레기가 될 것이 뻔했다.
그래서 장고 끝에 리스크 보고서를 만들어 전달드렸다.
마무리하며
개발자의 가치는 단순히 요구사항을 코드로 번역하는 타이핑 속도에 있지 않다.
비즈니스의 구조적 결함을 파악하고, 기술이 해결할 수 없는 문제에 과감히 아니라고 말할 수 있으며,
더 나은 방향을 제시하는 것. 그것이 개발자에게 요구되는 진짜 역량임을 경험할 수 있었다.
비록 3주 만에 다시 차갑고 혹독한 야생으로 돌아오게 됐지만, 구직이 n개월을 넘어가게 됐지만!
내 선택에 후회는 없다. 물론 내가 틀렸고, 누군가는 더 나은 해답을 찾을 수도 있다.
그것 또한 내 역량과 한계임을 받아들이고 나는 다시 내 코드가 진짜 가치를 만들어 낼 수 있는 환경을 찾아나설 것이다.
728x90반응형'pinslog > Log.daily()' 카테고리의 다른 글
[git] git stash 쓰다 식겁한 이야기 (4) 2024.07.03 [Kotlin] Kotlin Destructuring (0) 2023.12.27 [Kotlin] takeIf (0) 2023.12.26 [Etc.] MacOS 영상 녹화하기 (feat. 사운드 캡쳐) (0) 2023.12.13 [Kotlin] tailrec 꼬리재귀 (0) 2023.12.10 다음글이 없습니다.이전글이 없습니다.댓글