지난 기고에서 개발을 모르는 채용 담당자가 개발자를 뽑을 때의 상황에 대해 소개했다. 이번 기고에서는 조금 더 채용 포지션을 구체화해 이야기하겠다.

기업에서 새로운 웹서비스나 모바일 애플리케이션 서비스를 준비하려면 개발자는 반드시 필요하다.
그 과정에서 서비스 기획자, UI/UX 디자이너, 웹 디자이너, 프론트엔드, 벡엔드 혹은 풀스택(Full-Stack), 서버 엔지니어 등의 인원을 필요로 하게 된다.

그중에서 프론트엔드(Front-End) 개발자와 백엔드(Back-End) 개발자의 차이에 대해서 이야기하겠다. 기업이 IT 개발자를 채용할 때에는 그 차이에 대한 이해를 한 후에 채용을 진행해야 한다.

물론 다수의 채용 담당자들은 이 둘의 차이를 알겠지만 아직 그에 관한 정보가 없는 이들을 위해 설명하고자 한다.

프론트엔드 개발자의 역할

프론트엔드 개발자가 하는 일은 디자이너들이 기획자의 의도에 따라 디자인한 화면의 이미지를 웹서비스나 어플을 사용하는 유저들이 시각적으로 눈앞에서 직접 대면하는 표면적인 부분을 담당하게 된다.

모니터 화면 곳곳에 뿌려지는 이미지와 버튼을 클릭했을 때의 기능적인 부분이 어떻게 작동되는지, 그리고 화면의 비율이나 레이아웃이 모니터 해상도에 따라 능동적으로 변화가 가능하도록 되는지 등 일련의 작업들이 프론트엔드 개발자들의 노력으로 이뤄진다.

이러한 프론트엔드 개발자들이 가진 스킬 또한 백엔드 개발자와는 전혀 다르다.

서비스 기획자와 디자이너의 제작 의도와 요구사항에 따라 HTML과 CSS, 자바스크립트 등을 이용해 웹페이지 빌드를 진행한다. 또한 효율적인 작업과 유연하고 미려한 동작을 위해 jQuery, Bootstrap, Backbone, AngularJS, EmberJS 등의 스킬을 숙달하기도 한다.

프론트엔드 개발자들은 이러한 기술적인 경험과 지식으로 기획자 혹은 디자이너들과 긴밀한 논의와 협업을 통해 작업을 조율해 가며 하나의 서비스를 만든다.

백엔드 개발자의 역할

위에서 프로트엔드 개발자의 역할에 대하여 설명을 했으니 이제 백엔드 개발자의 이야기를 할 차례다.

눈치가 빠른 이들은 대략 "그렇다면 백엔드 개발자는 눈에 안 보이는 부분을 맡아서 하겠군…"이라고 생각할 수도 있겠는데, 대충 맞는 말이다.

좀 더 자세히 설명하자면 앞서 이야기한 프로트엔드 개발자가 눈에 보이는 비주얼적인 측면이 강했다면 백엔드 개발자는 서버의 작동과 밀접한 연관이 있다.

웹사이트나 모바일앱을 사용하는 유저들이 브라우저를 통해 입력한 정보나 신호가 결국 최종적으로 도달하는 곳은 서버가 된다.

백엔드 개발자들은 이러한 정보를 수용하기 위해 마련된 서버를 구성, 관리하거나 용도에 맞도록 환경설정 및 최적화를 하는 임무를 맡고 있다. 물론 그러자면 데이터베이스(DB)를 설계 혹은 관리하고 서버를 코딩하기도 한다.

이러한 백엔드 개발자들은 작업이 이뤄지도록 보유한 기술 또한 프론트엔드 개발자들과는 달리
PHP, Ruby, Python, Java, .Net 등의 프로그래밍 언어를 습득하고 있다. MySQL, Oracle, SQL Server 등 데이터베이스 관련 스킬 또한 보유하고 있는 것이다.

되도록이면 간단하게 설명을 하느라 수박 겉핥듯이 지나치긴 했지만 조금이라도 개발자의 영역에서 프론트엔드와 백엔드의 차이를 구분하는 것에 도움이 되었기를 바란다.

IT 개발자를 채용하는 채용담당자는 꾸준히 변화하고 새롭게 등장하는 개발자의 업무 영역에 대해 트렌드를 파악해야 한다. 또한 회사가 원하는 기술과 역량을 가진 인력을 채용할 수 있도록 함께 노력한다면 더욱 좋은 결과를 얻을 수 있을 것이다.

※ 외부필자의 원고는 IT조선의 편집방향과 일치하지 않을 수 있습니다.

김용욱은 기업과 IT 개발자 Job Matching 전문 서비스 Dev2Job의 CMO로 재직 중이다. 20년간 한국과 일본의 IT 관련 업계에서 퍼블릭 클라우드, 프라이빗 클라우드, 금융 클라우드, 하이브리드 클라우드 관련 컨설팅을 해왔다. 현재는 개발자 채용 전문 서비스인 Dev2Job을 운영하고 있다.


관련기사