시간: 오후 1시 ~ 오후 2시
참여자: 나유리 멘토님, 김순요, 유지영, 최별, 한상우, 허지연
📷 10월 30일 커피챗


🪄 1주차 과제 회고
- formatter 설정 권장(Prettier, lint)
- 상우님이 주석을 잘 다신 듯
- 주석을 달 때, 메소드 위에
/* **/
로 메소드에 대한 설명을 주석으로 달면 좋다.
❓질문
가독성 좋은 코드를 구성할 수 있는 꿀팁이 있을까요?
일단 처음부터 고민해서 짜기 보다는 일단 구현한 뒤에 정리를 하면 가독성을 챙길 수 있을 것 같습니다. 물론 가장 중요한 것은 formatter와 lint 설정을 하는 것이구요. 그외 변수 선언, tab 간격 등은 본인이 작성하면서 신경을 쓰시면 될 것 같습니다.
주니어 개발자를 뽑을 때 중요하게 생각하시는 부분은 무엇인가요?
사내 프론트 개발자가 많지 않다보니, 한 명을 뽑을 때 실력을 가장 많이 보는 편입니다. 실력 다음에는 attitude가 중요합니다. 궁금한 것 있을 때 항상 질문하거나 코드 리뷰를 받을 때 내색하지 않고 좋은 코드를 위해 고민하는 등의 태도가 주니어 개발자들에게 필요한 태도라고 봅니다. 회사의 좋은 점은 회사에서 잘하시는 분들에게서 피드백을 받을 수 있다는 점이기 때문에 이러한 태도가 성장에 있어서 중요한 요소입니다.
추가적으로 공부를 짧게 했어도 굉장히 깊게 공부하시는 분들을 보면 굉장히 공부를 즐기는 스타일이라는 인상을 받아서 좋게 봤던 것 같습니다. 이외에도 꼼꼼한 모습, 면접에서 차분한 모습 등이 긍정적인 요인이었습니다.
취업 전에 공부하거나 경험해야 할 것은 무엇이 있을까요?
요즘은 취업을 위해 이런 것을 해야 하는 점이 오히려 힘든 것 같아요. 개발자가 되기 위한 다양한 루트가 있기 때문에 정답이랄 것이 없지만, 일단 본인이 잘할 수 있는 부분에 집중해서 들어갈 수 있는 회사를 탐색해보는 것도 좋을 것 같습니다. 본인이 알고리즘 문제를 잘 푼다면 코딩 테스트 전형이 있는 회사를 타겟으로 정하고, 혹은 과제 전형에 자신이 있으면 채용 전형에 과제 전형을 중시하는 회사를 목표로 하는 게 좋다고 생각해요.
프론트 개발자가 나아갈 수 있는 커리어 로드맵은 어떤 게 있을까요?
아직 연차가 많지 않아서 커리어 로드맵을 말씀드리기가 어렵네요 ☺️
최근에는 프론트엔드도 인프라를 생각해야하는 시기가 온 것 같습니다. 이전과 다르게 서버, 도커, 라우터 등의 인프라적인 부분이 프론트에서도 중요하게 생각하고 있습니다. 그래서 프론트엔드 개발자라고 해도 향후 인프라를 생각하는 방향으로 나아갈 수도 있을 것 같습니다.
클로저라는 언어에 대해 어떻게 생각하시나요?
클로저에 대해 아무것도 몰라서 답변드리기가 어렵습니다. 🤭
항상 Rust에 대해 공부하려고 하다 실패하는데, 기회가 된다면 저희 Rust 스터디 해보는 것도 좋을 것 같네요.
최근 면접 질문 중에 "무한스크롤이 길어지면 브라우저 랜더링의 한계가 있을텐데 어떻게 해결할것인가?" 라는 질문을 받았습니다. 저는 페이지네이션을 생각했는데, 만약 클라이언트가 무한스크롤을 계속 원하는 경우에는 어떻게 최적화를 해야 할지 모르겠습니다.
Virtual list라는 기술이 있습니다. 간단히 설명하자면 화면에 보여지는 부분에 대한 요소들만 렌더링하고, 나머지 윗 부분은 자르는 방식인데 아마 본 질문도 이러한 기술을 의도한 질문 같습니다. 화면에 렌더링할 요소가 많지 않으면 그냥 무한 스크롤링해도 되겠지만, 요소가 너무 많으면 virtual list 기술을 사용하는 게 좋아 보입니다. 유명한 라이브러리 세 개 있는데, 세 개 모두 이슈가 있는 편이라 기능 목적에 맞게 라이브러리를 비교해서 사용하는 게 좋습니다.
+) 사용할 라이브러리를 찾을 때, npm trands 등의 사이트를 통해서 비교해보는 것도 좋습니다.
백엔드에 대해 어느 정도 공부하는 것이 좋을까요?
공부해서 나쁠 것은 없지만, 일단 프론트를 먼저 잘하고 나서 백엔드를 알아야 한다고 생각합니다. 저 같은 경우, test용 API가 필요하면 msw로 처리했습니다. 그리고 API 서버가 필요하면 json-server를 사용했습니다.
주니어 개발자가 경험하면 좋은 기능은 무엇이 있을까요?
todo 리스트, 게시판 만들기가 가장 기본을 챙길 수 있는 기능들이라고 봅니다. 그리고 프론트의 경우에는 단순 구현에 그치지 말고, 실제로 사용을 했을 때를 고려하는 것도 좋습니다. 예를 들면 history.push, go back의 차이를 인지하고 뒤로가기를 했을 때 보이는 화면에 대한 처리를 하는 것도 중요하겠죠. 글을 작성한 뒤에 뒤로 가기를 눌렀을 때 작성 화면이 나오면 안되니까요.
또한 다양한 에러 처리 방식을 경험하고 공부하면서 어떤 방식이 효율적으로 에러를 처리할 수 있을지 생각해보는 게 중요하다고 생각합니다.
무한 스크롤링 같은 경우도 라이브러리를 사용하면 기능 구현하기 편하니까 한 번 사용해보면 좋을 것 같습니다. 라이브러리를 썼을 때, 왜 이러한 라이브러리를 사용했고 라이브러리를 사용했을 때 어떤 점이 좋았는지, 다른 옵션에 비해 좋았던 점 등을 면접에서 설명하면 좋은 인상을 줄 수 있겠네요.
Webpack 공부할 때 참고할만한 것이 있을까요?
React CLI로 프로젝트 기본 config 설정이 webpack 공부할 때 가장 좋았던 것 같습니다.