목차
- 연봉협상과 퇴사 이슈
- React-PDF 뷰어 문제 해결 팁
- React에서 한글 입력 시 input 깜박임 현상
- 기획 변경과 개발 최적화의 균형
- 협업에서 좋은 코드란 무엇인가?
- 신입 개발자의 일 잘하는 기준과 소통법
- 셀레니움 크롤링 방지와 우회 이슈
- 스타일링 도구 비교: Tailwind, StyleX, VE, MUI
- 개발자 IQ와 실력에 관한 이야기
- 업무 환경과 이직, 그리고 개발자들의 근황
1. 연봉협상과 퇴사 이슈
- 연봉협상 시 퇴사 카드를 활용하는 사례가 있음.
- 퇴사를 언급하고 협상하면 연봉 인상 폭이 커질 수 있으나, 실제 퇴사 여부는 신중히 판단해야 함.
- 협상 중 퇴사를 언급하는 것은 담배 피우며 폼 잡는 문화도 있음.
- 퇴사 카드를 너무 쉽게 쓰면 신뢰 문제가 발생할 수 있음.
2. React-PDF 뷰어 문제 해결 팁
- react-pdf 라이브러리로 뷰어 제작 시, 브라우저 뷰포트 100% 이상일 때 PDF가 온전히 보이지만, 축소할 경우 PDF가 끝까지 보이지 않는 문제 발생.
- 해결 방법: 뷰어 컴포넌트의 width를 뷰포트 크기에 맞춰 동적으로 조정해야 함.
- 뷰포트 비율에 따른 CSS 스타일 조정을 통해 PDF 크기를 맞출 수 있음.
3. React에서 한글 입력 시 input 깜박임 현상
- 한글 입력 시 input이 깜박이는 현상은 주로 스타일(CSS)의 focus 상태나 transition, 재렌더링 이슈 때문임.
- 기본적으로 React의 setState를 통한 상태관리는 한글 입력에 문제 없음.
- Debounce를 적용하면 입력 반영 타이밍 문제를 완화할 수 있으나, 깜박임과 직접 연관성은 낮음.
- 문제 해결 팁: global CSS나 focus 관련 스타일을 점검하고 필요한 부분 제거 또는 수정.
- useRef 사용은 실시간 입력 반영에 제한적일 수 있으나 깜박임 직접 원인은 아님.
4. 기획 변경과 개발 최적화의 균형
- 기획이 자주 변경될 것을 예상하면 처음부터 최적화에 너무 신경 쓰기보다 빠르게 구현하는 것이 현실적임.
- 개발 초반에 대충 만들고 확정된 뒤 리팩토링하는 아자일(Agile) 방식이 일반적이나, 리팩토링 시간이 없어 기술 부채가 쌓일 우려도 있음.
- 최적화를 미루면 실제로 할 시간이 없을 수도 있으니 상황에 맞춰 조절할 것.
- 최대한 주어진 시간 내에 낼 수 있는 최대 퀄리티를 유지하는 게 중요.
5. 협업에서 좋은 코드란 무엇인가?
- 좋은 코드는 단순히 속도와 퀄리티가 반비례하지 않으며, 개발자의 역량에 따라 달라질 수 있음.
- 문서화와 명확한 커뮤니케이션, 그리고 관심사 분리와 확장성 있는 설계가 포함됨.
- 협업 가능한 코드를 위해서는 팀원의 이해와 유지보수가 쉬운 코드를 작성할 필요가 있음.
- 대충 만드는 태도로 일하면 팀 전체 생산성 저하 및 레거시 코드 증가를 초래할 수 있음.
6. 신입 개발자의 일 잘하는 기준과 소통법
- 신입이 잘한다는 것은 단순히 코드를 잘 짜는 것뿐 아니라, 말귀를 잘 알아듣고 문서 및 기획을 이해하며 의사소통이 원활한 것을 포함함.
- 질문할 때 이슈와 시도해본 것을 간단명료하게 전달하는 것이 중요.
- 연차가 쌓이면 코딩 능력 외에 문제 해결력과 협업 능력이 평가 기준이 됨.
- 회사마다 평가 기준이 다르므로 상황별 순응이 필요.
7. 셀레니움 크롤링 방지와 우회 이슈
- 셀레니움을 통한 크롤링 방지는 HTTP 요청 빈도 제한(rate limit), 캡차, 로그인 제한 등 다양한 방법 사용.
- 완벽하게 100% 막는 방법은 현실적으로 없으며, 주로 robots.txt나 약관으로 법적 대응을 준비함.
- 공개된 데이터라도 크롤링 계약과 약관 위반 시 법적 문제가 발생할 수 있음.
- 우회 방법도 있지만 계속 차단 정책을 업그레이드하는 기업이 많음.
8. 스타일링 도구 비교: Tailwind, StyleX, VE, MUI
- Tailwind: 높은 자유도와 빠른 퍼블리싱 가능, 러닝커브 존재.
- StyleX: Facebook에서 만든 아토믹 CSS 도구, 타입스크립트와 잘 맞고 small API surface 장점.
- VE(Vanilla Extract): TypeScript 기반, 아토믹 스타일링, variants 지원 강점.
- MUI(Material UI): 컴포넌트 라이브러리 중심, 자유도 낮고 디자인이 딱딱하다는 평가도 있음.
- 팀 상황과 프로젝트 요구에 따라 선택하고 러닝커브는 반드시 염두에 둘 것.
9. 개발자 IQ와 실력에 관한 이야기
- IQ 수치로 개발자 실력을 단정짓기 어려움.
- 경험과 문제 해결 능력, 협업 능력 등이 실력을 평가하는 데 더 중요한 요소임.
- 일부 개발자들은 높은 IQ를 가졌지만 실제 업무에서는 다양한 능력이 요구됨.
- 시니어 개발자의 역할은 단순 코딩뿐 아니라 팀과 프로젝트 전반을 조율하는 능력이 포함됨.
10. 업무 환경과 이직, 그리고 개발자들의 근황
- 연말정산, 이직 준비, 팀 내 인간관계 등 개발자들의 일상과 고민 공유.
- 이직 시 팀 리더(테크리드) 문제로 인한 스트레스가 많으며, 불만 시 이직을 고려하는 경우 많음.
- 업무 중 딴짓이나 코딩 외 활동에 대한 농담과 소소한 일상 이야기 나눔.
- 새로운 기술과 툴, 개발 문화에 대한 관심이 지속적으로 높음.
면접팁⚡
- 신입 면접 시, 단순 코딩 능력보다는 문서 이해력, 기획 의도 파악, 그리고 의사소통 능력을 보여주는 것이 중요함.
- 질문할 때는 현재 겪고 있는 문제점과 시도했던 방법들을 명확히 정리해 전달할 것.
- 개발자로서 단기적 코드 퀄리티뿐 아니라 장기적 유지보수와 협업능력도 어필하는 것이 유리함.
링크🔗
- React-PDF 예제 코드: https://codesandbox.io/p/sandbox/nifty-zhukovsky-6pdq7t
- StyleX 공식 문서: https://stylexjs.com/docs/learn/thinking-in-stylex/#small-api-surface
- StyleX Variants 문서: https://stylexjs.com/docs/learn/recipes/variants/#compound-variants
- 크롤링 방지 방법 검색: https://www.google.com/search?q=how+to+block+celenium+crawling
#연봉협상#ReactPDF#Input한글문제#기획변경#코드퀄리티#신입개발자#크롤링방지#스타일링도구#프론트엔드#개발자소통