How wonderful Creative Thinking is ...

nukko.egloos.com

포토로그



[리뷰] 글로벌 소프트웨어를 꿈꾸다. IT 주저리

[책] 글로벌 소프트웨어를 꿈꾸다 - 꼬장꼬장한 영감님의 일갈
개인적으로 이 책을 얻을 수 있어서 몇달 전에 읽게 되었다. 솔직히 돈 주고 사라했으면 안 샀을 거다. 
SW 공학을 (오래전에)전공한 개인의 입장으로 공학론 책은 새로운 방식이 아니면 읽을 이유를
못느낀다. 특히 이런 에세이적인 책들은 더더욱...
먼저 언급하고 넘어가자면. 나는 sw공학을 전공하였지만 방법론에 대한 우상론자나 공학론의 필요성을 내세우는 편이 아니다. 오히려 sw개발은 art와 같아야 한다고 꿈꾸는 사람이다. 
여하튼 오래전에 읽은 책에 대한 리뷰를 하고자 하는 것 보다는 이 책(? 물음표의 의미는 나를 아는 사람들이 알아서 해석하시길) 에 대해서 할말이 많다.
책 단편만을 몇가지 이야기 한다면
  • 저자는 극도로 Waterfall 지향자이다. - 잘 설계된 시스템은 코딩량이 적다? 따라서 설계기간이 길어야 한다. waterfall의 단점은 긴 설계기간 동안 눈에 보이지 않고, 사용자 및 시장의 요구사항은 변하며, 아무리 잘 설계된 내용이라하더라도 코딩단계에서 변경 될 수 있다는 것에 대한 문제를 배척한다. 그것은 잘못된 설계라고.
  • 에자일에 대해서는 저자는 극도로 싫어한다. -애자일이 싫어해야할 대상인지 의문이다. 
  • 미국은 한국처럼 안한다. waterfall방식만 사용한다 (?) - 그래야 잘 된 회사다.
  • 슈퍼 개발자가 회사에 있는것은 문제가 많다. 아키텍트가 필요하다. 그래서 컨설팅 해야한다. 
  • 슈퍼 개발자와 슈퍼 아키텍트간의 차이가 모호하다. 
뭐 이정도 이고, 세세한 부분도 집고 넣어갈 곳이 많다. 물론 개인적인 견해다.
문제는 저자 분께서 컨설턴트 이시고, 나보다 학식이 훨씬 높으시며, 엄청난 경험을 하신 분이라는 점에서 나랑 견줄 수 없다.
하지만 아쉬운점은 그런 분이 패러다임의 변화를 같이 공유 못한다는것이 가장 아쉽다.
개발 방법론
sw가 산업화 되면서 공학론이 상당히 중요하다. 하지만 모든 공학론의 개념이 그렇듯이 100% 프로젝트에 맞는 방법론은 없다.
결국 방법론은 내가 처한 프로젝트에 가장 적합한 방법론을 선택해서 적용하면 된다.
그리고 그 방법론 조차도 해당 프로젝트에 맞게 tailoring을 한다.
waterfall 방법론은 sw공학의 기본 근간이 된다. 하지만 문제점이 많아 계속 변형이 되고 있고 순수한 waterfall을 사용하는 곳은 드물것이다. 그 첫번째 변형이 점진적 개발이 될 것이다. 그리고 그것이 훗날까지(?) 발전 해서 xp/agile이 되지 않았을까 한다.
점진적 개발 모델이 나온 기본 배경은 waterfall이 한번 잘못된 요구분석/설계를 되돌릴수 없는 단점에 대한 보안이다.
잘못된 요구분석/설계의 핵심은 stakeholder의 심경변화, 잘못된 의사소통, 시장의 요구 변화, 설계자의 오류 등 수없이 많다.
그래서 하자는 것이 
  • 말과 글로만 명세서를 남기지 말고, 간단한 mock-up을 만든다든지
  • 직접 프로그램을 작성해서 stakeholder 에게 보여주자 (잦은 릴리즈)
