트렐로, 크레이그 리스트, 언스플래쉬, 트위터, 구글 등등. 세계적으로 성공한 회사들은 무슨 공통점을 가지고 있을까? 바로 대부분 의미없다고 생각하는 '사이드 프로젝트'에서 그들의 아이디어가 시작되었다는 것이다.
사이드 프로젝트는 다양한 목적과 형태로 제공된다. 어떤 사람들은 좋은 제품을 만들고 성공적인 회사를 세우기 위해 사이드 프로젝트를 시작한다. 하지만 그것 외에도 사이드 프로젝트를 하는 중요한 근거가 있다.
배움에 고삐를 당길 수 있다.
새로운 기술을 익히고 숙달하는데 힘들 수 있지만, 끈기와 동기부여로 성취할 수 있는 것은 많다. 코딩을 배우는 것처럼 어렵고 좌절하거나 시간이 오래 걸릴 수도 있다. 결국, 포기하지 않고 꾸준히 경험을 쌓는 것이 중요하다.
물론 수학이나 논리적인 사고, 컴퓨터 공학 같은 전공 지식이 있으면 도움이 된다. 하지만 나처럼 비전공자인 사람들도 충분한 끈기와 동기부여로 훌륭한 개발자가 되는 것은 얼마든지 가능하다.
내 경험에 의하면, 남는 시간에 사이드 프로젝트를 하는 것은 재미있을 뿐만 아니라 내 코딩 기술을 향상하는데 도움이 된다는 것을 깨달았다.
블로그에서 재미있는 글을 읽거나 직장에서 새로운 도전에 직면하거나, 동료로부터 새로운 것을 배울 때 나는 사이드 프로젝트로 그것을 구현해보고 싶었다.
그리고 내가 나의 기술을 향상시킬 때마다, 더 좋고 깔끔한 코드를 사용하고 싶었다.
사이드 프로젝트는 언제 빛을 발하는가
사이드 프로젝트를 하는 것은 다른 목적을 가질 수 있다. 기술을 향상시키거나, 새로운 기술을 시험해보거나, 제품 아이디어를 실험하거나, 스타트업을 만드는 것처럼 말이다.
하지만 목적이 무엇이든, 새로운 것을 창조하는 가장 완벽한 방법이다. 사이드 프로젝트는 일반적인 일과 다르다. 부담이나 일정에 대한 압박이 없고 규칙이 없기 때문에, 내가 원할 때 자유롭게 방법을 바꿀 수 있다.
이런 자유도는 비생산적이고 결함이 있는 제품이 나와서 잉여로움을 보여줄 수 있지만 때로는 창의적적인 영감을 준다. 그때가 바로 사이드 프로젝트가 빛을 발하는 때다.
내가 근무하는 회사에서는 '실험의 날'이 있다. 이 날은 몇몇의 흥미로운 기술을 시도하는데 아주 좋다. 이와 비슷한 날이 기술 회사에서 많이 발견된다. 왜 그런지 쉽게 알 수 있다.
예를 들어, 페이스북의 '좋아요' 버튼은 '멋진' 버튼에서 시작되었으며 페이스북의 해커톤에서 만들어졌다. 이 간단한 기능은 페이스북의 핵심 기능이 되었고, 인스타그램 같은 디지털 제품에서도 사용되고 있다.
해커톤을 진행하는 동안 개발자들은 이런 영향력을 끼치는 버튼을 만들고 있는지 몰랐지만 그렇게 만들어졌다. 페이스북과 구글 같은 거대한 회사들은 그 결과를 어디에서나 확인할 수 있기 때문에 작은 회사들에게 사이드 프로젝트에 시간을 할애하는 것을 추천했다.
지메일, 구글 토크, 애드센스, 구글 뉴스는 구글의 유명한 "20% 정책"에서 나온 성공적인 프로젝트다. 이것은 직원들이 자신의 사이드 프로젝트를 수행하기 위해 구글에서 일하는 시간의 20퍼센트까지 사용할 수 있게 만들었다.
결과는 아무도 모른다
결국 당신은 사이드 프로젝트를 하면서 무슨 일이 일어날지 모른다! 성공적인 기업들의 사이드 프로젝트에 대해 읽어 보는 것은 멋진 일이다. 그러나 앞서 언급했듯이 사이드 프로젝트를 진행하면 사소한 이점들도 많이 얻을 수 있다.
사이드 프로젝트를 하기 위해 코딩을 배운 사람들의 사례가 많다. 그래서 만약 여러분이 새로운 프로그래밍 언어를 배우고 현재 기술을 향상시키거나 여러분이 맞닥뜨린 문제를 해결하기 위해 창의력을 발휘하고 싶다면 사이드 프로젝트를 시작하기에 전혀 늦지 않았다.
그렇다면 어떻게 시작해야 할까?
사이드 프로젝트 시작하기
우리는 가끔 번뜩이는 아이디어를 가지고 있거나 생각하지만, 대부분 그것을 그냥 흘러가게 내버려 둔다. 어떻게 보면 당연하다. 아이디어가 항상 현실적인 것은 아니기 때문이다. 그렇다고 실제로 만들어 내는 생각과 아이디어의 크기에 주눅 들 필요가 없다. 새로운 사이드 프로젝트를 시작하려면 다음 세 가지를 명심해야 한다.
1. 작게 시작하라.
시작하는 가장 쉬운 방법은 여러분이 흥미를 느낄 작은 프로젝트를 선택하거나 여러분이 가지고 있는 문제를 해결할 수 있는 것이다. 그런 다음 이 중 하나를 구현하기 쉬워 보일 때까지 작은 단위로 나눈다. 원래 문제를 해결하는데 필요한 모든 작업이 준비될 때까지 해당 부분을 완료하고 이 과정을 반복한다.
2. 단순하게 하라.
당신의 프로젝트는 최소의 복잡성과 최소한의 코딩을 가져야 하며, 그것을 주요 목적에 집중해야 한다. 새로운 요리 레시피를 찾는 앱이라면 채팅 기능이 필요하지 않다. 나중에 언제든지 새로운 것을 추가할 수 있지만, 막 시작할 때는 기능을 최소한으로 줄여야 한다.
3. 압박감이 없어야 한다.
새로운 프로젝트를 시작하는 것은 흥미로울 수 있다. 성공적인 회사로 전환한 사업에 대한 성공 이야기를 읽는 것은 재미있지만, 사이드 프로젝트를 하는 것이 흥미로운 이유 중 하나는 그것이 당신에게 돈을 벌어야 한다는 압력을 주지 않기 때문이다.
그것은 실패하더라도 상관없다는 것을 의미한다. 마감 시한과 완전한 창의적 자유는 당신의 프로젝트가 가야 할 길을 선택할 수 있다는 것을 의미한다. 당신의 일에 대한 경험을 쌓고 좋아하는 것을 하는 동안, 바쁠 때도 계속 진행할 수 있는 끈기를 가질 무언가를 만들 수 있다.
사이드 프로젝트를 부업으로 삼지 마라. 그것이 당신을 행복하고 흥분하게 만드는 것이 될 수 있다. 여러분의 사이드 프로젝트는 언젠가 여러분의 메인 프로젝트로 발전할 수도 있다. 그냥 작게 시작하고, 인내심을 갖고 배우는 동안 프로젝트를 향상시켜라. 그러다 보면 사람들이 필요로 하는 것을 알지 못했던 예상치 못한 제품을 얻게 될지도 모른다.
[원문] https://medium.freecodecamp.org/why-side-projects-are-so-damn-important-239ba37209e
'a memorandum > 개발자 패스' 카테고리의 다른 글
프론트엔드 개발, 뭐하는 직종이야? (5) | 2020.09.21 |
---|---|
[후기] 웹 접근성 강연을 다녀오다. (6) | 2019.10.18 |
[번역] 2019년, 프론트엔드 개발자는 여전히 좋은 선택일까? (1) | 2019.01.01 |
[웹 퍼블리셔 성장기 4편] 웹퍼블리셔로 홀로서기까지 (7) | 2018.12.30 |
[웹 퍼블리셔 성장기 3편] 첫 회사에 취업 성공! 그러나... (0) | 2018.12.26 |