개발자

NodeJs? Spring?

2023년 06월 22일조회 1,074

백엔드 개발자를 목표로 이제 막 공부하고 있는 학생입니다! 프론트엔드로 웹개발을 처음 접하게 되었고 백엔드의 필요성을 느껴 급하게 공부를 시작하다보니 처음 접하게 된 백엔드 스택이 노드였습니다. 외주도 하면서 공부를 하다보니 여러가지 디자인 패턴에 대해 알게되었고 expressJS는 대규모 프로젝트를 진행하기에는 자유도가 지나치게 높다는 것을 느끼게되었습니다. 때문에 스프링을 공부해야하나 생각을 하게 되면서도 스크립트 언어만 공부를 해왔던 저에게는 자바를 공부하고 새로운 프레임워크까지 공부하기에는 조금 러닝 오버헤드가 높을 것 같아 고민이 되는 상황입니다.. 개인적으로 백엔드 개발자의 필수적인 역량들이 있다면 그러한 역량을 어느정도 갖춘 후에 새로운 기술 스택을 배우는게 맞지 않을까?하고 생각 해왔어서 당장은 스프링에 손을 대지 못하고 있습니다. 그런 와중에 nodejs의 스프링이라고 불리는 nestjs를 접하게 되면서 코드를 분할하고 의존성에 대한 것을 공부하게 되었습니다. 이제 막 공부를 시작하다보니 아직은 개념자체가 너무 어렵고 기존 expressJS와는 완전히 다른 패러다임으로 느껴지더군요. 그러고 공부하면서 느낀 점은 굳이 스프링으로 넘어가지 않고 당장은 nestjs라는 우물을 파서 정착하고 백엔드 개발자로서의 역량을 키우는 것도 좋을 것 같다는 생각이 들었습니다. 정리하자면 노드 개발을 주력으로 하여 expressjs 및 nestjs 백엔드 개발자로서의 역량을 키우는 것이 맞는지, (한국 취업 시장도 고려하면) 지금이라도 스프링 공부를 시작하는 것이 맞을지.. 새로운 프레임워크를 배우기 싫은 어린 아이의 투정이라고 느끼실 수도 있으시겠지만 개발자 선배님들의 좋은 의견 들을 준비되어있습니다! 답변 한번씩만 부탁드립니다..!!

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.

답변 3

인기 답변

달레님의 프로필 사진