등의 방법으로 회피 해보자는 것이다.
사실 이것은 개발 방법론의 문제라기 보다는 어찌보면 sw에 대한 기대와 시대가 빠르게 변하고 있고 
그 변화에 맞추려면 방법론을 변형해가자는 것이다.
개발에도 패러다임과 유행이 있다.
모든 세상 이치가 그렇듯이, 개발에서도 마찬가지 이다.
시대가 변화해 감에 따라 개발 방법론 뿐 아니라 개발 자체도 변하고 있고, 개발 언어도 변하고 있다.
많은 언어들이 있지만 주 대표가 되는 언어를 보면 
  • 기계어(ASM) -> 절차식 언어(BASIC류) -> 함수식 언어(PASCAL,C류) -> 객체지향 언어(C++/Java) ->객체지향적 스크립트 언어(파이썬, 루비, 그루비 류)
식의 변화가 있다. 많은 이유가 있겠지만 핵심은 빠른 개발이 아닐까 한다.
빨리 만들어서 보여주고, 확인하고, 수정하고 이러한 방식이 지금 시대에 맞는 개발 유행이 아닐까 싶다.
XP-Agile-TDD
나는 XP 추종론자 크게 보면 방법론에 대한 추종론자도 아니다. 하지만 개인적으로 개발자로 그리고 관리자로 회사에서 14년여 개발을 진행해본 개인적 결과로는 앞서 말한데로 먼저 개발해보고 보여주고 수정하는 식의 방법이 가장 효과적 (내가 정의한 xp범위 안에서는) 이었다.
수많은 설계서, 분석서 보다 계속해서 개발-릴리즈를 반복하는 것이 sw를 정말 soft적인 방법으로 주물러서 변형할 수 있는 방법이 아니었나 싶다.
물론 내가 항공이나, 국방, 의료, 사회기간시스템등 반드시 견고해야만 하는 프로젝트를 진행해본적이 없다. 이런경우까지 xp형식의 개발이 맞다고 장담하지 않는다. 앞서 말한데로 방법론은 해당 프로젝트에 맞는 것을 선택해야 하는것이라 생각한다.
저 세가지(?) 방법론의 조합은 제시하는 각각의 절차와 activity의 내용이 어찌되었건 전체적인 큰 그림으로 볼때에는 빠른 개발이 필요한 시대 정신에 그나마 가장 가깝게 부합하는 방법론이 아닐까 생각한다.
난 이 방법론은 100%로 전체 실천해야 한다고 보지 않는다. 이 세가지 방법론 뿐 아니라 모든 방법론이 100% 실천해야 하는 항목이 아니라 본다. 하지만 최소한 내가 해본 프로젝트나 현재의 개발 시류로 보았을때 다른 방법론들 보다 그나마 가장 교집합이 많은쪽이라 생각한다.
용기
XP정신에 있었던가? TDD에 있었던가... 내가 가장 인상 깊었던 내용이다. 여러가지 용기가 있었는데 그중에서도
'기존에 만든 코드를 과감히 버리고 다시 만들 용기'
얼마전 누군가가 나에게 말했다. '지금 제대로 설계에 집고 넘어가지 않으면 다시 다 갈아 엎어야 하는데요?'
나는 답하지 않았다. 
공부를 하지 않음
xp/agile을 꺼려하는 사람들이 많다. 내 개인적인 느낌으로는 국내에서 가장 유명하다는 사람이 내가 들어도 모를 추상적인 얘기만 늘어놓고 무슨 방법론이 종교집단인양 만들어버린 이유가 가장 큰지도 모르겠다.
나는 그런사람들도 극도로 싫어하지만, 더 싫어하는 것은 공부해본적도 없으면서 제대로 이해해 보지도 않았으면서 무조건 비판하는 사람이다. 모든 것이 그렇듯이 얘기를 하다보면 그사람의 수준이 파악 되는데 한마디로 이런사람들이랑은 더이상 이야기를 안하는것이 옳다. 그들의 대부분이 말하는 얘기는 
  • 'xp 적용하신다면서요. 왜 이것은 빼나요?'
