자기가 정한 기준에 맞는 자유인이 되려면 여러 방법이 있겠지만 나는 여가시간에 사이드 프로젝트를 하는 방법을 택했다. 사이드 프로젝트는 나의 일부를 담은 분신을 만드는 작업이며 나 대신 24시간 일하는 기계 일꾼을 비교적 싼 값에 고용할 수 있는, 나에게 아주 유리한 거래다.
나는 주로 클라우드 서버에 프로그램들을 올려놓고 특별한 이슈가 있을 때 메신저로 메시지를 보내도록 만들어놨는데 현재 내가 사용 중인 Azure 서버에는 이런 잡다한 사이드 프로젝트들이 돌고있다.
- 9만 원 정도의 서버 비용을 충당할 만큼 수익이 나는 프로젝트
- 관심 있는 데이터를 수집해 Algolia로 보내서 검색 가능하게 만드는 프로그램
- Firebase 프로젝트의 콘텐츠를 업데이트하는 프로그램
- 한국/미국/글로벌 주가를 추적 후 매수하기 좋은 시점에 Line 메신저로 보내는 프로그램
- 암호화폐 시장분석 후 자동 거래하는 프로그램
- 위 프로그램들의 로그와 소스코드를 백업하는 프로그램
어떤 프로그램은 나를 위해 돈을 벌지만 어떤 프로그램은 자신을 유지하기 위한 돈을 번다. 스스로 클라우드 서버 비용을 벌어 자동으로 할 일을 하는 프로그램들을 볼 때마다 하나의 작은 생태계 같아서 뿌듯하다. 사이드 프로젝트를 시작한지 10년을 맞아 내가 작업하는 방식과 완성하기 위해 사용하는 방법을 정리해본다.
사이드 프로젝트를 하기에 시간이 없고 스스로 게으른 사람이라 생각할 수 있다. 나를 비롯한 대부분의 사람들은 게으른 것이 보통 상태이니 마음을 편하게 먹어도 된다. 나는 오히려 게으르고 “놀” 시간이 부족한 사람들이 사이드 프로젝트를 해야 된다고 믿는다. 지금 아니면 즐길 수 없는 것들이 있다. 제철 음식, 독점 대작 게임, 최신 드라마와 같은 것들은 만족을 지연시켜가며 자신이 원하는 사회적 성공 기준에 도달한 다음 즐기려고 봤을 때 모두 썩어있을 것이다. 노는 걸 좋아하는 평범한 다수의 사람들이야말로 내가 할 일을 시스템에 위임하고 즐거운 삶을 살아야 한다.
핵심은 성공하는 것이 아니라 완료할 수 있는 환경을 만드는 것이다. 규칙과 보상을 쉽고 단순하게 만들어야 한다. 예를 들면 집을 짓겠다는 큰 계획 하나를 100m 앞까지 가벼운 목재를 옮기고 보상을 받는 규칙 수백 개로 쪼개는 것이다. 하나의 일감만 보면 별 의미 없어 보여도 그것이 큰 계획의 한걸음이라면 생각보다 짧은 시간에 원하는 결과물을 얻을 수 있다. 쪼개진 각각의 일감은 도전이라는 말이 무색할 정도로 큰 어려움 없이 완료할 수 있지만 전체 계획은 점점 완성에 가까워지고 있다는 것을 인식하는 것이 중요하다. 반드시 성공하기 위해, 남에게 보여주기 위한 사이드 프로젝트를 하는 것이 아니라 실패해도 상관없고 중간에 재미없으면 그만둬도 되지만 보상이 분명한 게임을 계속할 수 있는 마음속 환경을 만들어야 한다.
사이드 프로젝트를 처음 시작한다면 오랫동안 품고 있던 생각부터 깨야한다. 변화가 필요하지만 속도가 나지 않는다면 내가 가진 오래된 고정관념부터 깨는 것이 효율적이다. 100개의 걸림돌이 있다면 가장 큰 5개만 깨도 속도가 난다. 나는 고정관념을 깰 단순한 몇 줄짜리 이야기를 만드는 것도 도움이 되었다. 내가 믿고 싶은 이야기를 만드는 것이니 꼭 진실일 필요는 없다. 자동 트레이딩 시스템을 만들기 위한 동기를 부여하기 위해 다음과 같은 이야기를 만들 수 있다:
- 현실 세계는 아주 복잡하지만 규칙은 느슨한 게임이다.
- 자본주의는 허상이지만 수십억의 인류가 합의한 시스템이다.
- 자본주의 게임의 점수는 스스로 만든 순자산의 화폐 가치다.
- 합법적이고 자동화할 수 있는 점수 획득 방법은 무한에 가깝다.
사람마다 다르겠지만 나의 뇌는 이런 이야기에 잘 속아 넘어간다. 저런 이야기를 스스로 믿게만 만들면 게임 플레이 아이디어는 끊임없이 나온다. 취향에 맞는 이야기를 잘 짜야겠지만 한 번 흐름을 타면 한동안 즐거운 게임 플레이가 가능하다. 5년, 10년, 50년이 지나고 나를 위해 일하는 기계와 돈을 떠올리면 가까운 시기에 일어날 일을 걱정하는 건 작은 먼지처럼 느껴진다.
이 다음은 각자 스타일에 맞게 플레이하면 된다. 자기 취향에 맞는 스토리를 짜고 실제 실행에 옮기기에 적당한 시장에 참여해서 시장 참여자들 또는 나 자신과 경쟁하는 도전과제를 수행하는 것이다. 위에 적은 건 프로그래밍 중심의 사이드 프로젝트지만 부동산 투자 같은 다른 형태의 게임도 생각할 수 있다. 안전하게 죽지 않고 가는 것이 큰 보상보다 중요하다고 생각한다. 안전한 상황을 확보하고 도전해야 한다. 그래도 실패는 필연적이지만 실패 역시 큰 실패 한 번 보다 빠르고 작은 실패 여러번이 낫다.
출시 후에도 계속 수정하고 모니터링 해야한다. 아무리 많은 테스트를 했더라도 야생에 풀린 사이드 프로젝트는 수많은 외부 변수의 영향을 받을 것이고 내 의도와 전혀 다른 방향으로 동작할 수 있다. 그 원인을 파악하고 고치는 것이 사이드 프로젝트를 더 강하게 만들고 결국 나의 성장으로 이어진다. 그 성장세를 유지하려면 그 과정을 기록하고 주기적으로 되돌아보는 것도 잊지 말아야한다.
내가 적은 내용이 사이드 프로젝트에 관심이 있는 분들께 도움이 되었으면 좋겠다.