15년 차 개발자가 말하는 ‘개발자로 살아남는 법’
이 시대의 IT 개발자를 위한 핵심 지침서
아침에 눈을 떠서 잠자리에 들기까지, 회사에서, 가정에서, 여행지에서, 장소와 시간을 불문하고 우리는 디지털 기술을 만난다. 우리의 일상 곳곳을 디지털 기술이 채우고 있다. 그 디지털 세상을 만들어가는 사람들, 일명 프로그래머, 개발자의 세계에 대해 우리는 얼마나 알고 있을까?
개발자와 IT 기술에 대한 관심은 날로 높아지고 있다. 많은 사람들이 개발자로 향하는 길을 눈여겨보고 있다. 그러나 개발자의 삶이 어떤지 제대로 아는 사람은 많지 않다. 개발자의 길에는 많은 난관이 따른다. 그러나 어떻게 하면 인정받는 개발자로 자리 잡을 수 있는지 누구도 제대로 알려주지 않는다.
개발자를 꿈꾸는 사람들은 지금 무엇을 배워야 하는가?
대학의 해당 학과를 졸업하면 과연 개발자로 성공할 수 있을까?
몇 개월만 학원에서 코딩을 배우면 취업이 된다는데, 사실일까?
개발자로 일하면 도대체 얼마나 벌 수 있을까?
같이 일하는 개발자들은 왜 말이 통하지 않는 걸까?
IT 강국으로 알려진 우리나라에서는 왜 슈퍼 개발자가 탄생하지 않는 걸까?
이 책은 개발자가 마주하는 의문과 어려움, 그에 대한 돌파구를 담고 있다. 나아가 개발 업계의 현주소와 문제점, 해결책도 제시한다. 내용을 찬찬히 따라가다 보면 의문에 대한 답을 찾을 수 있을 것이다. 15년 차 선배의 자세하면서도 때로 따끔한 조언은 독자들이 자신에게 맞는 길을 발견할 수 있도록 이끌어줄 것이다. 상상하는 모든 것을 현실로 만드는 행복한 직업. 그저 이상적인 표현만은 아니다.
어디서도 듣지 못한 이 시대의 진짜 개발자 이야기
인공지능과 과학 기술의 발전으로 미래에는 전반적인 직업 패러다임이 크게 변화할 것이다. 그러나 이러한 혼란 속에도 IT 개발자는 전망이 밝은 직업이라고 사람들은 말하곤 한다. 많은 이들이 IT 개발자를 꿈꾸고, 개발 업계에서 일하기를 원한다. 과연 사람들은 개발 업계의 현황과 IT 개발자의 실무에 대해 얼마나 알고 있을까?
IT 업계에 본격적으로 진출하기 전부터 많은 난관이 닥친다. 관련 학과에 들어가도 실무와는 동떨어진 공부만 하게 되는 경우도 상당하다. 개발자로 일을 시작하고는 또 어떠한가. 신입 개발자에게 교육을 실시하는 기업은 거의 없다. 대부분 곧바로 업무를 안겨주거나 프로젝트에 투입해버린다. 개발자는 몸으로 부딪치고 실수하고 바로잡으며 홀로 개발일을 익혀나가야 한다. 프로젝트로 묶인 인간관계도 복잡하기는 마찬가지다. PM, PL, 각 부서, 현업과 효과적으로 의사소통하는 법은 아무리 연구해도 어려운 부분이다. 또한 임금 문제도 만만치 않다. 프로젝트 단가는 고정되고 납기는 늘 최대한 짧게 잡으며, 하청에 재하청이 끊이지 않는 여러 악습이 개발자들의 숨통을 조이고 있는 실정이다.
이 책은 이와 같은 국내 IT 업계의 상황과 문제점을 면밀히 분석하여 알려준다. 저자는 이러한 상황에서도 좌절하거나 용기를 잃지 말라고 끊임없이 말한다. 어떤 해결책이 존재하는지, 어떤 방식으로 이러한 문제점을 헤쳐나갈 수 있는지 차근차근 언급하고 있다. 전문가가 제시하는 분명한 해결책과 따스한 조언을 따라가다 보면 슈퍼 개발자로 향하는 길이 보일 것이다.
능력 있는 개발자는 어떻게 만들어지는가
개발 업계에 던져진 개발자는 주어진 일을 처리하는 데도 부담을 느낄 수 있을 것이다. 일 잘하는 개발자, 성공한 개발자. 인정받는 개발자가 되고 싶은 마음은 누구에게나 있지만, 그 방법을 몰라서 답답할 것이다. 능력 있는 개발자가 되기 위해서는 자신의 성향에 맞는 직군을 결정해야 한다. 어느 분야에서 개발을 하고 싶은지 알기 위해서는 먼저 업계를 잘 아는 것이 중요하다. 국내 IT 업계에서 예산을 가장 많이 집행하는 대표적인 산업군은 어디인지, 그 이유는 무엇인지 파악하는 일이 필요하다. IT 업계별로 사용되는 언어를 파악하는 것도 진로를 정할 때 도움이 될 것이다. 어떤 분야의 기술을 습득하면 어떤 조직에서 어떤 일을 할 수 있는지를 살펴서 명확한 진로 계획을 세워야 한다.
소프트웨어 개발자가 프로젝트를 훌륭하게 진행하는 데 다섯 가지 기술이 필요하다고 저자는 말한다. 개발 기술력과 커뮤니케이션 능력, 리더십, 개방성, 잉여성이 그 기술이다. 여기서 저자가 강조하는 것이 ‘잉여력’이다, 크게 성공을 거둔 앱의 경우, 개발자의 ‘딴짓’에 의한 결과물인 경우가 많다는 것이다. 자신의 상상과 취미, 여가시간, 그리고 기술력이 결합하면 뜻하지 않은 작품이 탄생한다. 그래서 개발자는 ‘기술력’은 기본이고 ‘꿈’이 더 중요하다는 얘기다.
능력 있는 개발자가 되기 위해서는 많은 노력이 필요하다. 가만히 앉아서 주어진 개발일만 하는 것으로는 충분하지 않을 수 있다. 주위를 잘 살펴야 하고, 영리하고 효율적으로 일해야 하며, 자신에게 주어진 기회를 효과적으로 사용할 수 있어야 한다. 이 책에서 저자는 꿈을 가진 개발자들을 독려하며, 나아갈 길을 제시한다. 개발을 본업으로 삼기로 결심한 사람이라면, 저자가 제공하는 정보와 조언에서 큰 도움을 얻을 수 있을 것이다.
1982년생. X세대로 대변되는 80년대생답게 그 당시 부흥하기 시작한 인터넷의 즐거움을 만끽했다. 대학에서 정보통신 학부 소프트웨어 학사를 취득한 후 게임과 만화에 대한 추억으로 막연하게 게임 개발의 꿈을 키우기도 했지만 지금은 금융, 공공 웹 소프트웨어 회사에 재직 중이다. 10년 동안 수많은 프로젝트의 설계, 아키텍처, 소프트웨어 컨설팅 업무를 수행했다. 현재는 범익의 CTO로, 기업의 솔루션을 제작 총괄하고 국내 소프트웨어 프로젝트의 기술파트를 모두 책임지고 있다. 이밖에 AML&RBA 솔루션, AG 서비스, AML 클라우드 서비스, NFSS 고성능 소켓 서버 솔루션 등의 총괄 제작 및 배급업무를 맡고 있다.
저자의 말
프롤로그
Part 1 … 입문편
1. 개발자로 살아남기
- 프로젝트의 성공이란
- “대학에서 배운 것은 다 쓸모없어”
- ‘기술’보다 더 중요한 것은 ‘꿈’
- 개발자의 성장 그래프
- 한 발짝 더 나아가기 위한 다섯 가지 기술
- 시간 쪼개기
2. 프로젝트의 이해
- 별에서 온 IT
- 프로젝트에 따른 기술 정체성
- IT 프로젝트의 시작과 끝
- 프로젝트 위험관리
- 프로젝트의 리스크
3. 프로그래밍 작업의 가치
- SW 개발자 노임단가
- 프리랜서로 활동하기
- 창업에 도전하기
4. IT 업계의 사회병리학
- 신입 직원을 죽음으로 내몬 하청문화
- 산업발전을 저해하는 가장 큰 악습
- 프로젝트의 꽃, PM 양성 교육의 부재
- 유지보수 프로세스 정립
- 개발자 양성의 국비 지원 문제점
- 포괄임금제 폐지
Part 2 … 심화편
5. IT 시장의 현황 및 자본 흐름
- IT 업계의 자본 흐름
- 게임업계에서 빠질 수 없는 언어 C++
6. 다양한 IT 기술직군
- 나의 성향에 맞는 직군 고르기
- 사례 1 : 게임 개발
- 사례 2 : 웹 개발
- 사례 3 : 하드웨어 제품 개발
7. 내 손으로 구현하는 상상 속의 기술
- 가장 각력한 구현 도구, HTTP 웹 서비스
- 실시간 인터랙션을 위한 유일한 대안, TCP-IP 소켓 통신
- 하이브리드 앱
- 융합하면 가능성이 열린다
- 날아라, 드론
- 개발자라면 인공지능과 친해질 것
- 물건이 점점 똑똑해진다
- 빅데이터가 주도하는 세상
- 개발자는 상상을 현실로 만든다
에필로그