IT의 중심에서

기술은 사람을 행복하게 할 때 가장 가치가 크다.

개발자의 현재와 미래

모 인터넷 기업의 개발팀에게 강의한 내용으로 그 분야의 시각에서 IT를 담아보았습니다. ‘난 어디에 서있지?’. ‘트렌드에 뒤쳐져서 혹시 도태되고 있는게 아닐까?’하고 불안해하는 분들에게 도움이 되었으면 합니다.

※ 파워포인트 다운로드 : http://www.slideshare.net/kimsubo/ss-46844044

  1. 2013년 Daum DevOn에 좋은 내용으로 강의를 해주신 분들입니다. 혹시 아는 얼굴 있으신가요? 이 분들이라면 아마 우리나라 개발자의 롤모델이어도 모자람이 없을 듯 싶습니다.
    dev1

  2. 저는 올레맵 개발을 지휘했고 나중에는 아임IN을 고도화하다가 나왔습니다. 최초 버전을 만들 때는 참여하지 않았습니다.
    dev2

  3. 아래 분들의 이름을 모르는 분들이 계실까요? 나이들을 한 번 보세요. 주커버그는 1984년생이군요. 젊습니다. 혹시 이 분들이 롤모델이신가요?
    dev3

  4. 그런데 이 분들은 아시나요? Alan Kay는 OOP의 창시자입니다. ‘미래를 예측하는 가장 좋은 방법은 미래를 창조하는 것이다.’라는 유명한 말을 남겼습니다. Alan Cooper는 Visual Basic의 아버지이고 Ted Nelson은 Hyper Text를 만들었습니다. Gerald Weinberg는 소프트웨어 심리학자로 애자일의 할아버지입니다. Lary Wall은 Perl의 창시자입니다. 이 분들은 개발자 0세대로 대부분 70~80 대입니다. 이 분들이 개발자의 진짜 롤모델이 될 수 있지 않을까요?
    dev4

  5. 국내 사례는 강의를 통해서 이것저것 말씀드렸습니다.
    dev5

  6. 영화에서 상상하는 미래는 언젠가는 현실이 됩니다. 그런데 아래와 같은 시스템을 만드려면 현재 Java로 가능할까요? 현존하는 개발모델로 엔터프라이즈호를 움직이는 시스템을 만들 수 있을까요? 식량보급, 자세제어, 워프, 항로기록 등 시스템 수가 약 1만개는 넘게 들어가지 않을까요? 그리고 어떤 시스템은 정말 무장애 시스템이어야 할 겁니다. 우주선이 급발진되면 큰일입니다. 바로 이런 미래를 만들어야 하는 사람들이 소프트웨어 개발자들입니다.
    dev6

  7. 하지만 오늘의 현실입니다. 힘들고 삽질하는 건 전 세계적으로 비슷한데요. 재미있는 건 1975년에 실리콘밸리에서도 똑같은 생각을 했다는 것입니다. 시스템이 깨끗하게 유지되기 힘든 건 옛날에도 마찬가지였던 것 같습니다.
    dev7

  8. 슈퍼컴퓨터였던 CDC-6600은 라즈베리파이보다도 40배 느렸고, 크레이는 펜티엄3 정도와 성능이 비슷했다고 합니다. 이 시기는 컴퓨터를 만들기 위해 인간에 대한 연구와 프로그래밍 언어가 눈부시게 발전한 때였습니다. 이후 PC가 발전하고 스마트폰이 등장했습니다. 이런 위대한 변화가 일어나는데 불과 70년 밖에 걸리지 않았습니다.
    dev8

  9. 통신이 발달되니 사업환경이 변하고 기술환경이 변합니다. 하드웨어가 저렴해지면서 범용 하드웨어 상에 소프트웨어를 이용해 다양한 기능을 제공하는 방향으로 환경이 변하게 됩니다.
    dev9

  10. IT기술이 발달되면서 통신인프라와 소프트웨어를 이용한 서비스업이 발전하기 시작합니다. 그래서 자꾸 소프트웨어를 변경해야 할 필요성이 생깁니다.
    dev10

  11. 보험설계사가 되면 훌륭한 라이프 플래너로 만들기 위한 다양한 교육 프로그램이 존재합니다. 하지만 IT는 아직 그렇지 못합니다. 훌륭한 개발팀장이 되는 법, 훌륭한 개발팀을 만드는 법 등은 책도 없고 누가 가르쳐 주지도 않습니다.
    dev11

  12. 엔터프라이즈호를 만들어야 하는 미래를 생각해보면 IT는 앞으로 한참 더 발전해야 합니다. 몇 세대가 지나야 할 것 같습니다. 지금의 개발자들은 그 역사의 시작점에 서 있습니다. 반대로 이야기하면 그만큼 여러가지 노하우나 기술의 부족에 시달리고 있다는 뜻입니다. 그래서 현재 개발자들의 역할과 태도들이 매우 중요합니다. 능동적이고 적극적인 마인드가 중요합니다.
    dev12

  13. 우선 개발팀에 대해 이야기해보겠습니다. 2013년 실리콘밸리의 개발자가 블로그에 올린 그림입니다. 팀 프로젝트는 우리나라만 그런 것이 아닌 모양입니다. 누군가 혼자서 99%의 일을 다 하고 대부분은 말로만 도와준다고 합니다. :-)
    dev13

  14. 자동차는 모든 부품을 처음부터 만들지 않습니다. 많은 부품을 재활용합니다. 훌륭한 시스템도 많은 컴포넌트나 라이브러리들이 필요합니다. 그래서 마찬가지로 소프트웨어도 부품을 재활용할 수 있는 인프라가 매우 중요합니다.(소스,컴포넌트,라이브러리,프레임워크 등)
    dev14

  15. 품질도 마찬가지입니다. 경험상 품질은 기술이 아니라 개발자의 시간과 땀을 먹고 조금씩 좋아집니다. 품질은 디테일이기 때문입니다. 품질활동은 그만두면 계속 떨어집니다. 목표가 되는 사업 요구사항이 계속 변하기 때문입니다.
    dev15

  16. 오버엔지니어링은 SI에서 많이 나타나지만 일반 기업도 작다고는 할 수 없습니다. 국세청 사이트는 대표적인 오버 아키텍쳐링 사례입니다. 프로젝트 종료 후에는 수정하기 어렵기 때문에 가능한 모든 경우를 고려하여 시스템을 구축하는 것입니다. 그러다보면 발생확률이 1%인 문제를 걱정해서 50%의 서비스 사용성을 희생시키기도 합니다. 그런데 서비스업은 규제를 지키는 것이 목적이 아닙니다.
    dev16

  17. 1968년 ‘모듈화 학술포럼’에서 멜빈 콘웨이가 이런 말을 합니다. ‘훌륭한 시스템은 훌륭한 조직(소통구조)이 만든다.’ 좋은 조직문화가 없으면 좋은 개발자가 들어와도 훌륭한 시스템이 만들어지지 않습니다.
    dev17

  18. 전통적인 소프트웨어 공학은 메인프레임을 움직이기 위한 도구로 시작되었습니다. 하드웨어가 중요하던 시절 코볼과 같은 절차형 언어와 함께 만들어졌습니다. 그래서 먼저 완벽한 설계가 끝나야 구현을 할 수 있었습니다. 그래서 건설적인 방법을 차용해도 문제가 없었습니다. 그러나, 점차 실리콘밸리 개발자들은 기존의 공학이 일하기에 불편하다고 느꼈습니다. 객체지향언어는 절차형일 때보다 훨씬 구현과 배포도 자유로웠습니다. 그래서 2001년 선언을 통해 일하는 방법을 바꿉니다. 그것이 애자일입니다. 그런데 애자일은 들여다 보면 결국 사람 이야기입니다. 소프트웨어 회사는 훈련된 개발자가 핵심자산입니다.
    dev18

  19. 기술자산을 쌓는 이유는 품질이 한 번에 좋아질 수 없기 때문입니다. 그래서 기술자산을 자꾸 열어보고 개량할 수 있게 해야 합니다. 그리고 개발자들이 기술자산을 이용해 새로운 것을 계속 만들어보게 하는 것입니다. 이들은 서비스를 직접 만든 사람이기 때문에 변형도 자유롭게 합니다. 이것이 우연성을 만들어 냅니다. 최근의 글로벌화는 Developer시장을 먼저 공략합니다. 그들이 사업파트너를 찾는 징검다리 역할을 하기 때문입니다. 서비스업에서 개발자들은 사업전파의 매개자이자 새로운 기회를 만드는 역할을 합니다. 물론 이후에 사업이 붙어야 합니다.
    dev19

  20. 레진코믹스의 개발자들도 대부분 10년 이상의 베테랑들입니다. 그런데 레진은 구글의 PaaS를 선택했습니다. 몰라서가 아니라 그 선택이 적정했다고 판단했기 때문입니다. 그런 선택을 “적정기술”이라고 부릅니다.
    dev20

  21. 애자일이 만능은 아닙니다. 생산공정이 안정되어 있고 분업화 효율이 중요한 곳에 가서 애자일 이야기 하면 바보취급 받습니다. 그러나 우리 팀의 일을 잘 정리해보고 어떻게 일해야 큰 효과를 낼 수 있는지 고민해 볼 필요가 있습니다.
    dev21

  22. 개발자 이야기해보겠습니다. 아래 그림은 캐나다, 미국, 아르헨티나 등 전세계에 떠돌고 있는 그림입니다. 글로벌하게 비슷하게 느끼고 있는 듯 합니다. 그런데 디자이너가 보는 개발자는 정말 배나온 뚱보인가요? ㅠㅠ (배나와서 찔리는 1인)
    dev22

  23. 공장의 로봇 프로그램은 베이직이나 파스칼을 이용해서 짭니다. 절차형 언어가 좀 느리더라도 확실하고 안정적이기 때문입니다. 포트란은 메모리나 포인터 연산없이 복잡한 행렬연산을 간단하게 짤 수 있는 좋은 언어입니다.
    dev23

  24. 인생 1,2,3막을 이렇게 나누는 기준은 일본에서 시작된 것으로 알고 있습니다. 아마 우리나라 경제활동의 구조가 일본을 베꼈기 때문일 것 같은데요. 실리콘밸리의 개발자들이 인생 3막을 살고 있는 것에 비해 우리나라의 베테랑들은 현재 2막을 지나고 있습니다. 그래서 롤모델로 삼을 만한 분들이 아직 많지 않습니다. 그러다보니 개발자들의 미래에 대한 불안들이 다양하게 나타나고 있습니다.
    dev24

  25. 개발자의 가장 큰 무기는 직접 무언가를 만들어볼 수 있다는 것입니다. 자신을 위한 Product를 만들어 보십시요. 첫술에 배부르진 않습니다. 그런데 무얼 만들려면 동기가 있어야 합니다. 동기를 찾기 위한 시간을 가져보십시요. 또한 개발자는 평판이 매우 중요합니다. 왜냐하면 60이 넘어도 일할 수 있는 몇 안되는 직업이기 때문입니다.
    dev25

  26. 제가 개인적으로 느꼈던 교훈들입니다.
    dev26

  27. 뛰어난 개발자보다는 좋은 개발자가 되십시요. 개발은 협업을 기본으로 하기 때문입니다. 개발은 혼자서 할 수 있는 일이 많지 않습니다. 시스템이 커질수록 협력능력이 매우 중요합니다. 두번째로 중요한 요건은 발전동기입니다. 발전동기가 강한 사람은 누구나 탐을 냅니다. 물론 흔치 않습니다.
    dev27

  28. 10,000개 이상의 라이브러리를 혼자 만들고 관리할 수 있다면 협업능력은 없어도 되는 걸로…인정하겠습니다.
    dev28

  29. 병원에 와서 환자들이 ‘머리가 아프고 열이 나니 감기약을 처방해 주세요.’라고 말하고 의사들이 ‘네 선택하신대로 처방해드릴께요.’라고 한다면 올바른 의료행위라고 할 수 없습니다. 마찬가지로 IT도 그렇게 된다면 앞에서 상상했던 미래는 절대 오지 않습니다. 개발자들이 의사처럼 전문적인 소견(의견)을 제시하고 기술에 대해 책임있는 의사결정을 할 수 있어야 합니다. 스스로 전문직업으로 대우하지 않으면 남들도 그렇게 대우하지 않습니다.
    dev29

  30. 위의 변화는 주로 실리콘밸리를 대변합니다. IT업계 전체는 아닙니다. 그러나 실리콘밸리가 IT업계 전체를 바꾸고 있다는 것도 잊으면 안됩니다. 들여다보고 좋은 것은 선택하고 맞지 않은 것은 내려 두십시요.
    dev30

  31. 우선 좋은 취미를 하나 골라보세요. 그리고 그걸 소프트웨어로 만들어보십시요. 세상이 달라 보일겁니다.
    dev31

