현직자 클래스
멘토에게 질문하기
멘토링 베스트 Pick
취업을 위한 개발자 프로젝트, CRUD 이상으로 중요한 건?
LINE+ · Dev
약 1달 전
💬 멘티의 질문

안녕하세요, 소프트웨어학과 3학년에 재학 중이며 백엔드 개발자를 목표로 하고 있습니다. 이번 방학 동안 동아리에서 협업 프로젝트를 진행하면서 짧은 시간이었지만 많은 것을 배울 수 있었습니다. 하지만 프로젝트를 진행하면서 비즈니스 로직이 단순 CRUD에 머물러 있다는 생각이 들었습니다.


그래서 멘토님께 몇 가지 질문을 드리고 싶습니다.


©Fotis Fotopoulos


1.실제 서비스 개발에서는 단순 CRUD를 넘어 어떤 요소들을 고려해야 할까요?


2.이를 실전에서 경험하려면 어떤 방식으로 접근하는 것이 좋을까요? (예: 개인 프로젝트 진행, 현재 프로젝트 확장 등)


3.동아리 협업 프로젝트는 1개월 단위로 진행되며, 일회성으로 끝나는 경우가 많습니다. 깊이 있는 프로젝트를 만들기 어려운 환경인데, 새로운 프로젝트에 다시 참여하는 것이 좋을까요? 아니면 기존 프로젝트를 발전시키는 것이 더 나을까요?


긴 질문 읽어주셔서 감사합니다! 바쁘시겠지만 답변해주시면 앞으로의 방향을 설정하는 데 큰 도움이 될 것 같습니다. 😊



*CRUD: Create(생성), Read(조회), Update(수정), Delete(삭제)**의 약자로, 데이터베이스를 다루는 기본적인 기능

💬 문범우 멘토의 답변

반갑습니다! 방학 동안 협업 프로젝트를 경험하며 많은 것을 배웠고, 앞으로의 방향에 대해 고민이 많으신 것 같습니다. 질문해주신 내용을 중심으로 답변드릴게요.




1 & 2. 실제 서비스 개발에서 고려해야 할 요소와 경험하는 방법


📌 일정 및 Task 관리

개발에서 중요한 요소 중 하나는 일정 관리와 업무(Task) 관리입니다.

개인 프로젝트나 협업 프로젝트를 진행할 때, 단순히 기능을 개발하는 것뿐만 아니라 초기 기획 단계에서 Task를 정의하고, 일정 계획을 세우는 연습이 필요합니다.

👉 어떻게 경험해볼 수 있을까요?

-새로운 프로젝트를 시작할 때, 먼저 도메인 설계와 기능 목록을 정의해보세요.

-기능별로 Task를 나누고, 개발 예상 시간을 설정한 후 실제 진행하면서 비교해보세요.

-일정이 맞지 않는 이유를 분석하고, 추후 프로젝트에 반영하는 과정이 중요합니다.

이 과정이 익숙해지면 개발 효율성과 협업 능력을 키울 수 있습니다.




📌 대규모 트래픽과 미들웨어 활용

서비스 규모가 커질수록 단순 CRUD만으로는 부족합니다. 데이터가 많아지고 사용자가 늘어나면 트래픽 관리와 성능 최적화가 필수적이죠.

👉 어떤 요소를 고려해야 할까요?

-캐싱(Cache): Redis와 같은 기술을 활용해 데이터 조회 성능을 향상

-비동기 메시지 처리: Kafka 등을 사용해 트래픽 부하를 줄이고, 이벤트 기반 아키텍처 적용

-트랜잭션 관리: 동시 요청이 많을 때 데이터 정합성을 유지하는 방법 고민

👉 실제로 경험하려면?

-Redis나 Kafka 같은 미들웨어를 직접 세팅해보고 간단한 기능을 구현해보세요.

-왜 이런 기술을 사용하는지 고민하면서, 서비스 규모에 따라 적용할 방법을 찾아보세요.




📌 모니터링 및 로깅

