HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
[준일팀] 10주차 커피챗

[준일팀] 10주차 커피챗

날짜
Aug 3, 2023
태그
데브코스 4기
데브코스 1차팀

마지막으로(?) 하고 싶은 이야기

  • 마인드셋? 정신교육?
  • 취준 → 어떤 마음가짐이 필요할까? + 어떤 인재가 되어야할까?
 

주니어 / 신입 개발자

  • 아는게 많지 않은 상태인게 맞다.
  • “신입의 허들이 높은 것 같다” → 정말 높은가? → 그런건 아닌 것 같다
    • 지식을 너무 잘 접할 수 있기 때문이 아닌가
    • 개발과 관련된 지식이 굉장히 많다.
    • 왠지… 이것도 해야될 것 같고, 저것도 해야될 것 같고, …
    • Vue, React, Typescript, css, scss, Test, ……
    • 이것들을 다 알아야 할까? → 굳이? 몰라도 된다.
  • 줌인터넷 다닐 때
    • 신입 공채
    • 팀 TO 1명
    • 1명을 뽑을라고 했는데, 지원자가 300명.. 정도…?
    • 팀에서 사용하는 기술 스택
      • Java + Spring Boot
      • MySQL
      • JPA
      • Hibernate
      • QueryDSL
      • Vue
      • javascript
      • node
      • typescript
      • …
    • 최종 2명
      • A → Java X, JPA X, Spring X, javascript, node (인턴을 할 때, 인턴을 하던 회사에 어떤 해결해야되는 문제가 있어서 그 때 익혀서 배운 것)
      • B → Java + Spring + JPA + Vue + ….
        • 본인(멘토)또한 B 스타일로 공부했었는데, 이 때 잘못되었다는 것을 알았던…
    • 결국에 A를 뽑았다.
      • 기본기가 튼튼하다.
      • 기술 = 문제해결을 위한 도구
      • 필요하면 그 때 익혀서 배우면 되지. 뭘 굳이 지금 다 전부 공부할 필요가 있을까?
      • 자기가 아는 것들에 대해서는 굉장히 잘 답변 하는 스타일
        • 자기가 해온 것들에 대해서는 모르는게 거의 없는
  • 자기만의 가치관 / 철학 / 가능성을 보여줄 수 있는 수단도 필요하다.
    • 스스로를 보면서 든 생각.
    • 팀 내에서는 React + Next 를 이용하여 개발 중
    • 본인(멘토)은 입사하기 전까지 실무에서 React를 써본적이 없었음.
    • Vue에 대해서 꽤 상세하게 알고 있었고, 내부적으로 어떻게 돌아가는지도 알고 있었고, 거의 Vue를 거의 직접 만들다싶이 해보기도 했고.
    • 단순하게 React를 잘 쓰는 사람보다는 괜찮을 것 같다? 라는 판단을 하지 않았을까…
  • 기술을 왜 공부하는가
    • 문제해결을 잘 하기 위해서
    • 문제해결을 꼭 기술로 해야하는가? 그건 아니다.
    • 기술외적인 방식으로 문제해결이 가능하다.
    • 기술적인 문제를 잘 해결하기 위해선 다양한 지식을 알면 당연히 좋다.
    • 기술을 모르는 상태여도, 어떤 기술을 사용하면 될지 접근할줄 안다면 괜찮다.
    • CS는 꼭 필요할 수 있다 → 다양한 기술의 원천이 되기 때문.
      • 자료구조
      • 알고리즘 (에디터 / 빌더 같은거 만들 때에는 어느정도 쓰일 수 있음)
      • 네트워크
      • 브라우저
        • 백엔드 개발자의 런타임 = 운영체제
        • 프론트엔드 개발자의 런타임 = 브라우저
        • 브라우저가 굉장히 많다.
          • IE ( 크로미움 엣지… )
          • 파이어폭스
          • 사파리 → 새로운 IE 같은놈
          • 구글 크롬
          • 크로미움….
          • ….
        • 운영체제마다 브라우저가 다를 수 있다.
          • 모바일환경 ( 삼성 브라우저 )
          • 아이폰의 사파리
          • 아이폰의 크롬
          • 안드로이드의 크롬
          • …
 
  • 취업을 하고 나서는 어떻게 해야 좋을까?
    • “성과” → 개발을 잘 한다고 성과를 만들어낼 수 있을까? → 아닌 것 같은데?
    • 개발을 잘 해서, 이걸 잘 이용을 해서 회사에 어떤식으로든 득이 되게 하면 성과가 된다.
    • CI/CD (자동화)
    • 문화 (코드리뷰, 스크럼, …)
    • 채용
    • 인재 추천
      • 팀 단위로 이직
      • 줄줄이 소세지처럼 딸려오는 경우
        • A를 데려왔더니, A가 B를 데려오고, B가 C를 데려오고, …
 