다시 말하지만 나는 xp를 하고 싶은것이 아니라 내가 하는 프로젝트를 잘 만들고 싶을 뿐이다.
실망감 또는 오해
다시 책으로 돌아와서 책의 저자를 직접 만날 기회가 있었고 지금도 만나고 있다. 
엄청 훌륭하신 분이다. 경기고-서울대(집에 책이 없어져서 기억나는데까지만이다.) sun microsystem근무 등 뭐 나같은
허접과는 비교하실 수 없는 분이시다.
개인적으로 이분 뿐 아니라 교수님들, 사장님들, 사회지도층들, MB님 모든 훌륭하신 분들은 그분들이 갖고 계신 지식을 그 당시(당신들이 가장 왕성하실때)에 어렵게 얻으신 지식으로 지금 시대에 그대로 잣대를 들이 대신다.
변화는 감지 못하시고, 변화를 그분들의 잣대에 맞춰본다. 그리고 '잘못됐다. 혹은 애들이 어려서 그렇다'로 결론 지으신다.
가장 안타까운 대목이다. 훌륭하신 분들이 변화를 잘 이해하시고 과거 어렵게 얻으신 지식과 경험들을 후대인 우리에게
융합시켜서 좀더 최선의 길을 선택하도록 인도해주시면 좋을텐데...
책에 대해 깐죽대기
좀 주제 넘게 깐죽대보면 책을 읽은 소감은 한마디로 
  • 우리 어렸을때 도덕시간이 생각난다. '미국이나 일본같은 선진국에서는 한국같지 않다. 길거리에서 침도 안뱉는다'
그 생각이 가장 많이 났다.
막상 가보니? 
거지도 많고, 쓰레기도 널부러져있고, 침도 뱉고, 껌도 붙어있고, 새치기도 많이하고, 무단횡단도 많이 하고....
트위터, 페이스북 엄청나게 몰리는 서비스/시스템 내가 알기로는 설계를 처음부터 잘한게 아니고 몇번 갈아 엎었다.
고래 아직도 보지 않는가...얼마전 시스템 갈아엎어서 덜 보게 될꺼라고는 하지만...
얼마전 본 '소셜네트워크'영화에 보면 잘나온다. 주크버그가 만든 'the facebook' 설계기간???
그리고 웹 2.0 개념이 주장하는 '영원한 베타'는 나오면 안되야 할 듯.
슈퍼 개발자의 문제와 같이 슈퍼 설계자를 만들자는 것은 아니었는지 고민 해볼만 하지 않을까 싶다.

아이폰과 캠리를 보는 개발자의 자세 누꼬의 이야기

아이폰 사겠다들 난리다.
결론부터 말하면 당연히 사야된다. 어설픈 옵니아 갖고 20만원 더 할인해서도 필요없다.

웃긴건 아이폰 들어오긴 전까지는 문제 없다더니.
판매 3일 만에 20만원 할인하는 처사는 머냐...
여태는 웃기는 배짱이었지...

당연히 옵니아폰이 그만한 가치가 없다는 증거지.

아이폰 사라~. 어설픈 애국심에 호소당하지 말고...


내가 정말 화나는것은
우리나라는 지식산업이라는것에대한 개념조차 없다는 거다. 아주 뻔뻔한...
신차 개발하는데 몇천억 들었다하지만 정말 그럴까?

신차 개발은 기계가 하나? 신차 개발하신 개발자님들 살림살이 나아지셨습니까?  신차 개발이라는 훌륭한 일을 하는데 살림살이는 쪼들리지는 않으시는지...
옵니아폰 개발하신 개발자님들... 살림살이 나아지셨나요?

열받는건 개발이라는 것 자체에 대한 충분한 보상과 기간 없이, 몰아부치기식, 걍 외국꺼 그대로 가져와서 조립하기...
이런 개발 마인드로 만들어진 국내 생산품은 중국산과 다름이 없다고 본다.

그리고서는 가격만 올리고 말이지...
국민은 무식하니까 애국심에 호소하자고나 하고...개발자는 더 무식/단순하니까 추켜만 세워주자 하고.

더 많은 해외의 첨단 상품이 들어와서 경쟁해야한다고 본다.
그래야 우리나라가 뭘 잘못하고 있었는지 뼈져리게 느낄테다.