서비스 개발은 단순히 기능을 구현하는 것에서 끝나지 않습니다. 실제 운영 환경에서는 에러 로그 관리, 성능 모니터링, 트래픽 분석이 필수입니다.

👉 고려해야 할 점

-로깅 시스템 구축: 로그를 파일로만 남기는 것이 아니라, Kibana 같은 도구를 활용해 가시적으로 관리

-트레이싱: MSA(Microservices Architecture) 환경에서는 요청이 여러 개의 서비스로 나뉘기 때문에, 한 요청이 어떻게 처리되는지 추적하는 기능이 필요

👉 어떻게 경험할 수 있을까요?

-단순 CRUD API를 만들 때도 로그를 남기고, 분석하는 습관을 가져보세요.

-ELK 스택(Elasticsearch, Logstash, Kibana)이나 Prometheus 같은 도구를 활용해보는 것도 좋은 경험이 될 수 있습니다.




©Morgan Richardson


3. 새로운 프로젝트 vs 기존 프로젝트 심화

동아리에서 새로운 프로젝트를 시작하는 것과 기존 프로젝트를 더 발전시키는 것, 어떤 것이 더 나을지 고민되실 것 같아요.

👉 기존 프로젝트를 발전시키는 경우

-리팩토링 경험을 쌓을 수 있음 (코드를 개선하는 과정에서 설계 역량 향상)

-운영 경험을 배울 수 있음 (실제 서비스가 지속적으로 유지보수되는 과정 이해)

-위에서 언급한 트래픽 관리, 로깅, 최적화 작업을 적용할 기회

👉 새로운 프로젝트를 진행하는 경우

-새로운 도메인과 기술을 경험할 수 있음

-프로젝트 초기 설계부터 다시 고민하는 연습 가능

-API 설계, 데이터베이스 구조 설계, CI/CD 구축 등의 경험을 추가적으로 쌓을 수 있음


단순히 프로젝트 개수를 늘리는 것은 추천하지 않습니다. 비슷한 도메인에서 같은 CRUD 기능을 반복하는 것은 큰 도움이 되지 않습니다. 하지만 기존 프로젝트에 아쉬운 점이 있어 개선하고 싶다면, 같은 도메인을 유지하면서 더 깊이 있는 작업을 해보는 것도 좋은 선택입니다.


무엇보다 중요한 것은 **"내가 어떤 경험을 더 쌓고 싶은가?"**에 따라 방향을 정하는 것입니다.




💡 마무리하며

개발 역량은 단순히 프로젝트 하나를 끝낸다고 해서 급격히 향상되지 않습니다. 목표를 명확히 설정하고, 꾸준히 개선해 나가는 과정이 필요합니다. 프로젝트를 진행할 때, 단순히 기능을 구현하는 것이 아니라 "이 기능을 더 나은 방식으로 개발할 수 없을까?" 라는 고민을 지속적으로 해보세요. 어려운 점이나 더 궁금한 점이 있다면 언제든 질문 주세요. 함께 고민해보면 좋을 것 같아요! 😊



멘토님 제가 고민하는 부분에 대해 자세히 답변해주셔서 정말 감사드립니다. 말씀해주신 부분들에 대해서 고민하고 적용해보도록 노력하겠습니다. 다시한번 감사드립니다!


문범우 멘토
LINE+ · Dev
IT개발/데이터
LINE+에서 근무중인 서버개발자입니다.
개발을 시작하며 많은 분들과 커뮤니티를 형성하고 있으며,
꾸준히 다양한 사람들의 이야기를 들으면서 어떻게 성장해나가는 것이 좋을지를 고민하고 있습니다. 꿈을 고민하거나, 취업을 준비하는 여러분들과 현실적이고 유용한 대화들을 함께 이어나갈 수 있을 것이라 생각합니다.
특히, 취업을 준비하는 분들을 대상으로 많은 도움을 드릴 수 있을 것 같으니, 언제든 편하게 연락주셔도 좋습니다.
같은 직무를 다룬 글
인기 있는 글
생산/품질/제조
약 6년 전
공무원/비영리
약 6년 전