97년 IMF 터졌습니다. 기업들이 신규채용을 확 줄이자 넘쳐나는 대졸 미취업자들의 탈출구 하나가 웹마스터 과정이었습니다. MCSE 장난아니게 경쟁높았고요, 저는 학원시험에서 MCSE반 떨어져서 SCJP로 들어갔습니다. 그때는 처음 들어봤습니다. java는 알고 있었지만 SCJP는 "이거 뭥미, 그냥 같은 학원에서 다른 반이니까 들어가자" 해서 자격증 커트라인+1 점으로 땄습니다. 저는 99년 SDS멀캠 출신이죠.

그로부터 10년 가까이 지난 지금, 아직도 쓸만한 사람이 없다고 업계는 난리입니다.

하지만 문제는 3~5년 뒤에 일어날 겁니다. 경력 10년 이상, 13년 정도되는 생존한 개발자들이 넘쳐날 것이기 때문이죠. 시다바리 개발에 신물이 난 사람들은 아키텍트가 되려고 노력하겠죠. 그리고 이렇게 얘기할 지도 모릅니다. "이 나이에 내가 하리"

하지만 슬프게도 하셔야 될 지도 모릅니다. 아직도 정치력도 없고, 현업과 커뮤니케이션도 서툴다면 말이죠. PM, PL 급의 사람들이 기본적으로 갖춰야 할 것이 정치력입니다. 이해관계자(스테이크 홀더라고 하죠)들과 협상할 수 있고, 설득할 수 있는 정치력 말이죠.

또 한 가지 그 나이가 되면 해야 할 일 중 하나가 협업입니다. 우리 나라에는 천재적인 프로그래머가 많습니다. 하지만 호흡을 맞춰서 뭔가 제대로 해내는 팀을 보기가 어렵습니다. 미국엔 소프트웨어 패턴을 집대성한 GoF(Gang of Four;Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides)가 있지 않습니까? 학교에서 일 저지른 것이죠. 1995년에 디자인 패턴 책이 이 사람들에 의해서 쓰여졌죠.

자기가 혼자 다 하려면 옆에는 머릿수 채우는 호박과 같게 됩니다. 함께 일하는 사람들과의 커뮤니케이션 시간도 매우 중요합니다. 잘 되고 있냐 라고 물어보지만 그거 어떻게 믿습니까. 믿는 도끼에 발등 찍히는 경우가 프로그래머 세상엔 너무 많습니다. 개인차, 실력차, 코딩 스타일이 제각각이기 때문이기도 합니다.
그 나이가 되면 팀의 문화를 만들어 내야합니다. 코딩 문화, 회의 문화, 직업 문화. 흔히 개인 생활에는 터치하는 게 실례라고 하지만, 팀원의 사적인 고민, 예를 들면 집안일이라든가 애정 행각에 대한 배려는 팀내에서 이뤄져야 합니다. 그래야 일할 맛 나는 일터가 되겠죠.

책도 봐야되고, 경영도 알아야하고, 세상 돌아가는 이치와 함께 컴퓨터 발전 속도도 따라 잡아야 되니 이제 컴퓨터 조립 같은 것은 2만원 주고 용산에 맡기는 게 나을 겁니다.

변화의 속도를 따라잡는 당신은 진정한 프로그래머, 우훗훗
이올린에 북마크하기(0) 이올린에 추천하기(0)
크리에이티브 커먼즈 라이선스
Creative Commons License


1. 패밀리; 가족이라고 불리는 갑종 근로자이다. 장애만 안 나면 그리 피곤하게 생각하지 않음.

2. 초대받은 손님; 전문가라 불리며 프리랜서 계열이 많음. 사실 오라는 데 많지만 조직 적응력과 정치력이 귀찮아서 홀로 독고구검을 추구하는 스타일. 하지만 경험이 많아서 해결사형이 많음.

