Karen
13k
2018-10-23 15:42:51 작성 2018-10-23 15:53:28 수정됨
5
3797

개발자의 삶 - 소프트웨어 개발자의 종류


"2017.08.22"

이 글을 전반적으로 다시 업데이트 합니다.


10년 정도는 벤처와 포털, 제 사업을 했고, 10년 정도는 SI 분야를 돌아다닌 것 같습니다. 물론 왔다 갔다 했고요. 적지 않은 친구들과 일을 했고, 지금도 그러고 있고, 앞으로도 그럴 것 같습니다.


뭔가 이론적으로 접근하면 너무 포괄적이 될 것 같아서, 신입사원만 초점을 맞추어 정리를 했습니다. 내용은 개발자라기 보다 직업군의 종류라고 보는 게 맞습니다.


아래 사례 중 대체로 윗쪽일수록 연봉이 높습니다. 그래서 젊었을 때는 위로 올라갈수록 좋은 줄 알았습니다. 하지만, 지나고 나서 보니 그냥 나름대로 장단점이 있는 것 같습니다. 지금으로서는 어느 게 더 좋다고 말하기 힘듭니다.


분명한 건 각 분야별로 익혀야 할 Skill 들이 다르고 일하는 환경이 다르다는 것입니다.



소프트웨어 엔지니어의 진화



1. IT 컨설턴트


삼성, LG, 현대, HP, IBM 등에서 일을 합니다. 큰 회사에 컨설팅 부서가 있습니다. 주 대상 고객이 임원이나 사장님들입니다. 결과물은 보통 보고 자료입니다. 파워포인트로 만듭니다. 내용은 주로 현재 진단과 미래 예측치입니다.


현재를 진단하기 위한 전문 지식과 날카로운 통찰력이 있어야합니다. 미래를 예측하기 위해서는 업계 트렌드나 환경의 변화를 이해하고 있어야 합니다.


그래서, 고객의 대기업 선호 현상이 뚜렷하고, 학벌과 전문 경력을 많이 따집니다. 그만큼 쉽게 신뢰성을 증명할 수 있는 방법이 없기 때문입니다.


주로 고객 인터뷰와 회의, 정보 검색, 토론, 문서 작업 등으로 많은 시간을 보냅니다. 멋있긴 한데 야근이 많습니다. 페이는 높은 편입니다. 주로 창의적인 해법들이 필요하기 때문에 두뇌 스트레스가 매우 높습니다.


과거에는 개발자가 컨설턴트가 되는 경우가 거의 없었으나, 최근에는 일부 개발자들이 컨설턴트로 유입되고도 있습니다.



2. 기술 영업 Technical Sales


IBM, HP에는 기술 영업이라는 파트가 있습니다. 보통 영업은 계약을 수주하는 것이 목표인데, IT는 기술 전문성이 높아야 시스템(HW or SW)을 팔 수 있습니다. 그래서 고객에게 기술을 설명하고 기술 지원을 담당하는 “기술 영업”이라는 직업이 있습니다.


SI/SM 회사에는 없고, B2B 솔루션을 파는 기업들은 필수적으로 있습니다. 주 고객은 “전산실 담당자” 이지만, 주 사용자는 “소프트웨어 개발자”들입니다. 따라서, 개발 중에 나타나는 다양한 문제를 잘 이해하고 있어야 판매할 수 있습니다.


따라서, 초보자가 하는 경우는 거의 없고 해당 업무와 기술을 잘 이해하는 베테랑 개발자들이 담당하는 경우가 대부분입니다.


영업 실적과 연계되기 때문에 보상은 꽤 높은 편입니다. 주로 하는 일은 영업 현장에서 고객의 문제점을 상담하고, 기술을 설명해 줍니다. 프로젝트 초기에는 기술 문서를 정리하고 개발자들이 원활히 개발할 수 있도록 기술 지원을 해 줍니다.



3. 프로젝트 매니저 Project Manager


