성장에 목마른 코린이

풀스택 개발자란 본문

Today I Learned/CS 지식

풀스택 개발자란

성장하는 코린이 2022. 11. 17. 09:02
728x90

풀스택 개발자란

단말기앱(app or application), 서버(Server), 웹(Web), DB(Database), OS(Operation System) 등 모든 것을 다 할 줄 아는 개발자를 말합니다.

예를 들어 어떤 게임을 개발을 하고 운영을 한다고 한다면, 이에 대한 모든 기술적인 사항을 한사람 1인이 모든것을 하는 상황에서 이 1인 개발자를 Full Stack Developer라고 부른다. 스택(Stack)이란 뭔가가 쌓여 있는 것을 말하는데, 이 게임에 필요한 모든 기술이 쌓아놓으면, 그 쌓아있는 전체기술을 기술을 Full로 보유하고 있다는 뜻이다.

이때 풀스택 개발자는 OS, DB, 프로그래밍 언어를 선택하고, 개발하고, 운영을 한다고 보면 된다.

1층짜라 건물을 짓는다고 하자면, 혼자서 벽돌 쌓고, 지붕 올리고, 바닥에 보일러 공사하고, 창문달고, 문달고, 상하수도연결하고, 도시까스 설치하고, 벽지바르고, 인테리어 까지, 건물건설에 필요한 모든것을 하는게 바로 풀스택 개발자이다.

채용공고에서는 풀스택 개발자

이렇듯 모든것을 할수 아는게 풀스택 개발자인데, 잡사이트의 구인광고에서 검색을 해보면 너무나 많은 업체에서 너도나도 풀스택개발자를 채용하고 있는 것을 볼수 있다. 쉽게 말해서 현실은 건설현장에서 어떤일이든지 시키는 대로 할수 있는 "일당잡부"가 바로 풀스택개발자의 현실이 아닐까 한다. 기술을 계속바뀌고 업그레이드 되니, 필요한 기술에 필요한 개발자를 충원하는게 아니라, 기존 개발자가 해당 기술을 빨리 배워서 빨리 적용을 해라. 뭐 이런 의미가 강하다고 할수 있다. 필요한 새로운 기술이 나왔을때 "못한다"고 하지 말고, "배워서 빨리해라"라는 뜻이다. 회사를 경영하는 입장에서는 "추가비용"이 들지 않는다게 핵심이 아닐까 한다.

예를 들어서 3~5년차 경력자를 뽑으면서 풀스택개발자를 채용한다고 하는 것은 명확하게 "뭐든지 두루두루 포기없이 잘 할수 있는 개발자"를 채용한다는 것도 동일하다고 할수 있다.

이상적인 풀스택 개발자

이상적은 풀스택 개발자란 경험도 최소10년이상은 되면서, 앱도 만들고 보고, 웹도 만들어보고, 서버단 모듈도 만들어 보고, 서버세팅도 해보고, 데이타베이스 설계도 해보고, 튜닝도 해보고. 두루두루 경험이 많아야 한다. 그러면서 각각의 기술파트에 대해서 이해도도 높고, 결과물에 대한 기술적인 완성도가 높아야 한다. 새로운 기술에 대해서 항상 관심과 호기심이 있어야 한다. 새로운 기술, 모르는 기술에 대한 지적욕구가 업무외 시간에도 관련된 뉴스나 동영상을 통해서 늘 습득을 해서 미리미리 준비를 해야 한다.

풀스택 개발자의 요건

굳이 어떤사람이 이상적인 풀스택 개발자의 요건에 맞을까 골라본다면

1. 새로운 기술에 대한 지적탐구욕이 있어야 한다.

2. 풀리지 않는 기술적인 문제에 대해서 풀릴때까지 해야 한다는 문제해결력이 있어야 한다.

3. 안풀리는 문제에 대한 해결방법을 다양하게 창의적으로 시도를 하는 사고유연성이 있어야 한다.

4. 개발하고 있는 개발하려는 서비스에 대한 기술적인 현재모습 그리고 그 변화의 방향까지 미리 예측해서 미리미리 준비하는 미래대비성이 있어야한다.