결론

  • “얼만큼” 많이 공부했는가 보다, “어떻게” 공부 했는가가 중요하다.
    • 양이 중요한게 아니라, 질이 중요하다.
    • 하나를 하더라도 깊게 하면 좋다 ⇒ 끝까지 파고들어라! 라기보단, 적어도 내가 만들어놓은 것들에 대해서는 잘 설명할줄 알아야 한다.
    • 왜 이렇게 했는지, 어떻게 동작하는지, 어떻게 개선할 수 있는지, 어디까지 고려했는지 등등
  • “나의 가능성”을 보여줄 수 있는 활동을 하자.
    • 기록 챌린지 → 나의 가치관과 철학을 보여주자.
    • 나는 기술을 공부할 때 이런 관점(하나를 하더라도 제대로 하자)으로 공부하고 있어!
  • “피드백”에 대해서 곰곰이 생각해보자.
    • 나에게 어떤 피드백들이 도움이 되었는지.
    • 내가 준 피드백이 상대방에게 어떤 도움이 되었는지.
    • 나에게 불필요한 피드백은 뭔지 → 상대방에게 잘 알려주기.
    • “도움이 되는 도움을 주자” “도움이 안 되는 도움은 굳이 받지 말자”
    • 내가 한 이야기를 토대로 상대방에게 어떤 변화가 생겼는지 잘 관찰해보자.
      • 문제 해결의 수단 (소프트스킬)
      • 우리 팀이 어떻게 해야 효율적으로 일할 수 있을까?
      • 우리 팀의 동기(일을 잘 하고 싶은 마음 이라던가)를 어떻게 해야 만들 수 있을까?
      • 회고를 어떻게 해야 잘할 수 있을까?
      • ….
      • 팀 전체의 역량을 끌어올린다거나
      • 꼭 팀이 아니더라도, 부사수 혹은 동료의 역량을 끌어올린다거나
      • 나의 역량을 끌어올린다거나
        • 결과적으로 이 모든게 팀 혹은 회사에 도움이 되는 일
        • 결과적으로 성과가 되는 일
      • 지금은 바운더리가 “나” 까지일 수 있지만, 프로그래머스 데브코스가 끝났을 때 “우리” 까지 넓힐 수 있으면 좋겠다.
    • 기술은 혼자서 공부할 수 있지만, 기술 외적인건 혼자서 공부할 수 없다.
 
-끝-
 
이 침묵…

QnA

혜성님의 질문 - 기본기가 좋다는게 좋다는게 구체적으로 어떤 의미일까?

Video preview
  • 코딩을 잘 해야된다.
  • 구현 하는 것에 익숙하다.
  • “설계/클린코드 등에 너무 집중하면 구현 자체를 못하는 경우도 생긴다”
    • 구현은 할줄 알아야 한다.
    • 구현한 결과를 토대로 개선하는건 나중에 생각해도 된다.
  • 코드 자체를 잘 이해하고 있어야 한다.
    • ES5, ES6+
    • 클라이언트 / 서버 등에 대한 개념을 명확하게 구분하고 있는지
      • javascript → 브라우저(웹) API를 사용 (DOM, BOM, CSSOM, Web API)
      • node → File System, I/O, … (OS 특화 작업)
  • 브라우저 자체에 대해 얼만큼 이해하고 있는가
    • 브라우저가 어떻게 렌더링을 하고 있는지
    • 이걸 이해 해야 렌더링 최적화 라는걸 할 수 있는데
      • React, Vue 등에서도 렌더링 최적화를 할 때 결국 브라우저를 기준으로 하게 된다.
      • 반대로, Server Component 같은걸 이용할 때에는 서버의 특성을 이해해야 한다.
      • 서버와 브라우저가 서로 렌더링 최적화를 하는 방법이 다를 수 있는데, 그냥 단순하게 프레임워크 쓴다고 렌더링 최적화가 된다고 생각하면 큰 오산
  • CSS 들이 어떻게 쓰이는지를 아는 것보다, CSS 라는 시스템이 어떻게 만들어졌는지를 이해하는 것
    • Video preview
  • 블록킹 / 논블록킹 / 동기 / 비동기
    • Video preview
  • Canvas를 이용해서 렌더링 시스템을 만들 수 있는가?
    • text parser
    • DOM 구조로 구조화
    • 데이터를 기반으로 좌표 계산
    • Style Parser 같은걸 만들어서 CSSOM으로 구조화
    • DOM + CSSOM 이용해서 canvas에 직접 렌더링
  • 프레임워크 → 상위의 개념 (기본기 이상의 개념)
  • 언어 → 기본기
  • 런타임 ( OS, 브라우저 ) → 기본기
  • 브라우저 vs OS → OS 훨씬 기본
  • “문제해결” 자체에 대한 고민 → 기본기
  • 기본기를 토대로 “구현” “실현” 하는 것
 

