top of page

코딩 (Coding)과 프로그래밍 (Programming)의 다른점을 아시나요?

AI가 활발하게 발전이 되는 동안 구글 (Google)이나 아마존 (Amazon)과 마이크로소프트 (Microsoft)의 정리해고는 무수히 많이 일어나고 있습니다. 테크 방면으로 일을 하는 것이 안전한 것인지 고민을 하게 되죠. 현재의 이런 챌린지가 있어도, 아직은 코딩이나 프로그래밍 직종은 보상이 좋습니다. 미국의 노동통계국 (Bureau of Labor Statistics)에 의하면 현재 컴퓨터 프로그래밍 직종의 평균 연봉은 미화 10만 달러 정도 됩니다 (한화 1억 3천만원).


이 직종에 발을 담그고 싶다면 이런 생각은 한번 해 보셨을까요? “코딩과 프로그래밍의 다른점은 무엇일까?”


캐노니컬 (Canonical) 소프트웨어사의 리더인 디미트리 그라프 (Dimitry Graf)는 이런 말을 했습니다. “코딩과 프로그래밍이라는 말은 다른 뜻이 있지만 동의어로 섞어가면서 사용이되고 있습니다”. 그는 이렇게 설명을 합니다.


소프트웨어 개발 직을 시작 할 때는 코딩으로 시작합니다. 이는 컴퓨터 코드를 작성, 테스트 그리고 디버깅을 하는 일이죠.


이 직종의 경력이 늘면서, 자연스레 프로그래밍으로 넘어가게 됩니다. 프로그래밍은 더 높은 레벨의 작업으로 코드를 작성하거나 디버깅을 기반으로 계획, 디자인, 배포, 유지보수와 확장이 첨가 됩니다


그는 또 이런 말을 덧붙였습니다. “코더와는 달리 프로그래머는 마케팅, 세일즈, 제품 등 각 사업 분야와 소통을 합니다. 이런 능력은 테크니컬한 기술 (tech skills)에서 소통, 프로젝트 관리, 분석 기술과 리더십의 소프트 기술 (soft skills)로 전환이 됩니다”.


이 분야에 관심이 있다면 코딩과 프로그래밍의 다른점을 알고 어느 분야가 더 적성에 맞는지를 알아야 하겠죠.


코딩이란?

코딩은 로직이나 요구사항을 컴퓨터가 이해할 수 있는 언어로 번역을 하는 프로세스입니다. 주요 초점은 어떤 일이나 문제를 해결하기 위해 파이썬, 자바나 HTML 같은 언어로 된 코드를 작성하는 일입니다.


프로그래밍이란?

프로그래밍은 코딩이외에도 소프트웨어 애플리케이션과 시스템의 설계, 구조화, 테스팅과 유지보수 같이 더 광범위한 프로세스입니다. 이 기술은 알고리즘, 데이터 구조 그리고 시스템 디자인 원칙등을 이해하고 구현하는 작업이 필요합니다.


코딩과 프로그래밍: 주요 차이점들

이 직업에서는 코딩과 프로그래밍은 아주 밀접한 관련이 있고 자주 겹치는 부분이 있습니다. 그러나 중요한 다른점이 있죠.


스코프와 복잡성:

코딩은 프로그래밍 언어로 코드를 작성하여 컴퓨터에게 어떠한 일을 하도록 하는 작업입니다. 다르게 말하면, 코드 닌자 (Code Ninjas)의 에드워드 킴 (Edward Kim)에 의하면, 코딩은 코드를 작성하는 일을 가리킵니다.


프로그래밍은, 코딩과는 달리, 코드 작성외에도 기획, 설계, 디자인, 테스팅, 그리고 유지보수도 추가가 되는 작업입니다. “프로그래밍은 문제를 푸는 일보다 더 상위에 존재하는 소프트웨어 개발의 수명주기와 연결된 일입니다” 라고 에드워드 킴은 말합니다.


사용되는 툴:

코더는 Sublime Text, Atom이나 Visual Studio Code 같은 텍스트 에디터를 주로 사용합니다. 이런 텍스트 에디터에는 다양한 플러그인들이 존재합니다. jQuery나 리액트 라이브러리를 이용하여 어떤 작업을 간단하게 하기도 합니다.

