brunch

매거진 퇴근학교

You can make anything
by writing

C.S.Lewis

by 품파파품파 Jan 24. 2018

1인 개발이기에 선택한 것들

스타트업 1인 개발자의 생각

앞의 두 글에서 언급했듯 우리 회사는 개발자가 나 혼자 뿐이다.

17년에도 개발자를 영입할 생각은 언제나 있었지만 결국 그러지 않은 2가지 자명한 이유가 있다.


1. 어플리케이션보다 사람 손을 많이 타는 서비스이기 때문에

2. 개발자 인건비로 인한 개발 비용을 아낄 수 있으므로


 2번의 이유는 실은 1번의 결과이기도 하다. 어플리케이션의 기능과 성능이 서비스에 영향을 많이 미친다면 개발 비용이 더 들더라도 개발자를 추가 영입했을거다. 하지만 시터 플랫폼 서비스의 특성 상 멋들어지고 세련된 어플리케이션보다 잘 놀아주고 예의바른 서비스 공급자의 영향이 훨씬 크다. 이렇기에 더 나은 서비스 공급자를 확보하는게 매출, 리텐션 등에 직접적인 영향을 준다. 따라서 개발의 우선순위는 그리 높지 않고 '어느정도'만 유지해도 서비스가 돌아간다.


 하지만 어플리케이션의 영향력도 무시할 수는 없다. 고객이 직접 지불을 하는 창구이기 때문에 결제까지의 고객 경험이 엉망진창이라면 잘 놀아주고 예의바른 서비스 공급자를 소개해주기도 전에 고객을 놓쳐버린다. 어플리케이션이 처음 서비스를 접해서 결제를 하도록 이끄는 역할을 잘 해주기만 한다면 그 이후에 고객에게 만족을 주는 것은 자신이 있다.

품파파품파

 그렇기에 내가 집중해야할 가장 큰 목표는 개발에 드는 비용을 최대한 줄여 어플리케이션의 기능과 성능을 향상시키는 것이다. 개발자를 더 들이지 않고 목표를 달성하려면 시간이 덜 들고 효율적으로 개발할 수 있어야 한다. 고객들이 불편을 느끼지 않을 정도의 선에서 가장 빠르고 간편하게 만들 수 있는 방법들을 많이 고려했고 그로 인한 선택은 다음과 같다.

 

 1. Node.js를 이용한 서버 개발

 실은 Node.js를 선택하게 된 것이 위에서 언급한 이유는 아니지만 Node.js를 고집하고 있는 이유는 위와 같다. JavaScript라는 언어를 node.js를 통해 처음 접하고 공부했는데 꽤나 쉽게 익힐 수 있었다. 물론 공부하면 할수록 JavaScript는 어렵지만 유저가 미친듯이 많지 않은 서비스에서 서버를 구축하기에 큰 어려움은 없었다. 위의 목표를 달성하기 위해 Single Thread 기반의 비동기 IO 처리가 어쭈구 저쭈구 하는 구조적 내용들은 그리 중요하지 않았고 JavaScript를 사용한 개발 생산성 향상이라는 점이 크게 다가왔다. 정말로 Node.js와 Express.js(현재는 Koa.js)라면 누구라도 쉽게 데이터를 주고받는 간단한 서버를 만들 수 있다. 아마 Node.js가 아니었다면 서버까지 혼자 맡아서 할 수는 없었을 게 분명하다.


 2. 문서화 작업 X

 글쎄 이 부분에 대해선 확신은 없다. 다른 기업들에서 개발을 할 때 어떤 문서들을 만들어서 실제 업무에서 활용하는지 전혀 알 수 없었고 이 글을 쓰면서 지인들에게 물어봐야겠다는 생각이 들었다. 하지만 다른 기업의 상황이 어떻든 현재 난 문서화 작업을 할 생각이 없다. 불필요하고 시간만 잡아먹는 작업이다. 빠르고 효율적으로 개발하고자 하는 목표를 방해하는 가장 큰 저해 요인이다. 내가 짜놓은 코드를 다시 봤을 때 이게 뭐지 싶은 순간은 가끔 있지만 금방 기억이 난다. 개발을 업으로 삼은 이유 중 하나가 코드를 짜는 즐거움인데 문서화 작업은 전혀 즐겁지가 않아서 오히려 개발을 지루하게 만든다. 호기심을 갖고 즐겁게 코딩을 할 때 일의 능률이 가장 좋기에 일을 지루하게 하는 문서화 작업에 시간을 낭비하지 않겠다. 개발자를 추가 영입하게 되는 경우를 위한 최소한의 작업은 그때가서 필요한 만큼 진행하겠다.


 3. React Native 도입

 어쩌면 처음부터 이 얘기를 하고 싶어서 회사에서 혼자 개발하기라는 주제를 잡았던 것일수도 있다.

 짧게 끄적거려보자면 서비스 공급자용 앱을 만들기로 결정을 했고 더 이상 네이티브 앱으로 개발하여 유지보수할 수가 없었기에 하이브리드 앱을 도입하기로 한 것이다. 자바스크립트로 빠르게 개발할 수 있으며 크로스 플랫폼 개발이기에 매우 효율적이다. 목표에 딱 부합하는 선택이라 생각했고 새로 만들 서비스 공급자용 앱부터 바로 만들기 시작했다.

 이에 관해 이 글에서 모두 적고자 했지만 생각보다 내용이 길어져서 다음 글에 따로 React Native 도입의 배경 및 개발하며 느낀 점들에 관해 이야기해보겠다.

매거진의 이전글 회사에서 혼자 개발하면서 느낀 점들
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari