최소 자체서비스 운영중인 스타트업으로 가고싶은 토리들을 위한 글이야
나도 아직 신입이지만... 새로운 신입 뽑는다길래 궁금해서 기웃거렸더니 채용절차에 다 포함시키더라고.
그래서 알게된 정보들을 토리들과 공유하고싶어서 글을 남겨
물런 더 좋은 구직자를 찾기 위해서 이기도 해 😂
1. 팀플 할거면 contribute 그래프를 다 볼 수 있다는걸 감안하고 커밋 많이 하기
프로젝트마다 각 컨트리뷰터가 얼마나 프로젝트에 기여했는지 그래프를 볼 수 있어.
남들 30%했는데 본인은 10%도 안했다면 면접관입장에선, 허위 구직자로 여길 수 밖에 없어.
그렇다고 별 시덥지않은 코멘트 삭제하는 걸로 커밋양 늘리라는 건 아니야.
하나하나 다 챙겨보진 않지만, 예를들어 10개중 랜덤으로 3개 pr을 자세히 보거든.
그럴때마다 비즈니스 로직이 아니라면.. 별로 채용하고 싶지 않을거야.
2. TIL, blog 주소를 이력서에 작성할거면, 면접전에 작성한 내용을 다 외우거나 정확히 알고 가기
TIL 매일매일 아주 성실하게 잘 작성해서 면접에 불렀더니
TIL에 작성한 주제로 질문 던졌더니, 제대로 받아먹지 못한다?
이러면 또 허위로 느껴져서 흥미가 급감해.
심지어 학원, 부트캠프 출신은 TIL 주제가 다 똑같더라 😥
내용도 복붙인 경우가 있어.
안볼거같지..? 다 읽어봐... 특히 js 관련 주제들 다 읽어.
예를 들자면 "var, let, const의 차이점을 스코프와 호이스팅과 연관시켜서 설명"하는 내용을 TIL에 작성한다면
인터넷에 다른 사람들이 작성한 내용만으로는 저 차이점을 제대로 구분 할 수 없어.
다른사람들도 대부분 남의 블로그 글 여러개 읽고 그것보다 더 축약해서 작성할 거니까.
'모던 자바스크립트 딥다이브'
900페이지가 넘어가는 이책에서는 여러 챕터에 걸쳐서 위의 개념을 설명해.
그걸 어떻게 축약하고 축약해놓은 다른 사람들의 글만 읽고 완벽히 개념을 이해하겠어.
여유있으면 '코어자바스크립트' 책도 추천해. 아주.. 이거읽고 가면 무조건 뽑음. 기본서는 아니므로 주의.
기본개념은 무조건 책을 읽어야만 해.
좋은 TIL 내용은 본인이 이때까지 프로젝트 만들면서 겪었던 버그를 해결한 내용이야.
예를 들면 난 리액트 사용하면서 key의 중요성을 그렇게 체감하지 못했어.
그냥 map 메소드의 두번째 인자인 index로만 키값을 주다가 엄청 이상한 버그가 생기는거야.
이걸로 하루를 끙끙 앓다가 겨우겨우 해결했어.
근데 이걸 해결하고보니 단지 key에 index를 줘서인 게 아니고,
리액트가 렌더링 되는 기본개념인 버츄어돔과 key와 연관된 핵심개념인걸 깨달았어.
key가 중요한 개념인 이유를 실제로 경험하게 된거지!!
(사실은 index를 줘서 겪은 버그는 아니지만 암튼 그 비슷한거니까 이렇게 설명함)
그렇게 key가 중요하다고 문서에서도 강의에서도 떠들었는데 고작 이걸로 적기엔 너무 부끄럽고 민망하잖아.
아주 기본적인 내용이잖아.
근데 이런거 적으면 좋아함.
핵심개념(리액트 리렌더링과 버츄어돔)까지 풀어서 설명하면 아주 만점이야.
3. 1번과 이어지는 내용인데.. 깃 관리 잘하기 + 개인프로젝트하기
깃 커밋이 초록풀이길래 들어갔더니 TIL 밖에 없다.
개인 프로젝트 없다.
코딩 안좋아하는 것 같아...
스타트업에서는 성장가능성 하나 보고 뽑는게 큰데,
성장가능성있는 사람이 어떤 사람이겠어.
코딩 지금 잘하는 것보다 재밋어하는 사람이야 😭😭
개인 프로젝트가 암만 저퀄이어도, 별로여도 그런거 하나하나 뜯어보기 마련이야
왜냐면 팀플과 달리 이건 본인스스로 한거잖아.
팀프로젝트보다 더 자세히 뜯어보게 되더라.
면접관으로써 10명넘는 지원자들의 프로젝트를 보게되니
팀프로젝트 암만 때깔이 좋아도.. 별로 중요하게 생각하지 않게 됨 😥 다 허위매물같어.
그리고 보기에 엄청 간단한 프로젝트를 10명이 붙어서 했다? 게다가 프론트가 3명이서 했다?
솔직히 말해서... 안 봐..(컨트리뷰트 그래프가 독보적이라면 다르겠지만)
면접관입장에서도 회사일하기 바쁜데,
결과가 빤해보이는 일에 시간들여서 프로젝트 뜯어 보게되지가 않아..😭😭😭😭😭😭
처음 몇번은 그래도 보고 결정하자싶어서 대면면접까지 진행했는데, 허위라는걸 겪고나니...
개인프로젝트 보는 이유. es6문법이 손에 익어있는가 이런거 보기도 함
destructuring이나 rest parameter, 오브젝트에서 key,value가 같으면 그중하나만 적어도된다거나 이런거
사실 이건 별거아니긴 하는데 (시간이 해결해주는거니까)
6개월간 공부했는데 코드 작성하는게 손에 안익어있으면 솔직히... 성장가능성있어 보이진 않음
그리고 학원졸업, 부트캠프 졸업시즌에 같은 팀원들이 이력서 넣기도 하거든
그러면 그냥 둘중에서 개인플젝 있는 사람을 더 관심있게 볼 수 밖에 없음
4. 기본개념은 반드시 학습하기
async/await만 쓰지마... promise 꼭 써봐.. 아니 쓰라고도 말안해.
핵심개념이나 메소드 뭐뭐가 있는지는 알고있어야해.
안쓸거같지. 근데 복잡한 비즈니스 로직 구현하게 되면 promise.all 같은거 쓰게 된다...
그리고 mdn 문서 보는 방식은 좀 체득하고 왔으면 좋겠어.
사실 우리회사에서 기술면접 볼 때 mdn문서 봐도 되는데,
눈앞에 promise.all 있는데 그거 안보더라구. 눈에 안익숙해서 안보이는건지 긴장해서 안보이는건지...
배열 메소드 자주쓰는거 익숙해지기
- forEach, reduce, map, filter, sort
- 이건 진짜 기본인데 : pop, push, shift, unshift, slice, splice, join
- 적어도 배열문제면 배열 메소드를 mdn에서 찾아보고 문서읽고 적용하는게..어렵나....ㅠㅠㅠㅠ
학습해야할 기본개념
- var, let, const차이점 (스코프, 호이스팅, 변수선언-초기화-값의할당 이런 개념들도 포함)
- promise 기본 개념과 메소드, 체이닝메소드들.
- 브라우저의 렌더링 과정
- 이벤트 (버블링과 캡처링) e.preventDefault()만 알고있지말자 😭
- 리액트 기본개념 (기본 hook 능숙하게 쓸수있는지, 리렌더링되는 조건, dependency array 존재이유, 최적화방법 등등)
- 솔직히 setTimeout / setInterval 은 알고있었으면 🙄...(디바운스와 스로틀까지 알면 좋음)
- 리액트 쓸거면 공식문서의 시작하기까지는 읽고와줘..
- redux, redux saga/thunk 도 마찬가지. 많은거 안바람.
시작하기 (get started 혹은 introduction 혹은 basic concept)까지 읽으면 나오는 개념 혹은 메소드 물어봤는데 아는사람 없다?두둥.
다른 신입면접질문리스트 볼 필요도 없다.
위에 작성한 기본개념들만 정확히 알고가면 무조건 합격이야
신입한테 this, closure, prototype 개념 물어보지도 않고 물어봐도 제대로 된 대답 기대하지도 않음
아
진짜 중요하거!!!!!!!!!💥💥💥💥💥💥
팀플이든 개인프로젝트든 회원가입해야지 프로젝트의 메인 서비스를 볼 수 있는 거 절대 하지마.
회원가입 귀찮고 개인정보 털려서 안함.
회원가입로직 만들고싶으면 로그인페이지에 더미 아이디/비번 넣어줘😭😭😭😭😭😭
+
TIL에 드 모르간의 법칙 이런거 쓰면 좋음
ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ사실 좋은지 아닌진 모르겠는데
논리적인 생각하는거같아서 좋게보지않을까?
그리고 남들이 안하는거 하면 관심생기긴 해.
만약 누군가가 드모르간법칙 작성했다면 진짜 좋게볼거같긴함
왜냐면 누군가의 코딩에서 조금 그런점을 아쉽게 본 경험있기도하고
실제로 회사에서 엄청엄청엄청 자주 많이 씀!!!
+
자주 물어보진 않지만, 본인이 경험했던 버그와 해결과정을 기억해두길 바람.
물어봤는데 하나도 없다고 대답한다면 기대가 급감함. 진짜 절대로 그럴수가 없거든.
비약하자면 본인이 생각한 코드를 작성한게 아니라 튜토리얼영상만 따라서 작성했다고 넘겨짚을 수 있음.
위에 말한 정말 사소한 key와 관련된 문제, 논리문제를 잘못생각해서 드모르간법칙을 제대로 읽고 적용했다 이런거도 괜찮음