비전공자의 IT기업에서 살아남기(1) : 개발자의 분류

비전공자의 IT기업에서 살아남기(1) : 개발자의 분류

작성자 hectodata

코드에프는 구성원의 약 70%가 개발자인 파.워. IT 기업입니다. 따라서 마케팅, 디자인, 사업 등 비개발 부서는 생소한 업무 플로우나 단어에 어려움을 느끼는 경우가 많죠.

비전공자가 IT기업에 적응하고 원활한 협업을 하기 위해서는 어느 정도 개발에 대한 큰 그림을 그리고 용어를 이해할 필요성이 있습니다. 그래서 마케터인 필자가 필요해서 직접 정리해 본 “비전공자의 IT기업에서 살아남기!” 첫 번째 주제로 ‘개발자의 종류’에 대해 다루겠습니다.

"마케터 ㅁㅁ씨 : ㅇㅇ님, 웹 사이트 메인 화면에 로고 오류가 있는데 한번 봐주시겠어요?"
"개발자 ㅇㅇ씨 : 아, 저는 백 엔드 담당이어서요. 그쪽은 △△님에게 여쭤봐주세요."

이런 대화를 직접 나눠보신 분 계시나요? IT 회사에 합류한지 얼마 되지 않아 협업을 처음 하는 비개발자라면 자주 겪을 수 있는 상황입니다. 개발에 대한 이해도가 없다면 ‘코딩을 하는 사람 = 다 같은 개발자’라고 생각하기 쉽습니다. 하지만 개발자는 다루는 플랫폼, 운영체제, 개발 언어 등 여러 가지 기준에 따라 굉장히 다양하고 세분화 되어 있습니다.

웹 개발자

웹 개발자는 우리가 일반적으로 사용하는 웹 사이트, 즉 월드와이드 웹(www) 기반의 소프트웨어를 만드는 개발자를 의미합니다. 그리고 웹 개발은 사용자가 직접 보고 클릭하고 상호작용하는 외부적인 화면 요소를 만드는 ‘프론트 엔드 개발자'와 웹 사이트에 데이터를 전송하기 위한 기능을 구축하는 ‘백 엔드 개발자'로 나뉩니다.

💬
과거만 해도 개발 직군은 풀스택으로서 프론트와 백, 심지어는 인프라까지 구분 짓지 않고 모든 개발을 하는 사람을 칭했습니다. 소규모 기업의 경우 아직까지 현업에서 이런 분위기가 남아있기도 하죠. 게다가 기업마다 프론트와 백 개발자가 맡는 업무가 굉장히 달라 분류하기가 모호한 편입니다.

프론트 엔드(Front-end) 개발자

프론트 엔드 개발자는 백 엔드 API(Application Programming Interface)에서 가져온 데이터의 출력, 입력을 통한 비즈니스 로직 구성과 사용자 인터페이스에 대한 작업을 수행합니다. 간단히 말하자면, 유저가 눈으로 보는 모든 것을 개발한다고 보면 됩니다.

고객이 서비스 정보를 탐색하고, 이용할 때 가장 먼저 보는 부분을 담당하므로 고객의 반응을 확인하여 즉각적으로 판단하고, 빠르게 대응해야 합니다. 또한 현업에서 주로 사용하는 언어가 계속 발전하고 바뀌기 때문에 프론트 엔드 개발자는 끊임없이 공부하고 업계의 흐름을 읽을 필요성이 있습니다.

프론트 엔드 개발자가 사용하는 언어

  • Javascript : 자바 스크립트는 대화식 웹 페이지를 만들기 위해 사용하는 프로그래밍 언어입니다.¹ 멀티미디어의 재생이나 마우스를 올려두었을 때 버튼 색상의 바뀌는 등 동적인 콘텐츠다 담겨있다면 자바스크립트를 이용했을 가능성이 큽니다. 주로 웹 브라우저에서 사용되나 프레임워크를 사용하여 백 엔드를 구현할 수도 있습니다.
  • Vue.js : Vue.js(뷰 제이에스)는 프론트 엔드 개발을 보다 쉽게 하기 위한 자바 스크립트 프레임워크 중 하나입니다. 프레임워크에는 다수의 개발자가 실제로 사용하는, 수정을 거친 여러 코드가 등록되어 있습니다. 따라서 개발자는 반복적인 코딩 작업을 줄여 기능 구현에만 집중할 수 있죠. Vue.js는 React(리엑트)와 Angular(앵귤러)와 같은 다른 프레임워크보다 가볍고 성능이 빠르며, 배우기 쉽다는 장점을 지니고 있습니다.
