인프랩에서 개최한 첫 IT 컨퍼런스 참여한 날 :)
역시 열정적인 개발자들이 많았다..!
첫번째 세션: 실리콘벨리 개발문화 및 서바이벌 전략 세션

가장 관심있던 실리콘벨리 개발문화 및 서바이벌 전략 세션
발표자는 다수의 스타텁 경험이 있는 apple 재직자 셨다!
실리콘 밸리의 개발 문화는
- 혁신중심
- 새로운 아이디어와 기술을 실험하고 실패를 학습의 기회로 받아들이는 문화
- 빠른 프로토타입 개발과 신속한 반복을 통해 제품을 빠르게 출시하고 시장에서 피드백를 받아 개선해나가는 방식
- 협업&커뮤니티
- 오픈 소스 프로젝트에 작극적으로 참여와 기여 권장
- 다양한 기술 밋업, 해커톤, 컨퍼런스를 통한 서로의 아이디어 및 경험 교환
- 최신기술
- 최신기술과 트렌드 빠르게 받아들이고 제품에 적용
- 고도의 자동화, 다양한 업무 도구 적극적 활용
- 스타트업 정신
- 도전을 장려하는 문화
- 혁신을 위해 리스크 감수하는 적극적인 문화
- 다양성과 포용
- 다양한 인종, 성별, 문화적 배경을 포용하여 다양한 시각과 아이디어를 제공하여 더 혁신적인 솔루션 개발
- 꾸준한 자기개발
- 끊임없는 학습과 자기개발을 장려
- 스터디를 통해 최신 기술을 배우고 자신의 기슬을 지속적으로 향상하려 노력
- 경험 많은 개발자들과의 멘토링이 일반적

실리콘밸리 개발환경에서 가장 인상적이었던 것은
위에 그림처럼 사무실 밖 탁트인 곳에서 산책하며 서로의 이슈사항을 공유한다는 점!
생각이 리프레시되며 많은 이슈해결과 창의적인 생각이 떠오를 것만 같다
생존전략
- 자기 PR
- Linkedin, github 온라인 프로필 최신으로 관리, 프로젝트/성과 꾸준히 업데이트
- 기술블로그나 sns 활동하며 자신의 지식과 경험을 공유해, 업계 내 인지도 높이기 —> 셀프 브랜딩
- 기술 컨퍼런스에 참여하거나 발표자 도전
- 새로은 기슬 트렌드 습득
- 끊임없는 새로운 기술과 트렌드에 대한 최신 기술을 배우고 이를 적용할 수 있는 능력이 중요
- 학습tip - 가르치면서 배워라!
- 오픈소스 프로젝트 참여
- Hacker News, TechCrunch, Wird, Bytebtedgo와 같은 테크 뉴스 사이트 정기구독
- 네트워킹
- 기술 Meetup & 해커톤 참여
- 멘토링 관계 구축
- 커뮤니티 활동
- 협업 능력
- 팀워크와 커뮤니케이션 중요
- Agile 방법론을 제대로 이해하고 실제 프로젝트에 직접 적용할수 있는 역량 필수
- 빠른 피드백과 유연한 대응을 가능하게 하므로 프로젝트 성공 확률을 크게 높임 —> 빠르게 만들어서 피드백 받고 고효율로 성공 확률을 높이기
- 창의성과 문제 해결 능력
Keep Learning & Proactive Communcation
두번째 세션: 사이드 프로젝트로 커리어 레벨업!

너무 뒤에 앉아서 화면이 잘 안보였지만.. 사이드 프로젝트 고민이 있었는데 단숨에 해결이 됐던 세션!
- 그 회사에서만 배울 수 있는 경험을 쌓아 경쟁력 갖추기 (부트캠프에서는 배울수 없는 경쟁력 쌓기)
- 사이드 프로젝트 주제: 내가 흥미/관심있는 분야를 만들어보기!
- 혹은 내가 소비자가 될 수 있는 아이템
- 요즘 트렌드 참고
- 포폴 : 노션 → Gitbook
- 사이드 프로젝트 크기 : 2~3일 이내로 끝낼수 있는 사이즈 추천
- 몰입이 중요
- 만약 사이즈가 그보다 크다면, 일단 2~3일 내에 MVP(최소기능제품)을 만들고 계속 업뎃해나가기!
세번째 세션: 목적 조직 구조 안에서 개발팀이 일하는 법

사실 목적조직구조라는 단어를 처음 들어봤다..! 네이버 웍스에서 인턴했을 때는 기능조직이었는데 지금 회사에서는 나름(?) 목적 조직인 것 같다..(사실 애매하다..)
조직
- 목적구조: 특정목적(프로덕트, 프로젝트, TF)를 달성하기 위해 관련된 포지션이 한 팀에 소속되어있는 것
- 조직구조: 한팀에 동일한 직군들만 모여있는 것(개발팀, 디자인팀 등)

