프로그래머와 개발자의 차이점
# 프로그래머와 개발자의 차이가 무엇인가요?
많은 CS 전공자들이 궁금해하거나 헷갈려하는 부분이 본인이 프로그래머인지 개발자인지에 대해서이다. 지금에 와서는 많은 사람들이 Programmer와 Developer, 즉 프로그래머와 개발자라는 의미를 비슷하게 사용하거나 심지어 동일하게 사용하고 있다. 필자의 포스트를 보면 "프로그래머 또는 개발자"라고 둘 다 지칭해서 포스팅을 하는 경우가 종종 있는데 그 이유는 사실상 두 가지의 직업은 다르기 때문이다.
하지만 과거와 달리 현재는 두 직업을 마치 "다르다"와 "틀리다"를 비슷하게 사용하듯이 프로그래머와 개발자라는 직업적 용어도 비슷하게 용인되어 사용하고 있다. 그럼에도 불구하고 본질적으로 두가지가 나타내는 의미가 다르다 보니 다른 분야 사람들은 모르더라도 필자와 같이 CS 전공자라면 이 정도는 알고 있어야 한다. 물론 필자는 미국에서 생활을 하고 있다보니 미국 기준에서의 프로그래머와 개발자를 나누는 의미에 해당하니 국내에서는 조금 다를 수 있다.
우선 프로그래머(Programmer)는 이름 자체에 Programming이 포함되어 있듯이 Programming을 하는 직업에 해당한다. 한마디로 코딩하는 직업을 프로그래머라고 부른다. 프로그래머도 프로그래밍 분야에 따라 전문화된 프로그래밍 기술을 가지고 있어야 한다. 따라서 본인의 분야에 맞는 프로그래밍을 할 수 있는 사람들을 프로그래머라고 부른다.
반면에 개발자, 즉 Developer는 Software developer를 의미한다. 소프트웨어 개발자는 프로그래밍을 할 수 있을 뿐만 아니라 소프트웨어 개발에 필요한 프로그램 구조와 기획 능력을 겸비한 사람을 의미한다. 한마디로 개발자라는 직업은 프로그래머의 능력을 가지고 있으면서도 프로그램 개발에 대한 전반적인 능력을 고루 가지고 있는 사람을 뜻한다.
# 프로그래머와 개발자의 의미를 같이 사용하는 이유
프로그래머와 소프트웨어 개발자의 직업적 차이를 가지고 있음에도 두 직업을 "개발자"라는 의미를 동일하게 사용하는 이유는 사회적 환경 요소가 크게 작용한다. 미국 대기업의 경우에는 개발자와 프로그래머라는 직업을 별도로 분리하고 채용에 있어서도 별도로 채용을 하기도 한다. 국내의 경우에도 같은 개발 분야임에도 개발자와 프로그래머를 별도로 분리하여 채용하기도 한다. 하지만 많은 기업들에 있어서는 그렇지 않다는 것이다.
사실 소프트웨어 개발자는 프로그래머의 능력을 가지고 있으면서도 개발자의 고유의 역량을 가지고 있다. 그렇다 보니 프로그래머와 개발자가 하는 일이 엄청나게 다르지 않다. 또한 개발자로 채용되더라도 신입 개발자의 경우에는 처음부터 프로그램을 설계하거나 프로젝트를 기획하고 리드할 수 있는 역량이 부족하다. 그렇기에 시니어 개발자의 조언이나 업무 지시에 따라 프로그래밍을 하는데, 사실상 이것이 프로그래머가 하는 일에 해당한다. 신입 개발자들이 연차가 쌓이고 충분히 역량이 생겨서 PM급이 되면 이것이 바로 소프트웨어 개발자가 하는 일에 해당한다는 것이다. 그렇기에 프로그래머냐 소프트웨어 개발자냐를 굳이 나누지 않고 우리는 개발자로 지칭해서 부르고 있는 셈이다.
# 개발자가 되어야 하는 이유
여기서 유의할 점은 프로그래머가 꼭 개발자가 되는 것은 아니라는 점이다. 프로그램에 대한 기획이나 팀을 이끌 능력이 부족하면 전문 프로그래머로 남을 수도 있다. 그렇기에 대기업에서는 이러한 전문 프로그래머만 별도로 채용하여 큰 프로젝트에서 개발자 PM에 소속에 포함시킨다.
하지만 현실적인 측면에서 전문 프로그래머가 된다는 것이 어려운 일이다. 전문가가 된다는 점이 어려운 것이 아니라 프로그래밍만 하는 사람을 원하는 기업이 많지 않을뿐더러 개발자가 아닌 프로그래머를 채용해야 하는 보다 큰 메리트가 없지 않은 이상 개발자를 선호하기 때문이다. 따라서 CS 전공자는 프로그래밍만 잘해야 하는 것이 아니라 개발자가 되기 위해서 개발 능력을 키우고 준비해야 한다는 것이다.
'미국 개발자 > Q&A' 카테고리의 다른 글
[Q&A] 미국 CS 석사를 하는 것이 취업에 유리할까요? (0) | 2022.10.29 |
---|---|
[Q&A] 인공지능 프로젝트 결과물을 앱이나 웹사이트로 만들어야 할까요? (0) | 2022.10.21 |
[Python Q&A] Lab session for variables, operators, expressions, basic I/O, and string manipulation (2) | 2022.09.20 |
[Q&A] 수학이랑 과학을 하지 못하는데 Computer Science 전공을 할 수 있을까요? (0) | 2022.08.08 |
[Q&A] 신입 개발자 중소기업 입사 괜찮을까요? (0) | 2022.07.31 |
댓글