Skip to content

Latest commit

 

History

History
83 lines (67 loc) · 6.98 KB

1Month1App.md

File metadata and controls

83 lines (67 loc) · 6.98 KB

2024년 1달 1앱 프로젝트

왜 '1달 1앱'을 하는가?

1. 다양한 기술/문제를 접하면서 2차 전직의 고민을 줄인다.

다양한 기술을 써보고 기획부터 배포까지 전체 개발 프로세스를 넓게 경험을 해보려고 한다.

  • 여태까진 무조건 '깊이'가 더 중요하다고 생각했었다. 그래서 넓이를 쉽사리 넓히고 싶지 않았다. 여태까지는 1차 전직의 시기였다. 그러니 일단 하나에 집중하는 게 맞았다고 생각한다.
  • 하지만 무조건 답이 하나는 아닌 것 같다. 3년을 채우면 2차 전직을 고민해볼 생각이고, 따라서 좀 더 발산의 시기가 필요할 거 같다.
  • iOS만 계속 심화 전공을 하고 싶은 마음이 별로 없다.
  • 또 노마드코더를 보면 꼭 하나의 분야만 집중해야만 성공한 강사가 될 수 있는 것도 아니다.
  • 어차피 iOS 심화는 회사에서 계속 하게 될 것이다. 개인 프로젝트에서는 넓이를 추구해볼만 하다.
  • 무엇보다도, 뭘 할까 이것저것 100번 고민하는 것보다 일단 찍어먹어보는 게 훨씬 감이 온다.
  • 나중에 얕고 넓은 지식도 분명히 도움이 된다.
  • 일단 경험을 해봐야 나만의 차별점을 찾아나갈 힌트가 나올 수 있다. 그 다음에 또 고민을 통해서 수렴해나갈 거다.

어떤 기술/플랫폼이 나랑 잘 맞고 재미있는지 단서를 얻어보자.

  • 미래를 생각해서 최적의 커리어 패스를 설계하는 것보다, 내가 어디서 재미와 보람을 느끼는지에 집중하는 것이 좋다.
  • 당장 어떤 기술이 유리할까보다, 내가 개발의 재미를 잃지 않는 것이 중요하다.

지금은 커뮤니케이션/콘텐츠보다는 기술이 우선이다.

  • 궁극적으로 개발과 커뮤니케이션에 전문성을 가진 크리에이터가 되고 싶다.
  • 하지만 커뮤니케이션과 글쓰기는 이미 어느 정도 자신감이 있고, 어떻게 해야할지도 감은 잡힌다. 개발도 그 정도 수준으로 끌어올렸을 때 둘의 시너지를 만들어낼 수 있을 거 같다.

2. '맘먹고 하면 다 할 수 있다'는 자신감을 만든다.

기본기의 반복 숙달에 집중한다.

  • 고급 기술 아키텍처보다는, 간단한 기능의 모바일 제품을 만들고 배포하는 사이클을 반복 숙달한다.
  • 왜냐하면, 사실 80%의 개발은 이런 기본기, 공통 패턴으로 구성돼있기 때문이다.
  • '내가 앞으로 뭘 해야하지?'라는 생각이 자꾸 드는 이유는, 그때가서 잘할 자신이 없으니 자꾸 준비하려는 마인드도 있다. 사실 개발의 세계는 광대해서 어차피 미리 예측해서 준비할 수도 없다.
  • 뭘 하더라도 겹칠 수 있는 공통적인 부분에 집중하자. '이게 필요할 거 같으니, 이걸 준비해놓았다'보다는 '뭐가 필요하더라도 기본기가 있으니 크게 문제없다' 라는 자신감이 있는 게 더 중요하다.
  • 개발의 세계에는 단순히 해보지 않았기 때문에 어려워보이는 것이 많다. 일단 반복적으로 찍먹을 해보면 대충 이렇게 하는 거구나 자신감이 생길 것이다.