Advertisements

개발자의 현재와 미래”에 대한 6개의 댓글

  1. 박도영
    2015년 7월 10일

    여러가지 돌아 보게 만드네요.

    스스로 전문직업으로 대우하지 않으면…… 힘들어하는 후배들을 위해서 필요할 것 같습니다. 감사합니다

    • subokim
      2015년 7월 10일

      아닙니다. 좋은 의견 감사합니다.

  2. 김남석
    2015년 7월 8일

    회사 동료 한 분께서 페북에 공유해주신 글을 보고 찾아왔는데, 읽고 나니 뵙고 싶다는 생각이 들어 글을 남깁니다.

    저는 재작년에 오올블루라는 게임 개발사를 동료들과 창업해서 게임을 만들고 있습니다. 앞으로 4년 안에 슈퍼셀을 넘어선 크로스플랫폼 RPG 개발사가 되고자 오늘과 지금을 하나씩 차곡차곡 쌓아 올리고 있습니다.

    어떤 특별한 아젠다를 가지고 뵙기 보다는 1시간이라도 시간을 내어주신다면 찾아뵙고 현재 풀고자 하는 문제를 이야기 나누고 서로의 생각을 공유해보면 좋겠습니다.

    가능하다면 이후 저희 회사에서 작은 세미나를 해보는 것도 좋을 것 같구요.

    좋은 글 고맙습니다. :)

    • subokim
      2015년 7월 8일

      감사합니다. 이메일로 연락을 드렸습니다.

  3. Wangeun Lee
    2015년 4월 15일

    좋은 발표자료 잘봤습니다!
    혹시 발표 자료 중에 명언들에 대해 발췌하여 사용해도 될까요?
    ‘기술은 동기를 가질 때 위대해진다.’ 라는 말이 가슴을 울리네요..
    출처는 꼭 밝히도록 하겠습니다.

    • subokim
      2015년 4월 15일

      좋은 피드백 감사합니다. 다만 오해의 여지가 없도록만 신경 써주셨으면 합니다. ^^*

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

%s에 연결하는 중

정보

이 엔트리는 2015년 4월 11일에 님이 개발자의 삶에 게시하였으며 , 태그가 지정되었습니다.

내비게이션

누적 조회수

  • 956,079 Visits

페이스북 페이지

%d 블로거가 이것을 좋아합니다: