IT아티클

[Blog]

[팀스파르타] 16년차 개발자가 말하는 Node.js를 선택해야 하는 이유

작성자
큐메이트
·
작성일
2024.04.02
큐메이트 프로필 아이콘
0
댓글
0
조회수
1362

이 글은 팀스파르타 블로그에 기재된 글입니다.

원문을 보시려면 여기를 클릭해주세요.

 

16년차 개발자가 말하는 Node.js를 선택해야 하는 이유

Node.js의 장점은 무엇일까요? 앞으로 취업 전망은 괜찮을까요? 현직 개발자에게 물어봤습니다.
 
Aug 24, 2023
 
16년차 개발자가 말하는 Node.js를 선택해야 하는 이유https://inblog.ai/_next/image?url=https%3A%2F%2Ffgobbnslcbjgothosvni.supabase.co%2Fstorage%2Fv1%2Fobject%2Fpublic%2Fimages%2Ffeatured_image%2F2023-08-28T01%3A38%3A56.758Z-33bd90b4-5283-48a1-9068-4a36cb119658&w=1920&q=75 2x" width="960" />
 
????‍????
안녕하세요. 16년차 개발자, 주식회사 데브크라 CIO(정보기술이사) 강창민입니다. 공식적으로는 16년이지만, 개발을 시작한 지는 23년이 됐고요.
오랜 시간 개발을 한 만큼 다양한 언어를 섭렵했는데요. 지금은 Node.js를 중심으로 일하며 내일배움캠프에서 튜터로 활동하고 있습니다.
 
Q. Node.js 개발을 어떻게 시작하게 됐나요?
2013년 지인이 소개해줘서 처음 알게 됐습니다. ‘자바스크립트에 익숙한 사람들은 이걸로 쉽게 서버를 짤 수 있다’며 권하더라고요. 당시에는 ‘이런 게 있구나’하고 넘어갔는데요.
그러다 2017년 제가 CTO로 재직 중이던 회사에서 빠르게 모바일 게임 서버를 구축해야 하는 미션이 생겼습니다. Node.js가 떠올랐죠. 다양한 기술 스택을 비교해 검토한 결과 Node.js가 가장 적합하다고 최종 결정을 내렸고, 그렇게 Node.js 개발에 입문하게 됐습니다.
 
Q. Node.js로 어떤 것들을 개발하셨나요?
인플루언서 플랫폼, 인스턴트 메신저, 아웃게임 등의 서버를 개발했습니다. 저는 현재 개발회사에서 일하고 있는데요. Node.js를 선호하는 클라이언트가 많기 때문에 자연스레 Node.js를 많이 사용하고 있습니다. 80~90%는 Node.js로 개발을 하는 것 같아요.
 
Q. Node.js의 장점은 무엇이라고 생각하시나요?
가장 큰 Node.js 장점은 개발을 정말 빨리 할 수 있어요. Node.js는 자바스크립트(JavaScript) 기반의 개발 환경인데요. 백엔드 개발에 필요한 기능들을 많이 커버하고 있죠. 기본적인 웹 서버 프레임워크부터 DB연결, 외부 서버와 통신 등 웬만한 기능은 모두 Node. js로 가능한 수준이 됐어요.
특히 스타트업에서는 빠르게 MVP(Minimal Viable Product : 최소기능제품)를 개발해 비즈니스 모델 검증을 해야 하기 때문에 Node.js를 선호합니다. 의심의 여지 없이 완벽한 ‘1위’예요.
Node.js는 사용자들의 생태계도 잘 구축되어 있어요. 내가 구현하고 싶은 구성 요소의 절반 정도는 이미 있습니다. 이런 라이브러리를 최대한 활용하면 더 수월하고, 빠르게 개발을 할 수 있죠.
이런 장점 때문에 비록 역사는 짧지만 전 세계적으로 폭발적으로 성장했어요. 넷플릭스, 링크드인, 페이팔 등 세계적으로 유명한 기업들에서 Node.js를 사용하고 있죠.
 
Q. 그렇다면 Node.js 단점도 있을 것 같아요.
Node.js 단점은 우선 싱글 스레드* 기반이기 때문에 CPU 집약적인 작업에는 리스크가 있어요. 대표적으로 MMORPG 게임이나 코인 및 주식 거래 플랫폼 개발에는 적절하지 않죠.
또 자바스크립트가 동적 타입 언어*이기 때문에 자바(Java)와 같은 정적 타입 언어보다 안정성이 떨어지는데요. 타입스크립트(TypeScript) 덕분에 이 문제도 어느 정도는 해결 됐어요. 쉽게 말해 자바스크립트의 코드를 한 번 조사하고 괜찮으면 실행해주는 도구죠. 그래서 자바스크립트를 사용하는 개발자는 타입스크립트도 함께 익히는 것이 좋아요.
 
*하나의 프로세스를 안에서 다양한 작업을 담당하는 최소 실행 단위를 스레드라고 한다. 싱글 스레드는 프로세스 내에서 하나의 메인 스레드만으로 처리하므로, 작업을 순서대로 처리할 수밖에 없다.
*동적 타입 언어는 코드 실행 시 자동적으로 변수의 타입을 판단해 지정하는데, 실행 도중 변수에 예상치 못한 자료형들이 들어와 타입 에러를 발생시킬 수 있다. 한편 정적 타입 언어는 컴파일시 변수 타입이 결정되므로 타입 에러로 인한 문제점을 초기에 발견할 수 있다.
 