3. 개발에 몰입해서 즐긴다.

  • 내가 개발을 시작한 이유는, 만드는 재미가 있어서였다. 내 손으로 유용한 무언가를 만든다는 재미.
  • 결국 인생의 모든 가치있는 것은 장기전이다. 무엇이 도움이 될지, 무엇이 유불리한지를 따지기 이전에, 오래하는 것이 가장 중요하다.
  • 내가 개발을 즐기고 몰입해야지만, 오래할 수 있고, 전문성을 쌓을 수 있고, 영향력을 행사할 수 있다.
  • 백종원이 인플루언서가 되기 위해서 계획적으로 요리를 배웠다고 생각하면 지금의 백종원이 되지 않았을 것이다.
  • 개발에서 몰입감과 재미를 얼마나 느끼는지 보면서 PM 직군 전환에 대한 단서도 얻을 수 있을 것이다.
  • '유리한 것'보다는 재미있을 만한 것들을 싸그리 다 시도해본다.

4. 만들어보면서 야생 학습을 익힌다.

  • 나는 생각을 너무 많이 하고, 선택이 필요할 때 자꾸 전략을 세우려는 경향이 있다.
  • 1달 1앱이라는 조건을 걸어두고, 일단 어떻게든 기능을 배포하는 것을 목표로 해서 야생에서 배운다.
  • 사실 기술의 차원을 벗어나면, 가장 중요한 것은 '학습 능력'이다. 웹, 크로스플랫폼, 서버.. 어떤 게 유리할까 불확실한 상황이라면, 그냥 빠르게 배울 수 있는 능력을 습득하자.
  • 프로그래밍을 배우는 가장 빠르고 효율적인 방법은 일단 실제 프로젝트를 만들어보는 것이다. 어떤 언어가, 어떤 플랫폼이 좋은지 고민할 시간에, 일단 문제를 던지고 어떻게든 해결해보자.
  • 개발 책/영상을 읽는 것은 최소화한다. 지금은 지식 쇼핑을 줄여야 한다. 그래야 일단 야생에서 해보고 배울 시간이 생긴다
  • 1달 1앱을 진행하면서도 완벽한 계획을 세우거나, 가장 '도움이 되는' 프로젝트에 집착하지 않을 것이다.
  • 스펙을 다운하거나 자동화해서 난이도를 조절하고 데드라인을 반드시 맞춘다.

프로젝트 진행 원칙

  • 2024년에는 개발에만 집중한다.
    • 병행하고 있던 프로젝트들은 최소화한다.
    • 여유 시간은 90% 이상 코딩에 집중한다.
  • 1달에 하나의 앱을 '배포'한다. 1년 동안 총 12개의 앱을 배포한다. 1달 내에 완성하는데 목표를 두고, 정 안되면 끌기보다는 일단 넘어간다.
    • 배포를 꼭 해야하는 이유는, '0부터 1까지 삽질을 해봤다' '그러니 할 수 있다'는 자신감을 받기 위해서다. 명확한 데드라인 관리를 위해서이기도 하다.
  • 1일 1커밋을 유지한다.
    • 자주 꾸준히 하는 습관을 들여야 지속할 수 있다.
  • 개발 과정을 기록하고, 깃헙 Repo의 Readme 에 정리해서 남긴다.
    • 경험을 복기하고 정리해야지만, 얻은 것을 극대화할 수 있다.
  • 기획/디자인 퀄리티는 포기한다.
    • 코딩에 집중하기 위해서 있는 걸 최대한 베끼거나, 완성도를 낮춘다.
    • 유튜브를 성공할 수 있었던 이유도 퀄리티보다 Done에 집중했기 때문이다.

프로젝트 후보

  • AI 인스타그램. iOS/AND/RN/FL로 각각 개발해보기
  • 캐싱 라이브러리 직접 만들어보기
  • 여자친구가 좋아할 2인용 미니게임 앱. (2 player game)
  • 특정 시간 쓰기를 강제하는 프리라이팅 앱
  • 카메라로 스쿼트 갯수를 카운트해주는 앱 만들기
  • 채팅 앱 클론
  • 커머스 앱 클론
  • 내 콘텐츠 아카이브 홈페이지 만들기

프로젝트

1️⃣ 1월 - Ainstagram (iOS)

  • SwiftUI
  • Firebase