내 사이드 프로젝트가 의미 없는 이유.

왓에버·2024년 7월 12일
101
post-thumbnail

안녕하세요.

무더운 여름이 찾아왔고, 여름방학이 시작되면서 많은 분들이 사이드 프로젝트에 대해 고민하고 계실 것입니다. 사이드 프로젝트는 나에게 큰 임팩트를 주는 경험과 포트폴리오가 될 수 있습니다. 그래서 취업을 준비하는 많은 사람들은 동아리나 부트캠프에서 사이드 프로젝트를 필수적으로 수행하곤 합니다.

하지만 밤을 지새우며 개발한 프로젝트가 그저 그런 결과물로 남는 경우가 많습니다. 치열한 취업 및 이직 시장에서는 이러한 프로젝트가 포트폴리오에서 큰 변별력을 주지 못하고, 나만의 임팩트 있는 경험으로 인식되지 않을 수 있습니다.

오늘은 사이드 프로젝트가 나에게 큰 임팩트를 주지 못하는 이유와 제대로 사이드 프로젝트를 경험하기 위한 팁에 대해 이야기해보고자 합니다.

오늘의 사이드프로젝트 이야기는 취업과 이직시에 포트폴리오로 사용될 수 있는 사이드 프로젝트를 중심적으로 이야기합니다.

사이드 프로젝트로 얻을 수 있는 것

우선, 우리가 사이드 프로젝트를 하는 목적부터 알아보고자 합니다.

사이드 프로젝트는 당연히 포트폴리오에 도움이 됩니다. 그렇다면 포트폴리오에 사이드 프로젝트를 담으려는 이유는 무엇일까요? 아마도 채용에 유리할 것이라는 기대가 있기 때문일 것입니다.

왜 사이드 프로젝트가 채용에 유리할까요?

채용담당자가 포트폴리오에 담긴 사이드 프로젝트를 보고자 하는 이유는 지원자에 대해 알 수 있는 정보들이 있기 때문입니다. 이는 곧 우리가 사이드 프로젝트에서 얻어가야 할 것을 의미합니다.

사이드 프로젝트를 통해 얻을 수 있는 것들은 다음과 같습니다.

문제를 다루는 경험

사실 우리는 살면서 문제를 직접적으로 해결하는 경험이 익숙하지 않을 수 있습니다. 무엇이 문제인지, 이 문제를 어떻게 해결할지, 해결하기 위해 어떤 액션을 취해야 할지 모를 때가 많습니다.

사이드 프로젝트는 본질적으로 문제를 다루는 것을 직접적으로 경험할 수 있고, 이는 곧 문제해결 역량을 기를 수 있는 부분입니다. 이 사실을 몰랐다고 하더라도 이미 사이드 프로젝트를 통해 여러분들의 문제해결 능력이 성장하고 있을 것입니다. 예를 들어, 아래와 같은 고민과 문제를 경험할 수 있습니다.

  1. 우리 서비스의 유저 인증을 위해 패스워드는 어떤 규칙을 가져야 할까?
  2. 이 버튼은 어디에 위치해야 유저가 더 많이 누를 수 있을까?
  3. 이미지를 Center Crop 할까? 아니면 비율에 맞게 리사이징할까?
  4. 이 메시지는 고객에게 alert로 알려줘야 할까? 아니면 기존 화면에 에러 문구를 노출할까?

본질적으로는 다음과 같은 고민들을 할 수 있습니다.

  1. 우리의 앱의 차별점은 무엇일까?
  2. 어떤 앱이 사람들에게 필요할까?
  3. 유저들이 우리 앱을 사용할까?

이런 고민들을 해보셨다면, 여러분의 문제해결 능력은 점진적으로 성장하고 있을 것입니다. 이런 고민을 중요하게 생각하지 않았거나 하지 않았다면, 끝까지 이 글을 읽어주시기 바랍니다. (하셨어도 끝까지 읽어주시면 더욱 감사하겠습니다.)

결론적으로, 포트폴리오에 담긴 사이드 프로젝트를 통해 나의 문제해결 역량과 경험을 확인할 수 있는 것입니다.

기술적인 성장

위의 문제를 해결하기 위해 우리는 매번 새로운 기술적인 챌린지에 마주하게 됩니다. 이러한 기술적인 성장은 각 프로젝트마다 더 높은 난이도를 경험하게 합니다.

처음에는 간단한 화면과 인터페이스의 구현에 어려움을 겪을 수 있습니다. 하지만 프로젝트를 거듭할수록 우리는 더 높은 성능, 확장성, 재사용성, 안정성 등을 고민하며 제품을 만들어가게 됩니다. 이 과정에서 더 고급 기술과 최신의 라이브러리를 활용하여 프로젝트를 진행하게 됩니다.