5. 혼자서 기술적인 것에 해서 모든 것을 해야 하기 때문에 개발하려는 제품이나 서비스에 대한 높은 서비스이해도가 있어야 한다.

풀스택 개발자가 되는 방법

좀더 간단히 설명하면, 풀스택 개발자가 되고 싶다면 광범위한 기술에 친숙해져야 한다. 이와 관련된 조언을 제공하는 장소들이 아주 많다. 그 중에서도 코더바이트(Coderbyte)의 가이드가 꽤 상세하다. 이 가이드는 다음의 내용을 다루고 있다.


• HTML/CSS
• JavaScript
• 백엔드 언어/ 프레임워크(예: Node.js, Python, Ruby, Java)
• 데이터베이스 및 웹 스토리지(예: MySQL/MariaDB, MongoDB)
• 웹 애플리케이션 아키텍처

 

기술에 더해, 어디에나 있는 버전 관리 시스템, 컴퓨터 과학 기본 알고리즘, 데이터 구조인 기트(Git) 등에 친숙해져야 한다. 주목해야 할 첨단 기술에 대한 정보를 얻고 싶다면 소프트웨어 개발자인 안드레이 네고이(Andrei Neagoie)의 소프트웨어 라이브러리 목록을 확인해보는 것도 좋다.

풀스택 개발자 과정

최소한의 '기초’ 지식을 제공하는 온라인 과정들은 다양하게 찾아볼 수 있다.


• Lynda
• Udacity
• Coursera
• Thinkful
• General Assembly

 

또한 더 상세한 대인(값 비싼) 교육 과정을 제공하는 부트 캠프도 많다. 풀스택 아카데미(Fullstack Academy)가 평판이 높다(그렇지만 풀스택 자바스크립트 개발에 초점을 맞추고 있음). 코스 리포트(Course Report)에서 다양한 옵션이 비교되어 있다.

풀스택 개발자 인터뷰(면접) 질문

베터팀(Betterteam) 같은 구인구직 게시판이나 트레이닝 기업인 디지털 비디야(Digital Vidya) 같은 온라인 리소스에서 풀스택 개발자에 대한 전형적인 인터뷰 질문의 템플릿을 입수할 수 있다. 대부분은 구직자 관점보다 HR의 채용 결정에 도움이 되도록 맞춤화돼 있다. 그러나 흥미로운 패턴을 발견할 수 있으며 풀스택 개발자의 일상이 어떤지 알 수 있는 질문들도 있다.

 

예를 들어, 업무에 대해 알아야 할 모든 것을 알고 있을 수 없기 때문에 고용주는 당신이 빨리 학습을 할 수 있는지 알고 싶을 것이다. 즉 학습 방법에 대한 좋은 ‘대답’을 갖고 있어야 한다. 또 팀웍과 소프트 스킬에 대해서도 이야기하는 것이 좋다. 풀스택 개발자의 업무에는 팀에서의 조율이 요구되기 때문이다.

 

그러나 ‘감정 표현’과 관련된 부분만 있는 것은 아니다. 또 기술 인터뷰에 반드시 포함되는 일반적인 컴퓨터 사이언스 지식에 대해서도 대비해야 한다.

풀스택 개발자 일자리

풀스택 개발자는 일자리 분야에서 꽤 시끄러운 용어다. 여기에는 이유가 있다. 보수를 전문적으로 다루는 페이스케일(PayScale)의 분석에 따르면, 미국에서 2018년 한 해 가장 빠르게 성장한 직종이 풀스택 개발자 직종이다. 이 직종에 대한 수요가 많다. 따라서 여기에 맞춰 계획을 세워야 한다.

 

구직 과정에서 궁금증을 가질 수 있는 것 중 하나는 풀스택 개발자와 소프트웨어 엔지니어의 차이이다. 생각 외로 소프트웨어 엔지니어가 ‘스마트’한 개발자로 사용되는 경우가 많다. 또 풀스택 소프트웨어 엔지니어로 표시된 일자리가 많은 데, 풀스택 개발자 일자리와 다르지 않다.

 

[출처] https://daystudy.tistory.com/1862

 

Comments