- 백엔드 api 개발중에 fe가 기다릴때 병목현상 어떻게 해결했나?
- BE: 코드젠 스웨거 기반으로 자동화해서 코드만들어주는것. 기획안 보고 컨퍼런스에 api draft 그다음 확정된 api 스웨거로
- FE: 디자이너가 미리 2-3단계 스프린트 진행해서 먼저 디자인 확인 가능. msw 목킹 라이브러리 사용해서 BE에게 전달 받은 api draft로 개발가능
- 개발팀<->현업 소통
- 슬랙으로 문서화줄임(기존 이력 확인가능)
- 기획할때 개발팀 현업팀 모두 참여
- 기술적 어려운 단어가 나왔을때 바로짚어서(질문) 설명
- 회의전에 미리 문서 준비
- 회의 내용 슬랙에 모두 남겨두기
- 여러 조직 업무 수행하고 현업하도록 만드는 가장 큰 요인?
- 주2회 모여서 다같이 팀의 목표 공유 (목표얼라인)
- 파트끼리 모여서 개발이슈 공유
- 모든 팀원들이 각자의 역할뿐만아니라 다른사람의 일에도 관심을 가지며 선을 긋지x
- 개인목표보단 팀목표에 집중
- 공통모듈- 담당 누가하나?
- 담당자정해지지않고 필요로하는 사람이 나서서 진행 역량강화
- 바쁜조직과 안바쁜 간격 어떻게 좁히나?
- 안바쁜 셀에 바쁜셀 업무 할당
- 도메인 분석 어려움 —>문서화, 회의를 통해 습득
- 회사의 목표룰 달성해야되기때문
4번째 세션: 인프런 프론트엔드 마이그레이션 여정

가장 프론트엔드 기술적으로 많은 지식을 습득했던 세션!
레거시 개편
1) 기존 시스템
- fe1 be1 devops1
- 가장 빠르고 안정성 높여서 개발할수있는 환경이 필요 —> Nodejs & Express사용
- 하나의 페이지를 만들기위해 4개의 파일이 필요
2) 다음 step
- 초기페이지 결정과정
- 유지보수가 힘들고 서비스내 영향도 높은 페이지
- SEO 필요없는 페이지: Vite
- SEO 필요한 페이지 : Next.js
- 배포 이후 언제든지 롤백이 가능한 형태
- 기존에 사용하고 있는 학습 페이지 url로 접속 가능하려면?— > 기능 플래그 사용!
기능플래그
- 소프트웨어의 특정 기능을 동적으로 제어할 수 있게해주는 도구
- 특정 환경에서만, 특정 사용자만 기능 사용
- 단점: on/off 코드 2개 관리, 배포 후 기능 플래그 정리
3) 기존 레거시 레이아웃+ reat component공존
- 문제 : Style 침범 —>ShadowDOM 사용
ShadowDOM
- 웹 컴포넌트의 캡슐화를 도와주는 장치
- 동일한 페이지에 특정 dom을 캡슐화 하여 마크업, 스타일 간섭 일어나지않도록 해줌
- 레거시 컴포넌트와 신규 리액트 간의 상태 및 이벤트 공유—> 헤더 푸터 사이드메뉴 레거시 코드
4) 정리
- 기능플래그를 통한 안정적 배포 방식
- 레거시+신규 패키지를 함께 사용을 통해 작업 소유시간 단축
- 공용 라이브러리 관리를 통해 유지보수성 향상
- Module Federation을 통해 팀내 병목 현상 감소
- Cloudfront Behavior+Revers Proxy Server를 통해 기존 운영되는 레거시 서비스의 부하 감소
마지막 네트워킹!

가장 기대했던 네트워킹 mbti가 I라서 걱정도 했지만, 인프랩 스태프 분들이 도와주셔서 바로 FE그룹에 들어가서 네트워킹을 시작했다!
처음에 각자 자기소개를 하고 나는 거기서 나와 상황이 너무나도 비슷한 친구를 한명 만나게 되었다.
둘다 운영업무를 주로 하고있고 레거시 코드 환경에서 서비스기업 FE 직무 이직을 원하고있었다
나와 커리어에 대한 고민이 너무 똑같아서 계속 소통하면 좋을 것 같았다 ㅎㅎ
그래서 같이 커리어 고민을 공유할수있는 그룹을 들어갔는데 알고보니 또다른 FE 그룹이었다ㅎㅎ 거기서도 한참 이야기하고나니까 클로징이 시작되었다.. 생각보다 말을 많이 안한거같은데 아쉬웠었다 ㅠ.ㅠ
그래도 시니어 배민 개발자분도 만나고 학생분들이랑 비전공자 분 등 다양한 사람들을 만나게 되어 그들의 열정을 느끼며 나도 개발과 이직에 대한 열정이 또 다시 충전되는 하루였다.
나중에 이런 컨퍼런스 기회가 있다면 또 가고싶다 ㅎㅎ 그때는 세션 QnA나 네트워킹에 좀 더 적극적으로 참여해야겠다!
디자인 시스템 도입기는 한번 더 영상으로 보기!
열정이 느껴지네요 ㅎㅎ