사이드 프로젝트를 통해 나의 기술적인 성장 상태를 확인할 수 있습니다. 이는 실물 세계의 문제를 해결하는 개발자와 프로덕트 메이커로서 문제를 기술적으로 해결할 수 있는 역량을 키우는 데 큰 도움이 됩니다.

커뮤니케이션 역량

많은 사이드 프로젝트는 다른 팀원들과 함께 진행됩니다. 이 과정에서 다양한 문제를 경험하게 됩니다.

함께 일하기 때문에 발생할 수 있는 다양한 문제를 경험합니다.

  1. 업무의 분장부터 프로세스
  2. 기분 나쁘게 이야기 하지 않기
  3. 솔직하고 명확한 표현과 전달
  4. 팀워크와 신뢰의 중요성
  5. 복잡한 논리를 설명하기

이외에도 다양한 범위에서 문제가 발생하고, 이에 대응하면서 커뮤니케이션 능력을 향상시킬 수 있습니다. 대부분의 프로덕트, 앞으로 해결해야 할 문제는 협업을 통해 해결해야 합니다. 또한, 프로덕트에 있어서 한 사람의 맨파워가 얼마나 큰 (긍정적 혹은 부정적) 영향을 미치는지 이해하는 것이 중요합니다.

지금까지 사이드 프로젝트에서 얻을 수 있는 몇 가지를 나열해보았습니다. 사이드 프로젝트는 단순한 포트폴리오 이상의 의미를 가지며, 여러분의 문제 해결 능력, 기술적 성장, 커뮤니케이션 역량을 크게 향상시킬 수 있는 경험입니다. 하지만 이 사이드 프로젝트를 어떻게 경험하는지에 따라서 나의 성장속도는 매우 달라질 수 있습니다.

제대로 사이드 프로젝트 경험하기

사이드 프로젝트를 보다 효과적이고 임팩트 있게 만들기 위해 중요한 것은 제품을 릴리즈하는 것을 넘어, 운영과 개선 경험을 하는 것입니다. 지금부터 서비스의 운영과 개선 경험이 어떤 영향을 미치는지 이야기해보겠습니다.

릴리즈 이전 단계에서는 가설에 기반하여 서비스를 만들기 때문에 상상의 나래를 펼칠 수 있습니다. 이 단계에서는 편의에 따라 깊은 고민 없이 제품을 만들 수 있습니다.

  • "고객은 큰 이미지를 좋아하겠지?"
  • "찜하기 기능을 넣으면 편하게 사용하겠지?"

이와 같이 단순한 가정을 바탕으로 기능을 구현하게 됩니다.

하지만 서비스가 실제로 출시되는 순간, 그 서비스는 고객을 만나게 됩니다. 이때부터는 수많은 고객의 요구를 반영하면서 다양한 문제를 경험하게 됩니다. 이는 기존에 다루었던 문제와는 확연히 다른 수준과 깊이를 가지게 됩니다.

  • 단순한 찜하기 기능에 더해서, 실시간으로 유저가 찜을 할 경우 찜한 유저의 간략한 프로필과 함께 하트 애니메이션이 노출됩니다.
  • 다양한 색상의 상품 중 같은 색상의 찜하기를 누른 경우에만 카운팅이 됩니다.

이와 같은 비즈니스적인 개선 과제가 주어지면, 우리는 마이그레이션부터 실시간 데이터 처리 등 더 높은 기술적 과제를 마주하게 됩니다. 또한 단순 기술적 과제를 넘어, 더 디테일한 기획과 정책을 세워야 하고 이미 작성된 많은 코드 위에서 아찔한 수정을 이어나가야 합니다. 이 과정에서 리팩토링에 대한 판단, 운영 중인 서비스의 마이그레이션 플랜 등 복잡도 높은 과제를 수행하게 됩니다.

운영과 개선 경험을 통해 문제 해결 경험은 한 차원 높은 수준으로 끌어올려집니다.

결론적으로, 운영 경험을 가진 사이드 프로젝트는 단순 릴리즈로 종결된 프로젝트보다 포트폴리오에서 큰 변별력을 가집니다. 이는 문제 해결, 기술, 커뮤니케이션 모든 면에서 다른 지원자와 차별화될 수 있는 요소입니다.

경력과 신입의 차이는 이 서비스 운영과 개선경험에 능숙한지 아닌지로도 볼 수 있습니다.

운영과 개선에 도달하지 못하는 이유

많은 개발자가 사이드 프로젝트를 시작할 때, "꼭 열심히 해서 출시와 꾸준한 업데이트로 '가슴속3천원'과 같은 유명한 사이드 프로젝트를 만들겠다!"라는 다짐을 합니다. 그러나 현실적으로 대부분의 사이드 프로젝트는 개발 중에 중단되거나 겨우 릴리즈만 진행되어 v0.1 혹은 v1.0 버전에서 멈추는 경우가 많습니다. 이러한 사이드 프로젝트가 실패하는 이유는 다음과 같습니다.

