피카부 RSS 태그 관리 글쓰기 방명록 다시 시작하는 개발 블로그
2022-01-30 17:20:09

 

가끔 웹 개발자도 프로그래머 인가요? 라는 질문을 하는 글을 본 적이 있습니다.

 

그러나 프로그래밍에 대한 오해는 그것만이 아닙니다. 소프트웨어 기술자, 웹 개발자,  프로그래머라고 하는 말을 잘 듣습니다만, 이것들은 호칭이 다를 뿐만 아니라 하는 일에도 중요한 차이가 있습니다.

 

여기서는 프로그래밍과 웹 개발이 얼마나 다른지 알아보겠습니다.

1. 목적이 다르다

둘 다 컴퓨터로 뭔가를 하기 위해 코딩을 하는 일이지만 목적은 크게 다릅니다. 프로그래머는 다양한 것을 만들지만, 일반적으로는 완전히 새로운 어플리케이션이거나 기존 소프트웨어에 덧붙여서 만듭니다. 한편, 웹 개발자는 웹 사이트의 구축과 보수에 특화되어 있습니다.

그 차이를 이해하기 위해서 웹디자이너의 역할에 대해서 생각해보도록 하겠습니다. 웹 디자이너는 먼저 웹사이트의 모형을 만듭니다. 전체적인 계획을 설계하는 경우도 있죠. 단, 목적을 달성하기 위해서 코드를 쓸 필요는 없습니다. "Adobe Dreamweaver"등의 프로그램으로 웹사이트를 디자인하거나 "Photoshop"으로 모델을 만드는 일입니다.

웹 개발자는 웹 디자이너와 프로그래머의 중개자입니다. 웹 디자이너가 웹 사이트의 아이디어를 생각하고 웹 개발자는 사양대로 구축합니다.이 프로젝트에 프로그래머가 참여한다면 웹사이트 방문자의 요청을 처리할 수 있는 도구를 개발해야 할 수도 있습니다.장기적으로 보면 프로그래머는 툴의 완성까지를 담당하고 웹 개발자는 아마 사이트의 업데이트, 유지보수를 하게 될 것입니다.

또 하나의 중요한 점은 각각의 업무 범위입니다. 비즈니스 환경에서 프로그래머는 기업이 오랫동안 사용해 온 전용 소프트웨어의 확장을 맡을 수 있습니다.

즉, 프로그래머는 오래된 애플리케이션의 코드를 해독하고 새로운 기능을 추가하는 것을 기본적으로 수행합니다. 기업은 사업에 필수불가결한 소프트웨어를 손에서 놓지 않으려고 합니다.

반면 웹디자인의 경우 기업이 새로운 웹사이트를 원할 때 외과수술처럼 새로운 부품을 추가하는 일은 흔치 않습니다.웹 사이트의 경우 0부터 만드는 것이 훨씬 더 효율적인 것입니다.

 

2. 사용하는 언어가 다르다.

아시다시피 프로그래밍 언어는 수십 가지나 되고 장점과 목적도 각각 다릅니다. 그리고 모바일 어플리케이션과 웹 어플리케이션의 개발에서는 사용하는 언어가 서로 다릅니다.

웹 개발자는 "HTML"에서 문서의 구조를 기술하고 "CSS"에서 문서의 위치를 지정합니다. 그리고 클라이언트측의 동작을 제어하기 위해서 자바스크립트를 사용하고 서버측의 동작을 얻기 위해서 PHP를 사용합니다. 물론 Python 등을 비롯해서 웹개발에서 사용되는 언어들은 많습니다.

반면에 프로그래머들은 필요한 프로그램을 쓰기 위해 모든 언어를 사용합니다. 「C#」「Java」「C++」「Python」「C」등에서, 상황에 맞추어 선택합니다.

프로그래밍 언어는 빠르게 진화하고 있기 때문에 웹 프로그래머들은 언어 변화에 뒤쳐져서는 안 됩니다. 비록 몇년전에 불과한 웹 프로그래밍이라도 시대에 뒤떨어져 버릴 수 있습니다.

이에 비해 C 언어는 수십 년 동안 크게 변화하지 않았기 때문에 1985년의 레퍼런스로도 충분히 활용할 수 있습니다. 물론 오래된 리소스에 포함되어 있지 않은 것도 있습니다만, 웹 개발만큼은 아닙니다.

 

3. 구현 방법이 다르다.

생각한 적이 없는지도 모르지만, 이러한 언어는 각각 다른 기능을 수행하고 있습니다.

"Java""C++"등의 프로그래밍 언어는 고급 언어로 불리며 프로그래밍 언어로 쓰여진 컴퓨터 프로그램을 해석하고 컴퓨터가 직접 실행 가능한 형식의 프로그램으로 변환해서 써내는 기계어에 비하면 상당히 추상화되고 있습니다.

한편 프로그램 가능한 기기를 동작시키기 위한 기계어를 인간에게 알기 쉬운 형태로 기술하고 있는 어셈블리어 등의 저급 언어는 사용하기 어렵죠. 하드웨어 의존도가 높기 때문에 메모리나 레지스터 간 데이터 이동까지 신경써야 합니다.

프로그래머는 컴퓨터의 자동 프로그래밍에 사용하는 컴파일러를 사용하여 기술한 코드를 컴퓨터가 이해할 수 있는 기계어로 변환합니다.

 

이에 반해 웹 개발에서는 대부분의 경우 컴파일러를 필요로 하지 않습니다. 예를들면 웹 서버에서 동작하며 클라이언트 단에 표시되는 일부 "웹 애플리케이션"있습니다만 이것은 애플리케이션 프로그래밍과 웹 개발의 중간에 위치합니다.

 

4. 언어 처리 방법이 다르다.

"HTML"은 마크업 언어 "CSS"는 스타일 시트 언어입니다. 웹 페이지에 무엇을 표시하고 어떤 구조를 가질 것인가를 기술하거나(HTML)웹 페이지를 어떻게 보일지를 지정할 수 있습니다.

이들은 디스플레이(표시)를 위한 언어이고, 프로그래밍 언어는 기능에 관한 언어입니다. 문서를 저장하고, 웹 브라우저에서 열면 이미"HTML"의 기술이 반영되고 있을 것입니다. 컴파일러는 필요 없습니다. 브라우저가 "HTML"을 변환해주기 때문입니다.

결론

웹 개발자는 프로그래머의 부분집합이라고 말해도 될 것입니다. 어느쪽도 코딩의 차이는 별반 다르지 않습니다. 조금 다른 언어와 구현 방법의 차이 일뿐.


또한 웹 개발자는 보통 프로그래머보다 더 자주 고객과 접촉합니다. 웹 브라우저인 'Mozilla Firefox'를 개발한 사람은 프로그래머지만, 'Mozilla.com'을 만든 사람은 웹 개발자들이 직접 만들었습니다.

 

프로젝트의 규모에 따라 다르겠지만 연봉의 수준도 거의 비슷하며 요즘에는 웹 개발자의 수요가 엄청나게 늘었다고 하니 참고하시면 되겠습니다.