“누군가는 시작해야 한다면, 내가 먼저 해보자.”
백지 상태에서 시작한 컴공생의 2025년 상반기 회고.
GPT와 에이전트 AI, 그리고 실전 프로젝트를 통해 진짜 개발을 배워간 시간.
"노트북과 와이파이만 있으면 어디서든 일할 수 있다."
이 말을 처음 들었을 때, 나는 전율을 느꼈다. 바다 한가운데든, 산꼭대기든, 심지어 외국에 있든 – 공간과 시간에 구애받지 않고 일할 수 있다는 자유. 그것이 내가 개발자를 꿈꾸게 된 출발점이었다. 그래서인지 개발이라는 분야는 처음부터 나에게 매력적으로 다가왔다.
대학교에 입학한 이후, 나는 다양한 전공 수업을 들었지만 늘 허전함이 있었다. 그러다 우연히 ‘ABC 부트캠프’를 접하게 되었다. 당시 나는 프로그래밍에 대해 아는 것이 전혀 없었다. 하지만 ‘한 번 해보자’는 마음으로 도전했다.
나는 아무런 지식 없이 CNN 모델 기반의 인공지능 프로젝트에 참여하게 되었다. 수업은 너무 빨랐고, 나는 강사님의 코드를 따라 적기 바빴다.
사람의 얼굴을 분석해서 '감정기반 다이어리'를 제공하는 서비스를 주제로 프로젝트를 시작했고, 결과물은 부족했지만 나에게 ‘내가 뭔가를 만들 수 있다’는 자신감을 심어주었다. 그렇게 나는 컴퓨터공학과로 전과를 결심했고, 다행히 1학년 때의 높은 학점 덕분에 어렵지 않게 전과를 마칠 수 있었다.
전과 이후 첫 학기. 운영체제, 컴퓨터구조, 자료구조를 배우며 이론에 눈을 떴다. 나는 이론을 배운 뒤 직접 컴퓨터를 뜯어보고 부품을 교체하며 실습을 병행했다. 메인보드를 갈고, CPU 쿨러를 정비하고, SSD를 갈아끼우며 이론과 실제가 맞닿는 지점을 경험했다.
전과하자마자, 나는 소프트웨어 프로그래밍 수업에서 팀 프로젝트를 맡게 되었다. 주제는 '큐싱 방지를 위한 자전거 대여 어플리케이션'. 문제는 팀원 모두가 개발 경험이 전무했고, 프론트와 백엔드의 개념조차 제대로 잡혀있지 않은 상태였다는 것이다. 하지만 오히려 그런 백지 상태였기에 더욱 적극적으로 배워나갔다.
안드로이드 스튜디오에서 Kotlin을 사용하고, 백엔드는 Flask, 데이터베이스는 MongoDB. 단지 ‘이게 유명하니까’, ‘쉽다더라’는 이유로 스택을 선택했고, 수많은 시행착오를 겪었다. GPT에게 묻기도 하고, 국립중앙도서관에서 하루 종일 책을 읽기도 했다. 새벽까지 디버깅을 하며 울컥했던 밤도 많았지만, 결국엔 팀과 함께 작동하는 앱을 완성했고, 교내 대회에서 수상도 하게 되었다.
그러나 그 프로젝트를 마치고 난 후, 강한 의문이 남았다. “진짜 서비스는 이렇게 만들지 않을 텐데…” 배포는 어떻게 하는 거지? 서버는 항상 켜둬야 하나? 실무에선 GPT 없이도 가능한가? 이 의문들이 내 안에 더 커졌고, 현업 개발자들은 어떤 식으로 프로젝트를 운영하는지 알고 싶어졌다.
그러던 중 우연히 본 ‘한밭모’의 모집 공고. 깃허브 잔디가 빽빽히 채워진 팀원의 이력과, 온보딩 문서에 정리된 프로젝트 운영 체계를 보며 이 팀에 꼭 들어가고 싶다는 생각이 들었다. 두 번의 미팅을 거쳐 팀에 합류하게 되었고, 나는 한 발짝 더 실전 환경에 가까운 개발을 경험하게 되었다.

처음 맡은 업무는 동아리 페스티벌에 맞춘 소개팅 앱 고도화였다. 이미 GPT로 초안이 잡힌 Next.js + Supabase 기반 프로젝트였지만, 오류가 많았다. 처음에는 구조도 모르고 GPT가 주는 코드를 덧붙이기만 했지만, 그게 오히려 더 많은 오류를 만들어냈다. 그런데 신기하게 프로젝트만 며칠 쳐다보니까 점차 직접 코드를 읽고 흐름이 이해되기 시작했다.
DB 마이그레이션을 잘못해서 전체 스키마가 날아가기도 했고, localStorage와 AuthContext 사이의 세션 관리가 꼬여 로그인조차 되지 않는 상황도 맞닥뜨렸다. useEffect가 의도치 않게 두 번 실행되어 API 호출이 중복되던 문제도 있었다. 하지만 그런 경험 하나하나가 내가 '코드를 읽는 법'을 배우는 계기가 되었다.
지금은 소개팅 앱을 React Native 기반으로 전환하고 있고, 나는 보통 관리자 페이지를 개발 중이다. 메인 구조와 매칭 알고리즘, DB 설계 등은 선임 개발자분이 총괄하고 있으며, 나는 기능 단위의 상세 구현을 맡아 기여하고 있다. 한두 달 전만 해도 내가 이런 구조에서 실제 기능을 구현할 수 있으리라고는 상상도 못했을 것이다.
페스티벌 이후 소개팅 앱은 대전 전역으로 확대되었고, 기존의 수동 계좌 입금 방식에서 PaaS 기반 자동 결제 시스템으로 바꾸는 리팩토링이 진행되었다. 동시에 레거시한 Supabase 로직을 정리하기 위해 Nest.js 기반 백엔드로 교체하고, 모바일 전환을 위해 React Native 프레임워크를 도입했다.

썸타임: 지역 대학생 소개팅의 이름으로 대전 11개 대학생을 타겟으로 리뉴얼되었고, 현재 iOS 앱스토어 등록까지 완료됐다.
개발 중 알게 된 사실들: React의 useEffect는 개발환경에서 두 번 실행되고, base64 방식으로 이미지를 저장하면 모바일 기기가 과부하되어 앱이 터질 수 있다는 것. 실제로 선임 개발자가 참여했던 부동산 전자계약 서비스는 base64 방식으로 인해 망했다. 이 이야기를 들으며 ‘기술은 편리함보다 균형’이라는 말을 절감했다.
기술은 정답이 아니다. 상황과 리소스, 사용자 환경에 따라 '적절한 선택'이 더 중요하다. 그래서 어떤 기능을 구현할 때 ‘이게 최선의 선택인가?’를 먼저 고민해야 한다
요즘은 에이전트 AI의 도움을 받아 생산성이 매우 높아지고 있다. 개발 뿐만 아니라 삶의 대부분을 인공지능을 활용하는것 같다. AI 덕분에 필력이 좋지 않아도 벨로그 포스팅을 손쉽게 할 수 있는것 처럼.. 개발분야에서는 단순한 기능 구현은 AI에게 시키고, 나는 구조를 잡고 예외를 고려하는 방식. 점점 개발이 ‘누구나 할 수 있는 일’로 바뀌는 것 같아 두렵기도 하다. 언젠가는 PPT처럼 개발도 기본 소양이 되는 시대가 올지도 모른다.
하지만 동시에, 이 흐름 속에 있다는 것이 나에겐 기회처럼 느껴지기도 한다. 변화를 두려워하지 않고 받아들이며, 도구를 쓰는 사람이 아니라 '이해하는 사람'이 되고 싶다. 그게 진짜 개발자라고 믿기 때문이다.
상반기 중 교수님께서 이렇게 말씀하셨다.
“AI가 아무리 발전해도, 결국은 컴퓨터 위에서 작동하는 기술입니다.
모든 건 ‘기본 원리’에서 시작돼요.”
실제로 대학생을 위한 탄소중립 OS 프로젝트를 비전공자 팀원들과 바이브코딩으로 개발을 하면서 실험을 해보았는데, 전공자와 비전공자의 생산성 차이가 명확했다.
프로젝트 github 해당 프로젝트의 인사이트를 보면 모두가 열심히 했지만 코드 기여도가 수십배의 차이가 발생했다.
결국 도구는 누구나 쓸 수 있지만, 활용하는 깊이는 기초에서 나온다는 것을 느꼈다.
그래서 더 기초에 더 집중해야한다. 지금의 성과보다, 2~3년 후에도 변하지 않는 힘을 기르고 싶다. GPT는 빠르지만 얕고, 나는 느리지만 깊이 있게 가고 싶다. 그리고 그 배움은 언젠가 나의 무기가 될 것이다.
현재는 성신여대 학생들과 함께 KOICA 공공데이터 공모전을 준비 중이다.
기본기를 체계적으로 다지고 싶어 네이버 부스트캠프 10기 웹 풀스택 트랙에도 지원했다.
현재 나는 창업보다는 취업을 목표로 하고 있지만, 앞으로의 개발자에게 필요한 역량은 단순히 ‘코딩’에만 국한되지 않을 것이라 생각한다.
그래서 교내 SW중심대학 사업의 일환으로 운영되는 창업교육 프로그램도 함께 수강하며 비즈니스적 사고와 문제 해결력을 넓혀가려고 한다.
또한 인프라 전반에 대한 이해를 높이기 위해 네이버클라우드 자격증 교육도 지원해둔 상태이며, 현재 결과를 기다리고 있다.(일정 마지막에 네이버 본사 견학도 잡혀있어서 흥미로운 프로그램인것 같다.)
상반기 동안 정말 다양한 활동을 해왔지만,
정작 '무엇을 배우고 어떻게 성장했는가'를 돌아보지 않으면 결국 방향을 잃을 수도 있다는 생각에 이 회고를 남기게 되었다.
나는 아직 많이 부족하다.
하지만 나는 부족함이 앞으로 나아가는 힘이 될 것이라 믿고 있다.
그리고 그렇게 되기 위해, 오늘도 나는 배우고 있다.