3. 마당쇠; 경력부족으로 인력업체를 통해서 프로그램을 많이 짜게 된다. 부디 현명해지길...
이올린에 북마크하기(0) 이올린에 추천하기(0)
크리에이티브 커먼즈 라이선스
Creative Commons License


소프트웨어 프로젝트는 임신기간과 같은 것 같습니다. 다음과 같은 비유와 은유가 가능할 것 같습니다.

  • 오픈일 - 출산예정일
  • 정상오픈 - 순산
  • 오픈 딜레이 - 난산
  • SI - 애 낳고 떠나는 씨받이, 또는 대리모
  • SM - 남이 낳은 애 키우는 유모 또는 보모
  • 아웃소싱 - 탁아소
  • 인하우스 - 능력있는 가정
  • 성능진단팀 - 산부인과 의사
  • 성장 과정 - 비즈 변경에 따른 소프트웨어 변경

프로젝트를 오픈하기 위해서 쏟는 기획, 디자인, 개발, 영업의 노력은 산고와도 같이 예측하기 힘든 어려움들을 각오하고 진행하는 듯 합니다. 뱃 속에서 커가는 아기를 위해 여러가지 진단을 하듯이 프로젝트 기간 동안 주기적으로 진행상황을 진단할 필요도 있겠지요.

개인적으로 중요한 것은 볼드체로 처리한 항목입니다. 웹 애플리케이션은 오피스 프로그램이나 OS 같은 박스 포장 제품 프로젝트와 다릅니다. 서비스를 위한 프로그램이 웹 애플리케이션입니다. 아기를 순산하는 것을 궁극의 목표로 잡는 것이 아니라 그 아이가 잘 클 수 있도록 옆에서 잘 키워주는 것이 궁극의 목표이지요. 그것은 바로 서비스가 잘 커갈 수 있도록 얼마나 많은 관심과 사랑을 쏟느냐가 관건입니다.

국내의 많은 소프트웨어 프로젝트는 거의 미숙한 서비스를 낳는 것 같습니다. 인큐베이터가 필요한 아기 말이죠. 오픈일에 맞춰서 최초 과도하게 잡은 목표 스펙의 상당부분을 빼버립니다. 우리 애는 대통령 > 장관 > 판검사 > 의사 > 돈 잘 버는 사업가 > 공무원 > 평범하게 사는 1인이 될 거라고 목표 스펙을 줄여갑니다.

일단 오픈은 하고 줄였던 스펙을 다시 요구해서 뚝딱거리기 시작하죠. 소프트웨어에 스트럭처는 이미 많이 희생당한 상태입니다.

오랜만에 구글 어스를 설치해봤습니다. 오~ 많이 컸군요. 한글 지원도 잘 되고, 지원되는 기능도 유기적으로 잘 돌아갑니다. 남들이 하니까 우리 애도 이렇게 키워야 된다고 많은 부모들이 생각합니다. 너무 튀거나 다르면 잘 못 된 줄 알고 걱정부터합니다. 하지만 돈을 만들면 다릅니다. 스타크래프트 황제 임요환의 경우 남들 하는 대로 큰 것 같지는 않습니다.

있을 때 잘 하라는 말이 있습니다. 괜히 힘들게 아이 하나 낳아서 애처롭게 죽이지 말고, 사회에 좋은 공헌하는 서비스가 되도록 잘 키울 필요가 있을 것 같습니다. 그 아이와 마주한 사람들이 즐거움을 느낄 수 있도록 말이죠.

사용자 삽입 이미지

image from: http://www.saione.com/services_overview.htm

