혹시 풀스택(Full Stack) 개발자를 들어보셨나요? 자신이 개발자로 일하고 있다면 한번쯤 익히 들어봤을만한 용어입니다. 풀스택 개발자는 어떤 개발자를 말하면 왜 우리는 최근 심심치 않게 들을 수 있을까요? 일단 풀스택개발자가 정확히 무엇을 의미하고 있는지 알아보면... 풀스택 개발자, 폴리글랏 개발자 모두 하나의 범주를 넘어 다양한 환경 및 플랫폼을 이해하고 사용되는 대부분의 언어와 지식을 갖춘 인재를 얘기합니다.



# 풀스택개발자를 선호하는 이유는?
왜 많은 곳에서 단 하나의 전문성보다 다양한 지식과 능력을 가진 개발자를 더 선호하는 것일까여? 초기의 웹과 현재의 웹을 비교해보면 답을 찾을 수 있을 것입니다. 정보 공유와 단방향 커뮤니케이션이 대부분이었던 웹은 웹언어, 네트워크, 데이터베이스등 관련된 모든 것들이 빠르게 발전하면서 하나가 아닌 모든 것들과의 관계, 즉 상호 이해와 지식을 점점 더 필요로하게 되었습니다. 다시 말하면 이는 웹개발에 대한 모든 부분들이 서로 연관되어 있기 때문에 이에 대한 다양한 경험과 지식들이 하나에 정통한 것보다... 바꿔말하면 하나에 정통하기 위해서는 다양한 지식을 모두 아는 것이 유리할 수 있기 때문일 것입니다.

현재 풀스택개발자에 대한 니즈는 상당히 많아보입니다. 어느 기업의 경우 풀스택개발자만 채용하는 회사도 있다고합니다. 또한 채용사이트에서 해당 키워드로 검색을 해보면 이를 찾는 채용공고 역시 쉽게 찾을 수 있습니다. 아무래도 규모가 작거나 스타트업의 경우에 더 많이 풀스택개발자를 필요로 하겠지요.

스크린샷) 한 채용공고 사이트의 풀스택개발자 구인 내용



# 풀스택 개발자로 나아가기 위해 알아야할 것들은?
중요한건 단순히 개발 영역의 모든 스펙을 가진다해도 진정한 풀스택 개발자라 부르기 어렵습니다. 수 많은 지식이 필요하며 단순하게 뭐가 풀스택 개발자라 명하기는 간단하지 않죠. 그렇다면 필수적으로 무엇을 알아야할까요? 풀스택개발자가 갖추어야 할 가장 기본적인 언어 또는 스킬을 알아보면 다음의 것들이 있습니다.


! 백엔드, 프론트엔드 UI / UX 구현단계

프론트엔드 개발 역량

- HTML5와 CSS3에 대한 폭넓은 이해 필요
- 자바스크립트의 사용은 물론, 최신 라이브러리 및 nodeJS, backbone 등등의 스킬 요구

서버사이드 개발
사용자 인터페이스(User Interface)

데이터베이스 설계 및 쿼리 작성
API 능숙, MVC 패턴
다양한 오픈 라이브러리 및 플러그인 사용

주요 프레임웍 사용
아키텍트 및 기능, 설계 문서화, 도식화
모바일 앱개발 능력

UX(User Experience) 사용자 경험에 대한 이해


여기까지 무엇보다 중요한 것은 웹서비스를 제공하는 모든 것 즉, a 부터 z까지 상당수준의 이해와 활용이 필수적으로 필요하다는 점입니다.



# 마치면서
최근 스타트업 산업이 점점 확대, 발전하면서 풀스택 개발자가 많이 늘어나는 것 같습니다. 위에 언급한 것처럼 모든 것을 다 할 수 있는 개발자가 많지는 않지만 점점 더... 비록 풀스택개발자는 아니더라도 이에 준하는 더 많은 경험과 스킬을 요구하는 사회가 되가는 것 같습니다.

반드시 풀스택 개발자가 되야만 하냐고 묻는다면 정답을 찾기 어려울 것입니다. 다만 개인적으로도 풀스택 개발자가 미래를 준비하는데 가장 필요한 역량 중 하나는 앞으로도 변하지 않을 것 같습니다.