코딩의 종류에 대해 알아보기

카테고리: 코딩, 작성일:

개발자들은 자신이 주 분야로 하는 몇 개의 기술들을 가지고 있습니다. 각자 수행하는 업무에 따라 개발의 종류를 나눌 수 있는데요. 아래에서 알아보도록 하겠습니다.

코딩의 종류에 대해 이야기를 해보려고 합니다. 코딩을 처음 배우시는 분들이 코딩 종류에는 어떤 것이 있는지, 어떤 분야를 내가 배워야 할지에 대한 참고가 되었으면 좋겠습니다.

코딩과 개발의 차이

코딩과 개발에는 용어상 차이가 조금 있습니다. 간단히 살펴보면 개발은 컴퓨터 시스템 작동을 위한 프로그램을 만들기 위한 일련의 과정 전체를 말하곤 합니다. 프로그램 아키텍처를 설계하는 단계에서부터, 코드를 짜는 일(코딩), 수정하고 버그를 찾기 위해 테스트를 하는 일, 배포하는 일 등 전체를 ‘개발’이라고 말할 수 있습니다.

코딩은 개발보다는 조금 적은 범위의 용어로 말할 수 있을 것 같습니다. 특히 코딩교육이라는 말이 많이 쓰이기 때문에, 코딩이라는 용어를 프로그램 개발이라는 용어와 구분할 필요가 더욱 필요해진 것 같습니다.

결국, 코딩은 프로그래밍 언어를 이용해, 일련의 로직을 짜는 행위를 말합니다.

※ 참고 - 코딩이란?

코딩의 종류

코딩을 한 가지 기준을 가지고 종류로 분류하기에는 애매한 부분이 있습니다. 상황과 목적에 따라 여러 가지 기준에 맞춰서 이야기를 하곤 하는데요. 그 기준을 아래와 같이 정리하여 보았습니다.

프로그램 종류별

어떤 종류(목적)의 프로그램을 만들지에 따라 코딩의 종류가 분류됩니다. 우리가 만들려고 하는 프로그램은 그 목적과 용도에 따라 종류가 천차만별일 것입니다.

게임, 문서작성 프로그램(한글, 워드, 엑셀 등), 검색엔진(네이버 검색, 구글 검색 등), 실생활 프로그램(날씨, 메모, 할 일 관리, 가계부 등), 기업관리 프로그램(ERP 등), 메일 시스템, 의료용, 산업용, 공장자동화 프로그램 등등

게임을 개발하는 경우 ‘나는 게임 개발을 하고 있다. 게임 개발자다’라고 말할 수 있겠죠.

플랫폼별

프로그램은 특정 플랫폼(프로그램이 구동되는 기반 시스템, 인프라) 위에서 작동합니다. 어디서 실행을 할 지에 따라 필요한 기술도 달라지고, 구현 방식도 달라지게 됩니다.

데스크탑은 우리가 일반적으로 사용하는 PC(또는 노트북)를 말합니다. 이 데스크탑에는 기본적으로 운영체제(윈도우 또는 맥OS 등)가 탑재되어 있는데, 우리는 그 위에서 작동하는 프로그램들을 사용하게 됩니다. 예를 들면 윈도우에서 실행하는 워드나 엑셀 프로그램, 포토샵, 영상제작 프로그램들 모두가 데스크탑 애플리케이션이 되겠습니다.

스마트폰 내부에 기존에 PC에서 사용하던 프로그램 파일을 복사한다고 해서, 그 프로그램을 스마트폰 위에서 실행하고 똑같이 사용할 수는 없겠죠? 보통 프로그램은 PC용 스마트폰(태블릿)용으로 나눠지게 되고, 각 프로그램을 만들기 위한 기술도 달라집니다.

웹은 우리가 사용하는 인터넷을 말합니다. PC를 켠 뒤 우리는 ‘인터넷 익스플로러’ 또는 ‘크롬’ 등 인터넷브라우저를 먼저 실행시키고, 브라우저 안에서 네이버나 다음, 구글에 접속합니다. 그리고 수많은 홈페이지와 사이트, 웹애플리케이션에 접속하며 인터넷 상에 구현된 프로그램들을 사용하게 됩니다.

※ 참고 : 인터넷 브라우저 자체는 데스크탑 애플리케이션입니다. 웹 애플리케이션이 브라우저를 통해 접속되기 때문에, 웹을 데스크탑 애플리케이션이 아닐까 라고 혼동할 수 있는데, 웹은 인터넷이라는 가상공간을 통해 사용자에게 제공된다는 점에서 그 차이가 있습니다. 개발의 영역에서 데스크탑용 애플리케이션과 웹 애플리케이션은 그 구분이 정확하게 나뉘어집니다.

PC나 스마트폰 이외에도 우리는 무수히 많은 프로그램들 속에서 살아가고 있는데요. 특정 전자기기 위에서 작동하는 프로그램은 PC나 스마트폰과는 또 다른 기술영역을 가지고 있습니다. (임베디드라는 용어를 사용하기도 합니다.)

기술(언어)별

개발에는 많은 기술이 존재합니다. 광범위한 분야의 기술을 모두 지니고 있는 개발자도 있고, 특정 기술을 굉장히 전문적으로 수행하는 개발자도 있는데요. 기본적으로 개발 언어에 따라 본인의 개발 분야를 이야기하곤 합니다. Java 개발자, C 개발자, Swift 개발자 등. 이처럼 자신이 주로 사용하는 언어를 자신이 하는 개발의 종류를 소개할때 말하게 됩니다.

언어 이외에도 특정 목적을 가지는 기술이 많이 존재하기 때문에, 그 기술을 대표적으로 이야기하기도 합니다. (ex. 검색엔진 개발자)

역할별

개발을 하는 과정에는 여러 역할이 존재합니다. 간단한 프로그램 같은 경우에는 개발자 한명이 혼자 모든 영역을 맡아서 하기도 하지만 프로그램의 크기가 커지고 범위가 넓어지게 되면, 그 역할을 나누어서 개발을 하는 것이 효율적입니다.

프로그램 사용자가 처음 접하게 되는 화면 단계의 개발에 집중하는 디자이너, 퍼블리셔, 프론트엔드 개발자가 있습니다. 그리고 화면에는 보여지지 않지만, 데이터를 중앙관리하고, 기능을 수행하고, 보여줄 데이터를 제공해주는 등 역할을 하는 백엔드 개발자가 있습니다.

나는 ㅇㅇ개발자입니다 위에서 설명해드린 개발의 종류에따라, 나는 A개발자다, B개발자다라고 소개를 하게 됩니다. 하지만 종류가 워낙 다양하고 기술도 겹치는만큼 한가지의 종류만으로 하는일을 소개하기는 애매하기도 하기때문에, 자신의 전문분야를 하나가되든 여러개가되든 같이 말하곤합니다.

예를 들어보면 이렇게 말합니다. “저는 웹개발자인데, 스프링을 주로 쓰고, 프론트엔드단도 기본 이상은 할줄 압니다.”

이번 글에서는 코딩의 종류에 대해 정리를 해보았습니다. 중요한 점은 공부를 하면서 너무 방대한 범위에 겁먹지 말고, 내가 하고싶은 관심분야에 집중을 하며, 차근차근 공부해나가는 것이 중요할 것 같습니다.

※ 관련 추천글 - 비전공자 코딩 공부 방법

이 글을 공유하기
  • 카카오스토리 공유하기
  • 네이버 블로그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 트위터 공유하기