프로젝트 관리 직업군은 좀 복잡합니다. 프로젝트 매니저는 수주된 계약의 “구현”과 “납품”을 담당합니다. 그래서 고객과 프로젝트 개발팀 사이에 위치하는 직업입니다. 자원 조달, 일정 확인 조율, 고객 커뮤니케이션, 개발 방향 설정 같은 것을 합니다. 단기 목표가 뚜렷한 SI 사업에는 반드시 필요하며, 같은 직업군으로 QAO가 있습니다.


주 고객은 IT시스템을 받아서 운영하는 “전산실”입니다. 간혹 IT시스템을 사용하는 실무 담당자가 고객이 되기도 합니다. 삼성SDS, SK C&C등 대형 SI/SM기업을 중심으로 수요가 높습니다.


프로젝트 관리 역량과 기술 관리 역량이 함께 있어야 하고, 책임지는 직업이기 때문에 베테랑 개발자나, 컨설턴트가 맡습니다. 하지만, 스킬이나 철학을 가르치는 곳이 따로 있지는 않습니다.


관리역량 외 고객 대응 스킬이 좋아야 해서 성격이 맞지 않으면 하기 힘듭니다. 연봉이 높긴 하지만, 실행된 계약 내에서 “평가” 되기 때문에 영업 직군보다는 낮습니다.


간혹 SI 기업이 아니라, 사내 프로젝트로서의 프로젝트 매니저도 있습니다. 하지만, 이 경우 직업군이라기보다는 한시적인 역할 개념이라 내용이 많이 약한 편입니다. 그리고 보통 팀장 한 분이 프로젝트 관리자를 겸하기도 합니다.



4. 제품 관리자 Product Manager


제품 관리자는 SI 개념에는 존재하지 않습니다. 제품 기획, 설계, 출시, 사후 관리까지 모든 것을 책임지기 때문에 오너쉽이 없으면 안됩니다. 그리고, 제품이 존재하는 한 필요한 사람이라 한시적이지도 않습니다. 그래서 직업이라기보다는 역할입니다. 즉, 삼성 스마트TV 사업부에 입사를 한 다음에야 “OO 제품 관리자”가 된다는 것입니다. 그래서 “스마트TV 제품 관리자”를 찾습니다 라고 공고가 뜨지 않습니다. 직업으로서 말이죠.


이 포지션은 일반적으로 기술보다는 “소비자”를 더 많이 공부해야 해서 “기획자”들이 많이 지원합니다. “데이터베이스”, “그룹 웨어” 같은 IT 제품들도 고객과 가까운 사람이 맡기 때문에 대부분 개발자 출신보다 비 개발자 출신이 많습니다.


“프로젝트 관리자”와 다른 점은, 제품에 대한 오너쉽이 있기 때문에 요구사항을 스스로 확정한다는 것입니다. SI 사업의 경우 “구현”에만 초점을 맞추기 때문에 “요구사항”을 능동적으로 확정짓지는 않습니다. “프로젝트 관리자”는 프로젝트가 끝나면 철수하는 직업군이지만, “제품 관리자”는 그렇지 않습니다.



5. 시스템 엔지니어 System Engineer


IT 분야에서 시스템은 “컴퓨터”를 말합니다. 인터넷 서비스도 결국 “컴퓨터”란 하드웨어 위에서 작동하기 때문입니다. 그래서, “컴퓨터”가 효율적으로 작동할 수 있게끔 지속적으로 여러가지 조율 작업을 해주어야 합니다.


유사 직업으로는 시스템 관리자, 시스템 엔지니어, 컴퓨터 엔지니어, 네트워크 엔지니어 등이 있습니다. 하지만 하는 일이 명확히 구분될 정도로 서로 다른 일이긴 합니다. 불과 몇 년 전만 하더라도 각 기업들이 “서버 컴퓨터”를 직접 사고 관리하기 때문에 직업 수요가 많았습니다.


하지만, 최근에는 임대형 클라우드 확산으로 직업 수요가 많이 줄어서 HP, IBM 같이 하드웨어 납품 회사들만 잠깐씩 채용 공고가 납니다. 납품 대상은 “전산실”인데, 전산 담당자들과 이야기하는 경우가 많지는 않습니다.