젊은이들이여, 개발자들이여 우리는 뭐가 좋은지 잘 아니까. 좋은거 사라.
제값하는 물건 사자. 그리고 첨단상품들은 빨리 수입개방 되서 싸게 들어와야돼...
젠장 보호는 무슨 보호야... 더 경쟁력만 떨어뜨리고

똑똑한 사람들 다 나가게 만들쟎아. 아님 개발 도면갖고 튀던지...젠장 머리속에 있는데 뭘 갖고 튀었다고
고소하고 지랄들인지...그럼 머리를 지워? 잘라?

하여튼 꼬라지 하고는....

작곡 스튜디오 누꼬의 이야기

워낙 하고 싶은게 나 이긴 한데..

요즘 음악이 너무 하고 싶다. 워낙 딴딴라 기질이 있던가....
노래,춤 다 좋아하기도 하지만...

요즘은 작곡이 땡긴다. 어쩌면 작곡 자체보다는
작/편곡을 위한 기기들과 악기들로 둘러싸여서
그것만을 위해 먼가 열심히 하고 싶다는 생각이 맞을지도 모르겠다.

개똥폼 다 잡아가면서... ㅋㅋㅋ

그루브와 강한 비트가 있는 음악.. 슬로~ 힙합/소울...

잘할 수 있을것 같다.
고딩때도 작곡한게 몇개가 있는데... ㅋㅋ

하고 싶다.
하고 싶은게 너무 많아서 걱정이야...

일이나 똑바로 해야하겠지? 돈 벌어야 하니까?....
아... 슬프다...40이 눈앞에 가까워지는구나....


프로그래머 에이젼트 계약? IT 주저리

프로그래머란 직업은 어떤 의미를 갖는 것일까?

프로그래머의 현재의 모습을 돌아본다면 누구도 부정할 수 없는 단순한 회사원이다.
물론 다른 직업을 가진 사람들도 마찬가지겠지만,
프로그래머라는 직업을 어려서부터 동경하고 택한 사람들은  이 직업이 아침 9시 출근해서 주어진 일을 마치고 집으로 돌아가야 하는 회사원일것이라는 생각을 했을 사람은 많지 않을 것 같다.

나는 지인들에게는 누차 말했듯이, 프로그래머 자체가 예술인들과 같을 것을 꿈꿔왔고, 현실성은 없지만 아직도 꿈을 꾼다.
남의 요구에 맞게 프로그램을 만들어주는 것이 아닌, 내 상상력에 프로그램을 만들고 그것을 남이 사갈 수 있는 구조.
개발자로서 그러한 세상을 꿈꾼다.
오픈마켓이 이것을 대신 해주리라 기대하긴 했지만, 역시 마케팅 논리에 의한 -많이 노출되야 잘 팔린다는- 어처구니 없는 '자뻑'='자금'에 혀를 내두른다.

결국 내가 생각하던 프로그래머에 대한 이상은 그냥 이상에 그칠 뿐이고, 오픈마켓에서 조차 그냥 근근히 소일거리로나 돈을 벌수 있는 수준일 뿐이다.

그럼 진짜 이렇게 대우 받으며 사는것이 맞을까? 지구상에서 살려면 가장 필요하다는 '돈' 이라는 주제로만 접근해보자.

지금까지 내가 겪어온 우리나라 사회현상에서보면 개발자들은 단순히 현금 흐름을 쥐고 있는 사람들의 '재주부리는 곰'과 같는 생각이다. 너무 비관적인 예일 수도 있으나.
재주를 잘 부리면 삼시세끼의 먹이를 좀 더 많이 줄 뿐이고, 노쇄되면 바로 버려지는...
그나마 곰과 다른것은 당장은 삼시세끼가 해결되니 만족해하면서도 노쇄될때를 걱정한다는 것 정도???
물론 모든 직업들이 다 똑같을 것이라 생각한다.

하지만 최소한 개발자들은 그들의 '지식'을 자신의 무기로 여기고 있으며, 이 무기가 무뎌지지 않도록 누군가에 의해서 잘 정리된 기술서를 읽는다든지, 새로운 기술을 배우기 위해서 시도해본다든지 등의 최대한 부단한 노력을 한다.

