BAEKDEV
BAEKDEV

자바 둘 타세요-에서 <자바 인력1>을 맡고 있습니다.

개발자의 사이드 프로젝트 - 커리어 스킬(2)

사이드 프로젝트를 해보겠다고 한 번도 생각하지 않은 소프트웨어 개발자는 본 적이 없다. 나만해도 사이드 프로젝트를 많이 해왔다. 아, 좀 더 명확히 말하면 사이드 프로젝트를 많이 시작했다. 솔직히 말해서 시작한 프로젝트 중 끝낸 건 별로 없다. 내 인생과 경력을 돌이켜봤을 때 모든 게 극적으로 변한 한 순간, 변곡점이 하나 존재한다. 그 변곡점은 내가 사이드 프로젝트를 처음으로 마무리한 순간이었다.

개발자의 사이드 프로젝트 - 커리어 스킬(2)

인생의 변곡점

사이드 프로젝트를 해보겠다고 한 번도 생각하지 않은 소프트웨어 개발자는 본 적이 없다. 나만해도 사이드 프로젝트를 많이 해왔다. 아, 좀 더 명확히 말하면 사이드 프로젝트를 많이 시작했다. 솔직히 말해서 시작한 프로젝트 중 끝낸 건 별로 없다.
꿈과 목표 사이에는 큰 차이가 있다. 꿈은 쫓는 것이고 목표는 행동해서 실현하는 것이다. 과거에는 나도 꿈을 꾸는 사람이었다. 그때는 아이디어와 꿈을 좇아 다녔다. 항상 사이드 프로젝트를 진행했지만 그렇다고 늘 최선을 다한건 아니었다.

내 인생과 경력을 돌이켜봤을 때 모든 게 극적으로 변한 한 순간, 변곡점이 하나 존재한다.
그 변곡점은 내가 사이드 프로젝트를 처음으로 마무리한 순간이었다.

사이드 프로젝트를 하다가 중간에 지루해져서 별 생각없이 진행하고 있던 어느 날, 지루함을 견뎌보기로 하고 이 프로젝트만큼은 마무리하기로 결심했다. 시간이 얼마가 걸리든 상관없이 마무리 될 떄까지 적어도 하루에 한 시간씩 이 사이드 프로젝트를 진행하기로 했다.
그 순간 모든게 바뀌었다. 그날부터 무슨 일이든 마무리했다.
사이드 프로젝트 하나를 마무리한 후에 다른 기회와 사이드 프로젝트가 꼬리를 물고 찾아왔다. 그래서 과거의 나로서는 상상하지 못했던 일을 지금은 하고 있다. 책을 쓰고 동영상을 만들고 회사를 세우고 실질적 은퇴를 이뤘다. 그 전에 쌓은 15년 정도의 경력보다 끝내 마무리 지은 하나의 작은 사이드 프로젝트가 내 경력과 삶에 더 큰 영향을 미쳤다.

장점

사이드 프로젝트는 소프트웨어 개발자가 경력을 발전시킬 좋은 방법이다.

  • 사이드 프로젝트로 대단한 수익을 올린 건 아니지만 그 덕에 내 경력 큰 도움이 되는 다양한 기술을 배움
  • 무엇보다 값진 수확은 내 프로그래밍 능력에 자신감을 갖게 되며, 바로 이게 사이드 프로젝트의 힘
  • 새로운 기술을 배우고 알던 기술을 연습할 기회를 줌
  • 새로운 영역에 도전해보면서 자신의 능력에 대한 자신감도 키울 수 있음
  • 6개월짜리 사이드 프로젝트 하나가 9시부터 5시까지 근무하는 회사에 몇 년간 다녀야 배울 수 있는 경험을 하게 해줌

목표

완벽한 아이디어를 떠올리겠다는 일념에 사로잡히면 결국 아무것도 못 하고 끝날 수 있기에 목표가 되려면 구체적인 내용이 있어야 한다.

  • 처음에는 아주 쉽게 완료할 수 있다고 생각하는 아주 간단한 사이드 프로젝트로 시작
  • 한두 주 혹은 길어도 한 달 정도면 마칠 수 있는 것을 선택
    • 사람들은 자기 자신과의 약속을 지키지 않는 데 익숙해서 스스로를 믿지 못함
    • 무리해서 뭔가를 하려고 하다가는 결국 실패하거나 포기
    • 점차 자신을 믿지 못하기 때문에 스스로를 계속 내리막길로 가게 두는 패턴이 만들어짐
  • 야망을 덜어내고 아주 작은 사이드 프로젝트를 시작하고 확실히 마무리할 자신이 있는 것으로 고를 것
  • 처음 진행하는 사이드 프로젝트 주제로 클론 코딩을 추천
    • 베낀다고 걱정하지 말고 이건 표절과 다름
    • 작고 쉬운 사이드 프로젝트를 완성해서 자신에 대한 신뢰가 굳건해지면 조금 더 욕심을 내도 좋음
    • 적어도 3개월 내에 첫 번째 버전을 출시할 수 있어야 함

두 가지 이상의 효과를 기대

아주 작은 프로젝트를 하더라도 최대한 많은 목적을 달성할 방법을 생각하라.
사이드 프로젝트를 통해 다음 목적 중 여러 개를 한꺼번에 달성할수도 있다.

  • 새로운 프로그래밍 언어 / 프레임워크 배우기
  • 이미 알고 있는 기술을 숙달하기
  • 자신의 문제 / 다른 사람의 문제를 해결할 앱 만들기
  • 추가 수입원 만들기
  • 면접용 포트폴리오로 쓰기
  • 블로그 콘텐츠로 쓰기
  • 사이드 프로젝트를 주제로 동영상 콘텐츠 만들기
  • 프로젝트를 활용해서 다른 사람의 멘토 역학을 하거나 멘토로 부터 조언을 받기
  • 절제력을 키우고 새로운 시간 관리 기법 써보기
  • 새 친구를 만들고 관심있는 분야에 대해 배우기
  • 대학교 과제 마치기 등등

수 백번의 이상적인 생각보다 한 번의 실행이 변화의 시작이다 - 셰릴 샌드버그

기준 수립

사실 무슨 일이든 시작하기 전에 어떤 일을 할 것이고 최종 목표는 무엇인지 계획을 세워두어야 한다.
필수 요소인 다음 세 가지가 없어서 프로젝트가 미완으로 끝나는 일이 종종 있다.

  • 목표 혹은 ‘완료’의 기준
    • 프로젝트의 성공적인 완료를 가늠할 최소 기능 세트나 기준을 정의하라
  • 마감
    • 공격적으로 하되 과하지 않게 주의
    • 약간의 여유를 두고 지킬 수 있는 마감을 정하되 여유를 너무 많이 잡지 말 것
  • 체계 혹은 프로젝트 작업 시간 정하기
    • 프로젝트를 위해 매일 혹은 매주 얼마의 시간을 쓸 것인지 명확히 정의
    • 정의한 시간이 정확히 언제인가를 정의
    • 작업 진도와 해야 할 일을 추적할 수 있는 절차를 정의

마무리

사이드 프로젝트를 완료하고 거기에서 이득을 취하기 위해 실제로 당신이 지켜야 할 아주 중요한 사항이 있다. 그건 바로 일관성이다. 즉, 마음이 내킬 때만 해서는 안 된다는 말이다. 마음이 내키지 않을 때가 너무 많기 때문이다. 사이드 프로젝트 작업 일정을 정했으면 어떤 어려움이 있어도 그 일정을 지켜야 한다.

더불어 무슨 일이든 마무리하는 습관을 기르는 게 좋다. 나도 마무리하는 습관을 기른 후에 인생이 바뀌었다. 시작해서 끝을 보지 못한 일이 누구에게나 있다. 어떤 프로젝트든지 아무리 마음에 들지 않아도 시작했으면 마무리하라. 그 프로젝트 때문에 죽을 것만 같아도 지켜라.

99퍼센트 완성했어도 출시하지 못했다면 가치는 0퍼센트다.

완벽한 해결책을 찾지 못했다는 이유로, 막혔다고 손을 놓아버리는 것보다는 어떻게든 강행행서 진전을 보는 게 거의 언제나 더 낫다.
그럼 이제 당장 시작하라. 작게 시작하고 일정을 지켜서 마무리하기만 하면 아무 문제가 없을 것이다.

꿈은 좇는 것이고 목표는 행동해서 실현하는 것이다.




출처 - 커리스 스킬 / 존 손메즈 지음 중 사이드 프로젝트에 대해 요약 정리한 내용입니다.