프로그래밍은 Angular, .NET, 또는 Ruby on Rails 같은 프레임워크를 이용하여 더 구조화 되어 있고, 표준화된 방법으로 애플리케이션을 만들게 됩니다.


게다가, 코딩은 린터나 컴파일러 (자바스크립트의 ESLint나 파이썬의 PEP 8 같은)를 이용합니다. 프로그래밍은 이 툴들 외에도 소프트웨어 라이프 사이클 관리를 위해 Git이나 JIRA 같은 프로젝트 관리나 협업 툴을 이용합니다.


전문 지식 수준:

코딩은 적어도 한가지 이상의 프로그래밍 언어와 syntax를 깊이 이해를 해야합니다.


프로그래밍은 언어의 깊은 이해도 이외에 소프트웨어가 어떻게 작동을 하고 사용이 되는지 전반적인 이해가 필요합니다. “이 기술은 다양한 카테고리의 작업을 완수해야 합니다: 문제 풀이, 알고리즘 디자인, 백엔드 프로세스의 설계와 정리, 코드의 구현, 테스팅 그리고 최적화와 QC 등이 있죠” 라고 킴은 말합니다.



코딩

프로그래밍

다양한 프로그래밍 언어의 코드 작성.

소프트웨어 개발의 모든 프로세스를 진행.

스코프

로직을 프로그래밍 언어로 번역.

기획, 설계, 코딩, 테스팅, 디버깅과 유지보수

필요한 기술

프로그래밍 언어의 이해.

소프트웨어 개발 프로세스의 전반적인 이해 (코딩, 알고리즘 개발, 데이터 구조, 소프트웨어 설계 원칙).

목표

구문론적으로 옳고 더 큰 프로젝트에도 사용 될 수 있는 코드 작성.

유저의 요구사항에 맞추어 효율적이고 확장성이 있는 소프트웨어 솔루션을 제작.

사용되는 툴

코드 에디터, 컴파일러, 기본적인 디버깅 툴.

IDE (Integrated Development Environments), 버전 관리 시스템, 고급 디버깅 툴, 소프트웨어 테스트 프레임워크.


무엇이 더 어려울까?

어려운 레벨로 따진다면 기술과 흥미도에 따라 다릅니다. 어떤 사람은 프로그램 로직과 문제 풀이가 더 어렵다고 생각하고 다른 사람들은 syntax와 코딩이 더 어렵다고 생각합니다. 일반적으로 프로그래밍이 코딩보다 더 포괄적으로 더 복잡하고 다양한 일을 요구합니다.


코더로 시작해서 프로그래밍으로 커리어 성장을 하는 것이 일반적인 케이스입니다. “고용주는 코더에서 새로운 기술을 습득하고 더 많은 책임을 지는 프로그래머로 발전하기를 기대하고 있죠”. 그라프는 말합니다. “그렇다고 수직으로 커리어 발전을 해야한다는 것은 아닙니다. 모든 사람들이 매니저가 되는 걸 원하지 않고 그럴 필요도 없죠. 그래도 괜찮습니다”. 하지만 그는 다시 강조합니다. 회사는 개발자들이 기술 향상을 하기를 기대합니다.


배운 점

코딩이나 프로그래밍은 둘다 커리어로 좋습니다. 이 두 직종은 높은 수요, 좋은 보상 그리고 성장할 수 있는 기회를 줍니다. 위에서 보다시피 코딩과 프로그래밍은 비슷하지만 다른 점들이 있죠.


코딩은 소프트웨어 개발에 빠지면 안되는 부분이지만 더 광대한 작업의 한 분야입니다. 프로그래밍은 더 광범위한 스코프를 가지고 있습니다. 프로그래머로써 코딩을 이해하고 문제를 풀고 논리적 사고와 소프트웨어의 설계까지 알아야 합니다.


많은 사람들이 코더로 시작을 하여 경력을 쌓으면서 프로그래밍이나 다른 높은 포지션으로 진로를 택하고 있습니다.


참고:



pngegg (11)_result.webp

<Raank:랑크 /> 구독 하기 : Subscribe

감사합니다! : Thanks for submitting!

bottom of page