멘토지원
파트너스
현직자 클래스
멘토 찾기
Best 질문답변
멀티 플레이어, 풀스택 개발자의 명과 암?
K금융그룹/前)삼성SDS,NCSoft · 빅데이터엔지니어링
약 5년 전
💬 멘티의 질문

안녕하세요, 멘토님. 대학교 3학년 때 우연히 스타트업에 스카우트 돼서 전공을 떠나 IT개발 직군에서 일을 시작하게 된 멘티입니다.

 

©️Brian A Jackson

 

스타트업이다 보니 체계가 완벽하지 않아 언어나 분야 상관없이 프론트엔드1), 백엔드2) 기술이 필요할 때마다 학습하게 되었습니다. 결국, 모든 것을 혼자 구현하는 개발자, 풀스택 개발자3)가 되었고요.

 

덕분에 회사에서 많은 팀이 저를 필요로 했고 이에 보람을 느끼며 일을 해왔는데 막상 졸업이 다가오니 진로에 불안감이 생겨서요. 풀스택 개발자에 대한 멘토님의 생각이 궁금합니다. 감사합니다.

 

 

1) 프론트엔드 : 프로세스의 처음 단계를 가리킨다. 프론트엔드는 사용자로부터 다양한 형태의 입력을 받아 백엔드가 사용할 수 있는 규격을 따라 처리할 책임을 진다. 흔히 프론트엔드 개발자라고 하면 사용자가 직접 사용하는 인터페이스 부분에 대해 개발을 한다.


2) 백엔드 : 프로세스의 마지막 단계를 가리킨다. 흔히 백엔드 개발자라고 하면 눈에 보이지 않는 부분에 대해 개발을 한다.


3) 풀스택 개발자 : 프론트엔드와 백엔드가 모두 가능한 개발자를 뜻한다.


💬 박재선 멘토의 답변


안녕하세요, 멘티님. 풀스택 개발자에 대해 고민이 있으시군요.

 

©️voyata

 

과거에는 모두가 풀스택 개발자였다?

풀스택 개발 (FullStack Developing)이라는 말이 번진 것은 오래된 일은 아닙니다. 제가 SW 개발자로 사회생활을 시작하던 2000년대 후반까지만 해도 풀스택 개발이라는 용어는 있었지만 자주 쓰지 않았거든요.

 

요즘에는 우리나라 개발 문화가 세분되면서 분야에 따라 명칭이 다양해졌습니다. 인터페이스를 담당하는 프론트엔드 개발과 영속적인 데이터를 관리하는 데이터베이스 개발자, 프론트엔드 영역과 상호작용하는 백엔드 영역 등으로 나뉜 셈이죠.

 

그전에는 화면 설계, 화면 개발, 서버 개발, DB 설계 및 데이터 개발을 한 사람이 하는 것이 통상적이었습니다. 쉽게 말해 과거에는 모두가 풀스택 개발자였죠. 지금의 한국처럼 세분되어 있던 시스템을 따르던 외국 입장에서는 한사람이 프론트엔드, 백엔드 구분 없이 모두 할 수 있다니까 놀라워했다는 씁쓸한 에피소드도 있을 정도였으니까요.

 

저도 마찬가지입니다. 백엔드 개발을 주로 하지만 필요하면 화면을 만들거나 개발하기도 합니다. 제가 이런 이야기로 답변을 시작한 이유는 풀스택 개발자라는 게 우리나라에서는 평범한 스펙트럼에 속한다는 걸 말씀드리고 싶었어요.

 

©️Yeexin Richelle


풀스택 개발자의 장점은?

풀스택 개발이 가진 장단점을 생각해보면 고민을 조금 덜 수 있을 것 같아요. 

 

먼저 풀스택 개발을 하면 다방면의 지식을 얻을 수 있다는 점이 큰 장점입니다. 저도 풀스택 개발을 하다 보니 다른 분야의 사람들과 협업을 할 때 의사소통이 훨씬 쉽습니다. 가령 백엔드 개발을 하는 제가 프론트엔드나 인프라 담당자와 협업을 할 때 그들의 업무에 대한 이해도가 있다 보니 훨씬 의사소통이 잘 됩니다. 가끔 신입사원부터 한 분야만 파신 분들이 다른 분야와 협업할 때 의사소통의 문제가 생길 때도 있거든요.

 

