개발자, 프로그래머, 코더의 차이점
- IT/IT 용어
- 2023. 7. 17.
개발자(Developer)와 프로그래머(Programmer) 그리고 코더(Coder)는 명확하지만, 구분하기 힘든 차이점이 존재하기도 한다. 하지만 꾸준히 거론되면서 현재는 어느정도 확립이 된 상태인데 본 포스팅에서는 개발자, 프로그래머, 코더에 대해서 차이점을 알아보고 자신은 현재 어느 위치에 있는지 알아보도록 아는 시간을 가졌으면 좋겠다.
코더(Coder)과 프로그래머의 차이점
우선 코더(Coder)는 코드를 짜는 사람을 뜻한다. 그런데 여기서 코드는 프로그램을 말하는 것이기 때문에 코더와 프로그래머를 동일한 사람이라 생각할 수 있다. 대부분 코더들은 자신을 코더라고 말하지 않고 프로그래머라고 말을 한다. 하지만, 영어가 둘로 나뉘어져 있듯 둘간의 미세한 차이점이 존재한다.
일반적으로 코더는 프로그래머가 설계한 대로 코드를 작성한 사람을 뜻한다. 즉, 주체가 되느냐 아니냐의 차이가 큰 것이 바로 코더와 프로그래머라고 할 수 있다.
예를 들어, 어떤 복잡한 알고리즘을 개발을 해야 하는데 이 알고리즘을 2명이서 개발을 한다고 가정을 해보자. 그런데 한명은 이러한 일을 한지 얼마 안된 신입이고 나머지 한명은 복잡한 알고리즘을 코딩으로 구현할 수 있는 경력 개발자라고 가정을 해보자.
둘이 협업을 한다고 가정을 할 시 신입은 경력자의 말에 따라 코딩을 하게 될 수 있다. 즉, 본인이 해당 알고리즘을 설계할 수 있는 능력이 없어서 위에서 시키는 대로 코드를 짜야할 수 있다는 것이다. 이럴 경우 신입은 코더가 되고, 신입에게 알려주는 사람은 프로그래머가 된다.
즉, 프로그래머는 자신이 스스로 어떠한 문제를 풀 수 있는 알고리즘을 작성할 수 있는 사람이고, 코더는 스스로 설계해서 알고리즘을 짤 수 없는 사람을 뜻한다. 큰 프로젝트에 가게 되면, 초급 개발자는 자신이 스스로 알고리즘을 작성하는 것보다 위에서 시키는대로 필요한 기능만 개발하는 경우가 있는데 이럴 경우 코더라고 말을 할 수 있을 것이다.
프로그래머와 개발자의 차이점
누구는 프로그래머와 개발자는 한자와 영어 즉, 언어의 차이라고 생각할 수 있다. 하지만 개발자는 Developer라는 용어가 존재하는 것처럼 둘간에는 명확한 차이가 있다.
우선 프로그래머는 프로그램을 짜는 사람이라는 뜻이 있다. 그리고 위에서 설명한 것처럼 자신이 설계를 해서 프로그램을 짤수 있는 사람을 뜻한다. 여기까지 본다면 프로그래머의 의미는 상당히 광범위하다 생각할 수 있는데 개발자는 프로그래머에서 몇가지의 스킬 능력을 더 갖춘 사람이다.
프로그래머는 언어를 다루는 사람으로 오직 언어의 관점으로 가질 수 있다면 개발자는 소프트웨어가 배포하기까지 설계, 구현, 테스트, 유지보수까지 전반적인 사항을 다룰 수 있는 사람을 뜻한다. 그리고 클라이언트와 커뮤니케이션을 하고, 요구사항을 이해하며, 일정을 관리할 수 있는 능력을 갖춘 사람을 개발자라 한다.
다만 프로그래머보다 개발자가 언어를 능숙하게 다룬다는 말은 아니다. 위에서 언급되었듯 개발자는 프로그래머보다 광범위한 것들을 다루기 때문에 오로지 프로그래머만 10년 이상 하는 사람보다 스킬적인 면모가 떨어질 수 있다.
일반적으로 오로지 프로그래머만 하는 경우는 많지 않고 대부분 고객을 상대하고, 제품을 설계하며 테스트 등까지 모두 하는 하기 때문에 프로그래머의 윗단계로 개발자를 생각할 수 있지만, 만약 오로지 프로그램만 할 수 있는 기회가 있다면 프로그래머는 개발자보다 당연히 프로그램을 짜는 능력이 우위일 것이다.(대부분 프로그래머들의 꿈이기도 하다)
참고자료
[1] https://www.coursera.org/articles/programmer-vs-developer
[2] https://www.linkedin.com/pulse/difference-between-coder-programmer-developer-software-simar-singh/
'IT > IT 용어' 카테고리의 다른 글
EoL, EoS, EoSS, EoSL, EoM 이해하기 (2) | 2023.07.31 |
---|---|
웹 크롤링(Crawling)과 스크래핑(Scraping) 차이 (0) | 2022.06.07 |
Yaml, Yml 이란? (1) | 2020.10.14 |
정형, 비정형, 반정형 데이터란? (1) | 2020.04.01 |
형상관리의 Trunk, Branch, Tag (0) | 2015.07.26 |