ps. Mythical Man Month에 나오는 얘기를 약간 변경해 봤습니다.
여자 9명 데려다가 너는 머리 낳고, 너는 오른팔, 너는 왼팔, 너는 오른다리, 너는 왼다리, 너는 몸통 .... 이렇게 한 달 만에 애 부속 만들어서 합쳐봐. 그럼 되지? 라는 식으로 진행하는 프로젝트들에 애도를...
이올린에 북마크하기(0) 이올린에 추천하기(0)
크리에이티브 커먼즈 라이선스
Creative Commons License


  • 저는 Google(이라고 쓰고 구걸이라고 읽습니다) 회사에 다니지 않습니다. 2006년에 원서 썼는데, 아직도 답장이 오지 않고 있습니다.
  • 저보다 업무처리 잘 하는 동료들이 수두룩 합니다. 저는 맨날 업무 납기일 넘기기를 밥먹듯이 합니다.(그래서 밥을 잘 안 먹으려고 합니다.)
  • 제가 전에 만들어 놓은 소스들을 보면 한숨부터 나옵니다. 대표적인 예가 okjsp.pe.kr 사이트 소스입니다.
  • 야근하는 것 안 좋다고 떠들면서 야근을 밥 먹듯이 합니다.(그래서 밥을 잘 안...)
  • 오픈소스 만들지는 못하면서 오픈소스 프로그램 강의하면서 먹고 삽니다.(오픈소스는 공짜지만 그걸 이용하는 서비스는 비즈니스 가치가 있다고 생각합니다.)
  • 대학 전공도 안했고, 졸업학점도 C학점입니다. 좀더 자세히 하면 2.63/4.5 (헉, 이건 C급이군요)

그냥.

사용자 삽입 이미지

image from: http://www.wnysmart.org/PPE.ht2.jpg
이올린에 북마크하기(0) 이올린에 추천하기(0)
크리에이티브 커먼즈 라이선스
Creative Commons License


인력이 줄어든다:
2008년 현재
왠만한 자바 개발자는 모두 8~10년차 이상이고, 이 사람들 쓰자니 단가가 너무 높고, 그렇다고 이 사람이 프로젝트 성공시킨다는 보장도 없고.

학원 갓나와서 경력쌓고 싶어하는 인력은 많은데 나도 자바를 모르니 가르치면서 일 시킬 수도 없고,

어디 3~5년차 되면서 프로젝트 안정적으로 성공시킬만한 인력 없을까나

지난 2월 16일 JCO의 자바 개발자 컨퍼런스에 4,000 명정도의 국내 자바개발자들이 모였습니다. 점점 희귀해져 간다는 전산관련 학생들도 있었고, 전국에서 모여든 자바 프로그래밍과 관련있는 사람들이었습니다. 너무 많이 와서 짜증내면서 돌아간 분만 대략 1,000 명 가까이 되지 않나 개인적으로 생각해 봅니다.

이렇듯 아직도 개발자들이 멀쩡히 살아있는데, 왜 없다고 할까요.

이제 고급인력이 되어가는 2000년 전후의 학원출신 개발자들에 대한 대우가 부담스러운 것이 하나.
아웃소싱에서 인하우스 개발로 트렌드가 바뀌고 있기에 떠돌이 용병 개발자보다는 자체 전산인력으로 자리를 잡는 추세가 하나.
네이버, 다음 같은 포털의 자바 플랫폼을 개발표준으로 정하고, 2006년 대비 2~4배 가까이 자바개발자들을 흡수한 것이 하나.
티맥스가 솔루션 사업 외에도 SI 사업도 손을 뻗쳐서 블랙홀처럼 JEE관련 인력을 빨아들인 이유가 하나.
죽었다 깨어나도 공돌이가 잘 되어봐야 장영실이지 라는 명분주의의 한국 문화로 대학생들이 프로그래밍을 기피하는 현상이 하나.
MS는 대학교에 무지막지하게 투자를 하나, SunMicrosystems, BEA, 티맥스, IBM 등 자바관련 기업들의 대학생 교육 투자비를 모두 합쳐도 MS 못따라가는 현실에 교수들은 친MS적 커리큘럼을 짤 수 밖에 없는 현실이 하나.

무진장 이유가 많겠죠.

