목차
- 스타트업 개발 환경과 일정 관리 문제
- QA & QC 없이 앱 배포 문제와 리젝 사례
- 권한 관리, API 데이터 처리 및 상태관리 논의
- 기술 면접 및 시간복잡도 질문 사례
- React 및 Next.js 관련 기술 토론
- 개발자 커뮤니티 잡담 및 근황 공유
- C언어, 컴파일러 최적화, switch vs if 논쟁
- AWS S3 CORS 문제 해결 조언
- 면접 준비와 취업 현황 토론
- 건강과 워라밸, 직장 생활 조언
1. 스타트업 개발 환경과 일정 관리 문제
- 다수가 스타트업에서 겪는 일정 타이트함과 계속 바뀌는 기획 문제 언급
- 기획이 수시로 변경되어 API 구조와 개발 일정이 계속 뒤엉켜 있음
- 팀장이 조율을 제대로 못해 팀원들이 과도한 야근과 스트레스에 노출됨
- 팀장과 위선 임원 간 소통 부재, 수직적 조직 문화에 불만 표출
- 개발 인력 부족과 과도한 업무 분배로 "1인분 같은 3인분" 역할 요구
- 업무 우선순위 및 필수 기능만 집중하여 MVP 수준으로라도 빨리 진행할 것을 권장
- 이런 상황에서 이직을 고민하거나, 팀장 및 위층에 일정, 기획 고정을 요청하는 조언
2. QA & QC 없이 앱 배포 문제와 리젝 사례
- QA(Quality Assurance, 품질보증)와 QC(Quality Control, 품질관리) 부재로 앱 배포 시 리젝(rejection, 앱스토어 거부) 빈번
- 대표적인 리젝 사유
- 회원 탈퇴 기능 부재: 애플 앱스토어 정책은 명확히 탈퇴 기능을 요구하지는 않지만, 일관되지 않은 정책 때문에 리젝 발생 가능
- 마이 페이지, 회원가입 오류 등 기본 기능 미완성 상태로 배포 시도
- QA 없이 개발자가 직접 테스트 하거나, 외부 업체에 QA 맡기는 경우가 많음
- 리젝된 항목 보고와 이슈 처리 과정을 통해 점차 개선해 나가는 방식 제시
- 스타트업 환경에서는 완벽한 QA 어려움, 릴리즈 속도 우선시되는 경우 존재
QA & QC 개념 간단 설명
- QA: 제품이 요구사항과 기준을 만족하는지 계획, 프로세스, 테스트를 통해 전반적으로 관리하는 활동
- QC: 실제 제품 품질을 검사하고 불량품을 걸러내는 구체적 검증 활동
3. 권한 관리, API 데이터 처리 및 상태관리 논의
- API 호출 결과를 무조건 상태관리 스토어에 저장하는 것은 바람직하지 않다는 의견
- 유저 정보 및 권한 관련 데이터는 보안상 스토어에 저장하되, 모든 API 응답을 저장하면 비효율적임
- 토큰 기반 권한 관리의 한계와 프론트에서 토큰 복호화를 통한 권한 표시 가능성 언급
- React Query 등 서버 상태 관리 라이브러리 사용 시 전역 상태 저장 불필요
- 각각의 데이터 특성에 따라 캐싱 또는 상태 저장 여부를 선택해야 함
4. 기술 면접 및 시간복잡도 질문 사례
- 시간복잡도 계산 시 보통 최악의 경우(Worst Case)를 기준으로 평가함
- 특정 중첩 for문에서 내부 루프가 항상 n보다 작을 경우 n^3보다는 n^2에 가깝다고 주장하는 사례 토론
- 실제 면접에서는 문제 상황과 데이터에 따라 설명하는 것이 중요
- 코딩 테스트와 면접에서는 단순 이론보다는 데이터와 문제 상황 이해, 실제 계산 능력을 중시함
5. React 및 Next.js 관련 기술 토론
- Next.js 14버전에서 서버 컴포넌트, 클라이언트 컴포넌트 사용법 논의
- export const dynamic = "force-dynamic"; 코드로 정적 빌드 오류 해결 가능
- Zustand와 jotai 같은 상태관리 라이브러리 비교, 메모리 누수 이슈 언급
- React 프로젝트 내 다양한 라이브러리와 차트 구현 고민 (Chart.js, D3.js, Nivo 등)
- React에서 API 호출 결과를 스토어에 모두 저장하는 관행에 대한 논쟁
- useEffect 클린업 함수 문법 설명
6. 개발자 커뮤니티 잡담 및 근황 공유
- 개발자들 일상, 건강, 스트레스, 퇴사 고민, 코로나 이후 취업 시장 변화 등 자유로운 대화
- 개발자들끼리 서로 응원하며 힘든 환경 속에서도 동료애 표시
- 다양한 닉네임과 내부 농담, 유머가 섞인 소소한 잡담들
- 개발 도구, 라이브러리 추천 및 개인 공부 팁 공유
7. C언어, 컴파일러 최적화, switch vs if 문 논쟁
- 컴파일러 최적화 단계에서 if-else와 switch 구문의 차이가 없거나 미미할 수 있음
- switch는 분기가 복잡해지면 분기 테이블 방식으로 변환되어 메모리 사용 증가 가능
- 최신 컴파일러는 많은 최적화를 수행하여 성능 차이 크게 느끼기 어려움
- 실제 코딩에서는 가독성과 유지보수 편의성이 더 중요함을 조언
8. AWS S3 CORS 문제 해결 조언
- CORS(Cross-Origin Resource Sharing)란 다른 도메인에서 리소스 접근 시 보안 정책
- S3 버킷에서 CORS 설정이 제대로 되어있어도 여전히 오류가 나면
- AllowedOrigins 설정 확인 (와일드카드 * 사용 시 문제 발생 가능)
- 클라이언트 요청 헤더와 S3 설정 불일치 여부 점검
- 제안된 해결책
- 정확한 CORS 설정 파일 사용
- 브라우저 개발자 도구에서 네트워크 요청 확인
- 참고할 공식 문서 및 링크 제공
9. 면접 준비와 취업 현황 토론
- 신입 및 경력직 개발자들의 취업 경쟁 심화와 부트캠프 출신 허수 문제 언급
- 지원자는 많으나 회사 요구 스펙에 부합하는 인력 부족 현실
- 구직 활동 시 포트폴리오 작성법, 이력서 차이, 면접 시 답변 팁 공유
- 연봉, 워라밸, 야근수당 등 복지 조건에 대한 현실적인 조언
- 면접에서 자주 나오는 기술 및 인성 질문 유형 소개
10. 건강과 워라밸, 직장 생활 조언
- 장시간 야근과 스트레스로 인한 건강 악화 우려
- 정신 건강과 체력 관리를 위해 적절한 휴식 권고
- 일 잘하는 방법보다 일하는 환경과 팀 관리가 중요함 강조
- 상사와 팀장과 소통하여 업무 조율 요청 필요
- 더 나은 환경으로의 이직도 용기 내어 고민할 것 권장
면접팁⚡
- 시간복잡도는 기본적으로 최악의 경우(Worst Case)를 기준으로 계산한다.
- 면접에서는 단순 결론(n^2인지 n^3인지)보다는 문제의 데이터 구조와 로직에 따른 판단 근거를 명확히 설명하는 것이 중요함.
- React와 Next.js를 사용할 때 서버 컴포넌트와 클라이언트 컴포넌트의 차이를 이해하고 있어야 함.
- 상태관리는 모든 데이터를 무조건 스토어에 저장하는 게 아니라 필요에 따라 적절히 관리할 줄 알아야 함.
- 팀장과 일정, 기획 조율이 안될 때는 문제를 객관적으로 보고 대안과 협의하는 자세 필요.
링크🔗
- https://ui.shadcn.com/ — 노션 느낌의 디자인 라이브러리
- https://risingstars.js.org/2023/en#section-all — 최신 JS 라이브러리 트렌드
- https://www.amcharts.com/demos/layered-column-chart/ — amCharts 레이어드 차트
- https://www.amcharts.com/demos/100-stacked-column-chart/ — amCharts 스택 칼럼 차트
- https://docs.cypress.io/guides/overview/why-cypress#Setting-up-tests — Cypress 테스트 가이드
- https://pangyoalto.com/clang-and-optimization/ — clang 컴파일러와 최적화 관련 내용
- https://sunghwan7330.github.io/embedded_c_optimization/c_optimization_if_switch/ — C언어 if vs switch 최적화 설명
- https://fe-developers.kakaoent.com/2023/230421-beyond-solving-problem-part-2/ — Kakao FE 개발자가 쓴 문제 해결기
- https://nivo.rocks/bar/ — nivo 바 차트 라이브러리
- https://nivo.rocks/bullet/ — nivo 불릿 차트
- https://www.amazon.jobs/en — AWS 취업 페이지 (S3 CORS 관련 참고 가능)
- https://deno.com/blog/jsr_open_beta — Deno 관련 소식
#스타트업#QA#앱배포#React#NextJS#시간복잡도#개발자커뮤니티#면접팁#C언어#CORS