Q. Node.js는 취업이 잘 안 된다는 이야기도 있는데요.
한국에서는 ‘자바공화국’이라는 말이 있을 정도로 자바가 강세예요. 자바의 역사가 오래됐고 기존 프로젝트들이 자바로 작성된 경우가 많죠. 솔직히 중견기업에서는 자바를 확실히 더 많이 쓰고 있습니다.
하지만 최근 중견기업에서도 빨리 개발해야 하는 팀, 조직은 Node.js를 사용하는 경우가 늘어나고 있어요. Node.js는 웹 서버 띄우는데 코드 10~15줄이면 충분할 정도로, 뛰어난 효율성을 지니고 있으니 안 쓸 이유가 없는 거예요. 개발 업계에서 ‘Node.js로 충분하다’는 인식이 퍼지고 있는 만큼, 취업 공고도 더 많아질 거라고 생각해요.
 
Q. 개발 입문자에게 Node.js를 추천하는 이유는 무엇인가요?
Node.js를 활용하면 같은 기능도 더 빨리 구현할 수 있는데요. 그만큼 성장에 쓸 수 있는 시간이 많아진다는 의미입니다. 입문자가 처음부터 접근하기 어려운 언어, 개발 환경을 만나면 그걸 해내는 것만으로도 벅찬데요. Node.js는 이런 면에서 개인 성장에 도움이 많이 되는 언어예요.
그 다음 따라오는 질문은 ‘어떤 방향으로 성장할 수 있을까’일 텐데요. 자바스크립트는 프론트엔드에 많이 쓰이는 언어예요. Node.js를 익히면 자바스크립트에 익숙해질 수밖에 없기 때문에 프론트엔드로 쉽게 진출할 수 있죠. 풀스택 개발자가 비교적 쉽게 될 수 있습니다.
 
Q. 현직 개발자로 일하며 내일배움캠프 Node.js 튜터로도 활동 중이신데요. 경쟁력 있는 개발자를 양성하기 위해 중점을 두는 부분이 있나요?
일단 내일배움캠프의 커리큘럼 자체가 알차요. 자바스크립트부터 Node.js, 타입스크립트까지 공부하고, 언어의 이해도를 높일 수 있도록 프로젝트도 여러 번 진행해요. 빠른 시간 내에 성장할 수 있도록 설계돼 있죠. 개발자로 취업하기 위해서는 컴퓨터사이언스에 관한 지식도 알아야 하는데, 이 부분도 커버하고 있습니다.
그 외에 제가 주도적으로 하는 부분은 수강생들의 경쟁력을 높이기 위해 다양한 웹 서비스 분석을 행하고 있어요. Slack, 게더타운, 챗GPT 등 일반적이지 않은 특이한 웹 서비스도 분석을 해 봐야 최근 기술 동향에 대한 이해도 생기고 시장에서 차별성을 가질 수 있다고 생각하기 때문에 커리큘럼에 이 내용을 넣었죠.
시스템이 탄탄해서 그런지 내일배움캠프 수료생 중에는 저희 회사로 데려가고 싶을 정도로 훌륭한 분들이 많아요. 다들 알아서 취업을 잘 하셔서, 저희 회사에 오는 경우는 없었지만요.
 
Q. 내일배움캠프 Node.js 과정을 망설이고 있는 분들에게 해주고 싶은 말이 있나요?
개발자로 꿰는 첫 단추는 정말 중요해요. 그래서 비전공자인 분들은 더욱 고민이 많을 텐데요. 제가 확실히 말씀드릴 수 있는 건 Node.js는 정말 훌륭한 첫 단추예요. 쉽고, 활용도 다방면으로 할 수 있기 때문에 주니어 개발자로 성장하는 데 이만한 도구는 없다고 생각해요.
‘취업 공고가 적다’는 사실에 위축될 수밖에 없다는 것 저도 충분히 이해합니다. 하지만 전문성 있는, 경쟁력 있는 개발자는 분명 좋은 결과를 맞이할 수 있어요. 취업 시장보다는 어떤 서비스를 개발하고 싶은지, 어떤 개발자가 되고 싶은지 고민하는 시간이 더 가치 있다고 생각해요. 어엿한 주니어 개발자가 될 수 있도록 저희가 잘 도와드리겠습니다. Node.js에 관심이 있다면 망설이지 마시고 도전하길 바랍니다.
 

 

개발자 커리어의 첫 단추를 가장 잘 끼우고 싶다면, 내일배움캠프 웹 개발 Node.js 트랙에 지원하세요
Node.js 개발자에 관심이 생겼나요? 내일배움캠프 웹 개발 Node.js 트랙에서는 수강생들이 경쟁력 있는 Node.js 백엔드 개발자로 성장할 수 있도록 프로젝트 중심의 커리큘럼을 준비했습니다.
Javascript, Node.js는 물론, TypeScript, Nest.js까지 주니어 백엔드 개발자가 갖춰야 할 기본기를 탄탄히 기르는 동시에 여러 번의 프로젝트를 통해 현업에서 꼭 필요한 소프트 역량도 쌓을 수 있습니다.
개발 경험이 전혀 없는 비전공자여도 상관 없습니다. 내일배움캠프에서는 의지만 있다면 누구나 성장할 수 있도록 최적의 몰입 환경을 조성해 드립니다. 매니저의 밀착 관리, 오전 9시부터 오후 9시까지 언제나 도움을 구할 수 있는 기술 튜터, 기술적 역량에 따른 반편성 등 수강생들이 5개월 동안 성장에만 집중할 수 있도록 지원하죠.
내일배움캠프 웹 개발 Node.js 트랙을 듣고, 취업까지 성공한 스토리가 궁금하다면 아래 글을 확인해 보세요.

 

CREDIT
글 | 박영경 팀스파르타 에디터
 
 
더 많은 글을 보거나 교육을 알아보려면 스르타 블로그 에 방문해 보세요.
 
00

댓글 0

    작성된 댓글이 없습니다