나도 개발자 한 번 해볼까? 고민을 줄여주는 개발자 직무소개 5분
작성자 개발고치
너드사용법101
나도 개발자 한 번 해볼까? 고민을 줄여주는 개발자 직무소개 5분
주변에 IT 업계에 종사하는 지인이있거나 관심이 있다면 한 번쯤 들어본 개발자 직무하면 프론트, 백엔드 개발자 이렇게 말하는 것을 들은 적이 있을거예요. 개발자가 되고 난 뒤, 개발자를 하고 싶다는 지인들에게 가장 많이 들은 말이 '나도 개발자 해볼까?'라는 말인 것 같아요. IT 업계가 궁금한 사람들을 위해 먼저 집고 넘어가야할 IT 직무가 어떤 것들이 있는지 한 번 살펴봐요.
이 글에서 다룰 내용
IT 업계의 다양한 직군들 중에 개발과 연관된 직군을 몇 가지 소개해보려고 해요.
프론트 개발자
백엔드 개발자
풀스텍 개발자
데브옵스
프론트 개발자 (Frontend Developer)
프론트 개발자는 사용자의 요청대로 동작할 수 있도록 만드는 개발자를 말해요. 주로 화면을 동작이나 로그인 버튼과 같이 사용자가 화면을 통해 접근하고 정보를 전달하는 부분을 담당합니다. 반대로 백엔드 서버, 데이터베이스 등에서 넘어온 데이터를 화면에 보여주는 것도 처리하는 부분을 담당해요. 쉽게 말해 디자이너가 만든 화면을 구현하고 동작하게 하는 모든 부분을 담당하는 건 바로 프론트 개발자의 역할이라고 할 수 있어요.
웹 사이트나 어플 개발을 할 때 반드시 백엔드 개발자가 사용하는 기술들을 알아야 하는 것은 아니예요. 별도 데이터 관리가 필요없거나 PoC나 테스트 수준의 경량 서비스를 개발하는 경우에 해당해요. 프론트 기술만으로도 완성도 있는 제품을 만들 수 있고 점점 할 수 있는 범위가 넓어지고 있어서 백엔드와의 경계가 흐려지고 있다고 볼 수 있어요.
백엔드 개발자 (Backend Developer)
백엔드 개발자는 프론트의 요청을 처리하는 부분이라고 생각하면 쉬워요. 물론 모든 요청이 프론트에서 오는 것은 아니예요. 또 다른 백엔드 서버에서 요청이 올 수도 있어요. 정리하면 요청이 오면 받아서 결과를 다시 리턴한다라고 할 수 있어요. 주로 요청은 상품 조회와 같이 저장된 데이터를 정리해서 보여주는 경우도 있을 수 있고, 위 그림에서와 같이 인증 정보를 확인한 뒤 접근을 허용하는 토큰을 넘겨주는 역할을 하기도 해요.
그 외에도 데이터를 일정 일시에 맞춰 정리해서 정보를 제공하거나 성능개선을 위한 알고리즘 개발하기도 해요. 회사 규모에 따라 다르지만 사용자가 사용할 수 있도록 클라우드 시스템을 사용해 배포하는 역할을 하기도 해요. (이 내용은 뒤에 데브옵스 파트에서 조금 더 자세히 설명하고 넘어갈게요!)
풀스택 개발자 (Fullstack Developer)
풀스택 개발자는 프론트와 백엔드 개발자가 하는 모든 일을 담당해요. 말 그대로 풀스택(full-stack)으로 모든 스택을 다루는 개발자를 말해요. 물론 개념이나 언어마다 상이한 차이는 있지만 흔히 하나의 언어를 심도 있게 배우면 다른 언어를 배우는데 걸리는 시간이 줄어들기 때문에 저연차 개발자도 충분히 도전 가능한 직무예요.
데브옵스 (DevOps)
혹시 인프라라는 말을 들어보셨나요? 요즘은 데브옵스와 인프라를 혼용해서 사용해요. 인프라라는 말만 들으면 추상적이고 도대체 무슨 일을 하는 직무인지 감이 안 올 거예요. 간단한 사례를 들어볼게요.
만약 저 개발고치가 어떤 웹사이트나 어플을 개발했다고 가정해볼게요. 개발고치의 컴퓨터에 만들어진 그 서비스를 친구가 접근해서 사용하게 하려면 어떻게 해야할까요? 접근이 가능하도록 열어줘야겠죠! 쉽게 말해 이렇게 컴퓨터 간의 연결과 관련된 일련의 모든 작용들을 구성하는 작업을 담당하는 직무예요.
하지만 여기서 문제가 있어요. 소문을 듣고 모인 여러 명의 친구들이 모두 제 컴퓨터에 접근한다면 어떻게 될까요?
너무 많은 접근으로 컴퓨터에 불이 난다
24시간 사용할 수 있어야 해서 컴퓨터를 계속 켜두고 충전상태로 둬야 한다
모든 요청을 처리할 성능이 부족하다
생각만 해도 너무 눈물나는 상황이예요. 🥲😱
그래서 인류는 클라우드 서비스를 도입합니다! 이미 대기업들은 충분한 자원으로 24시간 가동할 수 있는 컴퓨터(서버)를 가지고 있었어요. 하지만 사용하지도 않고 전기세만 드는 이 자원을 일부 임대해보기로 합니다. 이렇게 이해관계가 딱 맞아 떨어지면서 자체 서버실이 없는 회사나 개인은 저렴한 비용으로 위 문제들을 해결할 수 있는 클라우드 서비스를 사용할 수 있게 됐어요.
이렇게 개발고치 컴퓨터에서 개발된 서비스는 제 노트북(로컬 환경)이 아닌 가상의 서버(클라우드 환경)에서 동작할 수 있도록 관리할 수 있어요.
대표적인 클라우드 서비스는 아마존의 AWS(Amazon Web Service)가 있어요. 아래 구조도와 같이 다양한 서비스를 제공하고 제공하는 지역, 비용이 정말 다양하기 때문에 자사 서비스에 적합한 비용의 구성을 만들고 성능을 좋게 제공하도록 구성하는 역할을 할 수 있는 사람이 필요해요. 이런 업무를 데브옵스 팀이 담당하게 됩니다. 소규모의 회사에서는 주로 백엔드 개발자들이 이 부분까지 담당하기 때문에 업무에 익숙한 많은 백엔드 개발자들이 후에 데브옵스로 직무를 전환하기도 해요.
개발자라는 직무를 고민하고 있다면 그 직무의 특성과 자신의 성격이 맞는지 확인하는게 제일 중요해요. 고민하면서 문제를 해결하고 그 성취감을 좋아할 수 있는 사람이라면 적합할 것 같아요. 흔히 사바사라고 하지만, 일주일 동안 한 가지 이슈에 대해서 고민할 수도 있고 상황에 따라 새로운 기술 스택을 익혀야 할 수도 있어요. 그 다음에는 간단한 클론 코딩이나 개발자 서적을 읽으면서 나도 개발자 해볼까에 대한 고민을 해결해보면 좋을 것 같아요!