이러한 현상을 자세히 보면 프로선수들 혹은 연예인들과 비슷한 것이다.
한가지 다른점은 사회에서 그들은 그들의 직업이 단명한다는 이유와 더불어 활동하는 기간은 활동량과 인기도에 따라 엄청난 부를 축적할 수 있다는 점과 각각의 개인사업자로 본인의 현금 흐름을 본인이 관리할 수 있다는 점이다.

그러면 우리(개발자)는 왜 그들와 같은 대접을 받을 수는 없을까?
요 근래 프리랜서로 활동하는 친구 몇을 만났고, 그들의 삶을 봤을때 프로선수들과 유사하다는 생각이 들었다. 물론 금전적으로는 회사원과 크게 달라보이지는 않았지만...사회를 살아가는 방식자체는 진정한 전문직으로 살아가는 맞는 방식으로 보였다.

그리고 이런 생각이 들었다. 내 주변의 훌륭한 개발자들 (양모씨, 이모씨, 구모씨, 장모씨, 홍모씨, 류모씨, 또다른 이모씨, 또또 다른 이모씨, 등등)
모두 전문직으로 전환 함이 어떨까 하는 생각. 전문집단 팀으로써 하나의 2PM, 2NE1, 동방신기 등과 같이 활동하면 어떨까...
누군가 우리와 전속계약?을 하고 수익의 몇 대 몇 등과 같이 투명한 조건하에 배분하는 그런 형태...
우리는 가수들이 음반을 내는것과 같이 자체 프로그램을 만들어 팔기도 하지만, 행사를 뛰는것과 같이 싸이트에서 원하면 가서 개발해주는 형태로...

전속사는 행사를 잡고 음반에 투자하듯이, 개발프로젝트를 수주하기도 하고 제품 개발에 투자도 하고.
이렇게 구성이 되면 어떨까?

왠지 공부를 열심히 할 것 같다는 생각이 든다...

나만 그런가? ^^;

오늘 왠지 이런생각이 강하게 또 들었다.

내가 한번 만들어보까? 전속사로?... ㅋㅋㅋ
개발자들 특히 언급된 모모씨들...  연락해... ㅋㅋㅋ. 지금까지 나랑 연락 잘하고 있는 사람이면 100% 입니다. ^^

그리고 신인(?) 개발자들
스타가 되고 싶거든 열라케~~~, 지금보다 자유로운 개발과 투명한 돈 벌고 싶으면 열라케~~~

Programming should be a art 누꼬의 이야기

이 신조가 나를 프로그래머의 길로 인도한것이다.
어렸을때는 사실 그런줄 알았다.
사회생활을 하면서 돈벌기 위해서 한다는 걸, 결국 회사원이라는걸 점차 알게됐지만...

하지만 신조는 프로그래밍이 예술이 되어야 한다는것은 변함이 없다.

먼저 돈을 받고 누군가가 원하는 기능을 만들어주는 일이 아닌...

예술작품들처럼 먼저 만들고 사용자들로부터 돈을 받을 수 있는 것이어야 한다.

지금 구글 IO의 세션을 보고 있다. google Wave( http://www.youtube.com/watch?v=v_UyVmITiYQ) 보고 감동먹었다.
Email + IM + Document Editor + Playback 기능(?) + Open API (blog/microblog meshup)
재미있고 상당하다.

물론 일반 사용자가 저것을 사용하기는 상당히 어려울것이다.
일반 사용자가 저 막강한 기능을 쓰기 원한다면 공부를 해야할 것이다.

구글이 개발자에게 동경의 대상이 이유는 저거다.
월급을 받기 위해 의뢰자의 돈을 받고 원하는 모양을 만들어주는 것이 아닌,
개발자에게 재미있는 일, 좋아하는 일을 하게 하는데..
회사에서 돈을 준다...

얼마나 멋진가..

프로그래밍이 돈벌이 일이 아닌, 재미있는 프로그래밍을 하는데 돈을 준다...

그런 회사가 많아졌으면 좋겠다.


1 2 3 4 5 6 7 8 9 10 다음