웹 개발자는 크게 프론트엔드, 백엔드로 나뉘어진다. 풀스택 개발자라면 두 개 뿐 아니라 데브옵스까지 참고하면 좋을 듯 하여 가져와봤다.


인트로

 

우선, 형상관리는 Git을 안 쓸 이유가 없는 것 같다. 물론, 아직까지 국내에선 Spring Framework 기반 개발을 하면서 이클립스에서 SVN을 이용하여 관리하는 곳도 많을 것으로 생각된다. 하지만, Git은 branch를 나누고 merge 하는 방식 등 SVN에 비해 형상 관리가 훨씬 강력하다고 생각한다. 거기에 무료이니 안 쓸 이유가 없지 않을까? 그리고 다양한 오픈 소스를 공유하고 받을 수 있는 Github와의 연동을 생각하면 이젠 필수가 아닐까 한다. 이 외에는 인트로에서 특별히 언급할 것은 없는 듯 하다.

 


프론트엔드

전체적으로 PHP, Spring Framework 같은 무겁고 느린 느낌에서 React.js, Node.js 처럼 가볍고 빠른 형태로 바뀌어야 하는 상황이라고 생각한다. Spring도 Spring Boot 처럼 쉽게 쓸 수 있도록 개선을 하고 있지만, MVC(Model, View, Controller)패턴에서 벗어나기 쉽지 않아 보인다. 물론, 개발하는 입장에서는 하던 게 편하기 때문에 리액트보다 스프링 개발이 더 쉬울 수 있겠지만, 모바일 웹과 같이 반응형 화면을 만들기 위해서는 React.js 나 Vue.js 와 같은 자바스크립트 기반 라이브러리로 개발하는 것이 좋아보인다. 동일한 기능을 자바로 한 번, 안드로이드 네이티브로 한 번, 스위프트로 한 번 하는 것은 너무 비효율적이 되어버렸다.

 


 

백엔드

 

백엔드는 전문 분야가 아니지만 개인적인 의견을 써보려고 한다. 빅데이터, 인공지능, 머신러닝과 관련이 있는 사람이라면 어디에서든 핵심 인재가 될 수 있을 것 같다. 캐글처럼 초심자도 이런 것에 대해 쉽게 접할 수 있는 공간이 늘어가고는 있지만, 아직 이런 것을 어떻게 자신의 서비스와 연결시켜서 더 발전시킬 건지에 대해서는 쉽지 않아보인다. 챗봇처럼 이제 주위에서 서비스하는 것이 하나 둘 생겨가기 때문에 자연어 관련 전문가가 되는 것도 좋을 듯 하다. 이것과 관계없는 개발자라면 서버에서 클라이언트로 제공하는 API를 개발하거나 DB 관리 등을 할텐데 아직은 완벽히 넘어갈만한 것이 보이진 않는다. 사실 DB는 어떤 걸 써도 쿼리가 거의 비슷하기 때문에 회사에 따라 선택하는 것 같다. API는 RESTful API에서 GraphQL 로 넘어가는 추세 같지만 아직 주위에서는 RESTful API를 유지하고 있는 상황으로 보인다. 언어 자체는 실리콘밸리에서는 파이썬에서 이미 고랭으로 다 넘어갔다고 들었지만, 나에게 와닿은 것은 없다. 그냥 본인/회사랑 맞는 것을 선택하면 될 듯 하다.

 


데브옵스

 

데브옵스(DevOps)는 소프트웨어의 개발(Development)과 운영(Operations)의 합성어로서, 소프트웨어 개발자와 정보기술 전문가 간의 소통, 협업 및 통합을 강조하는 개발 환경이나 문화를 말한다. 프로젝트 관리를 어떻게 할 건지, 개발 형상 관리를 통해 빌드 배포를 어떻게 할 건지, 테스트 및 릴리즈, 모니터링은 어떻게 할 건지 정하는 거라고 보면 되겠다. 이것은 프로젝트마다 다 다르기 때문에 뭐가 좋은지 말하기가 어렵다. 내가 써본 걸 명시해보자면 프로젝트 관리는 트렐로, 빌드 배포는 젠킨스 정도가 있겠다.

개발이라는 게 분야가 넓기 때문에 국소적으로 보안 쪽을 담당할 수도 있고, 풀스택으로 혼자 하나의 프로젝트를 완성해야 할 수도 있다. 그래서 막상 이렇게 본 것을 어떻게 더 공부해야 할 지 감이 안 올 수도 있을 것 같다. (사실 나도 그렇다) 같은 언어도 패치가 되면서 자주 내용이 바뀌는데, 언어 자체를 바꿔서 공부해야 할 경우도 생긴다. 그렇기에 뭘 하려고 하든 하나의 프로젝트를 완성해 나가는 것이 중요하다고 생각한다. 완성이란게 풀스택을 의미하는 것은 아니고, 자신이 정한 분야에서 온전히 독립적으로 기능을 할 수 있으면 되지 않을까한다. 그렇게 완성을 한, 두 개 늘려가다보면 자신의 커리어가 그 만큼 늘 것이라고 생각한다.

'개발 > My Dev Story' 카테고리의 다른 글

개발을 어떻게 시작해야 할 지 모르겠다면?  (0) 2019.07.09

+ Recent posts