본문 바로가기
CS/Career

컴퓨터(CS/CE) 관련 소프트웨어 개발 분야 정리

by 낭만파 2021. 8. 5.
반응형

IT 직군의 구인난이 심화되면서, 코딩 교육을 비롯해 개발자에 대한 관심도가 높아지고 있는 상황입니다. 소프트웨어 개발 분야는 어떻게 나누어져 있으며 어떤 업무를 주로 하는지 정리해보도록 하겠습니다.

목차

1. 한 눈에 보는 개발 분야
2. 세부 분야 정리
1) 프론트엔드
2) 백엔드
3) 데이터
4) 임베디드
5) 보안
3. 마치며


한 눈에 보는 개발 분야


개발 분야 정리 표

분야 세부 분야 설명
프론트엔드 Web, Mobile, PC, Game 주로 사용자와 소통하는 화면 설계
백엔드 Server 사용자와 데이터를 주고 받는 서버 설계
데이터 Big Data, Machine Learning, AI DB에 저장된 데이터를 활용하는 분야
임베디드 OS, Middleware 하드웨어와 밀접한 개발을 하는 분야
보안 Hacking, Security Solution 개발 분야 전반의 보안을 담당

IT 분야 커리어 맵

https://imgur.com/a/Uf6Y4io

참고 영상

세부 분야 정리


프론트엔드

백엔드 API에서 가져온 데이터의 출력, 입력을 통한 비즈니스 로직 구성과 사용자와 대화하는 사용자 인터페이스(UI, UX) 부분을 개발한다. 세부 분야에는 웹(Web), 앱(Android/iOS), PC(Windows/Mac), 게임 등이 있다.

웹(Web)

  1. HTML: 웹 페이지의 전체적인 틀 구성
  2. CSS: 웹 페이지의 스타일을 설정
  3. JS(JavaScript): 웹 페이지의 동적인 처리를 다루는 스크립트
  4. React, Angular, Vue: 웹 애플리케이션을 개발하기 위해 사용하는 프레임워크

앱(App)

  1. 네이티브 앱: Android나 iOS의 OS에 특화된 개발 (성능이 뛰어나며, 많은 기능 사용 가능)
  2. 크로스 플랫폼: 하나의 언어로 여러 플랫폼에서 개발 (빠른 개발 가능)
  3. 하이브리드 앱: 웹의 기능을 모바일에서 구현해 놓은 형태로, 웹 개발과 동일 (빠른 개발 가능)

PC(Windows/Mac)

  1. 윈도우 프로그램: Windows 기반 PC에서 사용할 수 있는 프로그램 개발
  2. 맥 프로그램: Mac PC에서 사용할 수 있는 프로그램 개발
  3. 크로스 플랫폼: Electron이 대표적(HTML, CSS, JS 기반)으로, Windows와 Mac에서 돌아갈 수 있는 프로그램 개발

게임(Game)

  1. Unity: C# 기반 엔진으로, 모바일이나 캐주얼 게임 개발 시 많이 사용
  2. Unreal: C++ 기반 엔진으로, 3D나 그래픽 게임 개발 시 많이 사용

참고 영상

백엔드

사용자로부터 정보를 받아 처리하고 그 결과를 다시 반환해주는 부분으로, 특정 프로그래밍 언어를 기반으로 한 프레임워크를 이용해 주로 개발한다. 최근에는 AWS 등을 활용한 Serverless 개발 또한 이루어지고 있다.

  1. Java: Spring
  2. Python: django
  3. C#: ASP.NET
  4. Ruby: Rails
  5. JS: node.js
  6. php: Laravel

참고 영상

데이터

서버에 축적된 데이터를 수집, 가공, 처리하여 비즈니스에 적용하고, 이를 처리하기 위한 모델을 개발한다. 최근 데이터 처리와 관련하여 인공지능(Artificial Intelligence)가 화두이다.

  1. 데이터 엔지니어(ETL): 데이터의 수집 및 가공 부분을 담당
  2. 데이터 사이언티스트: 데이터를 통계 기반으로 분석하며, 인사이트를 도출
  3. AI 엔지니어 & 연구원: AI를 활용한 모델 개발 및 비즈니스 적용
참고 영상

임베디드

하드웨어 제어 프로그램 및 특수목적의 응용프로그램을 개발한다. 주로 OS나 IoT 기기 등과 밀접한 연관이 있으며, OS 중 리눅스, 프로그래밍 언어중 C언어가 대다수를 차지한다.

참고영상

보안

소프트웨어 개발 전분야와 관련되어 보안을 담당한다. 매우 방대한 지식이 필요하며, 단순히 기술적인 요소 뿐 아니라 사후 대응 등의 분야도 포함한다.

참고 영상

마치며


프론트와 백엔드는 버그와 씨름하고, 데이터 분석의 경우 80%에서 90% 정도가 데이터를 전처리하는 시간이며, 임베디드 프로그래밍과 보안 분야 또한 원초적인 기술들을 다루며 씨름해야 합니다. 이것이 CS가 적성을 많이 타는 학문이라고 여겨지고, 수박 겉핡기식 개발자는 롱런하지 못하는 가장 큰 이유라고 생각합니다. CS를 공부해 본 사람이라면 공감하겠지만, 어떠한 분야를 선택하든 길고 긴 인내의 시간을 견뎌낼 수 있는 능력이 개발자에겐 가장 중요한 덕목이라고 생각됩니다.

반응형

댓글