목차
- 자바 배우기에 대한 고민과 JS 진영과의 차이
- 프로그래밍 언어와 협업 문화
- 프론트엔드에서의 DDD(도메인 주도 설계) 적용 논쟁
- 효율적인 상태 관리와 프론트엔드 패턴
- 문서화의 현실과 중요성
- 모닝헬스, 재택근무, 출근 루틴 이야기
- 홈카페, 핸드드립 커피 취미 공유
- 출퇴근 시간과 이직 고민
- 최신 프론트엔드/백엔드 기술 및 툴 이야기 (Typia, Prisma, FastAPI 등)
- 회사 지원, 팀 배치, 그리고 개발자 커리어 이야기
1. 자바 배우기에 대한 고민과 JS 진영과의 차이
- 자바는 대규모 애플리케이션에서 오랫동안 쓰여왔고, 협업 시 발생하는 문제 해결 사례가 풍부함.
- JS 진영에서는 자바에서 배우는 전통적인 객체지향 개념이나 설계 원칙들이 기본 상식처럼 자리잡지 않은 경우가 많음.
- 네스트JS 같은 프레임워크 덕분에 자바 진영의 좋은 점들을 약간 경험할 수 있지만, 순수 노드(Node.js) 사용자는 품질 차이가 큼.
- 프로그래밍 언어 자체가 중요한 게 아니라, 개발자가 얼마나 잘 사용하는지가 중요함.
2. 프로그래밍 언어와 협업 문화
- 파이썬도 프레임워크를 잘 활용하지 않는 경우 코드 품질이 떨어질 수 있음.
- PHP 역시 언어 자체는 문제가 아니고, 잘 쓰는 사람이 제대로 쓴다는 의견.
- 언어 혹은 프레임워크를 통한 코드 관리가 협업의 핵심이며, 관리가 쉬워 보이는 건 착각일 수 있음.
- 협업 잘하는 사람들은 문서화나 설계도를 꼼꼼히 작성하고, 공책에 그림 그리며 구조를 이해하려 노력함.
3. 프론트엔드에서의 DDD(도메인 주도 설계) 적용 논쟁
- DDD는 본래 복잡한 도메인 로직을 체계적으로 관리하는 백엔드 개념.
- 프론트엔드에 DDD를 적용하려는 시도가 있으나, React 등에서 이미 커스텀 훅이나 상태 관리(스토어) 패턴으로 충분히 해결 중.
- 프론트엔드에 DDD 개념을 과도하게 적용하면 상태 관리가 이중으로 복잡해지고 생산성이 떨어짐.
- 백엔드에서는 API와 DB 간 객체 분리 및 데이터 보호를 위해 DDD가 유용하나, 프론트엔드에서는 계층이 오히려 과할 수 있음.
4. 효율적인 상태 관리와 프론트엔드 패턴
- React, Svelte 등 최신 프레임워크는 커스텀 훅, 스토어 같은 추상화로 상태 관리를 간단하고 효율적으로 처리.
- 내부 로직과 외부 API DTO(Data Transfer Object)를 명확히 분리하는 것이 중요하며, 이를 통해 프레임워크 교체 시에도 비교적 유연성을 제공함.
- ORM(Object-Relational Mapping)은 데이터베이스와 코드 간의 객체 매핑을 효율적으로 하기 위해 나온 백엔드 패턴이며, 프론트엔드에서는 비효율적일 수 있음.
- 불필요한 레이어는 오히려 개발 생산성과 유지보수를 저해할 수 있으니, 적절한 추상화에 집중하는 것이 좋음.
5. 문서화의 현실과 중요성
- 대부분 개발자는 문서화를 '일 끝나고 대충 정리해보자' 수준으로 생각함.
- 다른 공학 분야에 비해 컴퓨터 소프트웨어는 재사용 및 유지보수가 문서화 없이는 힘들기에 문서화가 매우 중요.
- 문서화는 보고서 작성이 아니라, 개발자가 이해하고 쉽게 관리할 수 있도록 설계도를 그리거나 주석을 꼼꼼히 다는 등 '협업의 도구'임.
- 현실적으로 문서화에 투자하는 시간이 부족하지만, 이를 잘 하는 팀은 협업과 유지보수가 훨씬 효과적임.
6. 모닝헬스, 재택근무, 출근 루틴 이야기
- 모닝헬스(아침 운동) 후 재택근무, 그리고 사무실 출근 루틴을 성공적으로 유지하는 개발자들의 일상 이야기.
- 운동 루틴 유지가 쉽지 않지만, 하루의 자부심과 활력을 증가시키며 업무 집중을 도와줌.
- 출퇴근 시간이 길면 건강관리, 자기개발 시간이 사라져 삶의 질에 큰 악영향.
- 재택근무는 이동시간을 줄여줘 보통 삶의 질이 크게 올라감.
7. 홈카페, 핸드드립 커피 취미 공유
- 집에서 핸드드립 커피를 즐기며, 원두 분쇄 정도, 물 온도, 물과의 접촉 시간 등이 커피 맛에 영향을 준다는 공유.
- 가향원두(과일향, 딸기향, 포도향 같은 향을 첨가한 원두)를 맛본 경험도 공유하며, 오리지널 원두(에티오피아, 케냐 피베리 등)를 정복 중이라고 함.
- 홈카페 재미는 기능보다 갬성(감성)이라는 의견도 있었음.
8. 출퇴근 시간과 이직 고민
- 출퇴근 3~4시간은 매우 힘든 상황이라 이직 또는 회사 근처 자취가 권장됨.
- 많은 개발자가 30~40분 내외 출퇴근 거리가 가장 이상적이라고 경험적으로 평가.
- 이동 시간은 공부, 운동, 휴식 등 자기개발 시간을 빼앗기므로 매우 중요한 요소.
- 재택근무 가능하거나 출퇴근 혼잡도가 낮은 경우는 장시간 이동도 감내 가능성.
9. 최신 프론트엔드/백엔드 기술 및 툴 이야기
- Typia: npm 독립 패키지로 FE/BE 통합에 사용되는 신흥 프레임워크. 최근 다운로드 급증하며 관심 집중.
- Prisma: ORM 중 하나로, 타입 추론을 지원하지만 코드 반복과 복잡도가 느껴질 수 있음. 추상화를 잘하면 관리가 수월해짐.
- FastAPI: Python 기반 웹 프레임워크로, Pydantic을 통한 데이터 유효성 검사가 강화된 것이 특징. 타입 검증 중요.
- 각 툴의 특징 및 성능 이슈(예: 플러그인 사용 시 테스트 지연 현상)도 논의됨.
10. 회사 지원, 팀 배치, 그리고 개발자 커리어 이야기
- 특정 회사(뤼튼)에서 파이썬, PHP, Node.js 등 팀 별로 인력을 배치하며, 면접 통과 여부와 팀 배치에 대한 사연 공유.
- 파이썬은 타입 안정성에서 약간 유연하지만, ML/AI 분야와 FastAPI와 같은 현대적 도구로 인기.
- PHP는 강한 타입 검증 측면에서 유리하며, 워드프레스 기반 경험자도 많음.
- 개인 개발자의 스타일, 경험, 선호도를 고려한 팀 배치가 중요하며, 지속적인 자기개발과 체력 관리 병행 필요.
면접팁⚡
- 협업 시 문서화의 중요성을 강조할 것. 문서화는 보고서 작성이 아닌 팀 간 이해 공유를 위한 설계도로 인식하기.
- DDD(도메인 주도 설계)는 백엔드에서 복잡한 도메인 모델 관리에 적합하며, 프론트엔드에 무리하게 적용하기보다 프레임워크별 상태 관리 패턴을 이해하고 적용하는 게 중요.
- 자바를 기반으로 한 큰 규모 서비스 경험과 협업 노하우는 여전히 큰 강점.
- 프레임워크나 도구를 무조건 따라 하기보다는, 왜 쓰는지 원리를 이해하고 자신의 스타일과 상황에 맞게 적용하는 것이 좋음.
링크🔗
- Typia FE/BE 통합 프레임워크
https://milkio.fun/
https://github.com/akirarika/milkio?tab=readme-ov-file
#자바#프로그래밍언어#DDD#프론트엔드#문서화#재택근무#커피#출퇴근#FastAPI#Typia