하드웨어 쪽이라 소프트웨어 개발자가 이쪽으로 이직하는 경우는 많지 않습니다. 아예 처음부터 “컴퓨터공학” 졸업자가 이쪽으로 취업하는 경우가 많습니다.


HP 같은 곳에 취업하면, 주로 시스템을 납품하는 일을 하게 되고 은행 같은 곳에 취업하게 되면 “전산 운영실” 같은 곳에서 일을 하게 됩니다.



6. 솔루션 엔지니어 Solution Engineer


데이터베이스 엔지니어, 웹 로직 엔지니어 같은 사람을 말합니다. 정확히는 개발된 솔루션(소프트웨어)를 서버에 잘 설치하고, 이를 이용해서 잘 개발할 수 있도록 이것 저것 기술 지원을 해주는 사람을 말합니다.


서버에 설치되는 소프트웨어는 PC와 달리 한 번의 설치로 끝나지 않습니다. 설치하면서 이것저것 환경설정도 필요하고, 가장 잘 운용될 수 있는 하드웨어 환경도 세팅해야 합니다. 멀티 유저 멀티 태스킹 환경에서 운용되기 때문입니다.


다루는 데이터량이나 사용하는 방법에 따라 소프트웨어에 할당되어야 할 “메모리”나 “CPU” 사용량 이 다릅니다. 그리고, 가장 최적의 상태로 사용될 수 있게 이것저것 환경설정을 해줍니다.


오라클, 웹로직, 티맥스 같은 회사에서 채용 공고가 납니다. 영업이 수주를 하면 주로 “납품”하는 역할을 담당합니다. 신입을 채용하는 경우도 적지 않습니다. 보통 사수를 통해 일을 배웁니다. 일이 어렵지는 않은데, 해당 솔루션이 아니면 이직 기회가 낮은 편입니다.



7. 소프트웨어 엔지니어 Software Engineer


솔루션 개발자와 하는 일은 비슷합니다. 다만, 우리 회사가 직접 개발한 소프트웨어를 서버 컴퓨터에 올려 놓고 운영, 최적화하는 일을 합니다. 작은 회사에는 직업이라고 부를 만한 것이 없습니다. 하지만, 100여 대 이상의 서버에 소프트웨어를 배포하는 경우는 운용 환경을 민감하게 살펴야 합니다. 조그마한 옵션 하나가 기가바이트 단위의 스토리지 용량을 늘리거나 줄일 수 있기 때문입니다.


페이스북에는 소프트웨어 엔지니어가 따로 있습니다. 하지만, 대부분의 작은 기업들은 소프트웨어 개발자가 엔지니어링을 함께 하고 있습니다.


만일 이걸 뽑는 기업이 있다면, 대기업일 가능성이 높습니다.



8. 솔루션 개발자 Solution Provider


우리 나라의 경우 시중에는 반제품 형태의 솔루션들이 많이 있습니다. 엔진만 가지고 있거나 범용성이 부족한 형태로 개발된 경우를 말합니다. 이런 제품들이 생각보다 많이 유통되고 있습니다.


이런 솔루션을 고객사에 “납품”할 때는 해당 솔루션을 이용해서 주변 기능을 구현해 줄 개발자들이 필요합니다. 주로 SI 형태로 “납품”되기 때문에 채용 공고가 곧잘 나는 편인데, 기술 난이도가 높지 않아 주로 “초급 개발자”나 “신입 개발자”를 많이 찾습니다.


영업 실적이 좋은 회사의 경우 페이가 좀 세기도 합니다. 하지만, 핵심 기능은 대부분 솔루션이 처리하기 때문에 개발자 입장에서 기술적 성취도가 높지 않습니다. 그리고, 그 회사를 벗어나면 경력을 인정 받지 못하는 경우가 많아서 이직의 기회가 낮은 편입니다.



9. 소프트웨어 개발자 Software Developer


