HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
📯
부스트캠프 7기 BE 멤버쉽 설계
/
14주차 - 마지막…!

14주차 - 마지막…!

스프린트
강의날짜
Dec 14, 2022
키워드
🧐
마스터클래스 질의응답 모음
제목
요약
확인
마스터님 부캠 8기도 마스터 하시나요
할 수 있으면, 하고 싶은데, 백엔드 말고 프론트엔드로 하고 싶습니다.
확인
인터랙티브 웹에 관심이 많아서 캔버스/WebGL을 주로 다루는 회사에 가고 싶습니다. 하지만 만약 그런 회사를 찾을 수 없다면 어떻게 저를 세일즈해야 할까요
- WebGL 관련된 포스트를 많이 쓰는 것 - 기업 관계자가 나를 찾아오도록 하는 것 - 알려지는 것
확인
마스터님께서는 이번 발표 / 데모에 어떤 부분이 강조되면 좋을거라고 생각하시나요?
- 기술에 대한 것을 강조하고 싶다면 - 우리는 “어떤” 문제가 있어서, “어떤”도구를 이용하여 해결하고 싶었다. - 이 문제를 해결하기 전 상황 - 해결 후의 상황 (성능, 품질, .., → 수치화)
확인
부스트캠프가 끝나고 대학교로 돌아가는데, 프론트엔드의 어떤 공부를 하면 좋을까요?
나를 되돌아 봤을 때, 언제 성장을 가장 많이했지? → 기업에 들어간지 얼마 되지 않았을 때 → 프로젝트를 파악하면서 → 어떤 기술 스택이 어떻게 쓰였고, 왜 쓰였고, 어떤 문제들을 해결할 수 있는지 알게 되었을 때 → 기업에 입사하기전에는 어떻게해야되지? → 오픈소스 → 리액트는 페이스북에서 만들었다 → 페이스북의 노하우가 그대로 들어있다 → 리액트라는 프레임워크 자체를 공부해보면 (뜯어보면) 내가 얻어갈 수 있는게 엄청나게 많지 않을까? → 처음에는 오픈소스를 보는게 무척 힘들 수 있는데, 내가 그냥 리액트의 개발자다 라고 생각을하고 계속 보다보면, 점차 익숙해지고, 기여할 수 있는 사람이 될 수 있지 않을까? 브라우저라는 것 → Text → 파싱 ( DOM, BOM, CSSOM) → 데이터를 기준으로 렌더링(레이아웃, 페인팅, 컴포지트) 캔버스 → HTML Text를 파싱 → 나만의 DOM, CSSOM → canvas에다 직접 렌더링 해보기 번들러 직접 만들어보기 트랜스파일러 직접 만들어보기 → babel(트랜스파일러) → swc(트랜스파일러) → babel vs swc → 뭐가다를까? → babel은 js로 만들어짐 → swc는 rust로 만들어짐 babel의 js 코드를 한땀 한땀 분석해서 rust로 그대로 작성 → 성능최적화, … ————————————————— 야생학습 = 지속성장 가능한 개발자 책 → 잘 안 봄(3년 동안… 2권?) 인강 → 잘 안 봄 무언가를 직접 만듬 → 재밌으니까 → 정리하고 → 공유하고 → 어라..? 성장이 되네
확인
오픈소스 기여는 뭔가 대단한 사람만 할 수 있는 그런 느낌이 드는 것 같습니다. 이 선입견을 타파할 수 있을까요?
오픈소스라는 이름을 지우고, 회사에 들어가서 어떤 프로젝트를 맡아서 일을 한다고 했을때 오픈소스 (보는 사람만 편함) - 누구나 이용할 수 있어야된다 → 문서화가 잘 되어 있어야 한다 - 의존을 하고 있는 프로젝트가 매우 많기 때문에 → 테스트 코드도 잘 작성되어야 한다 - 리액트 개발자가 아닌 누구라도 이 프로젝트에 기여할 수 있어야 한다 → 코드는 최대한 깔끔하게 작성하는 것을 목표로 기업의 프로젝트 (짜는 사람만 편함) - 문서화? 그게뭐야? - 의존? 그게 뭐야? - 알아서 적응해
확인
영어를 열심히 해서 원격 근무로 해외 실리콘밸리에 취업하는 방향은 어떤가요?
- 할 수 있으면, 하는게 좋다고 생각합니다. - Facebook (meta) - aws - microsoft - google - netflix - 프론트엔드 개발자 채용 공고 - 필수역량: 컴퓨터 공학(CS) - 알고리즘, 문제해결 능력, 자료구조, 운영체제, … - 우대역량: 프론트엔드 - 싱가폴 - 영어를 공부해놨다면 - 코틀린을 직접 만든 사람이, 코틀린 강의를 무료로 해주는 곳
확인
이직을 해야겠다고 마음 먹는 순간이 언제인지, 또 어떤 점을 고려해서 이직을 하시는지 궁금합니다.
다른사람들이 이직을 준비할 때, 혼자 이직을 하지 않은 이유 → 위기를 기회라고 생각했음 → 내가 이 회사에서 개선할 수 있는 부분이 있는가? → 업무프로세스 → 조직 → 서비스 → …. → 개선이 될 수 있나? → 불편하게 너무 많아서, 차근차근 개선을 하고 있는데, 아무리 봐도 더이상 나아질 것 같지 않아 → 이제 나갈 때가 되었구나 사업이 잘 안되고 있는 기업에 채용공고가 많이 올라온다는 것은 위험신호 스스로 커리어 설계 나한테 너무 많은 일이 의존되고 있진 않나? - 이게 분배가 잘 안 되고 있지 않나? (버스팩터) - 그런데 나는 보상을 잘 받고 있나?
확인
협업을 하다 보니 잘못된 의견이어도 절대 의견을 굽히지 않는 분이 있는데, 준일님은 이런 상황에서 그 의견이 잘못된걸 알지만 진전을 위해 그냥 넘어가시는지, 아니면 논의가 길어지고 분위기가 안좋아지더라도 무조건 짚고 넘어가시는지 궁금합니다.
MBTI → T → 논리적으로 설득시키기 → 일하는것 자체가 힘들 수 있음 → F → 기분만 잘 맞춰주면 합의가 잘 됨 개인차 — 서로서로 잘 맞춰가자 — — 정말 위험한 상황이 될 수 있는 문제는 미리미리 좀 논의를 해서 해결을 하면 좋다 — 해결이 안 되더라도, 인지를 하는게 좋다 ( 사이드 이펙트가 있다는 사실을 남겨두기 )
확인
개발자는 늙으면 뭐가 될까요
개발자가 되지 않을까요? 그런 세상이 오면 좋을 것 같아요 - 보통 한국에서는 매니저를 많이 하는 편 내가 정말 기술로 뭔가를 하고 싶다면 → 스타트업에 빠져서, CTO를 한다거나, 팀장을 한다거나 → 50 넘어가고, 60 넘어가면, 개발을 계속 할 수 있을까?
확인
전문성(허들) 있는 웹 개발자의 수준이란 어느정도일까요?
특정 도메인에 특화된 경우 - 스페셜 리스트 → 특정 도메인에 특화된 사람 (DBMS). 교수님 같은.. - 제네럴 리스트 → 두루두루 다 잘 하는 사람 - 전문가 = master, 장인, - 필드에서의 전문가 = 밸런스를 맞추는 사람. 답이 없는 상황에서 최선의 판단을 해서 최선의 결과로 만드는 사람 - 경험도 필요하고 - 기술적인 지식도 많이 필요 하고 - 비지니스도 잘 알아야 하고 - 사람도 잘 이끌줄 알아야 하고 (커뮤니케이션 능력) - … - 개발 전문가? - 적어도 프레임워크 하나를 만들 수 있는 사람 - 만들 수 있는 역량 - 나는 아무도 없는 무인도에서 밥을 차려먹을 수 잇나? - 사냥 - 손질 - 요리 - … - 나는 개발자야 - 컴퓨터 - 전기/기계 - 추상화 - 프로그래밍 언어 - 컴파일러 - 브라우저 - 서버 - …
확인
예전에 결국 개발자도 전문직이 아니라, 이후에 무엇을 할까(그때 말씀하시기로는 교육쪽 말씀하셨던것 같아요) 고민하고, 도전하는 중이라고 하셨던게 기억납니다. 개발자로만 커리어를 이어나가기에는 개발자의 수명이 짧다고 생각하셔서 그러신건가요? 결국 전문직이 아니라는 것을 어떤 의미로 말씀하셨던건가요?
- “지속성장 가능한 개발자”를 양성하는 것이 부스트캠프의 목표 - 근데 왜, 지속 성장 가능한 개발자가 되어야 하는거지? - 기업에서 좋은 역할? 도구?를 하기 위해서? - 나는 회사 없이 살아갈 수 있는 사람인가? - 나는 회사에 의존적인 사람인가? - 내가 더 잘 살기 위해서는, 회사를 위한 무언가가 아니라, 나를 위한 무언가를 많이 도전하는게 좋을 것 같다
확인
입사 후, 더 좋은 회사에 합격하게 되어 한달만에 퇴사해도 괜찮을까요?
- 퇴사해도 문제 없을 것 같아요 - 최대한 빠르게 퇴사를 하는게 서로에게 좋다 - 채용을 한 사람이 좀 책임질 문제이지, 구직자에게는 흠될게 딱히 없다
확인
지금은 취업보다는 여러 분야를 경험하고 싶은데, 최소한 몇살 까지는 신입으로 들어가야 하는 걸까요
- 제 주변에서 본건 32? 33? - 사람마다 선입견이 있을 수 있다 - 빠르면 좋긴 한데, 그럼에도 불구하고 나이와 상관없이 나의 가치를 봐줄 수 있는 사람이 꼭 있다
확인
(너무나도 늦은 개발관련 질문) Server Sent Event를 이용해서 데이터 프로세싱 과정에 대한 로딩 프로그레스 바를 구현하고 있습니다. SSE는 get만 지원해서 이 api의 형태는 get인데, 실제 해당 api의 기능은 DB에 데이터를 추가하는 것이라서, 악의적인 사용자가 정말 주소창에 api 주소를 쳐서 이상한 요청을 해서 DB를 오염시킬 수 있을지 고민입니다. (+restful과 어긋나기도 하고요) 과연 데이터 추가 시 GET 메소드+SSE 방식으로 로딩을 구현하는 방식이 적절할까요?
client → server Server Sent Event ajax → POST get으로 데이터를 만드는 것 자체는 좋은 방법은 아닌 것 같습니다. 그럼에도 불구하고 그렇게 해야 한다면(앞서말했듯 SSE가 GET만 지원해서 POST는 안 되더라고요), 안전장치를 마련하는게 좋지않을까? 인증과정? 검증과정? (일단은 로그인된 사용자만 정상적으로 값을 받아올 수 있도록 방어로직이 구성되어 있긴 합니다) 클라이언트에서 보내는 모든 것은 위험하다
확인
현업에서는 언제 리팩토링을 해야 하겠다고 결정하나요?
- 리팩토링을 해도, 사이드이펙트가 없는 경우 - 아직 서비스가 나가지 않은 경우 (사이드 이펙트가 있어도 무방할 때) - 이 코드를 방치하면 무조건 안 될 것 같을 때 - 리팩토링을 할 때 필수인건 테스트코드 - 테스트코드 없이 리팩토링을 한 다면, 사이드 이펙트 덩어리 - 테스트코드가 있다면, 그냥 진행해도 무방하다고 생각합니다.
확인
SSE를 nestjs에서 event emitter를 이용해 개발중인데 1분이 지나면 NestJS의 event emitter의 event가 사라지는 issue가 있는데, js가 특정 시간이 지나면 event를 지우는 건지 아니면 client에서 close를 요청해서 지우는건지 궁금해 질문드립니다
client에서 끊는게 아닐까요? timeout이 있는지 살펴보면 좋을 것 같아요
확인
면접에서 물어보는 깊은 질문들은 일반적으로 학습할 때 놓치기 쉬운 부분이 많은거 같은데 이런 부분들을 학습하는 방법이 있을까요
- 추론을 해보기 - 면접때 물어봐서 답변하는 것 = 외우는것 - 돌발상황에 대한걸 가정한다면, 나는 문제접근을 어떻게 하고 있는가
확인

