빠르게 성장하는 주니어의 특징
- 성장할 수 밖에 없는 환경을 만든다
경험치를 쌓는 구체적인 방법
- 연습은 양치질과 같다
- 양치질은 열심히 한다고 해도 내가 잘 하고 있는지 확인하기 어려움(피드백 어려움)
- 성장을 위해선, 좋은 피드백 시스템이 중요함!
어떤 피드백들이 있을까?
- 테스트 코드 → 프론트도 테스트 코드 작성 필요(가장 중요한 기능 중심 테스트)
- 코드리뷰 → 코드 짠 3주 뒤, Self Code Review!
- 짝 프로그래밍 → 강추하는 방법. 15~20분 timer를 두고, driver(코딩) <-> navigator(훈수) 역할을 나눔. 시간 뒤 역할 바꿈
- 커뮤니티 참여 → 알고리즘 내가 풀었어도, 다른 사람의 답안도 보기. 다른 방법으로 풀 수 있는 방법 고민
- 화면 녹화 등
그래서 오늘 바로 할 수 있는 것 → 회고. 회고가 없으면 에자일이 아니다
* 좋은 회고의 5가지 조건 → 5F
1. Fact
- 무슨 일이 있었는지, 뭘 했는지, 뭘 배웠는지
2. Feeling
- 무엇을 느꼈는지
3. Finding
- 어떤 인사이트가 있었는지
4. Future action
- 액션 플랜이 있는지
5. Feedback
- 진행한 액션 플랜에 본인의 피드백
Q & A
Q. 신입 등에 나이제한 있나요?
A. 이름 들어본 IT 서비스 회사에서는 신입, 중고신입 나이제한 없다. 당신의 빛나는 능력이면 충분
Q. 웹 개발할 때 알고리즘 잘 짜는 게 많이 중요한가요?
A. 주니어 때는 알고리즘 설계할 일 잘 없음. 물론 알고리즘도 중요하지만, 프로젝트 경험이 신입에게는 조금 더 중요할 수 있다
Q. 저는 많은 프로젝트를 진행하는 방식으로 공부했는데, 생각하시는 좋은 프로젝트 경험은 어떤 건지 궁금합니다!
A. 당신이 어필하고 싶은 당신만의 장점이 잘 드러나는 프로젝트 위주로 진행하는 것이 좋다
Q. vue, react, 둘 중에 무엇을 먼저 공부해야할까?
A. 둘 다 잘 못해도 된다. JS 자체를 잘아는게 더욱 중요하다
Q. 스터디나 프로젝트에서 최대한 많은것을 얻을 수 있는 방법이 뭘까요? 걸러야할 스터디, 프로젝트 유형도 있을까요?
A. 독불장군이 있는 스터디. 지시적이고, 고집 센 사람이 있는 곳은 비추.
Q. 효율적인 코드리뷰 방법은?
A. 가장 작은 단위의 기준을 잡아야 한다. e.g., 변수명에 대해 살펴보자
Q. 면접관 입장에서, 1년차 개발자라면 최소 이것만큼은 있어야한다는게 있다면?
A. 본인이 focusing한 문제해결 과정. 문제해결 능력이 좋은 사람은 습득능력이 좋음. 주니어 개발자에게는 엄청난 개발역량을 바라지 않음. 주니어개발자에게 바라는 것 → 성장 가능성 → 문제해결 과정에서의 인사이트가 중요
Q. 면접관 입장에서 가장 이상적인 신입의 프로젝트는?
A. 본인이 중요하다고 생각한 것을 해결한 프로젝트임. 신입 git repository 들어가서 프로젝트 보면, 무엇을 고민하는지 드러남.
Q. 풀스택을 지향하고 싶다. 하지만 옳바른 선택인지 모르겠다.
A. 본인이 한 선택이 최고의 선택이 되도록 만들어라. 프론트, 백 어차피 둘 다 볼 일이 생긴다. 경계를 굳이 나눌 필요는 없을 것 같다
Q.피드백을 받기 좋은 코드리뷰 질문 방식은?
A. 단순히 피드백 해달라 하지말고, 자신이 중요하게 생각한 것을 중점으로 봐달라와 같이 구체적인 기준을 남기면 좋다
Q. CS 공부해보고자 하는 비전공자임. 추천할만한 CS 공부 방법은? 가장 중요한 CS 지식 하나만 뽑자면?
A. 하버드 CS50. 네트워크가 제일 중요. 프론트엔드가 겪을만한 네트워크 지식을 구글링 해보라
Q. 일정에 쫓겨 개발을 하다보니, 코드의 깊이가 얕아 고민이다. 이런 상황에서 공부의 방향 추천 부탁드린다.
A. 더 중요한 코드에 모듈 하나, 함수 하나라도 클린 코드를 작성하도록 해봐라. 좋은 코드로 구현하기 위한 범위를 작게 쪼개서 개선해 보는 경험
Q. 산압아 webpack, babel 설정까지 할 수 있어야하나?
A. 요즘은 하는 사람이 많다
Q. 결국 풀스택으로 가야한다는데, 백엔드까지는 자신이 없다.
A. 프론트엔드로 잘 적응하는 성장 싸이클을 만들면, 다른 분야(변화)에도 쉽게 적응할 수 있을 것이다.
Q. 프론트엔드 개발자로 취업 준비 중인데 하루를 어떻게 사용하면 좋을지 고민이에요. 프로그래머스 코딩 테스트 연습 2문제씩 풀고 있고, 개발 관련 강의도 듣고 있는데 잘하고 있는지 확신이 안들어요..
A. 주변 피드백을 줄만한 사람을 찾아봐라. 안보인다면, 피드백을 주고받을 동료를 보내거나 나에게 DM을 보내라. 행동력 있게 피드백을 줄만한 사람을 찾아봐라
Q. 면접 마지막에 궁금한 점 없냐고 물어볼 때, 뭘 물어보는게 좋을까?
A. 면접 보는 회사를 평가한다 생각하고 물어보면 좋다. 회사에 관심을 가져달라
Q. 좋은 코드의 특징은?
A. 일관성이 제일 중요하다 생각한다. 네이밍(일관성, 규칙성, 가독성)도 중요하다. 일관성이 없으면 기존 코드 수정하는게 매우 어렵다
A. 클론코딩 내용 중 인사이트만. 클론코딩 repo만 제출하면 어떤걸 고민하고, 어떻게 문제해결하는지 알 수 없다
Q. vanilla js를 깊게 공부하기 위한 방법 추천
A. 언어는 도구. 도구는 문제해결을 위해 쓰는 것이 목표. 문제를 설정하고, js만으로 구현해봐라. 가장 인상깊었던 프로젝트 = markup generating editor.
Q. 코드 작성할 때 주석을 넣는 연습을 해야하나?
A. JSDoc 사용 방법 참고
Q. 프론트 현업에서는 어떤 디자인 패턴이 추천되는지 궁금하다
A. 선언형 프로그래밍에 관련된 패턴이 많으 쓰임
Q. 좋은 알고리즘 공부 방법은?
A. 한 문제를 풀 수 있는 다양한 방법에 대해 고민해봐라. 알고리즘 문제 선택할 때, 아얘 모르겠는 것은 우선 미뤄두고 긴가민가한 문제부터 먼저 꾸준히 풀어봐라
Q. 독불장군 스타일의 팀원 handle 방법은?
A. 그 사람과 당신의 감정 issue로 만들지 말고, 팀 차원의 issue로 만들어 토의해라
Q. 초보자들끼리 팀을 이뤄 코드리뷰를 하려하는데, 수준이 비슷해 도움이 될지 모르겠다
A. 각자 전문 분야를 나눠 리뷰를 하면 좋다.
Q. 팀원이 없어 나의 수준을 파악하기 어렵다
A. 다른 회사 면접보면 알 수 있다. 아님 다른 개발자와 토이프로젝트를 진행해봐라
Q. 업무 시간할당 어떻게 하심?
A. 우선 업무 리스트업. 그 중에서 업무 하이라이트(가장 어려운 문제)는 오전에 끝내는 것을 목표로 함. 업무 하이라이트를 해결하기 위한 전략을 세우고 해결함. 업무의 우선순위를 나누고, 짧은 시간 안에 해결하는 연습을 추천함. 가장 중요한 것을 가장 먼저하는 것은 맞는 것 같다
Q. 모든 컴포넌트에 다 테스트 코드를 작성하나?
A. 중요도, 변화가 많은 곳, 자동화할 수 있는 내용이 많은 컴포넌트 먼저 테스트 코드 작성하는 것이 좋음. 어떤 컴포넌트를 테스트 코드화할 것인지 기준을 세우는 것이 중요
Q. 면접관으로서, 토이프로젝트 평가 시 주요하게 보는 것은?
A. 프로젝트의 아이디어보다는, 어떻게, 어떤 과정을 거치면서 만들었는지가 중요. 돋식화를 하고 다이어그램을 많이 그릴 수록 좋다. 무엇을 만드냐보다, 어떻게 만드는가가 더 중요하다.
Q. JS 책 추천?
A. 자바스크립트를 말하다 / 모던 자바스크립트 / 코어 자바스크립트 / 유돈노JS 시리즈 추천. 다만 책은 index 용으로 참고 추천
Q. 가장 추천하는 취업 준비 방법?
A. 기업이 어떤 문제를 해결하고, 어떤 서비스를 하고 싶어하는지 파악하는 것이 중요. 링크드인 통해서 그 회사 다니는 분들께 직접 물어봐라. 예의바르게 콜드메일 보내봐라. 그리고 그것에 맞게 준비하고 어필하라
Q. 좋은 소스코드 뜯어보는게 좋다는데 프론트 쪽에서 추천하는 repo는?
A. Velog / redux thunk / lodash 추천!
Q. 프로그래밍 사고력 키우는 방법?
A. 알고리즘 / 자료구조 기반이 되어야 한다
참고 사이트
블랙커피 디스코드 → 온라인 스터디 모임! 가입 추천! https://discord.com/invite/GVHkrbKE
넥스트스텝 https://edu.nextstep.camp
메이커준 [ 유튜브 | 블로그 | 인스타그램 | 링크드인 | 페이스북 ] → 강의자님 소개 사이트. 블로그 글은 꼭 읽어보자 https://www.makerjun.com