세진님 질문 → Vue, React, Typescript 등 이것저것 다 알아야할 것 같지만… 결국에는 문제를 해결하는게 제일 중요한 것 같은데 강의는 다 배우고 있는데 어떤 마인드로 보면 좋을까?

  • 어떤 상황에 이 기술을 쓰는게 효과적일까?
  • 무조건 도입하면 좋은가?
    • 현재 상황에 맞는 기술 스택이 있는데, 이걸 내가 판단할 수 있는가?
    • 내가 공부하는 것들이 나에게 주어진 문제를 해결할 때 적합한가 → 이걸 판단하기 위해선 결국 기술에 대해 어느정도는 알고 있어야 한다.
  • 상태관리 라이브러리
    • redux
    • recoil
    • jotai
    • zustand
    • mobx
    • react-query
    • swr
    • …
    • 뭘 기준으로 선택하고 판단해야 좋을까?
    • 같이 써도 좋은게 있지 않을까?
    • 그럼 이 라이브러리들은 어떤 문제를 해결하기 위해서 나왔을까?
  • typescript는 어떤 문제를 해결하기위해 나왔을까?
  • react는 어떤 문제를 해결하기 위해 나왔을까?
  • 그렇다면 react랑 똑같은 고민을 토대로 나온 라이브러리들은 없을까?
 
Video preview
  • react를 쓰는 모습이 굉장히 부자연스럽다.
  • 그렇다면 어떤 방법이 있을까?
  • 그 방법이 효과적인가?
 
결국 판단을 하기 위해선, 기술에 대해 어느정도는 잘 알고 있어야 한다.
설득할 때 필요하다. 내가 기술에대해서 잘 아는게. 잘 이해하는게. 경험한게.
 