부스트캠프 이후

구직 준비

  • 프로그래머스
  • 원티드
  • 링크드인
  • …

대기업 이력서

  • 같은 이메일 사용 X
    • 똑같은 이메일로 접수한 이력이 다 남는다.
    • 네이버와 라인은 서로 이력서를 공유한다.
    • 여러 이메일로 돌려쓰면서 지원
  • 이력서에서 탈락 → 재지원 가능
  • 면접에서 탈락 → 6개월 ~ 1년 사이에 지원시 무조건 탈락
    • 면접에 대한 기록이 꽤 오래 보관되는걸로 알고 있음

질문 잘 하기

  • 내가 해결하고 싶은 문제를 정리하기
  • 문제를 잘 이해하기 위한 컨텍스트 정리
  • 정리 후 전달

기술 면접 준비

  • 면접 과정을 잘 살펴보기
    • 나를 평가하겠다. → X
      • 피해야할 팀
    • 내가 가진 역량을 다 끌어내보겠다 → O
      • 합류할 수 있다면 합류하기
 
  • 채용에 굉장히 많은 에너지
    • 이력서가 수백통
    • 채용 과제도 만들어야 하고
    • 채용 과제를 평가해야 하고
    • 이 사람이 어떤 강점을 가지고 있는지 분석
    • 면접을 통과시킨다 치면, 왜 통과하는지 이유도 작성을 해야 하고
    • …

