profile image

L o a d i n g . . .

※ '혼자 공부하는 얄팍한 코딩 지식'(고현민) 책을 읽고 작성한 글입니다.

개발자 진로

웹 개발자 - 웹 사이트를 만드는 개발자

웹 개발자는 말 그대로 웹사이트를 개발하는 개발자입니다.
우리가 PC나 스마트폰에서 웹 서핑을 하며 방문하는 각종 웹사이트는 웹 개발자가 만듭니다.
웹 개발자의 범주에 속하는 개발자는 다음과 같습니다: 웹 퍼블리셔, 프론트엔드 개발자, 백엔드 개발자

웹 퍼블리셔 (UI 개발자)

웹 퍼블리셔는 웹사이트에서 보이는 부분을 담당하는 개발자입니다. 

웹사이트의 기능을 프로그래밍하기보다는 웹사이트의 외적 요소를 코드로 구현하는 역할을 합니다. 주 사용언어는 HTML, CSS이며 자바스크립트를 사용하기도 합니다.
타 직군에 비해 진입 장벽이 낮고 디자인과 밀접하다고 합니다. 

프론트엔드 개발자

프론트엔드 개발자는 웹 퍼블리셔 역할은 물론 자바스크립트로 프로그래밍 요소를 개발하는 사람들입니다. 

프론트엔드 개발자는 사용자에게 보여줄 웹사이트 화면을 만들고, 사용자의 클릭이나 드래그와 같은 동작에 따라 웹사이트의 다양한 기능이 실행되도록 프로그래밍합니다. 프론트엔드 개발을 클라이언트 개발이라 부르기도 합니다.

주 사용 언어로는 HTML, CSS를 사용하기도 합니다만, 자바스크립트를 이용한 개발이 주가 됩니다. 

백엔드 개발자

백엔드 개발자는 웹사이트에서 눈에 보이지 않는 요소를 개발합니다.

프론트엔드 개발자가 만든 웹사이트의 화면과 데이터를 주고 받는 서버의 기능을 구현합니다. 그래서 서버 개발자라고도 합니다. 
사용 언어는 자바, 파이썬, 자바스크립트 등 매우 다양합니다.

풀스택 개발자

프론트엔드, 백엔드 개발 양쪽 모두를 개발할 줄 아는 개발자를 풀스택 개발자라고도 부릅니다.
보통 다수의 개발자가 서비스를 분담하는 대기업보다는 소기업, 스타트업에서 많이 필요로 하는 개발자라고 합니다.

 

모바일 개발자(앱 개발자) - 손 안의 앱을 만드는 개발자

앱 개발자는 스마트폰에서 동작하는 애플리케이션을 개발합니다. 
안드로이드 개발자, iOS 개발자가 이 범주에 속합니다. 

안드로이드 개발자

안드로이드 개발자는 안드로이드 기반의 모바일 앱을 개발합니다. 
예전에는 자바 언어를 많이 사용했으나, 2017년 이후부터는 보다 간결한 언어인 코틀린을 많이 사용한다고 합니다.

iOS 개발자

iOS 개발자는 아이폰과 아이패드용 모바일 앱을 개발합니다.
예전에는 오브젝트-C 라는 언어를 사용했지만, 최근에는 스위프트 언어를 많이 사용한다고 합니다.

크로스 플랫폼 개발

하나의 코드로 안드로이드, iOS 모두에서 동작하는 앱을 만들 수 있는 크로스 플랫폼 이라는 것이 있습니다.
플러터-다트, 리액트 네이티브-자바스크립트, 자마린-C# 의 크로스 플랫폼-언어 조합이 있다고 합니다.

 

게임 개발자 - 게임을 만드는 개발자

게임 개발자

게임 개발자는 게임을 만드는 개발자로, 게임 진행을 위한 복잡한 알고리즘부터 물리 엔진 구현, 3D 그래픽 렌더링, 수많은 접속자가 몰리는 서버 관리 등 게임의 구성요소를 개발합니다.

게임 개발에는 프로그래밍, 컴퓨터, 수학 등 여러 분야에 걸친 깊은 지식과 숙련도를 요구하기 때문에, 각 분야의 전문가들이 함께 만듭니다.

고사양 게임은 기기의 성능을 최대한으로 끌어내는 것이 중요하기 때문에 C++, C# 언어를 많이 사용하고, 웹 게임에서는 자바스크립트를 활용하기도 합니다.

 

응용 소프트웨어 개발자 - 컴퓨터 프로그램을 만드는 개발자

응용 소프트웨어 개발자

응용 소프트웨어 개발자는 통상적으로 PC용 프로그램을 개발하는 사람을 지칭합니다. 워드, 포토샵, 압축 프로그램, 동영상 재생 프로그램 등이 응용소프트웨어입니다.

C, 자바, 파이썬 등 개발에 사용되는 언어가 무척 다양하다고 합니다.

 

임베디드 개발자 - 하드웨어를 제어하는 개발자

임베디드 개발자

임베디드 개발자는 정해진 목적에 맞게 하드웨어가 작동되도록 프로그래밍 하는 직군입니다. 임베디드 시스템을 다루며, 냉장고 온도 조절기, 스마트 티비를 비롯해 자동자, 로봇 항공기 같은 기기 모두 임베디드 시스템입니다.

기계를 직접적으로 다루는 프로그래밍이기에, 실행속도가 빠르고 가벼운 C 언어를 주로 사용하고, C++ 어셈블리어도 사용한다고 합니다.

 

정보 보안 전문가 - 빈틈없는 정보 파수꾼

정보 보안 전문가

정보 보안 전문가는 해커의 공격으로부터 컴퓨터 시스템을 보호합니다. 어느 세부 분야로 진출하느냐에 따라, 웹, 데이터베이스, 포렌식, 암호학, 악성 코드 분석 등의 공부가 필요합니다.

대기업 보안 부서, 보안 기업, 국정원이나 경찰 사이버 수사대 등의 국가 기관 등에서 일한다고 합니다. 높은 윤리의식과 책임감이 요구된다고 하네요.

 

AI 개발자 - 기계를 가르치는 개발자

AI 개발자

인공지능(AI) 개발자는 요즘 관심이 높아짐에 따라 수요가 커지고 있는 직군입니다. 

사실 인공지능은 꽤나 구현하기 어려운 분야입니다. 세부 직종마다 차이는 있지만 대체로 수학, 통계학, 컴퓨터 공학 등 깊이 있는 지식을 요구하기에, 상대적으로 오랜 공부가 필요합니다. 

 

※ '혼자 공부하는 얄팍한 코딩 지식'(고현민) 01-1, 01-2 연습 문제 인증샷


복사했습니다!