컴퓨터 프로그래머 Confidential 1 넥스트리밍㈜ 책임연구원 10 기 이준용,
Confidential 2 1. 무엇을 알고 싶어서 이 자리에 왔는지 알려주세요. 2. 듣고 싶은 또는 알고 싶은 얘기가 있다면 먼저 시작전에 알려주세요. 3. 내년 직업설명회에는 저보다 더 괜찮은 프로그래머가 대신해주기를 희망합니다. 4. 프로그래머의 정의 : 컴퓨터 분야에서, 프로그래머 (programmer) 란 컴퓨터 프로그래밍을 하고 컴퓨터 소프트웨어를 개발하는 사람을 말한다 프로그래머의 조건 #include int main() { if ( 프로그램짜는능력 () && 근성 && 체력 && 흥미 ) { return 0; } else return 1; } 0. 시작전에
Confidential 3 1. SW 구조 OS (Windows, Unix, Linux, RTOS, Android, IOS, JAVA VM(?)) Application(Office, Game, Server, App, Web, …) Device Driver Hardware( 범용 Computer 또는 특정 하드웨어 )
Confidential 4 1. Application 특정 환경 (OS) 에서 동작하는 응용 프로그램을 제작. PC/Server/Mobile Windows/Linux/Unix/Android/IOS C/C++/JAVA… 2 DB DBMS(Oracle, Sybase, MySQL, …) SQL 3. WEB JSP, PHP, ASP, JAVA, Script Language, … 4. System Device Driver/OS/Compiler/Programming Language, … C/C++/Assembler… 5. Embeded/Hardware HW 에 내장된 SW 개발. 현금입출금기, 스마트폰, 스마트 TV, … C/C++/JAVA/Assembler 2.1 프로그래머 분류
Confidential Application Programmer PC Application PC Game : 리니지 / 엔씨소프트, … 사무용 SW : MS Office, 한글 / 한글과컴퓨터, … 업무용 SW : Adobe Photoshop, Visual Studio / MS, … 증권사 HTS 기업체 / 관공서 내부업무 ( 관리 ) Application : SDS, SK C&C, LG CNS, 기타 중소기업 및 프리랜서 … Server Application Game Server : 리니지 서버 / 엔씨소프트, … Application Server : 카카오톡 서버, Daum/Naver( 검색엔진, 지도, 카페, 블로그, …), 증권사 HTS 서버, … Mobile Application Mobile Game : 모두의마블 / 넷마블, … App : KineMaster / Nexstreaming, 카카오톡 / 다음카카오, 배달의 민족 / 우아한형제들, 모바일뱅킹, …
Confidential DB Programmer 2.3 WEB Programmer 금융권의 ( 은행 / 증권사 ) 계좌정보 DataBase Naver / Daum / Google 등의 검색정보 DataBase 행정전산망 DataBase Gmarket / Interpark 등 인터넷쇼핑몰 금융권 인터넷뱅킹 Daum/Naver/Nate 등 포탈서비스의 Café / Blog / … 정부민원포탈 웹싸이트등
Confidential System Programmer 2.5 Embeded/Hardware Programmer OS ( UNIX, Linux, Windows, RTOS ) Application Device Driver Hardware Smart Phone / Feature Phone / Smart TV / … 삼성전자 / 엘지전자 은행 현금 입출금기 / 청호컴넷, 한네트, … 주로 Hardware 제조사 근래에는 RTOS 이외에 Linux, Android, Windows 등이 많이 사용되는 추세. SW(Application) 와 HW 의 중간역할. 삼성전자 / 엘지전자 스마트폰 Windows Driver SW. 국내에서 개발 및 상용화된 OS, Compiler 가 없다. 국내에서는 System Programmer 가 매우 적다.
Confidential 8 1.SW Package 2.Hardware 3.SW Solution 4.System Integration 5. 외주 / 용역 6. 인력파견 7.Non-IT 3. SW 기업 분류
Confidential 9 대부분 SW 전문 업체로 고객에게 완성품의 형태로 판매. 주로 B2C PC Game 엔씨소프트, Blizzard, … 사무용 SW Microsoft, 한글과컴퓨터, … 업무용 SW Adobe, Microsoft, … Mobile App Mobile Game : 모두의마블 / 넷마블, Angry Bird / Rovio, … App : KineMaster / Nexstreaming, 배달의민족 / 우아한 형제들, … 3.1 SW Package 애플 (?), 삼성전자, 엘지전자, … System / Embeded Programmer. 3.2 Hardware
Confidential 10 자사의 SW 를 고객사의 System 에 최적화 시키는 형태로 판매. 주로 B2B Multimedia Solution / Nexstreaming. 삼성전자, 엘지전자, HBO, … 보안 Solution / Symantec, … 회계관리솔루션 / 더존디지탈웨어 3.3 SW Solution 고객의 요구에 의해서, 고객의 목적에 맞는 시스템 구성 및 SW 제공. 타사의 SW 를 고객의 목적에 맞도록 튜닝 및 최적화. ERP 등 Solution 업체의 특징과 외주 / 용역 업체의 특징을 모두 가지고 있다. SDS, LG-EDS, SK C&C, 쌍용정보통신, 기타 중소기업 및 프리랜서, … 은행 / 증권사 업무 시스템, 이동통신사 업무 시스템, 행정전산망 시스템, 기업체 내부 업무 시스템, … 3.4 System Integration (SI)
Confidential 인력파견 Package/Hardware/Solution/SI / 외주 & 용역 업체에서 요구하는 개발자를 파견한다. 즉 인 력사무소와 유사하다. 프리랜서 프로그래머들에게 프로젝트를 알선해주고 수수료를 챙기는 구조. 비정규직 프로그래머. 3.5 외주 / 용역 Package/Hardware/Solution/SI 등의 업체에서 진행하는 프로젝트의 일부 또는 전체를 맡 아서 개발. Out-Sourcing 이란 이름으로, 부족한 프로그래머를 채용하기 보다는 외주 / 용역개발 업체 에 프로젝트 일부를 맡기는 경우가 대부분. 한때 삼성전자 / 엘지전자 휴대폰 대부분이 외주 / 용역 업체에 의해서 개발되었다. 소속된 개발자들이 자체 Solution 을 개발할 능력은 있어도, 기업에서 개발할 여력 또는 의 지가 없는 경우가 대부분.
Confidential Non-IT IT 업체가 아닌 기업체의 전산실 전산실이 대규모인 경우 자체 개발 및 유지 / 보수 업무를 진행한다. 국민은행 / 우리은행등 대형은행 전산실이 대규모가 아닌 경우, 개발은 외부 (SI, Solution) 에 의뢰하고 유지 / 보수 업무만을 진행한다. 증권사 전산실이 소규모인 경우 개발 및 유지 / 보수 모두를 외부에 의뢰하고, 외부업체만 관리한다. 삼성 / 엘지 /SK 등의 대기업에서는 그룹내의 SI 업체가 (SDS, LG EDS, SK C&C, …) 전산실의 역할을 대행한 다.
Confidential Programmer 의 장점 프로그래머는 무에서 유를 창조한다. 창조자 ! 나만의 철학이 담긴 창의적인 프로그램을 만들 수 있다. 주어진 목표에 대해서 나만의 방식으로 해결책을 찾고, 이를 내 스타일로 구현하는 짜릿함을 느낄 수 있다. 자기만족이 강할 수 있다. 내가 만들어낸 프로그램을 많은 사람들이 사용하는 것을 보면 뿌듯하다. 자신의 능력을 입증하기 쉽다. 반대로 자신의 무능함을 입증하기도 쉽다 ! Venture 창업이 용이하다. 모르는 사람들은 프로그래머가 상당히 똑똑하고 대단한 사람이라 생각한다. 세상이 어떻게 변하건 프로그래머는 계속 필요하다. 다양한 SW 가 요구되기에, 다양한 경험을 해볼 수 있다. 타직종에 비해서 이직이 쉽다. 또한 취업의 기회가 넓다. 기술자이다. 단점이 될 수도 있다. 타업종에 비해서 자유로운 기업 분위기 양복 X 해외 진출이 비교적 유리하다. 외국어 필수 !!! 세상을 쉽게 변화시킬 수 있다. 내 컴퓨터에서 작업한 내용으로 전세계인에게 행복 / 편리함을 제공할 수 있다.
Confidential Programmer 의 단점 3D 업종 Difficult, Dirty, Danger 고용주들의 쉽게 대체가 가능한 인력이라는 인식. 수요 / 공급 법칙에 의한 천차만별의 대우 저녁 & 주말이 없는 삶 업종에 따라서 예측이 불가능한 삶.( 고객사의 긴급 이슈 리포팅되면, 서버 장애 발생하면...) 급격한 SW/HW 환경의 변화로 인해서 공부를 계속해야 한다. 일반적으로 짧은 정년 조기 은퇴로 인한 전직 ( 치킨집, 떡볶이집, …) 항상 부족한 개발 기간 기획팀에서는 고의로 개발기간을 부족하게 책정 수시로 변하는 고객 / 기획자의 요구사항 대한민국에서는 HW 에 비해서 SW 를 저평가 슈퍼컴퓨터가 있으나, 슈퍼컴퓨터를 활용할 수 있는 SW 는 없는 현실 … HW 는 보이지만, SW 는 보이지 않는다. 인력시장 같은 분위기 대기업들의 경우, 인건비 절감을 위하여 인도 / 중국 개발자들이 개발을 진행하고, 국내에서는 관리만 하는 추세이다. 그러나 위 단점들은 대부분의 대한민국 노동자들의 공통적인 고충이다.
Confidential 년간의 프로그래머 생활 … 금융 SI 3 년 UNIX Server Programmer. DB 중심의 프로그래밍. 프로그래밍 기술 보다는 업무내용 및 DB 가 더 중요. 몇 개월 간의 일정을 내가 조절할 수 있었고, 실제 Programming 도 많이 해서 재미있었다. 그러나 Programming 기술보다는, 업무내용을 얼마나 더 많이 알고 있는지가 더 중요했다. 삼성전자 무선사업부 외주 / 용역업체 3 년 Embeded Programmer. Programming 보다는 디버깅 및 유지 보수가 대부분이라 재미 없었다. 개발자 ? 디버거 ? 멀티미디어 솔루션 9 년 Embeded & Application Programmer. 내 일정을 나도 모른다. 언제 어디서 무슨 일이 발생할지 예측불가의 삶 ! Media Player Solution 초기부터 개발에 참여해서 많은 기능을 구현했고, 힘들었지만 그만큼 재미있었다. 복지 / 근무환경이 좋은 편에 속해서, 만족하면서 근무중.
Confidential 후배들에게 … 프로그래머에 대한 환상은 버려라. 프로그래머란 직업은 결코 편하고 쉽게 돈 벌수 있는 직업이 아니다. 논리적인 사고와 창조작업을 좋아한다면 좋은 직업이다. 열정과 체력이 없다면, 다른 직업을 생각해봐라. NHN 의 이해진, 엔씨소프트 김택진, 카카오 김범수 같은 성공한 프로그래머는 극히 드물다. 대한민국에서 기득권으로 살아가고 싶다면, 다른 직업을 생각해봐라. 프로그래머 또한 노동자이다. 직업과 취미를 혼동하지 말라. 내가 프로그래머라는 직업을 가진 것에 대해서 후회하지 않는다. 그러나 추천하기는 어렵다. “ 좋은 개발자가 되려면 ” 카카오 이확영님의 자료 참고 영어 / 수학 필수 ! 가급적 전기 / 전자 / 통신계열 (HW) 보다는 컴퓨터공학 (SW) 계열로 진학하라. 지금부터 쉬는 시간에 Programming Language 를 공부해서, 프로그래머가 내 적성에 맞는지 시험해보는 것도 좋다.
Confidential 프로그래머의 일상 1. 확인 2. 버그 관리 시스템 (Issue tracking system) 확인 3. 소스코드 리뷰 시스템 (Source code mamagement system) 확인 4. 디버깅 이슈 있다면 우선수위 정해서 디버깅 시작 a. 이슈 검토 b. 로그 확인 c. 원인 분석 d. 수정방안 검토 e. 수정 f. 테스트 g. 수정된 소스 SCM 적용 5. 디버깅 이슈 없다면, 구현해야할 기능들 설계 및 구현 6. 매일 퇴근전에 하루 업무 간단히 기술하여 인트라넷에 등록
Confidential 18 참고자료
Confidential 19 참고자료
Confdential 20 시간이 남으면 … 모든 직업은 타인과 함께 한다. 소통 ( 협상, 토론 ) 능력이 중요하다. 대한민국의 일자리는 지속적으로 감소중이다. 80 년대 그리고 지금의 대학생 취업현실 프로그래머 같은 기술자들도 나이가 들면, 정치적인 부분도 알아야 한다. 조기 전직의 한 원인이 아닐까 ? 다양한 책을 읽고 다양한 경험도 해봐라. 인문학적 소양 갑과 을의 관계 인정하고 싶지는 안지만, “ 갑질 ” 할 수 있는 직업이 ( 회사가 ) 좋다. 그러나 갑질은 하지 말기를 … IT 의 역사가 궁금하면, 팟캐스트 “ 그것은 알기 싫다 ” 의 “ 신인류연대기 ” 편 추천.