목차
- 연봉협상과 입사일 이슈
- 신입 개발자 역량과 태도
- 온보딩 문서 및 신입 교육 방법
- Flutter 웹뷰 내 공유 및 클립보드 복사 문제
- Next.js와 React 서버 컴포넌트 이슈
- 코드테스트(코테) 경험과 팁
- JetBrains 제품군과 개발 도구 비교
- CSS 적용 문제: CRA vs Next.js
- 타입스크립트와 JSDoc 비교 의견
- 협업툴 대체 및 추천 오픈소스
1. 연봉협상과 입사일 이슈
- 일부 회사에서 연봉협상 시 특정 입사일을 못 지키면 협상이 무효가 된다는 사례 언급됨.
- 이는 일반적이지 않으며, 흔히 듣기 어려운 방식임.
- 보통은 협상 결과를 조건부로 명확히 하고 입사일을 지정하나, '입사일 불이행 시 연봉 삭감'은 매우 이례적이다.
- 입사일에 대한 엄격한 규정이 있는 회사도 있으나, 대체로 입사일이 변경되면 내부 조정 후 재협상하거나 일정 조정이 많음.
- 이런 통보 방식은 불신과 스트레스를 주기에, 회사 정책을 명확히 확인하고 인사팀과 소통할 필요가 있음.
- 입사일 조정 문제는 특히 이직 시 잦음. 회사마다 정책이 다르므로 이해와 조율이 중요함.
2. 신입 개발자 역량과 태도
- 9개월차 신입이라도 기본적인 프로그래밍 논리 작성(예: for문, 조건문)은 반드시 할 줄 알아야 함.
- 개발자는 요구 사항을 스스로 해석하고 로직을 설계하는 능력이 필수이며, 질문 없이도 어느 정도 해결할 수 있어야 함.
- 업무를 단순 질문만 하고 주도적으로 문제를 해결하지 못하는 태도는 팀에 부담을 줌.
- 실력이 부족할 수 있으나, 긍정적 태도와 학습 의지가 중요하며, 태도 자체가 불량하면 조직 적응과 성장에 큰 걸림돌이 됨.
- 사수는 업무 전반을 관리하고 지원하지만, 기초는 본인이 준비해야 하므로 자기주도적 학습과 기록(필기)이 중요함.
3. 온보딩 문서 및 신입 교육 방법
- 온보딩 문서란 신입이 회사 업무에 적응할 수 있게 안내하는 모든 문서와 자료를 의미.
- 효과적인 온보딩은 단순 전달보단 문서화하여 반복 학습과 참조가 가능하도록 해야 함.
- 신입 교육 시 매번 1:1 설명만으로는 리소스 소모가 크므로 정리된 문서와 매뉴얼을 제공하는 게 효율적임.
- 문서에는 프로젝트 구성, 개발 환경, 업무 절차, 자주 쓰이는 클립, API 설명 등을 포함하는 것이 좋음.
- 신입은 교육 과정을 메모하고 질문을 명확히 하는 습관을 들여야 하고, 교육자는 태도와 이해도를 함께 체크해야 함.
- 자세한 문서 없이 말로만 전달하는 것은 학습 효율이 낮아지고, 실무 적응이 늦어짐.
4. Flutter 웹뷰 내 공유 및 클립보드 복사 문제
- Flutter 앱 내 WebView에서 공유 기능 구현 시 브라우저 정책 때문에 어려움이 존재함.
- 예를 들어, window.navigator.share API는 사용자의 명확한 액션(클릭 등)이 있을 때만 호출 가능하며, 사파리 같은 브라우저는 한번에 링크 생성과 복사를 허용하지 않을 수 있음.
- 링크 생성 비용 문제로 미리 생성하지 않고 직전에 생성하려고 하면 클립보드 복사가 실패하는 케이스가 있음.
- 일반적 해결법은 WebView 내부에서 복사하려는 링크를 Flutter 네이티브 코드 쪽으로 전달하고, Flutter에서 공유 및 클립보드 복사를 처리하는 방법임.
- 이렇게 앱 브릿지(App Bridge) 방식을 쓰면 브라우저 정책을 우회할 수 있고 사용자 경험이 좋아짐.
5. Next.js와 React 서버 컴포넌트 이슈
- Next.js 최신 버전은 서버 컴포넌트(Server Components)와 클라이언트 컴포넌트를 함께 관리함.
- 서버 컴포넌트는 서버에서 렌더링되고 클라이언트로 HTML+데이터를 전달하는 방식이며, 데이터를 프롭으로 직접 넘길 때 직렬화 비용과 디버깅 어려움이 존재함.
- 실무에서는 리액트 쿼리, XState와 같은 전역 상태 관리 라이브러리 활용해 서버와 클라이언트 상태를 조율하는 것이 더 나음.
- 너무 복잡하게 서버 컴포넌트를 많이 남용하면 유지보수가 어려워지고 성능 문제도 생김.
- 차라리 필요한 페이지만 클라이언트 컴포넌트로 처리하는 게 유지보수에 유리함.
6. 코드테스트(코테) 경험과 팁
- 코테는 대부분 제한 시간이 있으며, 한 문제 당 40분~1시간 내외가 일반적임.
- 많은 회사는 동시에 응시하게 하며, 개인 맞춤 날짜 지정은 드문 편임.
- 시험 중 서버 과부하(렉) 문제도 가끔 발생하므로 안정적인 환경을 선택하는 것이 중요함.
- 어려운 문제를 만났을 때 빠르게 포기하고 쉬운 문제부터 푸는 전략이 효과적임.
- 과제 테스트가 대안으로 점점 늘어나고 있으며, 면접관이 직접 지원자 코드를 보는 장점이 있음.
7. JetBrains 제품군과 개발 도구 비교
- JetBrains 사는 IntelliJ IDEA, Rider, ReSharper 등 다양한 개발 도구를 제공함.
- 제품은 다소 가격이 높은 편이나, 강력한 코드 지원과 자동화 기능 덕분에 효율성이 좋다는 평가가 많음.
- 리액트 개발자라면 IntelliJ Ultimate 보다는 VSCode와 병행 사용도 일반적임.
- "Cursor"라는 AI 보조 개발툴도 관심받고 있음.
- 가격은 개인 개발자용 연간 약 76~190불 수준임.
8. CSS 적용 문제: CRA vs Next.js
- CRA(Create React App)에서 CSS가 잘 적용되는데, Next.js 프로젝트에서는 CSS가 적용되지 않는 문제가 발생.
- 원인으로는 Next.js 사용 시 CSS 모듈, 글로벌 CSS 설정, 또는 스타일 라이브러리 설정 차이 때문이 많음.
- 특히 Next.js는 CSS 모듈 사용을 권장하며, 글로벌 CSS는 _app.js에서만 임포트 가능함.
- vanilla-extract 같은 CSS-in-JS 라이브러리 사용 시 Next.js 전용 설정이나 빌드 설정 수정이 필요할 수 있음.
9. 타입스크립트와 JSDoc 비교 의견
- 타입스크립트는 자바스크립트에 정적 타입을 부여해서 코드 안정성과 개발 생산성을 향상함.
- JSDoc은 타입스크립트가 아닌 환경에서 타입 힌트를 제공하는 주석 기반 도구임.
- 실무에서는 타입스크립트가 더 엄격해서 오류를 방지하고 유지보수에 유리함.
- JSDoc은 컨벤션이 팀마다 달라서 일관성 떨어질 수 있음.
- 타입스크립트를 쓰면 JSDoc을 보조용으로만 사용하거나 아예 쓰지 않는 추세임.
10. 협업툴 대체 및 추천 오픈소스
- 슬랙과 지라를 대체할 수 있는 저비용·무료 협업 툴로 Mattermost와 Linear가 추천됨.
- Mattermost는 오픈소스 슬랙 클론으로 UI와 기능이 매우 유사해 적응이 쉽고, 자체 호스팅 가능하다는 장점이 있음.
- Linear는 지라보다 가볍고 직관적인 이슈 트래킹 툴로, 무료 플랜 지원도 충분함.
- 비용 부담이 적은 솔루션을 물색하는 소규모 팀이나 스타트업에 적합함.
면접팁⚡
- 연봉협상 시 입사 조건을 명확히 확인하고, 불합리한 요구가 있을 때는 회사 정책문서 또는 인사팀에 문의할 것.
- 신입 개발자는 기본 프로그래밍 문법과 로직 설계 능력(요구 사항 해석 포함)을 반드시 갖출 것.
- 코테 문제는 우선 쉬운 문제부터 푸는 전략이 효율적이며, 시간을 정해두고 안 풀리는 문제는 과감히 넘어갈 것.
- 타입스크립트 사용 경험 및 장단점에 대해 질문 받을 확률 높으니 미리 준비하는 것이 좋음.
- 협업 툴과 이슈 트래킹 경험도 면접 때 많이 언급되므로 사용 툴에 대해 익숙해질 것.
링크🔗
- Mattermost (오픈소스 슬랙 대체)
https://github.com/mattermost/mattermost - Kithub (예시 오픈소스 프로젝트)
https://github.com/kithub-Inc/kithub - 유튜브 대화 중 추천 강의 링크
https://www.youtube.com/watch?v=sVlN_5I0xBg
#연봉협상#신입개발자#온보딩#Flutter#웹뷰#Nextjs#React서버컴포넌트#코테#JetBrains#협업툴