추가로 풀스택 개발은 다양한 분야를 경험하기 때문에 자신이 맞는 분야를 찾기 수월합니다. 풀스택 개발을 하면 자신이 개발자이지만 인프라나 DBA1) 쪽으로도 커리어를 뻗칠 수 있거든요. 하지만 프론트엔드 개발만 해오던 사람이라면 다른 직무로 이동하는 데 어려움이 있겠죠? 아무래도 자신의 커리어를 다양하게 고려하기에는 풀스택 개발자가 유리한 점이 있는 것 같습니다.

 

©️Artur Szczybylo


풀스택 개발자의 단점은?

다만 한 분야만 집중해온 개발자에 비해 풀스택 개발자는 특정 분야의 깊이 있는 실력을 갖추기 어려울 수 있습니다. 이게 단점이죠. 특히 요즘처럼 SW개발 기술이 빠르고 다양하게 변할 때는 풀스택 개발자의 경우, 깊이 있는 지식을 쌓기가 어려운 부분이 있다고 생각합니다.

 

 풀스택 개발을 하면 아무래도 시간에 쫓겨 일을 처리하는 경우가 많습니다. 그럼 결과물의 품질 향상에 소홀하게 되고 새 기술을 받아들이는 데 어려움이 있곤 합니다. 아무래도 익숙한 방법과 툴로 SW 개발을 이어갈 가능성이 높겠죠.

 

이런 장단점이 있는 만큼 풀스택 개발이 좋거나 나쁘다고 단정 짓기는 어렵습니다. 다만 풀스택 개발이 갖는 장점을 보면, 개인적으로는, SW 개발을 시작하는 입장에서 유리한 부분이 있을 것 같아요. 다양한 분야에서 지식과 경험을 쌓고 어느정도 경험이 쌓이면 본인과 잘 맞는 분야로 집중하는 것이죠. 집중하다 보면 뛰어난 엔지니어로서 성장할 거라고 생각합니다.

 

제가 멘티님의 전공이 무엇인지는 모르나 전공 지식을 SW 개발과 접목하는 것도 방법입니다. 그럼, 지금까지 없던 새로운 유형의 개발자로 성장할 수 있지 않을까요? 지금 하고 계신 모든 것들이 힘들겠지만 중요한 밑거름이 될 거라 생각합니다. 멘티님을 응원합니다.

 

 

1) DBA : Database Administration. 데이터베이스 시스템을 원활하게 수행하도록 데이터베이스의 전체적인 관리 운영에 대한 최고의 책임을 지는 개인 또는 집단


박재선 멘토
K금융그룹/前)삼성SDS,NCSoft · 빅데이터엔지니어링
IT개발/데이터
저는 (흔히) 크게 알려지지 않은 대학교를 졸업하고 벤처기업을 거쳐 삼성SDS에 신입공채를 통해 입사하였습니다. 9년간의 IT서비스업 경험을 토대로 디지털화 하고 있는 현대카드에 경력 이직하여 SW개발 및 데이터엔지니어로 업무를 수행하다가 새로운 비즈니스 영역으로 발을 넓히고 있는 NCSoft 로 옮겨 데이터 플랫폼 엔지니어로서 오늘도 일하고 있다가 카드회사에서 클라우드 환경기반의 AI플랫폼을 담당하고 있습니다. 저는 삼성SDS에 재직할 당시 3년이상 '삼성직업멘토링' 에 참가하였고, 이후 다양한 곳(온/오프라인)에서 만난 친구들과 인생의 선배와 후배로 인연을 이어가고 있습니다. 멘토라서, 멘토로서 이야기 하기 보다는 선배와 후배로서, 대한민국에서 직장생활을 하는 사람 또는 IT를 하는 사람이라는 공동체 의식속에서 이야기하고 서로가 서로에게 도움이 되면 좋겠다고 생각하는 사람입니다. 어떤 이야기든 서로의 생각을 나눌 수 있었으면 좋겠습니다. 어려워 마시고 편하게 이야기 할 수 있기를 희망합니다 :D
같은 직무를 다룬 글
인기 있는 글
연구/설계
약 6년 전