Spring Boot vs Node.js: 한국 내 개발자 채용 및 유지보수 고려 시 Back-end Stack 조언 부탁 드립니다.

알림
|
X

페이지 정보

작성자 MadInventor 61.♡.130.189
작성일 2024.07.22 13:14
988 조회
0 추천
글쓰기

본문

안녕하세요 개발한당 여러분 🧑🏻‍💻

현재 외주 SI 회사에 위탁하여 React 웹 기술 스택을 사용한 웹 서비스를 개발하고 있습니다.
하지만 미래에는 자체적으로 개발자 채용을 통해 한국에서 개발자 인력을 구하고, 내부에서 개발을 진행하고자 계획하고 있습니다.

개발하려는 서비스는 기능이 단순한 학원 강사용 강의자료 웹 앱 입니다.

이와 관련하여 Back-end 플랫폼을 어떤 것으로 선택할지 고민하고 있습니다. 주요 후보는 Spring Boot와 Node.js 두 가지입니다. 이에 대해 개발한당 님들의 조언을 구하고 싶습니다.

Spring Boot를 선택했을 때의 장점으로는 강력한 프레임워크로서 엔터프라이즈 레벨의 어플리케이션 개발에 적합하며, 다양한 기능을 내장하고 있어 대규모 프로젝트에 유리하다고 알고있습니다.
또한, 풍부한 문서와 커뮤니티 지원 덕분에 구글링으로 관련 자료를 쉽게 찾을 수 있고, 커뮤니티의 도움을 받을 수 있다고 들었습니다.

반면, Node.js를 선택했을 때의 장점은 경량화된 프레임워크로 빠른 개발과 배포가 가능하며, 프론트엔드와 동일한 JS언어를 사용함으로써 개발의 허들이 낮다고 이해하고있습니다.

제가 고민중인 사항은 아래와 같습니다.

  1. 개발자 채용의 용이성: 한국 내에서 개발자를 채용하는 것이 용이한 플랫폼은 무엇인가요?
  2. 유지보수의 편리성: 장기적으로 봤을 때 유지보수가 용이한 플랫폼은 무엇인가요?
  3. 소규모 프로젝트의 특성에 맞는 최적의 성능: 상대적으로 작은 트래픽(이미지,오디오 에셋 로딩)을 처리하고 안정적으로 서비스를 운영할 수 있는 플랫폼은 무엇인가요?

한국 내 개발자 채용 시장의 관점에서 어떤 선택이 더 나은지 여러분의 경험과 조언을 듣고 싶습니다.

많은 조언 부탁드립니다. 감사합니다!

댓글 8

메티리얼님의 댓글

작성자 메티리얼 (183.♡.48.129)
작성일 07.22 15:19
1. Vue + Spring 이지 않을까합니다. React가 구인/구직이 많은 기술이긴합니다만 Vue의 낮은 학습 허들은 장기적으로 구인 난이도가 낮을 걸로 예상합니다. 백엔드는 논란의 여지가 별로 없는게 돌아가는 Spring 기반 서비스가 압도적으로 많습니다. 그만큼 인력풀도 큽니다.

2. 학습 곡선이 높은 기술은 부득이한 경우를 제외하고 피하려고 합니다. 이건 회사 상황에 따라 다를 수 있으니 구체적인 기술은 언급하지 않겠습니다. 쉬운게 최고죠!!

3. 대규모 시스템에선 최적 성능이 매우 중요하지만 소규모에선 성능의 우선순위는 그리 높지 않습니다. 소규모 프로젝트는 일단 빠르게 구현하는게 가장 중요하고, 사용자 증가 추이에 맞춰 성능을 개선하는게 좋다고 생각합니다. 그래서 일단 오픈소스 생태계가 잘 갖추어진 기술 선택 후 빠르게 서비스를 구축하고 이후에 소스 커스터마이징 혹은 자체 구현하는 회사들이 많습니다.

개발자 관점이 아닌 관리자 관점 의견입니다.

MadInventor님의 댓글의 댓글

대댓글 작성자 MadInventor (61.♡.130.189)
작성일 07.22 15:26
@메티리얼님에게 답글 부득이 하게 프론트는 React로 고정한다면, 백앤드는 SpringBoot와 NodeJS 중 어떤게 나은 선택인걸까요 🥲