솔직히, 프로그래밍 직업, 어렵습니다.
이올린에 북마크하기(0) 이올린에 추천하기(0)
크리에이티브 커먼즈 라이선스
Creative Commons License


사용자 삽입 이미지
image from: http://evazone.seezone.net/Analysis/ThirdImpact

컴퓨터인 줄 안다. - 시키는 일만 하니까.
일을 시키는 사람이나 업무 할당 받아서 개발하는 프로그래머나 프로그래머는 컴퓨터를 다루는 또 하나의 기계로 인식된다.
기획자와 얘기 좀 많이 하자.

24시간 내내 일한다. - 해결책을 찾을 때까지 머릿 속 로직은 쉬지 않는다.
퇴근해도 버그에 대한 해결책 마련은 뇌를 지배하고 있다. 사실 칼같은 출퇴근은 크게 의미를 갖지 못한다.
이런 잠꼬대를 한 적도 있다. "거의 다 됐어요. 쪼금만 기다리세요", 덴장.
뇌가 쉴 수 있도록 몰입할 것을 찾자. 

학생티를 못 벗어난다. - 급변하는 기술 속에 배울 것은 늘어만 간다.
문화, 경제 분야 모두 급변하지만 특히나 컴퓨터 쪽 프로그래머들은 배우는 티를 더 낸다.
배우지만 말고 가르쳐 보라니까.

고정된 패션 - 상의: 체크무늬, 줄무늬 / 하의: 기지바지, 청바지
요즘은 많이 나아지고 있지만, 도시 패션에 신경을 쓰지 않는다. 세미나에서 받은 티셔츠를 즐기는 사람도 제법 있다.
코디해 줄 사람을 구해본다. 인터넷 쇼핑몰에서 싸게 옷도 사본다.

그들만의 언어 - "Hello, World"의 의미를 일반인과 다르게 인식한다.
자바, C 언어를 막론하고 다 아는 문구이다.
이제 사람을 향한 언어에도 익숙해져야 한다.

일단 여기까지
이올린에 북마크하기(0) 이올린에 추천하기(0)
크리에이티브 커먼즈 라이선스
Creative Commons License


사용자 삽입 이미지
image from: http://seis.scienceall.com/book_file/ke12/ke012-128.htm 

토마스 에디슨은 발명왕이라고 합니다. 전구를 만들었고, 오늘날 MP3시장의 원조 기술인 소리를 저장했다가 다시 재생하는 방법을 만들어 냈습니다. 그 외에 기억나는 것은 별로 없습니다. 소리를 멀리에 전달하는 방법을 고안해 낸 사람은 그레이엄 벨입니다. 전화기를 발명해서 음파를 전달할 수 있다는 기본 원리를 찾아낸 사람입니다.

현대인의 생활에 밀접한 이런 기반 기술을 찾아낸 사람들을 일부러 기억하지는 않습니다. 그냥 당연하게 씁니다. 돈내고. 돈을 낸다는 의미는 그만한 가치가 있다는 뜻입니다.

요즘 시대에 있어서 대단한 발명가들은 잘 안 보입니다. 세상을 바꿀만한 발명이 쉽지 않아서 라기보다는 방금 말씀드린 돈에 가려지기 때문입니다. 즉 기업의 존재 때문이죠. 기술을 재화로 만드는 능력이 있는 집단이 기업입니다. 기술의 사회적 가치를 만들어 내는 것이죠. 사회 구성원들이 그 기술에 가치를 느끼면 자기 주머니를 열어서 기술을 수용합니다.

전화기 얘기가 나오다가 멈췄습니다. 휴대폰은 누가 만들었을까요. 요즘 광고 많이 하는 Viewty폰을 설계하고 만든 사람은 누구일까요. 알기 힘듭니다. LGT에서 만들어서 파는 것으로 인식하고 있습니다. 요즘 만들어지는 거의 모든 제품들은 기술자가 외부로 드러나는 경우가 거의 없습니다.

