2020년, 개발 2년차 회고

2020년, 개발 2년차 회고

개발에 흥미를 갖고 시작한 지 대충 2년이 찼다. 만족스러운 개발자 직업을 가진 적이 없음으로 주니어 개발자라고 하기는 아직도 거북한 감각이 있다. 이번 한 해는 다사다난했으므로 성장하기 좋은 한 해가 아니었을까 싶다. 올해 경험한 내용을 정리하고 내년에는 더 탄력받을 수 있으면 좋겠다.

초기 창업 팀

작년 말부터 올해 8월까지는 초기 창업 팀에서 열심히 창업 과정을 겪었다. 바닥부터 시작하는 창업은 많은 걸 경험해볼 수 있었다. 과거에 한 개발자 선배님께서, 현재 정말 잘되고 있는 스타트업의 초기 멤버로 참여해, DAU가 늘어나는 과정을 짧은 시간 내에 경험했던 것이 개발자로서 쉽게 경험할 수 없는 것이라고 말씀하신 것에 홀려 초기 창업을 생각한 적이 있다. 운이 좋게도(?), 좋은 실적을 낼 수 있다고 생각되는 아이디어를 가진 초기 창업 대표님을 만나서 창업을 시작했다. 하지만 말씀하신 그 경험은 사실 타이밍에 대한 아주 큰 행운이 따라 주면 겪을 수 있는 케이스이다. 물론 시작 전에도 그렇게 생각했지만, 아쉽게도 그 과정을 초기 창업 팀에 있을 때 겪지는 못했다.

사실 목적으로 정한 바는 위와 같았지만, 더 많은 것을 경험하고, 여러 방면으로 새로운 시야와 방향으로 동기부여를 많이 얻을 기회가 되었다고 생각했다. 창업에 대한 아주 막연한 관심만 두고 있던 필자는 이 과정 이후 초기 창업에 어떤 단계가 있고, 개발 외에도 해야 할 것이 수만 가지이며 어떤 점들을 특히 신경 써줄 필요가 있을지, 팀원들과 어떻게 소통해야 좋을지에 대한 엄청난 고민, 팀을 리드할 때 어떻게 해야 팀에게 동기부여를 줄 수 있을지에 대한 고민 등등을 했다.

초기 창업에서 개발자가 겪는 문제

초기 창업이라는 상황이 가져오는 몇 가지 고통이 있었던 것 같다. 보통 인력 부족으로 생기는 문제이다.

  1. 금전적 여유가 없는 단계에서 생기는 문제
    예비 창업 패키지, 초기 창업 패키지를 바라보면서 달리는 상황에서는 금전적인 압박이 있을 수밖에 없다. 대표님께서 개인 돈도 꽤 투자하신 편이라, 일단 정말 바닥부터 하는 스타트업들과 다르게 여유가 아예 없었던 건 아니지만, 당연히 어마어마한 금액은 아니므로, 바로 다음 단계를 위한 시드 머니가 필요한 상황이다. 이런 상황에서 개발자 구인은 정말 힘들다. 초기 창업 멤버로 잘하는 사람을 데려오기는 정말 어렵고, 잘하지 못 하는 사람이더라도 포텐셜을 믿고 가기엔 금전적인 한계가 있다 (애초에 잘한다 잘 하지 못 한다는 것에 대한 평가조차 어렵다). 기본적으로 많은 사람과 함께 일할 수 없지만, 개발 일정은 정말 촉박하다. 바로 다음 달 안에 MVP를 뽑아야 하고 며칠 안에 완성해야 하고 이런 상황이 부지기수이다. 갈려 나가는 느낌은 정말 잊을 수가 없다. 하루 열 시간 이상 근무, 잠도 못 자는 경우도 많았다.

  2. 불완전한 사업 모델로 인해 생기는 문제
    필자의 경우, 가장 동기부여를 깎아 먹는 문제는 여기에서 발생했다. 또한 이 문제로 인해 파생되는 여러 문제가 있다. 초기 창업 아이템은 정말 추상적이거나, 불완전하다. 물론 서비스라는 것은 항상 더 나은 방향으로 발전해야 하므로 불완전이라고 하는 것이 언제나 존재하지만, 초기 창업에서 불완전은 뜻이 아주 다르다. 피벗 수준의 기획 변경 과정이 수도 없이 발생하고, 정말 아예 새로운 프로젝트가 되어서 갈아엎고 처음부터 하게 되는 경우도 생긴다. 필자와 함께한 창업팀의 아이템은 상당히 규제에 민감한 사업이어서 특히 여러 번 프로젝트가 엎어졌고, 거의 코드 십만 줄 이상은 버린 것 같다. 그 과정에서 오는 현타가 정말 심했던 것 같다.

  3. 원하는 개발을 하지 못하는 문제
    이 문제는 사실 초기 창업뿐만 아니라 어디서든 마찬가지이다. 창업에서 비즈니스 앞에 개발이 있을 수는 없기 때문에, 비즈니스 요구사항을 위해 선택할 수 있는 개발 선택지가 제한되는 경우가 있다. 하지만 초기 창업에서는 선택지가 과하게 좁혀지는 경우가 많다. 예를 들어서 본인은 테스트코드를 작성하고 주기적인 리팩토링 하는 것이 결과적으로 좋다는 걸 알고 있고, 그렇게 하고 싶었다. 하지만 MVP 모델인 것도 알고 있고, 쉽게 엎어지는 과정을 반복하기도 하고, 빡빡한 개발 일정을 보고 있으면서 테스트코드를 촘촘히 짜며 개발할 수는 없었다. 그리고 문제를 해결하기 위해 새로운 기술을 도입하는 것에 대해서도 아주 보수적으로 바라봐야 한다. 러닝 커브가 일정 수준 이상인 경우 적용할 수 없다.

초기 창업에서 개발자가 경험할 수 있는 것들

힘든 경험도 있었지만, 그래도 하길 잘 했다고 생각이 들게 만드는 몇 가지 포인트도 있었다.

  1. 개발 외 다양한 업무를 맛볼 수 있음.
    초기 창업의 팀원은 말 그대로 제네럴리스트여야 한다. 본인의 전문 분야가 아니더라도 해결해야 할 문제에 초점을 맞춰야 할 때가 많고, 필자의 경우에는 대부분 개발에 집중할 수 있는 환경을 최대한 보장 받았음에도 불구하고, 기획과 기업의 운영 관련해서도 일부 참여하기도 했다. 많은 개발자는 이런 것을 그리 좋아하지 않는다. 하지만 본인은 좋은 경험이었다고 생각했다. (회의가 많고 여러 이유로 사람들을 만나는 역할도 해야 했다는 점은 좋지 않았음)

  2. 공동 창업자로서의 대우
    개발자에게 한정된 얘기는 아니지만, 창업에 함께 뛰어들면 위험 부담과 기여에 따라 공동 창업자로서 대우를 받게 된다. 감사하게도 대표님이 공동 창업자로서 필자를 잘 챙겨주셔서, 어느 정도 감사한 마음과 함께 동기부여가 잘 되던 기간도 있었다. 애초에 지분 공유 관련된 얘기라든지, 경영과 관련된 얘기를 이번 기회가 아니었다면 어디서 경험했을 수 있겠냐는 생각도 들기 때문에 이런 경험 자체가 신선하고 좋았다.

  3. 열정적인 사람들과 일 하는 맛
    초기에는 소수의 인원이 프로젝트에 참여하고, 프로덕트에 기여하는 정도가 큰 편이기 때문에, 프로덕트에 대한 주인 의식도 높고, 다들 애정을 갖고 하는 기간이 있다. 이 기간에는 창업자들이 함께 열심히 일하는 과정에 껴서 하루하루를 즐겁게 일할 수 있었다. (사실 즐겁게는 자기최면일 수도 있다. 본인은 즐겁긴 했는데, 업무량 증가로 인해 즐겁게 보다 고통이 커지는 순간이 오기는 했다) 그래도 스타트업 판이라는 게, 초기 삼산텍처럼 느긋할 수가 없이 정신없는 구조이고 이런 구조 속에서 재미를 느낄 수 있는 사람이면 또 나름의 매력을 얻는 포인트가 되지 않을까…

학기

필자는 현재 대학생으로, 가을 학기를 수료하면서 6학기를 수료한 상태가 되었다. 스타트업은 코로나 상황으로 인해 갑작스러운 개인적인 계획의 변경이 생기면서 오래 일하지 못하고 나오게 되었다. 남은 학점을 많이 채우고 조기 졸업을 할 수 있게 하기 위해서 22학점을 수강했다. 성적도 나름 잘 받았고 프로젝트에 생각보다 집중을 많이 해서 원하던 공부를 열심히 할 수 있던 건 아니었다.

