네이버 FE 개발자들은 어떻게 무슨 생각을 가지고 일하는지 궁금해서 읽어 보았다.
중요하다고 생각 되거나 눈여겨 보면 좋은 구절, 내가 생각해 보아야 할 문제들을 정리하고자 한다.
1. 왜 FE 개발을 하는가?
- 면접 질문 같이 들리는데, 결국에 왜? 가 중요하다고 생각한다. '이걸 왜 하고 있지?'라는 순간이 올 때 '이 맛에 FE를 하지' 하는 위안받을 수 있는 순간을 기억해두자.
2. 공학적 사고를 기반으로 문제를 정의하고 풀어나가는 능력이 중요하다.
- 머지소트 같은 정렬 알고리즘이 어떤 논리와 흐름으로 일어나는 것인지 원리를 이해하고 잘 설명할 수 있는지가 함께 하고자하는 동료의 기준이 되는 듯하다. (말 나온 김에, 각 정렬 알고리즘이나 다시 봐보자)
3. 결국에는 당연히 자바스크립트
- 프레임워크가 해당 동작을 어떻게 구현하고 어떤 원리로 동작하는지를 알아야 더 잘 다룬다. 문제가 생겼을 때 원인을 찾아내는 근본적인 힘은 자바스크립트이다. (스코프나 클로저, this처럼 시점에 따라 변수의 값이 무엇인지 잘 알고 있어야 한다.)
4. FE가 서비스 성공에 기여할 수 있는 방법
- 서비스 안정화 : 동일한 오류가 반복적으로 발생하지 않게 어떤 부분을 개선하고 재발 방지 대책은 어떻게 세웠는가?
- 재발 방지 대책은 테스트 코드 작성으로 도움이 된다.
- FE는 화면에 보이는 기능만 개발하는 것이 아닌 서비스 성공에 영향을 줄 수 있는 다양한 방법을 가진 직무
- 성능 향상 : 구글의 웹 바이털 지표를 성능 측정에 이용, LCP 중요
5. 웹의 가능성
- 전통적인 웹 영역을 넘는 시도들이 많다. WebRTC, 웹어셈블리 등. 이런 시도들에 대한 조사를 해보자.
6. 전공지식은 필수
- 유지 보수 하기 좋으면서 성능까지 고려한다면 전공지식은 필수다. 브라우저는 제 2의 운영체제, 네트워크 역시 중요
7. T자형 인재
- JS로 풀스택 개발을 하고 있는 현 팀에 속한 내 상황에서 추구할 수 있는 인재형이라고 본다. 두루두루 넓게 알면서 한 영역은 깊게 아는 것. (되게 어려운 거지...), FE,BE를 한 사람이 모두 개발한다는 것은 가장 적절한 곳에서 효율적으로 일을 처리할 수 있는 장점.
8. 가장 재밌었던 프로젝트
- 결국엔 개발이다. 재밌어서 무엇을 어떻게 개발하는지에 대한 자랑스러운 경험이 있으면 좋겠다.