2024년 03월 30일, 송도 컨벤시아에서 진행한 HelloWorld 24에 다녀왔습니다.
한국에는 14개의 Google Developer Groups가 운영되고 있으며, 이번 행사는 GDG Incheon&Songdo 주최로 진행되었습니다.
HelloWorld 24에서 제가 참여했던 세션의 주요 내용과 인상깊었던 인사이트를 공유해보고자 합니다.
혼자서도 성장은 가능하지만 커뮤니티에서 함께 성장해나가는 과정은 더 강력한 시너지를 만들어 낼 수 있다.
누군가를 가르치고, 강제로 공부할 수 밖에 없는 환경에 속하고, 질문하며 내가 모르는것을 알아가는 과정은 함께 성장하는 과정에서 얻을 수 있는 이점들이다.
이런 과정에서 새롭게 알게된점이나 꾸준한 실습을 통해 공부한 내용들을 블로그로 정리하면 나만의 콘텐츠가 된다.
커뮤니티 운영자로써 참여자들과 소통하고 관계를 형성하면서 다양한 정보들을 접할 수 있으며 커리어 발전에도 긍정적 영향을 얻을 수 있다.
커뮤니티 운영자로 활동하며 다양한 경험을 통해 개인의 역량을 향상시킬 수 있다.
커뮤니티를 운영하며 다양한 상황에 대한 대비와 문제 해결을 위해 노력하는 과정에서 개인의 역량을 향상시킬 수 있다.
멘토나 사수의 역할의 부재 → 커뮤니티에서 해소
커뮤니티의 도움 + 주경야독으로 학력 컴플렉스 해결
해외취업/이민생활 → LA에서 커뮤니티를 만들어 큰 힘이 됨
성욱님은 커뮤니티를 통해 위와 같은 도움을 받을 수 있었다고 한다.
회사에 멘토나 사수가 없는 경우, 학력에 대한 고민 또는 커리어 고민으로 도움이 필요한 경우에도 커뮤니티에서 도움을 받거나 줄 수 있다.
1. 요구사항 분석단계
기획자, 고객등의 요구사항 수정
1) 정말 필요한 기능인가?
2) 기존 기능과의 영향도 확인
3) 기술적으로 개발 가능한 부분인지 확인
2. 요구사항 명세
1) 기능설계 & 화면 설계
2) 설계시 고려할 점
3. 구현(개발)
4. 테스트
5. 배포
6. 유지보수 단계
탐색방법
NPM Trends 로 내가 사용할 라이브러리 찾아보기
NPM Trends의 차트 시그널 판단하기
의존성 살펴보기
→ 라이브러리에서 근본적으로 작동하는 코드가 어떻게 작성되었는가? 를 확인해봐야 한다.
겁먹지 말고 익숙해지기
언어를 사용할수록 익숙해지듯 코드를 읽고 또 읽다보면 익숙해진다.
(minified 된 코드도 보다 보면 읽힌다!)
2-1. 문서부터 보기
시간이 없는 경우 목차와 예제코드만이라도 확인
시간이 있는 경우 문서 틈틈히 읽어보기
*Can I Use → News 탭 : 브라우저와 관련된 모든 피쳐 업데이트 확인 가능
2-2. 의존성
의존성만 확인해도 프로젝트의 기능을 알 수 있다.
2-3. 기능단위로 코드 찾기
모든 코드를 다 보려면 오래 걸리니, 원하는 부분만 찾아서 기능을 살펴보자
조금씩 읽다보면 어느순간 패키지 전체가 머릿속에 그려진다.
문자열로 찾고, 의존성으로 찾고, 내가 알고 있는 모든 정보로 찾으면 된다.
코드에서 반복되는 표현 살펴보기
Adapter, Proxy, Decorator, Observer 등의 반복되는 이름 → 디자인 패턴
다른 언어의 동일한 패키지 살펴보기
탐색하기 → 분석하기 → 비교하기 → 클론코딩
루틴을 반복하기적은 리소스로 프로젝트 만들기
기획 → 제작 → 출시 및 이후 피드백
기획이 어렵다고 느끼는 이유는 처음부터 모든 기능을 완벽하게 구현하려 하기 때문
⇒ 하나의 종이에 주요 기능만 적어보기
일이 커보여서 시작하지 못하는 경우
⇒ 기능을 잘개 쪼개서 우선순위 정하기
Product의 확신과 확산성 고려하기
제일 중요하거나, 자신있거나 라고 생각하는 것들을 정하고 가중치를 부여한다.
주관적 기준에서 책정될 수 있으니 회의를 통해 도출하는 것이 좋다.
기획의 구체화/정리 필요
→ 무얼 만드는지, 왜 만드는지 알고 만들기
기획을 기반으로 디자인, 개발 진행
최소비용의 서비스 도출시에는 명료하고 빠르게 구축하는것이 좋다.
디자인
개발
구현
배포
테스트
아키텍처
학습용이라면 다양한 기술, 테스트, 아키텍처 사용하여 구현해보기
어떤것을 만들때는 이유를 가져야 한다.
나 스스로 구현 방법 별 이점을 파악 한 후, 구현시 특정 방법을 선택한 이유를 설명할 수 있어야 한다.
개발시 효율성을 고려하기
ex) 변수명 짓기에 어려움을 느낀다.
→ 익숙치 않거나 너무 신중하기 때문에
→ 개인의 역량 부족이거나 욕심이다.
→ 일단 아무이름으로 짓고 나중에 변경하자
1) 제품 알리기
나의 제품을 사용할 고객이 모인 곳에서 제품의 가치를 알리기
2) 피드백 받기
3) 수정하기
HelloWorld 24를 참여하고 나서 실무에서 부딪히던 기술적 고민과 혼자 해결하려 애쓰던 문제들에 대해 해결책을 찾을 수 있었다.
연사자분들의 경험과 지식을 통해 다양한 접근 방식을 배울 수 있었고 실무에 적용 가능한 방법에 대해 스스로 조금 더 명확한 기준을 가질 수 있게 된 것 같다.
또한 커뮤니티의 중요성과 가치에 대해 깨달았고 커뮤니티에 적극적으로 참여해야겠다고 느꼈다.
이전까지는 커뮤니티에 참여하려면 완벽하게 준비된 기버(Giver)가 되어야하고 생각해서 선뜻 나서지 못했었는데 작은 활동부터라도 시작해 나아가는 것이 중요하다는 것을 깨달았다.
앞으로는 망설임을 내려놓고, 적극적으로 커뮤니티를 참여하여 성장하고 도움을 줄 수 있는 사람이 되기위해 도전해야겠다.