좋은 멘토 찾기

  • 내가 하는 일과 너무 동떨어져 있으면 안 됨
    • 스타트업 CTO → 나와 함께 일하지 않을 확률이 높음 (겹치지 않을 확률)
    • 대기업 리더 → 위와 동일
  • 면접 때 면접관에 대한 인상이 무척 좋을 경우 → 면접관이 어떤 일을 하는지 물어보기 → 내가 입사한다 했을 때 겹치는 일의 범위를 고민해보기
  • 특히 최악은 면접관이 별로인데, 겹치는 일이 많다 → 무조건 피하는게..
 

학습 플랫폼

“강의형 스터디”를 추천합니다.
  • 넥스트스탭 - https://edu.nextstep.camp/
    • 우아한 테크코스팀이 메인으로 운영하는 플랫폼
    • 강의 듣기 → 우수한 성적으로 수료하기 → 리뷰어 하기
  • 프로그래머스 스쿨
    • 요창님이 운영하시는 스터디(?) → https://school.programmers.co.kr/learn/courses/15320/15320-스터디7기-실무와-가까워지는-nodejs-백엔드-개발feattypescript
    • 스프링 → https://school.programmers.co.kr/learn/courses/14720/14720-스터디14기-단순-crud는-그만-웹-백엔드-시스템-구현spring-boot
  • 코드숨
    • https://www.codesoom.com/
    • 가격대가 좀 있음
 

