영한님 안녕하세요.
먼저 좋은 강의 감사드립니다.
강사님께서 몇 년 전부터 일관되게 말씀하신 것처럼 저 역시 최신 기술 스택을 쫒기보다는 Java, spring, RDB, JPA 등 핵심 기술 위주로 기본기를 충실히 다져왔습니다.
그런데 요즘 주변의 취업 준비생들의 포트폴리오를 보면 쿠버네티스, Kafka, Redis, CI/CD, MSA 등 다양한 기술들을 사용한 경우가 많아 상대적으로 제 포트폴리오가 부족해 보일까봐 걱정이 됩니다.
이런 상황에서, 비록 화려한 최신 기술 스택은 없더라도 핵심 기술을 이용해 프로젝트를 진행하면서 발생하는 문제를 남들보다 더 깊게 고민해 보고 해결한 경험을 중심으로 포트폴리오를 구성한다면 앞서 말씀드린 화려한 포트폴리오들 사이에서 경쟁력을 가질 수 있을지 궁금합니다.
또한 다음 강의인 설계, 고급편이 나오려면 시간이 좀 걸릴 것 같아 개인적으로 DB를 더 깊게 공부해보고 싶은데 혹시 추천해주실 만한 도서가 있다면 몇 권 알려주시면 감사하겠습니다.
안녕하세요. Jason님
이 부분은 사실 내가 각 기술에 대해서 어느정도 깊이를 가지고 있는가, 그리고 또 어떤 스타일의 면접관을 만나는가에 따라서 답이 달라질 것 같아요.
사람의 성향에 따라 다르겠지만 백엔드를 제대로 잘 다루는 분이 면접관으로 등장한다면 다음과 같이 이야기할 것 같아요.
이력서에 쿠버네티스, Kafka, Redis, MSA 같은 기술 스택을 화려하게 나열한 포트폴리오가 있다면
"이 프로젝트에서 왜 Kafka를 사용하셨나요? 그냥 RabbitMQ나 Redis Pub/Sub을 쓰면 안 됐던 이유는 무엇인가요?" "MSA로 구성하셨는데, 각 서비스 간의 트랜잭션 처리는 어떻게 하셨고, 분산 환경에서의 데이터 일관성은 어떻게 보장하셨나요?"
이런 질문들을 할 것 같아요.
이 질문에 제대로 답하는 신입 개발자는 사실 거의 없습니다. 대부분 "요즘 기술 트렌드라서", "MSA가 확장성에 좋다고 들어서" 같은 막연한 대답을 합니다. 이것은 기술을 제대로 아는 것이 아니지요. 결과적으로 좋은 인상을 주기가 어렵습니다.
하지만 반대로 이 기술들에 대해서 진지하게 잘 이해하고 있고, 깊은 고민에서 제대로된 답을 한다면 충분히 도움이 되겠지요?
이번에는 Java, Spring, JPA, RDB 같은 기본기가 잘 갖추어진 이력서라고 가정하겠습니다. 이 포트폴리오를 보면서 이런 질문을 할 것 같아요.
"JPA를 사용하면서 N+1 문제를 겪어보셨나요? 어떻게 발견했고, 어떤 방법들로 해결을 시도해 보셨나요? Fetch Join, @EntityGraph, Batch Size 설정 각각의 장단점은 무엇이었고, 왜 최종적으로 그 방법을 선택하셨죠?" "트래픽이 몰렸을 때를 가정해서, 데이터베이스 커넥션 풀이 부족했던 경험이 있나요? 그 상황을 어떻게 모니터링했고, 문제를 해결하기 위해 어떤 시도들을 했나요? 인덱스는 어떻게 설계했고, 실행 계획을 분석해서 쿼리를 튜닝해 본 경험이 있나요?"
만약 지원자님이 이런 질문에 자신의 경험을 바탕으로 막힘없이, 깊이 있게 대답할 수 있다면 어떨까요?
이것은 기술의 이름만 아는 개발자가 아니라, 기술의 본질을 이해하고, 문제를 마주쳤을 때 스스로 해결할 수 있는 개발자라는 증거라 생각합니다. 화려한 기술은 시간이 지나면 다른 기술로 대체될 수 있지만, 문제를 깊이 있게 파고들어 해결하는 능력은 평생 가는 개발자의 핵심 역량입니다.
모든 것을 다 잘하면 물론 좋겠지만, 신입 개발자에게 기대하는 역량은 제대로된 기본기를 갖추는 것이라 생각합니다. 그리고 실무에서 사용하는 95%는 이런 기본기를 바탕으로 활용하게 됩니다.
책의 경우에는 제가 공부하던 시절의 DB 책들이 대부분 절판되어서 추천이 쉽지 않네요. 권장드리는 방법은 기본편 학습이 끝나고 꼭 직접 대형 서점에 가보는 것을 권장합니다. 그리고 데이터베이스 섹션에서 몇 시간을 보내는 것을 추천합니다.
왜냐하면 남들에게 좋은 책이 나에게도 좋으리란 법은 없기 때문입니다. 베스트셀러라고 무작정 사기보다는, 여러 책을 직접 비교하며 펼쳐봐야 합니다. 목차를 보고 내가 궁금했던 내용이 있는지, 책의 설명 방식이나 코드가 나에게 잘 맞는지, 번역은 매끄러운지 직접 확인해야 합니다. 그렇게 발품을 팔아 '아, 이 책이다!' 싶은, 나에게 딱 맞는 책을 고르는 것이 중요합니다. 그리고 무엇보다 그 과정속에서 또 배우는 것이니까요.
도움이 되셨길 바래요.
답글
Jason
2025.08.05강의와 직접적인 관련이 없는 질문임에도 시간을 내어 자세히 답변해주셔서 정말 감사합니다. 제게 큰 도움이 되었습니다. 감사합니다!