“비즈니스 개발자”. 보통 앞에 수식어가 이렇게 붙습니다. 회계 개발자, 물류 개발자. 주로 일반 업무 기능을 소프트웨어로 구현하는 사람입니다.


SI회사는 전문화된 기술용역을 판매하기 때문에 이런 개발자들이 많습니다. 주 고객은 비즈니스의 실무 담당자(=현업)들입니다. 장점은 기업의 필수 업무는 거의 변하지 않기 때문에 꾸준히 일거리가 있습니다. 예를 들면, 회계, 인사, 노무 같은 업무와 빌링, 인증 같은 업무가 있습니다. 다만 경쟁이 심해지거나, 일거리가 풍족하지는 않을 수 있습니다.


인터넷 서비스 회사에는 내부 개발팀이 이런 일을 합니다. 하지만, 대부분 공통 조직이라 개발자가 필요에 따라 이런 저런 업무를 번갈아 가면서 합니다.


“솔루션 개발자”. 그룹 웨어 개발자. 머신러닝 개발자. 보통 엔진 같은 걸 개발합니다. 연구개발 하면서 개발하기 때문에 기술 난이도가 높습니다. 이론 공부도 많이 해야 하고, 신기술 공부도 많이 해야 합니다. 개발자로서의 성취도가 높은데, 좋은 사수를 만나야 좋습니다. 비슷하게 “패키지 개발자”, “데이터베이스 개발자” 등이 있습니다.


“서비스 개발자”. SNS 개발자, 사진 서비스 개발자. 인터넷 서비스를 개발하는 사람들입니다.



10. 프로그래머 Programmer


보통 앞에 수식어가 이렇게 붙습니다. 로봇 프로그래머, 앱 프로그래머(개발자).


광의로는 소프트웨어 개발자와 혼용됩니다. 하지만, 굳이 협의로 보자면 컴퓨터 작동에 더 초점이 갑니다. 좋은 점은 고객 대면 업무가 많지 않습니다. 주로 제품 판매를 통해 돈을 법니다. 그래서, 기계적인 로직 개선, 프로그램 최적화에 대한 가치 비중이 높습니다. 현실적으로는 소프트웨어 개발자로 채용 공고가 나오기도 합니다.



11. 코더 Coder


코더는 코드를 타이핑하는 단순 작업자를 말합니다. 아주 옛날 프로그래머와 코더(펀처)가 분리되어 있던 시절이 있었습니다. 요즘은 이런 직업이 없습니다. 하지만 고수들이 스스로를 낮추어서 이렇게 부르기도 합니다. 나 망치질 한다… 이런 느낌으로.


또는 임베디드 개발자들 사이에서 많이 사용되기도 합니다. 어셈블리 같은 건 코드 규칙도 중요하기 때문입니다.


요즘의 현실 세계에서는 주로 초급 개발자를 코더라고 부릅니다. 단순 작업을 주로 한다는 뜻인데 딱히 좋은 말은 아닙니다. 이런 인식은 미국도 비슷한 것 같습니다. 





※ 수정이력

3차 수정 : 2017.08.22. 전면 재작업

2차 수정 : 2017.05.17. 내용을 많이 손 보았습니다.

1차 수정 : 2014.09.14. 코더 부분 수정 (@DuncanSungWKim 지적에 따라)

최초 : 2011.05.20.





김수보 소장님 블로그 - IT의 중심에서  


6
7
  • 댓글 5

  • 우루부루구루
    472
    2018-10-23 23:06:21

    잘 봤습니다.

    감사합니다.

    1
  • 하이루
    344
    2018-10-24 09:55:57

    잘봤습니다.

    1
  • whoamii
    77
    2018-10-24 12:24:18

    😁감사합니다

    1
  • curtwolf
    175
    2018-10-25 07:06:14

    감사합니다 잘 봤습니다

    1
  • 지디입니다만
    657
    2018-10-25 16:15:25

    I'm KoTHE

    0
  • 로그인을 하시면 댓글을 등록할 수 있습니다.