Quiz - 신 기술 적용, 동향 파악, 주니어/미들웨어/시니어 개발자 역량
1. 개발을 하면서 새로운 기술이나 도구에 도전해본 경험이 있으신가요?
- 네, 이번 프로젝트를 진행하면서 이전 프로젝트에서 사용했던 styled-components 대신에 tailwind CSS를 사용했습니다.
- 초반에는 tailwind CSS의 문법이 생소해서 사용하는데 시간이 걸렸지만, 익숙해지니 스타일에 대한 클래스명이나 컴포넌트명을 짓지 않아도 되서 편리했습니다. 또한 Mobile first로 되어 있고, 반응형 디자인을 하는데 최적화되어 있어서 좋았습니다.
1.1 신기술을 사용하면서 느꼈던 단점에 대해 설명해주세요.
- 제가 느낀 tailwind CSS의 단점은 처음에는 익숙하지 않아서 러닝 커브가 있고, 동적 스타일링이 지원이 잘 안된다는 것이었습니다.
- 컴포넌트 내부에서 결정된 상태에 대한 정적 스타일링은 할 수 있지만 상태가 변경됨에 따라서 동적으로 스타일하는 것이 어려워서 대신에 style 태그를 사용하여 동적 스타일링했습니다.
2. FE 최신 기술이나 동향에 대해 주로 어떤 방식으로 접하게 되시나요?
- Korea FE article Team과 JavaScript weekly 뉴스레터, 공식 문서의 release, breaking changes를 보고 최신 기술 및 동향을 파악합니다. 그리고 동료들 또는 SNS를 통해서도 최신 기술 및 동향을 파악합니다.
2.1 최근에 알게된 최신 기술 및 동향에는 어떤 것이 있나요?
- React 18 버전으로 업데이트 되면서 바뀐 부분들을 React 공식문서를 보면서 파악했습니다.
- React 18 버전부터 상태 업데이트에 대한 자동 배칭을 지원합니다.
- React 18 버전 이전에는 이벤트 핸들러 내부에서 발생하는 상태 업데이트만 배치 처리를 지원한 반면에, React 18 버전부터는 상태 업데이트를 하나로 통합하여 배치처리한 후에 리렌더링합니다.
- 또한, React 18 버전부터 동시성 기능을 지원합니다.
- useTransition 훅을 사용하여 상태 업데이트에 대한 우선순위를 설정할 수 있습니다.
- React 18 버젼부터 Server Component가 도입되었습니다.
- Server Component는 브라우저가 받아오는 용량을 줄이기 위해 서버에서 실행되는 컴포넌트입니다.
- React 18 버전에서 새로운 훅으로 useId, useSyncExternalStore, useDeferredValue 등이 등장했습니다.
- useId 훅은 난수 ID를 생성합니다.
- useSyncExternalStore 훅은 동시성 기능을 사용할 때 전역 상태 관리 라이브러리의 상태가 업데이트 되지 않을 경우 강제로 업데이트를 발생시킵니다.
- useDeferredValue 훅은 일부 UI의 리렌더링을 지연할 수 있습니다.
3. 현업에서 개발자를 주니어, 미들웨어, 시니어 개발자로 나눈다고 했을 때 각각의 개발자가 갖춰야 할 역량은 무엇이라 생각하는지 자유롭게 설명해주세요.
- 주니어 개발자는 일반적으로 간단한 작업이나 영향이 적은 작업을 수행할 수 있어야 합니다.
- 미들웨어 개발자는 감독이 적은 업무를 수행할 수 있어야 하고, 주니어 개발자를 올바른 방향으로 이끌어줄 수 있어야 합니다.
- 시니어 개발자는 자체적으로 완전한 애플리케이션을 개발할 수 있어야 하고, 특정 도메인에 대한 경험과 지식이 있어야 하며 아키텍쳐에 대한 설계를 할 수 있어야 합니다.
참고