💬
HTML과 CSS는 웹 페이지 제작을 논할 때 기본적으로 등장하는 언어 두 가지입니다. 웹 퍼블리셔가 따로 없는 기업의 경우 프론트 엔드 개발자가 해당 언어까지 다루는 편입니다.
HTML은 웹 사이트의 구조를 기술하기 위한 마크업 언어, CSS는 배경색・글꼴・레이아웃 등 디자인 영역을 담당하는 언어로 프로그래밍 보다는 퍼블리셔 영역에 초점이 맞추어진 언어입니다.

백 엔드(Back-end)개발자

백 엔드 개발자는 사용자의 눈에는 보이지 않는 기능을 구현을 하기 위한 개발과 관리를 담당하며 사용자가 호출한 데이터를 보다 빨리, 정확히 송출하는 로직을 개발합니다. 좀 더 쉽게 설명하자면 웹 사이트에서 일반적으로 볼 수 있는 회원가입, 로그인 등의 기능을 구축하는 직군이 백 엔드 개발자라고 할 수 있습니다.

기능 설계가 주된 업무이기 때문에 기획자와 자주 소통해야 합니다. 그리고 사용자들의 행동을 사이트 내에서 처리할 수 있도록 화면 구성과 관련 없는 전반적인 모든 개발을 하게 됩니다. 프론트 엔드 개발자와 비교하면 현업에서 사용하는 언어의 변화가 큰 편은 아니지만, 데이터베이스를 활용한 기능 구현과 로직을 짜는 논리력이 필수적이므로 좁은 영역을 깊게 공부해야 합니다.

백 엔드 개발자가 사용 하는 언어

  • Java : 자바는 웹 개발 이외에도 서버, 모바일 등 다양한 분야에서 활용되는 개발 언어입니다. Java Virtual Machine(JVM)를 설치하면 작성한 코드를 각기 다른 플랫폼에서 동일하게 작동시킬 수 있기 때문에 전 세계의 많은 백 엔드 개발자들이 선택하는 언어 중 하나입니다.
  • Python : 파이썬은 영어와 비슷한 구문으로 구성되기 때문에 입문자가 접근하기 편리하고, 현업에서도 널리 활용되는 개발 언어입니다. 또한 문법 체계 자체가 사람의 사고방식과 매우 닮았기 때문에 인공지능 분야에서 많이 사용되곤 합니다.

--------------_-----------_05-2

앞서 설명한 프론트 엔드와 백 엔드 개발자의 개념만 정확히 알고 있어도 비개발직군으로서 개발부서와 협업하는데 큰 문제는 없을겁니다. 아래 내용은 여러분의 이해를 돕기 위한 추가적인 분류로, 참고해주시기 바랍니다 : )

--------------_-----------_05-3

모바일 앱 개발자

모바일 환경에서 돌아가는 프로그램, 즉 ‘앱’을 만드는 사람이 바로 모바일 앱 개발자입니다. 상대적으로 다른 개발 분야에 비해 진입장벽이 낮기 때문에 개발을 도전하는 사람들에게 많이 추천됩니다. 운영체제에 따라 직군은 두 가지 영역으로 나뉩니다.

안드로이드(Android) 개발자

안드로이드 운영체제에서 구현되는 앱을 만드는 개발자입니다. 국내의 경우 안드로이드가 모바일 앱 시장을 주도하므로 상대적으로 더 많은 인력을 구하는 편입니다.

안드로이드 앱은 iOS 환경에 비해 많이 오픈되어 있습니다. 공개 운영체제인 리눅스를 기반으로 하고, 핵심 코드나 라이브러리 코드, 스마트폰에 기본적으로 들어 있는 앱 코드 등이 대부분 오픈되어 있어서 앱 개발자가 활용하기가 매우 편리합니다.

  • 안드로이드 개발자가 사용하는 언어 : Java(자바), Kotlin(코틀린)