CS 지식을 어떻게 공부했는가?

  • 학교 수업에서 배운 것들 위주로 복습
  • 복습할 수 있는 책을 사서 공부
    • 밑바닥부터 만드는 컴퓨팅 시스템 - 예스24
      “컴퓨터를 이해하는 가장 좋은 방법은 밑바닥부터 직접 만들어 보는 것이다!”MIT의 컴퓨터 과학 교재로 사용되고 있는 이 책은 단순하지만 강력한 컴퓨터 시스템을 밑바닥부터 직접 구축해 봄으로써 응용 컴퓨터과학에 대한 통합되고 뚜렷한 그림을 그릴 수 있게 해준다...
      밑바닥부터 만드는 컴퓨팅 시스템 - 예스24
      https://www.yes24.com/Product/Goods/71129079
      밑바닥부터 만드는 컴퓨팅 시스템 - 예스24
      한 권으로 읽는 컴퓨터 구조와 프로그래밍 - 예스24
      대부분의 개발자들은 자신이 만든 프로그램을 움직이는 하부 기술에 대해 잘 알지 못한다. 코드가 잘 도는데 구태여 근원적인 하부 기술에 신경을 써야 할까? 그렇다. 하부 기술을 밑바닥부터 이해하면, 프로그램이 잘 작동하게 만들 수 있고 찾기 어려운 버그에 당황하...
      한 권으로 읽는 컴퓨터 구조와 프로그래밍 - 예스24
      https://www.yes24.com/Product/Goods/98997716
      한 권으로 읽는 컴퓨터 구조와 프로그래밍 - 예스24
  • 의도적으로 CS 공부해야지! 라고 했던적은 사실 많이 없었음…
  • 네트워크 정도만 따로 책을 사서 본다거나
    • 그림으로 배우는 HTTP & Network - 예스24
      이 책은 웹의 근간을 이루는 HTTP를 중심으로 하여 웹, 인터넷 데이터 통신 분야의 기초가 되는 내용들을 다루고 있다. 관련 분야를 배우고자 하는 독자들을 위해 만화 캐릭터와 일러스트를 활용하여 난이도가 있는 내용들도 부담 없이 쉽게 보고 익힐 수 있도록 구...
      그림으로 배우는 HTTP & Network - 예스24
      https://www.yes24.com/Product/Goods/15894097
      그림으로 배우는 HTTP & Network - 예스24
      HTTP 완벽 가이드 - 예스24
      웹 세상을 떠받치고 있는 HTTP에 대한 모든 것모든 성공적인 웹 트랜잭션 뒤에는, 웹 클라이언트와 서버가 문서와 정보를 교환하는 언어인 HTTP가 있다. HTTP는, 회사 인트라넷에 접근하거나 절판된 책을 찾거나 인구 정보를 조사할 때, 우리가 늘 사용하는 ...
      HTTP 완벽 가이드 - 예스24
      https://www.yes24.com/Product/Goods/15381085
      HTTP 완벽 가이드 - 예스24
      웹 성능 최적화 기법 - 예스24
      이론부터 실습까지, 현장에 적용할 수 있는 웹 성능 최적화의 모든 것이 책은 국내에서 오랫동안 웹 성능을 연구하고 최적화를 적용해 온 전문가 3인의 경험을 체계적으로 집약한 책이다. 웹 성능, 웹 성능에 영향을 주는 요소, 웹 성능을 평가하는 방법과 최적화 트...
      웹 성능 최적화 기법 - 예스24
      https://www.yes24.com/Product/Goods/96262886
      웹 성능 최적화 기법 - 예스24
 
  • 내가 만든 서비스를 배포했을 때
    • 이거랑 연관된 CS지식은 뭐가 있을까?
      • 클라우드에 배포했다면
      • CPU를 내가 만든(혹은 배포한) 어플리케이션이 어떻게 쓰고 있는지
      • 메모리의 사용량을 판단한다거나
      • 메모리 누수가 언제 발생하는지
      • 메모리 누수가 왜 발생하는지
      • CPU와 메모리
      • 프로세스와 스레드
      • 휘발성 데이터와 비 휘발성 데이터
      • …
      • 브라우저에서 프로세스를 어떻게 사용하는지
        • 브라우저는 어떻게 동작하는가?
          이 글은 이스라엘 개발자 탈리 가르시엘(Tali Garsiel)이 html5rocks.com에 게시한
          브라우저는 어떻게 동작하는가?
          https://d2.naver.com/helloworld/59361
          브라우저는 어떻게 동작하는가?
        • 크롬은 대체 왜 메모리를 이렇게 미친듯이 많이쓸까?
    • 브라우저와 연관된 CS는 뭐가 있을까?
    • 프론트엔드 개발자 ⇒ 네트워크는 무조건 필수
      • http
    • 브라우저(클라이언트)가 서버와 어떻게 통신을 하고 있는지 (최소한의 지식. 네트워크)
 

아무말 대잔치 (하고 싶은 이야기)

  • 슬프네요… ㅠㅠ 🥲🥲
  • 더울 때 → 넥쿨러
    • 아이스크림
    • 팥빙수
    • 수박
    • 냉면
    • 콩국수
    • …
  • 여름에 포도?
    • ‘여름 제철과일’ 포도의 건강효과는
      포도는 대표적인 여름 제철과일로, 특히 8월에 제일 맛있다. 포도는 새콤달콤한 맛뿐 아니라 건강에도 좋다. 포도에는 비타민, 칼륨, 칼슘 등 다양한 영양소가 들어 있어서다.국립농업과학원 식품정보에 따르면, 포도에는 ‘플라보노이드’ 성분이 있다. 이 성분은 혈관을 막는 혈전 생성을 억제해 동맥경화, 심장병, 뇌졸중 예방에 도움이 된다. 혈전은 혈액이 응고된 덩어리 형태로 혈관을 막는다. 포도의 혈전 생성 억제 효과는 국립원예특작과학원에서도 보증한다. 포도에 들어있는 ‘레스베라트롤’ 성분도 혈전 생성 억제 효과가 있다. 레스베라트롤은
      ‘여름 제철과일’ 포도의 건강효과는
      https://www.sisajournal.com/news/articleView.html?idxno=223225
      ‘여름 제철과일’ 포도의 건강효과는