프로그래밍 입문

프로그래머 직업

토픽 프로그래밍 입문 > IT 일반 > IT 일반 초급

IT 업종 직업 구분

업무에 따른 구분

 

 

  1. 기획자 : 전체 사업 목적에 따른 개발 컨셉을 결정하고, 전체적인 방향을 결정한다. 다른 분야는 필요없는 경우가 많고 주로 게임 기획자를 말한다.
  2. 개발자(분석/설계) : 사용자 요구사항을 수집/분석하고, 가장 최적의 목표달성을 위한 시스템 설계를 수행한다.
  3. 개발자(프로그래머) : 프로그래밍 언어를 사용하여 설계된 요구사항에 맞게 실제 시스템을 구현한다. 보통 분석/설계/테스트 업무를 같이 수행하기도 한다.
  • 개발 대상에 따른 구분 : 시스템, 임베이드, 어플리케이션, 게임, 웹, 모바일 프로그래머 등으로 구분
  • 개발 언어에 따른 구분 : C/C++, Java, COBOL, 안드로이드, JSP 등 특화된 언어에 따른 구분
  • 비즈니스 영역에 따른 구분 : 인사, 회계, 제조, 금융, 물류 등 사업 역역별로 개발자를 구분
  1. 기술자(엔지니어) : 사용 하드웨어/소프트웨어의 설치/운영/유지보수/교육등 업무를 수행한다.
  • 엔지니어 분류 : 네트워크, 서버, 보안, DB 엔지니어등 취급하는 하드웨어의 기능에 따라 구분
  1. 디자이너 : 개발자와 협업하며, 제품 및 화면 디자인 작업을 한다.
  2. 컨설턴트 : 회사 업무의 효율화를 위해 IT 활용을 포함한 연구/조사/실행방안을 만들어 회사 운영 효율화에 필요한 활동을 제안/실행 한다.
  3. 관리자(PM) : 프로젝트의 예산/인력/기간의 관리 및 고객과의 소통을 통해 프로젝트를 진두 지휘한다.
  4. 기타 지원업무 : 테스터, 리뷰어등 지원업무를 수행

 

  • 솔루션/기술에 따른 구분 

 

 

 

프로그래머(Programmer) 구분
컴퓨터 프로그램의 논리나 알고리즘을 설계하고 프로그램을 작성하고 테스트하는 사람입니다. 시스템 분석자(systems analyst)가 설계한 내용을 알고리즘을 통해 프로그램을 구현하는 사람으로서, 시스템 분석자·데이터베이스 관리자(DBA : database administrator)등과 함께 한 팀이 되어 과업을 수행하는 경우가 많습니다.
프로그래머로서 일을 하기 위해서는 적어도 컴퓨터에 대한 충분한 지식이 필요하며, 프로그램 언어· 오퍼레이팅 시스템의 명령·파일링 시스템의 운용법·화면설정·기타 작업도구 사용법 등을 숙지해야 합니다.
최근에는 컴퓨터 기종과 기능의 확대에 따라 시스템·네트워크 등의 다방면에 걸친 응용이 보급되어 프로그래머에게 요구되는 지식도 광범위해져 가고 있습니다. 프로그래머가 되기 위해서는 세심한 주의력을 가질 것, 실수가 적을 것, 깊은 추리력이 있을 것 등이 기본적 소질로 요구됩니다.


그럼 이제 프로그래머의 종류에 대해서 알아봅시다.

1. 게임 프로그래머
게임구조를 설계하고, 오류를 찾아내어 게임프로그램을 완성하는사람입니다. 게임기획자, 게임그래픽디자이너, 게임음악가 등으로부터 넘겨 받을 자료를 어떻게 프로그램화할 것인지 설계 작업을 하기도하고, 게임을 제작하기 위한 툴인 게임 엔진을 개발하고, 영상을 컴퓨터 모니터에 출력하는데 필요한 제반 함수들의 집단인 그래픽 라이브러리를 제작합니다. 그래픽 특수 효과를 제작하고, 키보드·마우스 등의 임력 장치 제어 루틴을 제작하고, 그래픽 파일이나 사운드 파일이 정상적으로 게임 속에서 작동될 수 있도록 해 주는 프로그램을 작성하고, 게임을 테스트하여 에러를 수정하고 버그를 찾아냅니다.

