고민보다 시도가 먼저였고, 그 방식이 지금의 저를 만들었습니다. 2학년 2학기, 학업과 일을 병행하며 개발을 시작했습니다. 물을 엎지를까 걱정하기보단, 엎질렀을 때 어떻게 닦을지를 먼저 준비하는 것, 그게 제 방식입니다.
보안부터 게임, AI까지 다양한 분야를 직접 해보며 무엇이 저에게 맞는지 찾아갔습니다. 그 과정에서 단순히 기능을 구현하는 것을 넘어, 문제를 어떻게 정의하고 해결하느냐가 개발자의 역량을 결정한다는 걸 깨달았습니다.
미국 텍사스 기반 의료 스타트업 MediKnocks에서 프론트엔드 개발자로 일했습니다. 환자는 앱으로, 의사는 웹으로 연결되는 비대면 진료 서비스였고, 스페인어권 저소득층도 이용할 수 있도록 설계된 서비스였습니다. 실시간 채팅, 처방전 PDF 생성등 직접 구현했습니다. 막힐수록 더 깊이 파고드는 사람이라는 걸 그때 다시 확인했습니다.
저는 개발 중에 생기는 문제를 즐깁니다. 혼자 막히는 순간도, 팀원과 의견이 부딪히다 타협점을 찾는 과정도, 그 모든 순간이 저에겐 성장의 재료입니다. 검색만으로 해결되지 않는 문제, 예상치 못한 버그를 풀어내는 그 경험들이 쌓여 개발자의 커리어가 된다고 생각합니다. 그 과정에서의 학습을 가장 중요하게 여깁니다.
움직이면서 배우고, 배우면서 성장하는 것, 그게 제가 개발을 대하는 방식입니다.
Communication
저는 기술 결정이 코드의 문제가 아니라 팀의 문제라고 생각합니다.
MediKnocks 재직 당시 채팅 기능을 구현하면서 두 가지 솔루션 중 하나를 선택해야 하는 상황이 있었습니다. 하나는 해외 서비스라 모든 자료가 영어였고 국내에서 참고할 수 있는 것이 거의 없었습니다. 다른 하나는 모바일과 웹을 각각 따로 구현해야 해서 사실상 한 명이 두 명분의 작업량을 감당해야 했습니다.
고민할 시간보다 결정해야 할 시간이 더 많았습니다.
먼저 앱 개발자와 1:1로 두 선택지의 장단점을 따져봤습니다. 이후 팀 전체 재논의를 거쳐, 전체 회의에서 각 선택지의 단점을 정리해 보고하고 방향을 이끌었습니다. 핵심 근거는 하나였습니다. 팀 전원이 같은 개발 환경을 쓰고 있었기 때문에, 새 솔루션으로 전환하는 건 개선이 아니라 팀 전체의 시간을 소모하는 일이었습니다.
기존 서비스를 유지하기로 결정했고, 영어로 된 공식 자료를 처음부터 끝까지 파고들었습니다. 참고할 국내 자료가 없었기 때문에 직접 해보고 확인하는 방법밖에 없었습니다. 그렇게 결국 앱과 웹사이트의 채팅 기능을 완성했고, 환자와 의사가 실시간으로 소통할 수 있는 기능이 실제 서비스에 연결됐습니다.
채팅 기능 하나를 완성하는 데 코드보다 대화가 더 많이 필요했습니다. 그때부터 소통이 기술이라는 걸 몸으로 알게 됐습니다.
Problem-Solving
정해진 답이 없는 문제일수록, 먼저 움직여야 한다고 생각합니다.
MediKnocks에서 처방전 PDF 기능을 맡았을 때, 첫 번째 난관은 기술이 아니었습니다. 병원마다 양식이 달랐고, 업계 표준 자체가 없었습니다. 담당자에게 의견을 묻고 필요한 요건을 수집한 뒤, 그 위에서 구현을 시작했습니다.
가장 힘들었던 건 처방전 틀을 화면에 정확히 맞추는 일이었습니다. 칸이 조금만 어긋나도 실제 처방전처럼 보이지 않았습니다. 자동화 도구를 써봤지만 선이 삐져나오고, 칸이 틀어졌습니다.
결국 칸 하나하나를 직접 손으로 맞춰가며 40번 이상 테스트했습니다. 행렬이 정확히 맞는지, 앱에서 PDF로 봤을 때 깨지지 않는지, 모든 경우를 직접 눈으로 확인했습니다.
노가다였습니다. 하지만 포기할 이유도 없었습니다.
팀원들에게 피드백을 받으며 수정을 반복했고, 서명란에 필기체를 넣는 것은 제가 직접 판단했습니다. 실제 처방전처럼 보이려면 서명이 자연스러워야 했습니다. 담당자가 검토했고, 실제 업무에 쓸 수 있는 수준이라는 확인을 받았습니다.
전체 회의에서 임원진 모두가 만족했습니다. 40번의 테스트가 헛되지 않았다는 걸 그 순간 알았습니다.
빠른 방법이 없을 때는 끝까지 직접 해내는 것. 그게 제가 문제를 푸는 방식입니다.
Resource Management
회사와 졸업작품을 동시에 끝내야 했던 그 학기, 저에게 주어진 시간은 모두에게 공평하지 않았습니다.
방학 때 VR 콘텐츠 개발을 배우고 부산 벡스코에서 부스를 직접 운영한 경험이 그 출발점이었습니다. 그 경험이 있었기에 처음부터 새로 만들지 않아도 됐습니다. 3학년 때 절반쯤 만들어둔 틀을 기반으로, 개발 문서와 블로그를 닥치는 대로 뒤져가며 만들어나갔습니다.
VR 기기가 없었습니다. 기기 없이 시뮬레이션으로 테스트하며 구현했고, 완성된 빌드를 기기가 있는 팀원에게 계속 전달하며 실제 환경에서 확인하는 방식으로 역할을 나눴습니다. 내가 할 수 없는 것은 할 수 있는 사람에게 넘기는 것, 그게 가장 빠른 방법이었습니다.
문서와 발표 자료는 팀원에게 넘겼습니다. 직접 할 수 있었지만 그게 맞다고 판단했습니다. 비대면으로 세 번, 직접 가르쳐서 팀원이 스스로 할 수 있게 만들었습니다.
주중에는 회사, 주말에는 3~4주간 거의 밤을 새웠습니다. 작은 오류 하나에 하루가 날아가는 날도 있었습니다.
발표 당일에는 컴퓨터 본체를 직접 들고 왔습니다. VR 기기를 직접 끼고 시연했고, 졸업작품을 통과했습니다.