ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [세미나] 디프콘 참여 후기
    Study/세미나 2025. 1. 11. 15:00
    반응형

    2025년 1월 11일 사이드 프로젝트 동아리인 디프만(Depromeet)에서 진행하는 디프콘에 참여하였다.
    디프콘은 아래와 같은 주제와 순서로 진행되었다.

    1. 사이드 프로젝트를 만들때 알면 좋은 팁 (이동훈 연사님)

    32개의 사이드 프로젝트를 만들면서 느낀 성공하는 프로젝트를 만드는 방법

    -> 좋은 문제를 찾고 이를 빠르게 잘 해결했기 때문이라고 생각합니다.

     

    1. 좋은 문제

    • 좋은 문제 = 문제를 겪는 사람 x 고통의 크기
    • 코로나맵 = 온 국민 x 바이러스로 인한 불안감

    사이드 프로젝트의 종류는 2가지

    • 비타민 = 고통을 겪는 사람은 많지만 고통의 크기가 작은
    • 진통제 = 고통을 겪는 사람은 적지만 고통의 크기가 큰 (연사님은 진통제 유형을 추천)

    좋은 문제 = 고통을 겪는 사람은 적지만 고통의 크기가 큰

    • 좋은 문제를 찾는 방법
      • 내가 겪고 있는 문제

    2. 해결

    • 기술에 매몰되는 경우가 많다.
    • 기술을 먼저 정의하고 억지로 문제에 끼워 맞추는 (X)
    • 문제 정의가 잘 되어 있다면 해결책은 자연스럽게 따라온다

    이유가 있는 사이드 프로젝트를 만드세요

    • 내가 생각하는 그 아이디어는 누군가 분명히 생각하고 있다

    3. 실행력

    아이디어의 가치는 실행했을 때 가치가 생긴다.

    • 빠른 실행을 가로막는 요소는 완벽주의

    사이드 프로젝트는 최대한 빠른 시간 내에

    • 1개월 혹은 3 ~ 6개월

    빠르게 만들어야하는 2가지 이유

    1. 열정
    2. 출시해야만 비로소 고객의 생각을 알 수 있다

     

    4. 운 그리고 끈기

    • 코로나맵은 22번째 프로젝트였다.
    • 운이 좋았다. 그리고 운을 잡는 끈기

    사이드 프로젝트를 만들때 중요한 부분

    내가 컨트롤할 수 있는 부분

    • 문제정의
    • 해결책
    • 실행력

    내가 컨트롤할 수 없는 부분

    운에 의해 성공이 결정된다면 99% 실패할 것이다.

    • 운을 기다리며 꾸준하게 시도하는 것
    • 끈기는 운이 오기까지 지속적으로 도전하는 능력

    운에 의해 성공이 결정된다면 대부분 실패할 것이다. 운에 의한 성공을 잡는 가장 현실적인 방법은 꾸준한 도전이다. 좋은 실패를 바탕으로 꾸준한 도전을 하자

    • 좋은 실패: 배움이 있는 실패, 다시 일어날 수 있는 실패
    • 작은 시도
    • 작은 실패
    • 작은 성공

    내가 컨트롤할 수 있는 부분을 기본으로 프로젝트를 만들고 대부분 운에 의해 실패할 수 있음을 인지하며 좋은 실패를 통해 꾸준한 도전을 하는 것




    2. 개발자인 내가 훔치고 싶은 습관들 (하조은 연사님)

    습관 1. 작은 일부터 시작하기

    빠르게 팀에 기여하는 동료의 습관

    • 누구나 할 수 있지만 아무도 하지 않은 일부터 시작해요
    • 이직, 팀 이동했을 때 아래 3단계가 큰 도움이 돼요.
      • Step 1. 관찰하기
        • 콘웨이의 법칙(Conway's law): 프로그램의 구조는 조직의 구조를 반영한다.
        • 조직을 살피고 코드를 살펴요. 누구와 대화해야하는지 찾아요.
      • Step 2. 질문하기
        • 지금 틀린 코드라도 그때는 최선. 탓하지말고 진심으로 이해하려고 하세요.
      • Step 3. 기여하기
        • 개선 방법을 제시하고 직접 해결해요. 누구나 할 수 있는 일이어야 해요.
        • (ex: 컨벤션 도입, 린트, 라이브러리 버전 올리기, 테스트 코드 만들기, 환경설정 등)
        • PM 분들이 해보고 싶어하던 것을 하는 방법도 있다.
        • 작게 시작하고 자주 공유해요. 코드에 대한 이해도가 높아져요.
        • Divide and Conquer: 개발은 분할 정복, 작은 일부터 하나씩 시작해요

    습관 2. 제품에 대해 질문하기

    PM, 디자이너에게 인정받는 동료 개발자 -> 만들고 있는 제품에 대해 이해한 개발자

    • 타겟 유저는 누구인가?
    • 어떤 반응을 얻고자 하는가?
    • 반응을 얻기 위해 어떤 기능을 제공하면 좋을까?
    • 각 기능 중에 가장 효과가 좋은건 무엇일까?
    • 질문에 답한 내용을 공유하기
      • 식사 시간을 이용해서 자신의 생각을 나눠보세요
      • 밥 먹을 때도 제품에 대해 고민하는 팀이 좋은 팀.
    • 왜 우리가 다른 사람의 일을 해야하나요?
      • 대화 나누기 좋은 개발자가 되기 위해서

    습관 3. 글쓰는 연습하기

    • 리팩토링... 좋아하세요?
    • 퇴고는 하시나요?
    • 예쁘게 말하는 동료의 습관
      • 메모장에 써보고 올리기
    • 효과적으로 요구사항 전달하기
      • 동료에게 고마움 표시하고 나서 요청
      • 숏폼의 방식을 배울 수 있어요. 긴 문장을 나눠서 짧게 써서 가독성을 높이자
    • 글을 쓸 때 기억하세요.
      • 상대방은 내가 하는 일에 관심이 없고 잘 모른다

    습관 4. 정리하며 일하기

    • 깨끗한 집, 비결이 뭔가요?
      • 물건을 제자리에 두면 돼요
    • 제자리에 두는 습관, 정리하는 습관
    • 코드도 제자리, 문서도 제자리, 시간도 제자리
    • 정리하는 습관을 가진 동료는 지식 체계가 깔끔
      • 정보의 입출력이 빨라서 일을 잘해요
    • 정리 잘하는 법
        1. 제자리가 어디인지 알아야해요
        1. 귀찮음을 감수
    • 코드 정리 잘하는 법
        1. 코드의 제자리를 알기 위해 공부해요
        1. 반복, 훈련, 리뷰하면서 기계적으로 일해요

    습관 5. 코드와 자신을 분리하기

    • 코드를 사랑하지 마세요
    • 코드는 회사의 자산, 자아와 동일한 대상이 아니에요
    • 개발자의 역량
    • 제한된 시간에 수준 높은 코드를 작성하는 것. 코드의 퀄리티와 시간의 균형 찾기
    • 코드를 작성할 때만 일하는 느낌이에요. 코드를 작성하는 것만이 개발자의 일이 아니에요.

    습관6. 완벽이 아닌 완성을 목표로 하기

    • 포기할줄 아는 개발자. 집중할 것을 정한 사람

    습관7. 큰 그림을 그리기

     

    습관 8. 네트워킹으로 기회를 만들기

     

    Q&A

    • 코드 정리 잘하는 방법을 연습하려면 어떻게 하면 좋을까요?
      • 회사 코드로 연습하기
        • 테스트 코드 작성하고 리팩토링 연습하기
      • 블로그
      • 사이드 프로젝트도 좋다.
      • To Do 앱(같은 기능, 같은 UI)를 여러 프레임워크로 만들어보는 것도 좋다 (react, vue, solid 등등 눈감고도 만들 수 있게 되었다)

     

     


    3. 오픈소스 기여부터 관리까지 (김관식 연사님)

    오픈 소스 활동이란?

    • 주석
    • 번역
    • 의견제시
    • 컨트리뷰션의 30% 이상이 소스코드 수정 이외에서 이뤄졌습니다.

    컨트리뷰션의 다양한 유형

    • 코드 작성
    • 버그 제보
    • 문서화
    • 문서 번역
    • 후원
    • 직접 개발

    컨트리뷰션 과정

    @depromeet/deprocon

    • 문서읽기 (README.md LICENSE CONTRIBUTING.md) -> Issue 작성 / Issue 읽기 -> Git Fork / Git Clone -> 컨트리뷰션 과정 수행 -> PR 제출 -> Merged!

    컨트리뷰션 주의사항

    1. 기존 이슈를 하고자할때 알 수 있도록 알려야 해요
    2. 규모가 큰 기여일 경우 먼저 공유해야 해요 (RFC)
    3. 컨트리뷰션이 응답이나 반응이 안좋을 수도 있어요
    4. 추가로 개선하거나 수정하는 요청을 받을 수 있어요

    오픈소스에 몰입하게 된 이유

    1. 활동을 시작하게 된 계기
    2. 지금까지의 컨트리뷰션
    • 자주 방문하는 기술 블로그 버그 제보
    • VitePress. 사용하면서 불편한 점 개선해보기
    • PNPM 배포 버전 버그

    라이브러리 기여 경험이 준 성장

    1. 라이브러리에서만 느낄 수 있는 경험
    2. 라이브러리 딥다이브
    3. 실무 문제를 해결할 수 있는 계기가 된다
    4. 새롭게 알게된 기술과 도구

    라이브러리 관리 경험이 준 인사이트

    1. 문서화의 중요성
    • 라이브러리 사용 동기 (설득)
    • 쉽게 배울 수 있는 예제 (PlayGround)
    1. 브레이크 체인지를 해소하는 방법
    • codemod
    • 브레이킹 체인지 알리기
    1. 테스트 커버리지의 중요성
    • 사용자 관점: 버그, 문제없이 사용
    • 기여자 관점: 코드 수정 후 안정적으로 배포
    • 관리자 관점: 라이브러리 품질과 안정성 보장

    오픈소스 라이브러리 성공 요소

    • 홍보: 홍보가 가장 중요하다
      • 랜딩 페이지 꽃단장하기
      • 개발자들이 많은 커뮤니티에 홍보하기
    • 가치: 다른 분들과 공감되는 문제
      • 내가 필요하고 개발하면서 재밌어야 한다
    • 열정: 꾸준히 지속적으로 업데이트하기

    쉽게 시작하는 노하우

    • 두려울 수 있어요, 목표가 있다면 일단 시작하세요
    • 테스트 코드와 빌드는 PR 제출전에 꼭 해보세요
    • 힌트를 꼭 찾아보세요 (StackOverflow, X)
    • 비슷한 커밋 히스토리를 찾아보세요
    • 내가 사용하고 있고 흥미를 느끼는 라이브러리에 기여하기
    • 도구를 활용하기 (ChatGPT)

    QnA

    • 내가 쓰고 있는 라이브러리 (팬심부터 시작)
    • git hitory 
    반응형

    'Study > 세미나' 카테고리의 다른 글

    [세미나] 2022.05.30 우아한 테크 세미나  (0) 2022.05.30
Designed by Tistory.