2. 응용 프로그래머
컴퓨터 내의 응용, 연산 그리고 실행이 가능한 프로그램(윈도우, 워드, 한글 등의 응용프로그램)제작과 관리를 하는 사람입니다. 호스트 프로그래밍 언어와 데이터 베이스 언어를 사용해서 작성된 프로그램을 통해 데이터에 접근하는 사람인데요, 대표적인 것이 유통회사에서 사용하는 공급관리시스템(SCM), 기업 운영을 효율적으로 처리하기 위한 전사적자원관리(ERP), 고객관계관리(CRM), 항공권 발급 및 열차표 발행 예매 프로그램 등을 다룹니다.

3. 웹 프로그래머
인터넷 상 웹페이지부터 스마트폰·어플리케이션의 프로그램을 담당합니다. 웹 상에서 각종 자료들을 보여줄 수 있도록 웹 프로그래밍 언어를 이용하여 프로그램을 설계하고 코딩합니다. 웹상에서 테스트한 후 문제점을 확인하고 수정 및 기존에 개발된 프로그램을 유지 및 보수하고, 웹디자이너와 업무를 협의합니다. 사용하는 언어는 JAVA, JSP, C#, SAP, Python 등 다양하며 그중 JAVA, JSP언어 사용 빈도가 가장 높은 편인데요, 웹 개발자로의 취업 준비는 비전공자라 하더라도 비교적 손쉬운 편입니다. 프로그래밍 언어를 가르치는 전문기관에서 교육을 받은 후 기초 지식을 습득하면 되는데 단, 입사 후 전문 개발자로 성장하기 위해서는 다양한 프로그래밍 언어를 공부하며 자기계발을 꾸준히 해야합니다.

4. 시스템 프로그래머
운영체제나 하드웨어 구동 프로그램을 작성합니다. 보통 어셈블리 언어로 작성되는 시스템 프로그램을 짜기 위해서는 사용할 컴퓨터 시스템에 대해 상당한 지식을 갖춰야 합니다. 주로 해외에서는 서버나 운영체제와 같은 시스템을 구축하고 설계, 개발을 하지만 아직까지 우리나라에는 시스템 서버를 개발할만한 환경이 되지 못합니다.

5. 임베디드 프로그래머
하드웨어 내장형 시스템을 연구하고 개발, 설계하는 사람입니다. 하드웨어 도면 정도는 볼 줄 알아야하고, C언어 뿐만 아니라 어셈플리 언어를 할 줄 알아야 합니다. 컴퓨터 이외의 장비에 사용되는 칩을 임베디드라고 하는데, 자동차, 에어컨, 냉장고, 공장 자동화 장비에 이르기까지 매우 다양한 제품에 사용됩니다.
컴퓨터에 한정되던 소프트웨어가 전자, 통신기기 등으로 확대되는 만큼 향후 임베디드 개발자에 대한 수요가 더욱 늘어날 것으로 예측됩니다.


6. 보안 프로그래머
정보관리의 핵심기인 보안 분야의 솔루션·백신 제작을 담당하는 사람입니다. 컴퓨터 바이러스 발생이나 해커의 침입에 대비해 방화벽을 구축하고 바이러스에 감염됐을 때 감염 경로나 우너인을 찾아 문제를 해결하는 등의 일을 하기도 합니다.

댓글

댓글 본문
  1. 로버트한
    감사합니다.^^
  2. MS lee
    다른 모듈의 글(Adobe Photoshop for Web Design-효빗)에서 읽은 직업중에 '퍼블리셔'라는 것이 있던데, 이 퍼블리셔 라는 직업이 개발자랑 같은 의미인가요?