Windows는 빌 게이츠가 직접 만들었다고 얘기할 수도 있고, 아닐 수도 있습니다. 하지만 제품의 사회적 가치를 만든 것은 빌 게이츠입니다. 장사를 잘 했기 때문이죠. 조금씩 회생의 기미를 보이는 애플사의 제품들, iPod, 맥북, iMac 따위들은 스티브 잡스가 직접 만든 것이 아닙니다. 하지만 스티브 잡스는 애플 제품의 사회적 가치를 드높이고 있습니다. 이렇게 만들어진 사회적 가치가 기업의 자산이고, 주가입니다.

V3는 안철수님, 아래아 한글은 이찬진님이 만들었다고 기억합니다. 스타크래프트는 임요환이 만들지는 않았지만, 임요환이 국내에서 스타크래프트의 사회적 가치를 높였다라고 얘기할 수 있습니다. 사회적 가치는 대중성과도 연관되어 있습니다. 소수만 알고 끝나면 사회적 가치에 대해 논할 수 없습니다. 대중적인 보편 타당성을 가져야 사회적 가치로 인정할 수 있습니다. 기업의 마케팅과 영업이 중요한 이유는 이러한 대중성을 만들어 내는 방법이기 때문이죠.

줘도 못먹는 기술이 많이 태어나고 스러져 갑니다. 못먹는 기술이기 때문에 대중성을 얻기 힘든 것이겠죠. 21세기 프로그래머로 살아가면서 나름 발명가라고 생각하지만, 이런 대중적인 프로그램을 짜놓은 것이 없네요. 더 열심히 한다고 될 일도 아니라는 것은 알기에 서글퍼지기도 합니다.

죽어서 이름을 남겨야 된다는 고정관념이 힘들게 느껴지는 하루입니다.
이올린에 북마크하기(0) 이올린에 추천하기(0)
크리에이티브 커먼즈 라이선스
Creative Commons License


연변,길림 출신의 조선족 사람들이 많습니다.
인건비가 싸기 때문이죠.
이 분들 요즘 카르텔 형성해서 가격 올리고 있다고 들었습니다.

연변 과기대가 있습니다.
제가 알기로는 L모기업의 지원을 받아서 프로그래밍 교육과정을 밟는 사람들이 있는 것으로 알고 있습니다.

nhn의 검색 결과페이지 만드는 팀이 한국의 3배 규모로 중국에서 팀이 짜져있다고 합니다. 물론 한국어 할 줄 아는 사람들이죠. 네이놈의 검색결과 페이지 팀이 중국으로 옮겨갈 줄 2년 전에는 생각도 못했습니다.

생각이 있는 사람들이라면 자기 몸값을 꾸준히 올려갈 것입니다.


임페리얼 3잔 스트레이트로 마시니 생각이 약간 풀렸습니다.

프로그래밍으로 오르가즘 느껴보신 적 있나요.
아니면 해발 1000미터 이상의 고지에서 산을 본 정도의 감정이 쏟아지는 프로그램을 만나보았거나 그런 프로그램을 만들어 본 적이 있나요?

사용자 삽입 이미지
지능형 톱니바퀴 아시나요? 모던타임즈에서 약간 업그레이드 된 것입니다.
그래도 그냥 부속일 뿐이죠.
밥그릇 싸움 중요합니다. 생계가 달린 일이니까요.
프로젝트라는 시스템 부속으로 존재하는 가치를 즐기십니까?

먹고 살기 위해 프로그래머라는 직업을 선택했나요?
죽지못해 사는 것 아닌가요?
네 글자로 말할 수 있죠. 로또인생


저항의 기본은 존재의식에서 비롯됩니다.
내가 사는 이유는 무엇때문이다를 명확히 알면 싫다 좋다의 판단 기준이 서게 됩니다.
그게 없다면 시스템(조직)에 비굴하게 되죠.