소프트웨어공학

이번 학기의 정말 80%를 차지했다고 볼 수 있는 수업이었다. 한 학기 동안 프로젝트를 하는 수업인데, 간단하게 만들 계획이었으나 백앤드가 요구 사항에 들어가고, 인공지능 AI 스피커와 결합한 프로젝트를 하려고 팀원들과 얘기하다 보니까 어느새 앱이 비대해져서 프로젝트를 쉽게 마무리 지을 수 없게 되었다. 결국, 한 달 조금 넘는 기간 동안 프로젝트를 진행했고 이 프로젝트 동안 그래도 나름 새로운 것들을 공부하려고 큰 노력을 했다.

프로젝트는 Ivy Lee Method를 구현한 애플리케이션이었다. 이 링크에서 프로젝트의 자세한 소스코드와 문서를 확인할 수 있다.



약 한 달 동안 많은 코드를 짰다

이 프로젝트에서 Go와 DynamoDB를 한번 써봐야겠다고 생각하고 (DynamoDB는 지난번에 맛보기처럼 사용한 적이 있는데, 익숙하지 않아 많이 당황하고 메인 데이터베이스로 쓸 수 있는 거 맞나 싶은 생각도 했었다. 처음 DynamoDB를 맛보고 남겼던 글도 있다) 그 이후로 여러 레퍼런스를 찾아보고, 특히 이번 학기에 이 독특한 구조의 데이터베이스는 어떻게 설계해야 할까에 대한 고민을 많이 하고 공부한 글도 남겼다. 그래도 만들면서 “복잡한 관계를 설정하기는 여전히 어렵군” 하면서 만들었던 기억이 있다.

필자는 꼭 학생으로서 받을 수 있는 많은 지원을 최대한 받으며 직접 창업에 도전해보고 싶다는 생각을 오래전부터 하고 있었기 때문에, 이번 학기에 아이디어 MVP를 한 번 빌드해 봐야겠다고 생각했는데, 하고 싶던 아이디어가 노코드 앱처럼 일반적인 케이스가 아니라서 직접 만들어야 했다. 계획은 학기와 그 MVP 만들기를 병행할 계획이었으나, 현실은 이 수업에 묶여서 아예 생각하지 않았던 앱을 만들어냈다.


2020

2019년에 작성했던 회고도 한 번 읽어봤다. 지금도 항상 비슷하지만, 필자가 봐 왔던 어떤 n년차 개발자를 기준으로, 내가 n년차가 되면 저분보다 더 잘 할 수 있을까에 대한 기대와 걱정이 항상 있었다. 처음 개발을 공부한 지 1년 되는 해에는 “당연히 가능하지, 지금 이 속도면 어떻게 불가능하겠어” 같은 느낌이 정말 컸지만, 최근에는 성장 속도가 이전에 비해 느려진 것 같다는 생각도 하게 된다. 아마도 개인적으로 경험해볼 수 있는 시나리오의 한계가 있어서 그렇겠다고 생각은 하고 있고, 그래서 가을 학기가 시작할 때쯤엔 오히려 공학 이론이나 알고리즘과 같은 기본기에 충실해져야겠다고 생각해서, 수업에 집중했던 것 같다. 결과적으로 내가 튼튼한 개발자가 되었는가? 그것에 대해서는 잘 모르겠다, 단시간에 해결되지는 않는 것 같고, 더 집중적으로 공부해야 할 것 같다.

2021

2020년 말에 교수님의 도움으로 창업 할 수 있는 사무실을 받게 되었다. 그리고 소프트웨어공학 수업에서 팀으로 만난 친구와 개발하는 친구, 디자인하는 친구 이렇게 4명이 같이 창업을 하기로 했다. 기대도 되고 걱정도 많고, 괜히 일을 벌여놓으려니까 감당 할 수 있나 싶기도 한데, 어차피 졸업 전에는 꼭 해보고 싶었던 거니까 올해는 데이터베이스, 알고리즘, 창업, 이 세 가지에 몰빵 해보는 거로 결정했다.

댓글

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×