ExpreseJS나 NestJS와 같은 자바스크립트 진영의 프레임워크를 학습하실지, 자바 진영의 대표적인 프레임워크인 Spring을 학습하실지 고민이시군요. 스프링으로 백앤드 개발을 10년 정도 하고, Node.js로도 한 5년 이상 개발을 해 본 현직 개발자 입장에서 조심스럽게 답변을 드려보겠습니다. 우선 말씀하신 것 처럼 NestJS에 다루고 있는 개념들이 어렵게 느껴지신다면 Spring을 학습하실 때는 더 큰 어려움을 느끼실 수 있을 것 같습니다. 왜냐하면 우선 자바라는 프로그래밍 언어 자체가 상대적으로 자바스크립트보다는 배우기가 어려운 편이고요. Spring 프레임워크는 NestJS는 상대가 안 될 정도로 어마어마한 생태계를 구축하고 있으서 제대로 공부하시려면 학습할 부분이 굉장히 많으며 상당히 깊이있는 학습을 필요로 합니다. 저도 Spring이 어느 정도 이해가 된다고 느끼는데 몇년이 걸린 것 같으며 제가 공부하는 속도보다 기능이 추가되는 속도가 빨라서 따라가기가 항상 벅찼던 기억이 있습니다. 따라서 저는 개인적으로 NestJS로 백앤드 개발에 중요한 개념들에 대해서 충분히 감을 잡으시고 어느 정도 경험을 쌓으신 다음에 Spring으로 넘어가시라고 추천드리고 싶습니다. NestJS는 Spring에서 인기를 얻었던 OOP(객체 지향 프로그래밍), DI(의존성 주입), AOP(과점 지향 프로그래밍)와 같은 백앤드 개발 트랜드 충실히 반영하고 있거든요. 따라서 NestJS에 대한 이해가 Spring을 공부하실 때 큰 도움이 될 수 있습니다. 저 같은 경우에는 반대로 Spring을 수년 간 써본 상태에서 NestJS를 접했기 때문에 배우는 게 너무 너무 수월했던 기억이 있습니다. 하지만 다시 공부하라고 한다면 NestJS부터 할 것 같습니다. 그리고 백엔드 개발자를 목표로 하신다고 하셨는데 어느 분야로 취업을 희망하시는지도 꼭 고려해보시면 좋겠습니다. 한국에서 자바/Spring의 백앤드 시장 점유율이 전반적으로 높지만 자세히 들여다보면 특히 금융, 정부 기관, 공기업, 대기업 SI/SD 분야에서 자바/Spring(+ Oracle)을 선호하는 경향이 있습니다. 아무래도 Enterprise 시장에서 오랫 시간에 걸쳐 이미 검증을 마친 기술 스텍이기 때문에 비용이 좀 들어도 안정성을 보장받을 수 있으니까요. 하지만 스타트업이나 서비스 개발을 주로하는 중견 기업은 경우에는 프런트앤드와 백앤드 개발이 모두 가능한 자바스크립트로 기술 스택을 구성하는 게 유리한 경우가 많습니다. 이러한 회사들에게는 아무래도 안정성보다는 개발 생산성을 극대화하여 최대한 빨리 제품을 시장에 내놓는 것이 중요하니까요. 게다가 NestJS와 같은 모던 프레임워크를 사용하면 Spring 못지 않은 서버 애플리케이션을 구현할 수 있고요. 따라서 무엇보다 취업을 희망하시는 분야에서 요구하는 기술 스택을 조사해보시고 관심 있는 기업의 채용 정보도 미리 살펴보시면서 학습 전략을 짜시는게 중요할 것 같습니다. 혹시 도움이 되실까해서 예전에 NestJS 처음 시작하시는 분들을 위해서 올려놓은 블로그 포스팅이 있어서 공유드릴께요: https://www.daleseo.com/nestjs/ 아무튼 저말고 다른 분들의 의견도 최대한 많이 들어보시고 원하시는 목표를 이루시기 위한 학습 방향을 잘 잡으실 수 있으셨으면 좋겠습니다 😄

인기 답변

k님의 프로필 사진

저는 코딩초보입장에서 감히 말씀드려봅니다 저는 프론트엔드로 공부하다가 다른.언어가 부담스러워서 nodejs를 공부했습니다 국내 nestjs강의에 대한 수가 별로 없습니다 게시판이나 간단한 restapi 밖에 없더라구여 제가 가장 하고 싶은 말은 혹시 데브옵스 진영을 생각하신다면 스프링을 강추합니다 백엔드공부하다보면 자연스럽게 데브옵스에 대해 눈길이 가더라구요 단순히 restapi를 위한 백엔드로직을 생각하는 것이 아니라 쿠버네틱스나 대용량처리를 위해 kafka등 그러한 MSA강의에 대한 NESTJS강의가 한국어강의가 없습니다 (있으면 답변달아주세여 저도 듣게요.. ㅜ.ㅜ) 제가 알아본바 MSA강의는 JS는 없고(패○○○○○ 2시간 30분짜리 강의 있긴합니다. 근데 너무 아쉬워요 생략된게 많음 코드 복사하라는 항목이.많아요 ㅜ.ㅜ ) 스프링 강의는 MSA강의가 정말 많아요 제가 스프링을 잘 몰라서 하는 말이긴하지만 네스트를 사용할 줄 아는 사람은 스프링도 잘 알것이다 라는.전제가 많아서 네스트 강의로 된 MSA강의는 없는것 같아요 혼자 아무런 가이드 없이 네스트 공식문서로 MSA만드시면 엄청 지루하고 힘든 시간이.될 것 같아요 강의를.듣고 따라해보고 그런다음에 공식문서를 보는.것은.하늘과 땅차이 일거라고 생각합니다 저는 스프링 강력 추천합니다 공부할 자료를 생각하시면 답이.나옵니다

HolyMoly Developer님의 프로필 사진

NODE...같은 건 하등 무쓸모한데 왜 배워요?

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로

지금 가입하면 모든 질문의 답변을 볼 수 있어요!