메티리얼님의 댓글의 댓글

대댓글 작성자 메티리얼 (183.♡.48.129)
작성일 07.22 16:55
@MadInventor님에게 답글 기술 관점에선... DB CRUD가 대부분이면 Spring, 작은 비동기 로직이 많으면 Node가 좋습니다.
구인 관점이면 위에 썼듯이 Spring 백엔드 개발자가 압도적으로 많습니다.
https://zero-base.co.kr/event/media_insight_contents_BE_backend_Node_js

MadInventor님의 댓글의 댓글

대댓글 작성자 MadInventor (61.♡.130.189)
작성일 07.22 17:04
@메티리얼님에게 답글 자세한 조언 감사드립니다 😁
결정에 도움이 많이 되었습니다!

무지개발자님의 댓글

작성자 무지개발자 (125.♡.213.35)
작성일 07.30 00:45
저는 스타텁은 vue(쌩 뷰 말고 quasar) nodejs 조합 추천합니다

요즘은 여기에 배포로 vercel 조합도
추천합니다

한국에서 spring은 si나 대기업 위주입니다
빠르게 아웃풋이 나오는 거랑 좀 거리가 있어서 일하다보면 답답할 우려가 있습니다
정말 스케일이 커져서 문제가 되는 기업은
별로 못봤습니다

리액트도 약간 그런면이 있습니다

식당으로 치면 호텔의 룰과
동네 식당의 차이인데

나중에 호텔급 될거라고
시작도 호텔급으로 할수도 있지만
처음은 좀 빠르게 진행하고
업의 진행 상황에 따라
필요할 때 전환하는 게 맞다 봅니다

스케일은 돈이 잘 벌리면 어떻게든 해결합니다

Walmart는 nodejs로 백엔드 운영하고 자체적으로 만든 hapi.js로 블랙 프라이 데이 다 견딘다고 한지가 한참 전입니다
월마트급이 되는데 우리는 그 이상이다면 모를까 툴 따라 더 안전하고 더 스케일 가능하고 이런 거는 없다 보는게 맞습니다

그리고 플랫폼은 그냥 도구이지 결국 기본은
http 통신의 연장입니다

툴이나 프레임워크 이전에
제대로 다 이해하고 실행할수 있는 개발자를 만나고 그 사람의 의견을 경청하는게 좋다고 봅니다

멋진피아니스트님의 댓글

작성자 멋진피아니스트 (1.♡.46.88)
작성일 08.07 20:52
대기업 주요 사내 시스템을 개발했던 사람입니다.
1. 백엔드는 무조건 스프링부트로 하시길 추천드립니다.
앞으로 발생할 모든 문제에 해결 방법이 있습니다.
스프링부트는 쉬우며 개발자도 많습니다.
2. 프론트는 react를 추천드립니다.
무료 component도 많고 역시 개발자도 많습니다.
초기에 코딩 패턴만 잘 잡아놓으면 개발 생산성이 매우 좋습니다.

ISLER님의 댓글

작성자 ISLER (14.♡.41.223)
작성일 08.11 23:17
도메인 이해도가 높으며 설계에 뛰어난 시니어가 있으면 스프링부트가 됐든 노드가 됐든 뭐든 상관없지만
그냥 코더들만 모여있으면 스프링 부트가 맞습니다.
프레임워크가 강제하는 면이 많아 모르는 사람이 붙어도 유지보수가 상대적으로 쉽고, 잘못 됐을때 그나마 다시 돌아가기 용이합니다.
스프링 부트 별거 아니라고 생각했는데.. 요즘 타 언어 유지보수하면서 스프링 프레임워크의 위대함을 세삼 느끼는 중입니다..

winnt님의 댓글

작성자 winnt (220.♡.58.253)
작성일 08.13 14:06
구인 관점에서 보면 국내에서는 spring 이 유리합니다.
그리고 시니어급 개발자 채용으로 간다면..  node.js 시니어 개발자는 구하기가 정말 어렵습니다.
글쓰기
홈으로 전체메뉴 마이메뉴 새글/새댓글
전체 검색