이 사이드 프로젝트가 실패하는 이유는 다음과 같습니다.

명확한 목적성 부재 (기술적 성장 vs 릴리즈)

초반에 열정이 넘치는 개발자는 최신의 생소한 기술 스택을 선정해 개발을 시작합니다. 예를 들어, "이번 프로젝트를 통해 TypeScript를 경험해보겠어!"와 같은 목표를 세우죠. 그러나 익숙하지 않은 최신 기술 스택은 많은 학습 시간을 요구하고, 그 과정에서 제품에 대한 이해도와 애정도는 점점 떨어지게 됩니다. 이는 너무 기술 구현에만 몰두하기 때문입니다. 디자이너와 PM의 의사결정 사항들이 싱크되지 않기 시작하고, 제품은 성장하지 못하게 됩니다. 결국, 이 프로젝트가 제품을 실제로 출시해 고객을 만나기 위함인지, 단순 기술을 적용해보기 위한 테스트 프로젝트인지 구분하기 어려워집니다.

사기 부족과 역량의 부족

제품을 만들어 출시할 수 있는 최소 시간은 팀마다 다릅니다. 이는 팀원들이 각자의 분주한 삶에서 프로젝트에 할애할 수 있는 시간이 제한적이기 때문입니다. 성공적인 사이드 프로젝트를 위해서는 팀원들의 인내와 역량이 결정지을 수 있습니다.

프로젝트를 릴리즈하고 고객을 만날 수 있는 기준을 100 포인트로 설정해보겠습니다. 이 포인트는 인내와 역량의 곱으로 계산할 수 있습니다.

  • 인내 10 * 역량 10 = 100이 경우, 팀원들은 충분한 인내와 역량을 가지고 있어 프로젝트를 릴리즈할 수 있습니다.

그러나, 다음과 같은 경우에는 문제가 발생할 수 있습니다.

  • 인내 5 * 역량 15 = 75
    팀원들의 역량이 기준치를 넘더라도 인내가 부족하면 프로젝트는 릴리즈될 수 없습니다.

또는,

  • 인내 15 * 역량 5 = 75
    팀원들의 인내는 충분하지만, 역량이 부족한 경우에도 프로젝트는 성공적으로 릴리즈될 수 없습니다.

이렇듯 인내와 역량치가 높은 팀을 만드는 것이 중요합니다. 프로젝트의 성공 확률을 높이기 위해서는 팀원들의 인내와 역량을 충분히 지니고 있어야 합니다.

고객들을 만나기 어려운 제품

높은 인내와 역량치를 가진 팀이 빠르게 제품을 만들어 출시되었더라도, 사용해 줄 고객이 없다면 운영 경험을 쌓을 수 없습니다.

따라서 작더라도 고객을 쉽게 섭외하고 만날 수 있는 제품이 좋습니다.

예를 들어, 우리 제품의 고객이 '국회의원'이라면 섭외가 쉽지 않겠죠.

성공적인 사이드프로젝트 방법

몇 가지 사이드 프로젝트를 성공적으로 이끌 수 있는 팁으로 이 글을 마무리하고자 합니다.

팀원

무엇보다 중요한 것은 함께할 팀원입니다.

어느 정도의 역량도 필요하고, 다른 팀원을 기다려 줄 수 있는 인내가 있는 팀원이라면 좋겠습니다.

하지만 역량과 인내 외에도 중요한 요소가 하나 더 있습니다.

바로 팀워크입니다.

  1. 함께하는 팀원에 대한 이해와 신뢰는 인내를 가질 수 있는 동기가 됩니다.
  2. 서로를 이해하고 있다면 미스 커뮤니케이션이나 과도한 커뮤니케이션을 줄일 수 있습니다.
  3. 팀원과 신뢰를 지키기 위해 역량을 끌어올릴 수 있는 동기가 생깁니다.

갑자기 오글거리게 팀워크가 뭐냐고 하실 수 있겠지만, 실제로 대부분 성공한 사이드 프로젝트의 팀워크는 좋습니다.

그러므로 새로운 사람을 팀원으로 만나게 되었다면, 많은 커피챗, 캐주얼 토크, 회식, 모각작 등 다양한 만남을 통해서 서로를 이해할 시간을 가지시길 바랍니다.

최소 스펙

그 다음은 제품이 고객을 만나기 위한 최소한의 스펙을 만드는 것입니다.

만들 것이 적으면 인내와 역량이 부족해도 금방 만들어서 고객들에게 보여줄 수 있기 때문입니다.