역사를 알면 미래가 어렴풋이 보입니다. 무엇이 가치있는지 저절로 알게 됩니다.
컴퓨터라는 인프라의 역사가 무엇인지. 누가 컴퓨터를 만들어서 나로 밥 벌어 먹게 판을 만들어 놨는지. 소프트웨어는 왜 태어났는지. 누가 어떻게 만들었는지. 2007년 말 내가 왜 프로그램을 짜고 있는지 생각해봅니다.

우리나라만 봐도 합리적으로 돌아가는 세상이 아닙니다. 잇권때문에 먹고사는 것 때문에 지조를 쥐좆처럼 아는 대다수의 대한민국입니다.

왜 사냐건 웃는데, 왜 웃나요? 웃긴가요? 아는거 물어봐서 웃는 것인가요? 부담스런 미소인가요. 썩소라도 날리실 건가요?
이제 유치함(childish)을 벗어날 때도 되지 않았나요.

ps.존재의 책임을 지면서 산다는 것이 이리 힘든건가요.


이올린에 북마크하기(0) 이올린에 추천하기(0)
크리에이티브 커먼즈 라이선스
Creative Commons License


매슬로우의 인간 욕구 단계


5. 자아실현

4. 자긍심

3. 사회적지위,소속감,사랑

2. 안전욕구(고통, 공포, 무방비로부터)

1. 생리적 욕구(음식, 공기, 물 등)


그리고...


소프트웨어 프로젝트 욕구 단계


5. 자아실현(전문성 유지)

4. 자긍심(생산성, 프로젝트의 중요도)

3. 소속감과 사랑(활력 있는 팀의 역동성)

2. 안전욕구(일정과 기능에 대한 개인적인 약속 이행)

1. 생존 욕구(프로젝트가 취소되지 않고 팀도 해체되지 않고, 만족스러운 물리적 작업 환경, 기타)

from: 소프트웨어 프로젝트 생존전략, 스티브 맥코넬, 인사이트, p28,29

이올린에 북마크하기(0) 이올린에 추천하기(0)
크리에이티브 커먼즈 라이선스
Creative Commons License


전설이라는 단어가 가지는 의미가 두 가지 있습니다. 곧 개봉하는 나는 전설이다의 신화적인 이야기라는 의미와 어릴 적 전설의 고향에서 풍기는 기괴함을 뜻하는 의미도 있습니다.
사용자 삽입 이미지
image from: http://cizle.nate.com/movieinfo/movie.html?movieid=37782
그림을 보시면 아시겠지만, 지금 말하려는 것은 후자입니다. 전설의 코드, 전설의 소스. 즉 사연이 많이 담긴 소스 코드입니다.

보통 이런 소스의 특징은 다음과 같습니다.

  • 라인수가 길다.
  • 여러사람의 손을 거쳤다.
  • 연관되는 문서를 찾기 어렵다.
  • 문서가 있어도 갱신된 내용은 없다.
  • 쓰지 않는 코드가 많이 섞여있다
  • ~고 추측하게 된다.
  • 그러나 그것을 빼기는 어렵다.
  • 테스트 경우의 수가 많다.
  • 테스트 케이스 만들기 불가능하다.
  • 복사된 A', A'' 같은 클론의 어택이 심하다.
  • 소스의 사연은 정말 구구절절하다.

이거 뭐 엄마찾아 삼만리도 아니고, 정말 힘들게 관리되어진 소스입니다.
이 소스의 고민을 풀어주기 위해서 러브하우스가 필요합니다.

러브하우스의 기본 컨셉은 살만한 집입니다. 깨끗하고, 거추장스러운 것은 제거되어 있고, 현재 거주자의 필요에 맞게 재설계된 집이죠.

소스를 전설로 만드는 것은 그만하고 싶습니다. 이제는 러브하우스를 하고 싶습니다. 가치있는 일이죠. ^^

이올린에 북마크하기(0) 이올린에 추천하기(0)
크리에이티브 커먼즈 라이선스
Creative Commons License