지속 성장 가능한

  • 지속 성장 가능한 개발자 → 지속 성장 가능한 “사람”
    • 지금은 내가 회사에 의존적일 수 있지만,
    • 언젠가는 회사(일)가 나에게 의존적이 될 수 있도록
 
  • 좋은 프레임워크 → 의존성 역전
  • 뛰어난 인간 → 의존성 역전(?)
 
  • 회사가 나를 의존할 수 있게 하자
 

부스트 캠프 전/후의 나를 비교해보기

  • 전: 회사에 많이 의존적인 사람
  • 후: 어떻게 해야 회사에 덜 의존적인 사람이 될 수 있을까. 라는 고민을 하기 시작함
  • 스터디, 강의나, 이것저것 학습을 할 때
    • 나는 이 (강의.스터디,…)을 하고 나서, (어떤) 상태가 되어 있을 꺼야
 
나는 부스트 캠프를 수료한 뒤에 적어도 1인분은 할 수 있는 개발자가 될꺼야.
  • 적어도 나 혼자서 서비스를 만들고, 운영할 수 있는 개발자가 되어있을꺼야
  • 그러기 위해선 어떤 일들을 해야 좋을까?
 
 

부스트캠프의 목표

  • 지속 성장 가능한 개발자
  • 함께 성장하는 개발자
 
우리는 얼마나 목표를 달성했을까?
나는 지속성장 가능한 개발자일까?
나는 함께 성장하고 있나?
 

책 소개

  • 가상 면접 사례로 배우는 대규모 시스템 설계 기초
 
 
  • 책에서 얻어가고 싶은 것들을 미리 정리해보고
  • 책을 읽은 다음에 그것들을 얻어갔는지 판단하기
 
  • 책을 한 5번 정도 읽어보는 것
 
  • 책으로 스터디 해보기
    • 각 장에 대해 쭉 읽고, 전체적으로 이야기 해보기