개발자, PM, 디자이너 각각 욕심의 포인트가 있습니다.

  1. 로그인 구현 또는 새롭고 최신의 기술을 경험하고 싶다.
  2. 고객에게 조금 더 편한 기능을 제공하고 싶다.
  3. 애니메이션과 트랜지션을 보여주고 싶다.

모두 내려놓고 고객을 만나기 위한 최소한의 기능을 정의했으면 좋겠습니다.

꼭 올바른 방법을 고집하지 않고, 몇몇 부분을 타협할 수도 있습니다.

그 이후의 기능들은 고객이 존재했을 때 필요한 내용이기 때문입니다.

고객의 반응 맛보기

제품을 제작하기 전에 몇몇 고객을 꼭 만나보시길 바랍니다. 최소한 그 고객이 본인이더라도 고객은 있어야만 합니다.

훌륭한 팀원들과 빠르게 제품을 출시하더라도, 그 제품을 사용해 줄 유저가 없다면 운영 경험 없는 아쉬운 사이드 프로젝트가 될 수 있기 때문입니다.

마무리

오늘은 간단하게 사이드 프로젝트에서 얻어야 하는 경험, 대부분의 사이드 프로젝트가 실패하는 이유, 그리고 성공할 수 있는 몇 가지 팁을 공유했습니다.

이 글이 여러분의 사이드 프로젝트에 조금이라도 도움이 되었으면 좋겠습니다.

좋아요와 많은 공유를 해주신다면, "내 클론코딩이 의미 없는 이유"라는 주제로 다시 찾아뵙도록 하겠습니다.

또, 사이드 프로젝트를 진행 중이라면 꼭 이 글을 공유해 주세요.

왓에버는 더 나은 커리어를 만들어 나가고 싶은 개발자 취업 준비생 및 이직 준비생을 위해 존재합니다. 여러분이 성공적인 커리어를 쌓을 수 있도록 다양한 서비스를 제공하고 있습니다.

1. 오늘 내용이 흥미로웠다면 왓캐스트 [참가하기]

7월 28일 오후 9시, 개발자 사이드프로젝트를 주제로 한 왓캐스트가 진행될 예정입니다. 이 블로그의 작성자이자 훌륭한 왓에버의 멘토분을 게스트로 모셔서 사이드프로젝트와 커리어 대한 이야기를 나누는 시간을 가질 예정입니다.
왓캐스트를 통해 여러분은 발언권을 얻어 직접 질문을 하거나 의견을 나눌 수 있습니다. 질문을 남겨주시는 분들 중 추첨을 통해 기프트도 전달해 드릴 예정이니 많은 관심 부탁드립니다.
디스코드 이벤트에 참여하여 많은 관심과 참여 부탁드립니다. 함께 성장하고 더 나은 커리어를 만들어가는 기회가 되길 바랍니다.

2. 오늘 내용을 토대로 나의 이력서 [서류 검토 받기]
여러분의 이력서를 실무진의 시각에서 검토하여 탈락 사유를 받아볼 수 있습니다. 지원자의 이력서가 경험하신 문제해결과 성과를 잘 표현하고 있는지 점검하고 개선할 수 있습니다.

3. 진짜 기술 꼬리 질문과 이력서 질문으로 나의 현주소를 알 수 있는 [커리어 상담 받기]
탑티어 멘토와 커리어 상담을 통해 실제 기술 인터뷰에서 나올 수 있는 꼬리 질문과 이력서 관련 질문을 받아보세요. 이를 통해 자신의 현재 기술 수준과 준비 상태를 정확히 파악할 수 있습니다.

4. 빅테크/유니콘 출신 최고의 개발자에게 [과외 받기]
빅테크 기업이나 유니콘 기업 출신의 최고의 개발자로부터 직접 과외를 받을 수 있습니다. 나를 위한 커리큘럼, 깊이 있는 기술학습과 실무역량을 통해서 진짜 문제해결을 할 수 있는 프론트엔드 개발자로 성장해 보세요.

profile
왓에버는 더 나은 커리어를 만들어 나가고 싶은 개발자 취업 준비생 및 이직 준비생을 위해 존재합니다. 여러분이 성공적인 커리어를 쌓을 수 있도록 다양한 서비스를 제공하고 있습니다.

1개의 댓글

comment-user-thumbnail
2024년 7월 14일

시장에 내놓기 위해 사이드 프로젝트를 시작한다는 전제조건으로는 절대 사이드프로젝트가 아닙니다.
사이드프로젝트가 포폴에 추가하기 위해서만 하는것도 아니고요.

실무하다가 개인적으로 써보고 싶고 해보고 싶은걸 만드는 것도 사이드프로젝트 입니다.
이건 뭐 취준생 기준도 아니고, 이상한 기준 가지고 와서 사이드 프로젝트 = 상업성으로만 보고 있네요

답글 달기