[입문] 웹 개발 분야와 성향에 대해서, 나에게 맞는 분야는?
Technique(영상은 8월경 업로드됩니다)
안녕하세요 Lovefield입니다, 이번 글은 입문 과정의 1회차 강의로써 웹 개발의 분야와 성향에 대해서 알아보는 시간입니다.
먼저 웹 개발 분야에 대해서 알아본 후 각각의 성향을 알려드리겠습니다.
그중 자기 자신에게 맞는 분야가 어디일지 곰곰이 생각해보세요.
웹 개발은 크게 4 분류가 존재하며 추가로 웹 개발과 협업하는 보안팀이 존재합니다.
우리가 직접적으로 보는 화면을 관장하는 분야가 있는가 하면 눈에는 보이지 않지만 중요한 역할을 하는 분야도 존재합니다.
다음은 분야별 설명입니다.
- Web Front End Developer (웹 프론트 엔드 개발자)
유저가 보는 웹사이트의 화면을 전부 관장하는 역할을 맡고 있습니다.
눈으로 직접 확인할 수 있는 화면들을 만들고 수정하는 기술을 가지고 있지요.
디자이너와 매우 밀접한 관계를 가지고 있으며 그만큼 큰 영향을 받는 직군입니다.
하나의 웹 사이트를 만들기 위해서 기획, 디자인, 백엔드 개발자 간의 중간다리 역할을 가장 많이 하게 되는 직군이기도 하죠.
주로 HTML, CSS, JavaScript 등의 언어를 다룹니다.
- Back End Developer (백엔드 개발자)
주로 유저가 보는 웹사이트의 데이터를 다루는 역할을 맡고 있습니다.
쉽게 생각해서 로그인, 게시판을 이용할 수 있게 해주는 직군이라고 생각하시면 됩니다.
기획자의 영향을 많이 받으며 기능을 만드는 직군이다 보니 로직(계산식)을 설계하는 능력이 필요합니다.
서버사이드 언어인 PHP, JSP, node.js 등을 다루며 JavaScript도 같이 다룹니다.
- DBA(Database Administrator)
DBA, 한글로 풀어드리면 데이터 베이스 관리자 정도 됩니다.
DB라는 데이터(정보) 저장 공간의 관리자 이며 DB의 설치, 구성, 관리, 모니터링 하는 사람입니다.
주로 도서관의 사서와 비슷하다고 비유를 많이 듭니다.
DB의 종류는 다양하며 Mysql이 가장 대중적입니다.
- Server Engineer (서버 개발자)
서버 개발자는 두 가지 분류가 있는데요.
SE(시스템 엔지니어)와 HE(하드웨어 엔지니어)가 있습니다.
SE는 시스템을 설치하고 관리하는 직군입니다.
위의 개발자들이 작업 가능한 환경을 조성해주는 역할을 하지요.
흔히 우리가 사용하는 윈도우나 맥 같은 운영체제를 설치해 이용할 수 있게 해준다고 생각하시면 편합니다.
HE는 물리적인 서버, 즉 컴퓨터를 설치해주는 직군입니다.
SE가 작업이 가능하게 컴퓨터를 설치해주는 작업을 하게 되죠.
비유하자면 이분들은 집이라는 공간을 만들어 주시는 분들이랄까요?
- 보안팀
보안팀은 웹 개발 분야라기보다는 어느 회사에서나 중요하고 위의 개발자와 항상 같이 일을 하게 돼서 추가로 설명해 드리겠습니다.
보안팀은 악의적인 목적을 가지고 사이트 및 서버에 접근하는 모든 요소를 차단하는 가이드를 제공합니다.
법적으로 지켜야 하는 부분에 대해서도 가이드를 제공하죠.
개발 관련 지식과 법률 관련 지식이 필요한 어려운 직군이지만 개인정보 등 중요한 정보를 보호하기 위해 꼭 필요한 직군입니다.
이렇게 위의 모든 직군이 각자 제 역할을 잘해야지 하나의 웹 사이트가 정상적으로 운영됩니다.
생각보다 많은 인력이 들어가죠? 그래서 작은 기업 및 서비스 업체는 일부분을 큰 회사에 맡기는 경우가 많습니다.
예를 들어 보안 및 서버 개발 부분은 cafe24에 비용을 지불하고 이용하는 방식으로 처리할 수 있죠.
이제 위의 개발자들이 어떤 재미를 통해서 해당 직군에서 근무하는지 알아볼 차례입니다.
- Web Front End Developer (웹 프론트 엔드 개발자)
웹 프론트 엔드 개발자는 시각적인 보상을 즉각적으로 받을 수 있는 직군입니다.
내 손으로 무언가를 만들고 있다는 느낌을 강하게 받을 수 있죠.
진입 장벽이 가장 낮은 직군 이지만 깊게 들어갈수록 상당한 난이도를 보여주기도 하죠.
디자인에 영향을 많이 받는 만큼 좋은 디자인을 그대로 구현 했을때의 쾌감을 보상이라고 생각합니다.
주로 자기 손으로 이쁜 무언가를 만들고 싶어 하시는 분들이 어울립니다.
- Back End Developer (백엔드 개발자)
백엔드 개발자는 웹 프론트 엔드 개발자와 달리 시각적인 보상을 즉각적으로 받을 수는 없습니다.
앞서 설명해 드린 것과 같이 데이터를 다루거나 기능을 제공하는 계열이다 보니 설계에 가깝습니다.
무언가 설계를 하고 생각하던 데로 돌아간다면 그만한 재미가 있을 것 같네요.
- DBA(Database Administrator)
앞서 DBA는 사서와 비슷하다고 설명을 해드렸습니다.
실제로 DBA는 데이터를 어떻게 정리해야 하는지를 정해주는 사람입니다.
정리를 잘하는 사람들이죠.
사실 지인에게 물어보니 다른 사람들이 정리를 너무 못해서 차라리 자기 자신이 하는 게 낫겠다고 생각해 시작하게 되셨다고 하네요.
자기 자신이 정리를 잘한다고 생각하신다면 도전해도 나쁘지 않을 것 같습니다 :)
- Server Engineer (서버 개발자)
서버 개발자는 앞서 집을 만들어주는 사람이라고 했습니다.
환경을 조성하고 관리하는 쪽에 흥미를 보인 분들이 많지 않을까 싶습니다.
SE면 시스템적인 환경에 관심이 많았을 것 같고 HE면 기계에 관심이 많지 않았을까 추측해봅니다.
- 보안팀
보안팀은 디펜더라는 말 이외에는 그 어떠한 비유도 통하지 않을 것 같은데요.
회사의 사이트와 정보를 지키는 직군인 만큼 무언가를 지키는 것에 대해서 자부심을 느끼지 않을까 합니다.
아직 이 직군에 대해 자세히 알지 못하기에 어떤 재미로 이 일을 하시게 되는지는 잘 모릅니다 ㅎㅎ
개인마다 흥미를 느끼는 것이 다른 만큼 분야별로 어떤 점에서 흥미에 이끌렸는지는 조금씩 다를 수도 있습니다.
위의 내용은 제가 5년차가 되는동안 알게된 지식을 기반으로 작성했기 때문에 참고만 부탁드리겠습니다.
다음은 개발자에게 필요한 역량입니다.
사실 어느 직군에나 필요한 역량이지만 조금 뻔하더라도 적어보겠습니다.
- 응용력
개발자는 공부를 하다보면, 경력이 쌓여 갈수록 자기만의 스타일이 생깁니다.
다른 사람과는 코드를 사용하는 방식에서 차이가 발생하게 되는데요.
그럴때 다른 사람의 코드를 보고 작동방식을 이해해 자신의 방식으로 흡수할 줄 알아야 합니다.
그렇지 않으면 기술 습득의 기회가 줄어든달까요?
- 자기 자신을 잘 알고 있기
아마 이건 모든 직군에 공통으로 적용되는 부분일 것 같습니다.
자기 자신에 대해서 잘 알고 있어야 합니다.
공부를 어떻게 해야 효율적인지 자기 자신에게 잘 맞는 방식인지를 인지하고 있어야 합니다.
예로 들자면 필자는 이론에는 약하며 실습에 강해서 주로 무언가를 만들면서 공부를 하는 편입니다.
이렇듯 스스로가 어떤 방식으로 공부를 해야지 효율적인지에 대해서 잘 알고 있어야 합니다.
모르는 상태에서 맞지 않는 방식으로 공부를 하면 밑 빠진 독에 물 붓기밖에 안 되겠죠.
뻔하지만 그래도 필요한 이야기였습니다.
개발자가 되기 위해서 고민 중이시다면 이 글이 도움이 되길 빕니다.
다시 강의를 시작하면서 5년 차가 될 동안 제가 습득한 경험들을 가르치고 정리하고 있습니다.
업계나 회사마다 조금씩 다르게 적용되는 부분들이 존재하니 필자의 글은 온전히 참고용으로 보시기 바랍니다.
혹시나 틀린 정보를 적었을 경우 알려주신다면 반영하겠습니다.