iOS 개발자

iOS 운영체제에서 구현되는 앱을 만드는 개발자입니다. 아이폰에 탑재되는 앱을 만들며, 안드로이드와는 다르게 앱 개발을 하기 위해서는 맥북이나 아이맥 등 애플 사의 컴퓨터가 필요합니다.

상대적으로 국내 채용 시장에서는 안드로이드 개발자보다 수요가 적은 편입니다. 그러나 아이폰 6를 기점으로 아이폰 사용자가 폭발적으로 늘어나며 iOS 개발자도 많이 증가했다고 합니다.

  • iOS 개발자가 사용하는 언어 : Swift(스위프트), Objective-C(오브젝티브 씨)

데브옵스(DevOps, Development Operations) 엔지니어

데브옵스 엔지니어는 새로운 기능을 추가하길 원하는 개발 조직과 그 프로그램을 운영하는 조직 사이에서 균형을 맞추는 업무를 담당합니다. 따라서 코딩, 운영 등 모든 분야에 능통해야 하며 기본적으로 개발 업무에 대한 이해도가 높아야 합니다.

업무 환경을 구축한다는 점에서 인프라 엔지니어와 비슷해 보일 수 있습니다. 하지만 데브옵스 엔지니어는 프로세스 구축을 위한 소프트웨어 개발, 시스템의 유지 및 품질 관리 등을 수행하며 개발 사이클 전체에 걸쳐 공동 작업에 적합한 환경을 구축하는데 집중한다는 점이 다릅니다.

--------------_-----------_01-1

이 외에도 ‘게임 개발자’나 컴퓨터가 아닌 셋톱박스나 iOT 디바이스 등에 탑재되는 소프트웨어를 만드는 ‘임베디드 개발자’ 등 개발자의 종류는 셀 수도 없이 무궁무진합니다. 게다가 나누는 기준도 부르는 표현도, 심지어는 담당하는 업무도 기업마다 조금씩 다르죠.

따라서 개발자의 종류에 따른 업무를 명확히 구분 지을 수는 없습니다. 하지만 오늘 전달한 정도의 큰 개념만 알고 있더라도 비전공자로서 IT 기업에 적응하는데 큰 도움이 되실 겁니다. 다음 시간에도 코드에프는 여러분의 업무를 도울 만한 유용한 콘텐츠를 들고 오겠습니다 : )

--------------_-----------_02

코드에프는 데이터를 활용한 핀테크 서비스를 지원하며 서비스 제공 기업이 온전히 서비스에만 집중할 수 있도록 돕습니다. 코드에프는 복잡한 절차를 간결하게 바꾸고 수고로움을 줄이고자 노력합니다. 또한 국내 시장에만 머무르지 않고 전 세계의 데이터를 중계해 주는 것을 목표로 합니다. 코드에프가 궁금하시다면 아래 배너를 눌러 코드에프의 개발가이드를 살펴보세요.

banner_ver2_220506-2

본 페이지 내의 모든 콘텐츠는 저작권법에 의해 보호받는 저작물로서, 모든 사용 권리는 ㈜코드에프에게 있습니다. 별도의 저작권 표시 없이 무단으로 사용하는 것을 금지하며, 자세한 저작권 정책은 해당 링크를 참고하시기 바랍니다. Copyright 2022.㈜코드에프 All rights reserved.

[자료 출처]
1. JavaScript란 무엇입니까? / aws
• 대체 DevOps가 뭐냐? / 쏘닉.log
• [인프라 엔지니어의 교과서] 1장 인프라 엔지니어의 업무 / gudwnsepdy.log
• DevOps 엔지니어란 누구입니까? / ATLASSIAN
• 개발의 모든 분야, 모두 정리해 드립니다 / 원티드

© Hecto Data Co., Ltd. All right reserved. Published with Ghost


(주)헥토데이터ㅣ대표자 : 오승철

사업자 등록번호 : 113-86-32627


개인정보 처리방침