
최근 발표에 대한 관심이 많아졌다. 경험이 쌓이고 쌓이면 많은 경험이 된다는 생각도 있었고 보잘것 없는 지식을 가지고 있음에도 먼저 경험한 것들이 있기 때문에 내 생각을 물어봐주는 분들이 많았다. 나한테 들어왔던 질문은 대부분 이런것들이었다.
"1인 창업을 하고 싶은데 백엔드 개발을 반드시 배워야 할까요?"
"앱 개발을 하면 취업이 안될까봐 걱정이에요."
"백엔드 개발을 시작해보려고 하는데 최근 핫한 스택인 NestJS를 사용해야할지 Spring Boot를 사용해야할지 고민이에요."
처음에 발표에 관심이 생기게 된 계기는 사실 우연히 봤던 한 공고로부터 였다.
inflearn 강사이자 fastcampus 강사이신 코드팩토리님의 단톡방에서 코드팩토리 이그나이트라는 행사에서 발표할 사람을 모집한다는 글이었다. 마침 NestJS를 써본 경험과 Spring Boot와의 비교에 대해서도 많이 얘기하기도 했고 특히 코드팩토리님의 수강생 분들 중에서는 Spring Boot와 NestJS에 대해서 고민하는 분들이 많았기에 Spring Boot vs NestJS라는 주제로 발표를 하기로 했다.
이 발표가 끝나고 나서 아쉬움이 많았다. 처음 발표하는 것이기 때문에 많이 절기도 했고 내가 말하고자 하는 주제를 제대로 전달한 기분이 못들어서 였다.
그러던 중 평소에 존경하는 개발자분께서 Flutter 오픈스테이지에서 Flutter 개발자에서 백엔드 개발자로 전환한 이유에 대해서 발표해보는 것이 어떻겠냐는 제안을 주셨다.
그 제안을 받은 주 마지막날에 다른 개발자님들과 약속이 있었는데, 식사자리에서 내가 개발자가 된 이유에 대해서 설명을 했다. 그리고 그 얘기를 듣던 다른 개발자 분들이 "그런 내용을 이력서에 녹여내야지!" 라고 말씀을 하셨다.
그리고 발표를 하겠다는 요청을 수락했다.
초기 MVP가 급한 상황에서는 당연히 필요 없다고 생각했다.
기본적인 아이디어가 시장에서 먹히는지 프로토타입을 검증 받고 어느정도의 트래픽이 생기더라도 스타트업 규모에서는 Firebase만으로 가능하다고 생각했다. 하지만 어느정도 트래픽이 생기면 비용 절감을 위해서라도 백엔드로 가는게 좋다고 생각한다.
그래서 내 생각은 어느정도의 인프라 지식과 백엔드 개발 지식은 1인 창업자라면 반드시 갖춰야 할 덕목이라고 생각한다.
개인적으로 생각하는 BaaS의 단점은 다음과 같다.
첫 번째 이유는 정보보안이라는 진로에 대한 불확실함 때문이다.
정보보안 엔지니어가 되고 난 이후에 사실 방황을 했다. 그 때는 혼자서 매일 독수공방하면서 공부를 했고 효율도 안나고 재미도 없었다. 커뮤니티 활동을 해야겠다는 생각조차 못한채 매일 방에서 혼자 봤던 내용을 또 보고 봤던 내용을 또 보고를 반복했던것 같다.
그리고 정보보안이라는 분야는 그 때 당시의 내가 느끼기에는 상위 1%의 엘리트 집단이 대부분의 파이를 먹는 분야로 느껴졌다. 어느날 내가 너무 가고 싶었던 회사인 라온 화이트 햇 직원이 취약점 진단을 위해서 우리 회사를 온 것을 보게 되었고 꿈을 이루지 못한채 그 꿈의 주변에서 맴도는 일이 얼마나 고통스러울지 간접적으로 느꼈다.
두 번째 이유는 적성이다.
정보보안이라는 분야는 있을지 없을지도 모르는 버그를 남들이 작성해놓은 코드를 보고 분석하면서 찾아내는 일이다. 물론 스크립트를 통해서 그걸 자동화할 수도 있긴 하지만 말이다. 하지만 개발은 Flutter로 처음 개발을 시작해서 그런지 모르겠지만 결과가 바로바로 눈에 보였다. 그리고 창의력을 발휘하기에도 개발이라는 분야가 좀 더 적합해 보였다.
그때 당시에는 Firestore가 유행하기 시작할 때쯤으로 BaaS가 아직 불안정하던 시기였다. 그 때쯤에 다양한 소스에서 Firebase에 대한 정보를 검색했는데 (아마 그 때는 리얼타임 데이터베이스를 Firestore로 오해했던 것 같다.) 요금이 비합리적이고 쿼리 방식이 안좋으며 응답속도가 좋지 못하다는 등의 평이 많았다. 업데이트를 위해서 데이터를 마이그레이션 하거나 앱의 사이즈가 커져서 백엔드를 구축해야할 때 데이터를 옮기는 작업 등이 비용적으로 많이 부담된다는 평이었다.
또 다른 이유는 당시 정보보안에서 주야 교대 근무를 하고 있었는데 언제가 될지 모르는 앱으로 성공을 기다리면서 주야 교대 근무를 지속할 수 없었다. 피로감이 너무 쌓였기 때문이다.
그런 상황에서 백엔드 개발자로 전환하고 취업도 하겠다는 생각은 적절해보였다.
떨리지는 않았다. 그냥 속으로 '이 사람들은 내 얘기를 듣기 위해서 온 사람들이다.'라고 생각하니 마음이 편했다. 하지만 발표 내용이 좋지 못했던 것 같다.
"여기는 플러터 행사인 것으로 알고 있는데, 플러터 개발자 입장에서 이 발표를 듣고 어떤 부분을 배울 수 있을까요?"
라는 질문을 받았다. 사실 이런 질문을 받을줄 아예 몰랐던 것도 아니어서 대답도 준비했다.
"플러터로 앱을 개발해서 사업을 시작하려는 분들에게 백엔드 개발의 필요에 대해서 경험을 공유해드리고 싶었어요."
라고 답변을 했지만 사실 발표내용 자체에서 뭔가 플러터 개발자를 위한 백엔드 개발에 대한 생각이라는 느낌은 아니었다.
지금 생각해보면 좀 더 발표의 짜임새를 생각해서 "전달하고자 하는 바를 먼저 생각을 해두고 그 안에서 스토리를 녹여냈으면 좋았겠다."라는 생각이 든다.
https://docs.google.com/presentation/d/1QxFo-Yz_boAOqgxQLka2LcBtGJidGKoShFpvwB_NHI8/edit?usp=sharing