목차
- 개발자들의 휴일과 빡코딩 시작
- 현직자의 취업 준비 및 이직 조언
- 미로 탐색 알고리즘: DFS와 A* 서치
- React와 Next.js의 차이와 활용
- 프론트엔드 역할과 퍼블리셔 존재 여부
- 컴포넌트 분리 및 아토믹 디자인 패턴
- 라우팅 방식과 풀스택 프레임워크 변화
- 배포 빈도 및 협업 사례
- 패키지 관리 도구(Yarn)와 문제 해결 팁
- 면접 관련 조언 및 커리어 팁
1. 개발자들의 휴일과 빡코딩 시작
- 개발자들이 금요일, 토요일 열심히 작업한 후 휴일에도 집중해서 코딩 계획을 세움.
- 카공(카페 코딩)으로 지속적인 개발 의지 표명.
- 상반기 코딩테스트 대비를 위한 집중 학습 다짐.
2. 현직자의 취업 준비 및 이직 조언
- 2년 차 개발자가 되면, "2년간 무엇을 했는지"와 "무엇을 배웠는지"가 중요.
- 포트폴리오(포폴) 수준은 회사 및 직무마다 차이가 크며, 최근에는 단순 포폴보다는 프로젝트 경험과 실무 역량 중점으로 본다는 의견.
- 이직 시에는 단순 기술 스택보다 '기술 이해도'와 '문제 해결 능력'을 더 중요시하는 경향.
- 취준생 대상 Q&A에서 현업자 노하우를 강조, '자신만의 프로젝트 경험'과 '문서화 능력'도 어필 포인트.
3. 미로 탐색 알고리즘: DFS와 A* 서치
- DFS (Depth-First Search / 깊이 우선 탐색) : 미로 등 그래프 탐색에 자주 쓰이는 알고리즘으로, 한 방향으로 깊게 탐색 후 막히면 뒤로 돌아가는 방식.
- 미로 탈출에 도전하며 경로 저장이 핵심.
- A 알고리즘* : 최단 경로 문제를 해결하기 위한 휴리스틱 기반 탐색 알고리즘으로, 실제 게임 AI나 경로 탐색에 자주 활용됨.
- 알고리즘 학습 초보자에게 실습 추천. A*는 DFS보다 효율적이며 미로 같은 문제에 효과적.
4. React와 Next.js의 차이와 활용
- React: UI 라이브러리로서 프론트엔드 개발의 기본. 라우팅, SSR(서버 사이드 렌더링) 기능은 없는 순수 라이브러리이며, 라우팅은 서드파티 사용.
- Next.js: React 기반 풀스택 프레임워크로, SSR, SEO, 파일 기반 라우팅, 풀스택 기능(API 라우트, 서버 컴포넌트) 지원.
- Next.js는 대체로 판매 사이트, 사용자 접점 많은 서비스에 적합.
- React는 관리 사이트나 내부 관리자 프로그램에 많이 사용됨.
- Next.js의 학습 난이도가 다소 높으며 인프라 유지 비용 증가 가능.
- 대기업은 전통적으로 React와 Vue 사용 많고, Next.js는 스타트업이나 일부 최신 프로젝트 중심.
5. 프론트엔드 역할과 퍼블리셔 존재 여부
- 퍼블리셔(웹 디자인 및 마크업 특화 인력)는 회사마다 다르나, 대개 프론트엔드 개발자가 UI 구현과 퍼블리싱을 동시에 담당.
- 해외에선 퍼블리셔 별도 존재하는 사례가 많지 않고, 디자이너가 일부 퍼블리싱까지 하는 경우도 많음.
- 프론트엔드 개발자라면 UI 구현 능력은 필수이며, 모든 코드 작성이 기본이라는 의견이 우세.
- 넥스트.js 같은 최신 프레임워크가 백엔드 역할 일부를 넘겨받으면서 프론트엔드 역할 확장 중.
6. 컴포넌트 분리 및 아토믹 디자인 패턴
- 아토믹 디자인은 UI 요소를 원자(atom), 분자(molecule), 유기체(organism) 형태로 나누는 디자인 패턴.
- 실제로 팀이나 개발자마다 적용 방식이 달라 숙련도가 중요함.
- 대부분 컴포넌트 분리는 '기능과 데이터 중심'으로 나누고, UI 중심 분리는 비추천.
- 버튼 같은 컴포넌트도 상태별 여러 종류가 있으면 한 파일에 모으는 경우도 있음.
- 디자인 시스템 구축에는 역할이 있지만 리액트 철학과 완전히 일치하지는 않음.
7. 라우팅 방식과 풀스택 프레임워크 변화
- React는 기본으로 라우팅 기능이 없고 react-router 같은 서드파티 라이브러리를 사용.
- Next.js는 '파일 기반 라우팅'이란 특성을 갖고 있어 개발 생산성을 높임.
- 서버 컴포넌트와 서버 액션 등이 추가되면서 프론트와 백엔드의 경계가 모호해지고, 프론트엔드 역할이 확대되고 있음.
- DB 직접 연결 같은 기능도 Next.js가 제공하지만, 전통적 백엔드 API 역할이 사라지는 것은 아니며 업무 분담은 여전.
8. 배포 빈도 및 협업 사례
- 회사마다 다르지만 한 달에 한 번 배포하는 경우가 있음.
- 프로젝트 규모에 따라 배포 빈도는 달라지며, 일반적으로 에자일(Agile) 개발 방식과 연관.
- 디자인 시스템과 컴포넌트 분리 등은 협업 시 인지도와 팀 컨벤션이 중요함.
9. 패키지 관리 도구(Yarn)와 문제 해결 팁
- Yarn 버전은 최신을 권장하나, 일부 최신 버전에서 속도 문제 혹은 호환성 이슈 경험.
- nodeLinker 설정을 바꿔서 문제를 해결할 수 있음.
- React hook(useCallback 등)에서 상태 전달이 제대로 안 될 때는 의존성 배열 확인이 주요 점검 사항.
10. 면접 관련 조언 및 커리어 팁
- 회사나 팀마다 선호하는 기술 스택과 면접 방식이 다르니 지원하려는 곳에 맞춰 준비하는 게 중요.
- 기본적인 자료구조와 알고리즘 실력은 계속 필수로, 특히 코딩테스트 대비가 중요.
- 포트폴리오는 프로젝트 경험과 실무에서 얻은 문제 해결 능력을 중심으로 구성할 것.
- 현업자들은 지원자의 실무 경험과 커뮤니케이션 능력도 많이 보며, 포트폴리오 외에 역량을 보여줄 수 있는 다양한 방식을 준비하길 권장.
면접팁⚡
- 자료구조와 알고리즘 기초를 탄탄히 하라. 이는 어느 회사든 기본 역량으로 요구됨.
- 프로젝트 경험을 구체적으로 ‘무엇을 했는지’, ‘어떤 문제를 어떻게 해결했는지’ 중심으로 준비.
- React와 Next.js 차이를 명확히 이해하고, 각각의 장단점과 사용처를 자신있게 설명할 수 있어야 함.
- 아토믹 디자인과 컴포넌트 분리 기준을 자신의 경험과 팀 프로젝트 사례와 연결해 설명하면 좋음.
- 포트폴리오는 단순 보여주기보다는 코드 품질, 설계 의도, 문제 해결 과정을 녹여내는 게 중요.
링크🔗
#React#NextJS#프론트엔드#알고리즘#취업준비#풀스택#컴포넌트분리#아토믹디자인#Yarn#개발팁