혹시 개발자를 탄다라는 게 개발자의 능력을 의미하시는 건가요 ? 아니면 개발 언어가 가지고 있는 규칙들에 개발자들이 익숙해 지기가 힘들다는 건가요 ? 아니면 언어에 익숙해지려면 상당히 시간이 걸린다는 건가요 ?
script 언어는 일반적으로 소규모의 software 를 작성하는 용으로 많이 사용되었는데... 요즘은 대규모 software 를 작성하는 용도로도 사용되고 있는 것인 요즘 현실인 것 같습니다. 워낙 생산성이 좋다고 알려져 있으니...
요즘 하도 script 언어가 많이 사용되길래 script 언어도 언어적 측면에서 많이 향상되었나 보다 했는데... 여전히 그게 아니었나 보네요. 저는 tcl 외에는 script 언어를 써 본적이 없어서 ruby와 python은 판단하기가 힘드네요. tcl 은 문법 자체가 없는 언어라서 유지보수가 하기가 무척 힘들었던 언어였죠. debugging 하기도 힘들고
김윤수/ runtime에 late binding이 이루어지는 dynamic language의 특성상 전체 시스템의 runtime binding이 어떻게 돌아가는지 머리속에 있지 않으면 소스를 고칠때 버그를 만들기 쉽고, 버그를 만들고도 인식하지 못하게 되는 경우가 자주 발생합니다.
따라서 남이 짠 소스나 자기가 짰더라도 자기 기억 용량에 비해 시스템이 너무 큰 경우에 버그없이 고치기가 힘들고, 유지보수 생산성이 떨어지죠.
static language system의 경우 compiler가 잡아줄 수 있는 부분까지 unit test코드를 만들어서 거기에 의존하는 일이 발생합니다.
평균 수준 프로그래머들 손을 여럿 거치다 보면, unit test code를 철저하게 유지하기도 어렵고, 오버헤드도 만만치 않습니다.
따라서 평균 수준의 개발자들이 들락날락하고, life cycle이 긴 일정 규모 이상의 여러 모듈로 이루어진 시스템을 책임지고 있는 경우 static language로 가는게 안전합니다.
프로그래밍 속도 및 정확성면에서 평균 수준의 프로그래머들보다 기십배의 생산성을 보이는 에이스 프로그래머들을 말합니다.
평균 수준 프로그래머들과 비교할때 생각, 코딩, 툴사용 속도 및 정확성이 일반인과 프로게이머 차이정도 나는것 같더군요.
어떻게 기회가 되서 돌아다녀본 이 동네 회사마다 적어도 한명씩은 본것 같습니다.
어떤 육십대에 가까워보이는 알파프로그래머는 자기는 유닛테스팅같은거 필요없다고 안하더군요.
Tracked from 서명덕기자의 人터넷 세상 ▶모든 블로거들이 유명해지는 그날까지◀2008/04/02 22:17삭제
국내 개발자들 상당수는 OOXML 반대의견 내놔…논란 계속될 듯마이크로소프트(MS)가 차세대 문서표준 규격 경쟁에서 경쟁 규격의 견제를 물리치고 ISO/IEC 국제 표준을 인정받았다. 그 동안 오픈독 소사이어티(OpenDoc Society, http://www.opendocsociety.org)를 비롯해 IBM, 썬, 구글 등이 주도하고 있는 ODF(Op...
jerk-free환경을 구축하는게 중요하긴 한데, 팀에는 risk analysis를 할 줄 아는 사람도 필요하고, 똥하고 된장을 구별할 줄 아는 사람도 필요하다.
과거에 무엇을 이루었는지 보라... 맞는 얘기다.
근데 아무리 봐도 이 양반은 과거에 뭘 이루어놓은게 있는지 모르겠다.
8비트 키드에 베이직 좋아했고, 비쥬얼 베이직, VC++, 자바 좀 하다가 은행 프로젝트 좀 하다가, 지금 일하기 전까지는 주로 마이크로소프트 기술가지고 놀았다는데, (씹히는 것도 삶의 일부)알다시피 한국 금융권 코어시스템은 유닉스, 오라클, 그 뒤에 자바 기술 위주로 구현되어 있다. 마이크로소프트 기술가지고 코어 시스템쪽 맛 볼일 거의 없다.
한국 업계의 특징인 PM겸 아키텍트였다는데, 프로젝트 관리나 아키텍쳐에 관한 글들은 거의 남의 책에 있는거 옮겨 적는 수준이다.
이 양반이 어느 정도 규모의 고난도 시스템 소프트웨어 아키텍쳐를 설계하고 프로젝트를 관리했는지는 알 수가 없는데, 8비트 키드에 베이직 좋아했고, 비쥬얼 베이직, VC++, 자바 좀 하다가 마이크로소프트 기술가지고 은행 프로젝트 좀 했다는 정도 내세우는 정도면 대략 수준이 짐작이 간다.
삼성전자에서 "극소수"가 선발되어 김원 박사를 멘토로 두고 1년 교육받았다는데(장인정신의 실제), 5년 동안 컴퓨터 사이언스 대가들 밑에서 박사하고, 수년간 글로벌 IT 기업 R&D에서 전문분야 경험후 삼성전자에 있는 사람들이 수백명이 넘을거다. 스펙이나 역량면에서 경쟁력 별로라는 얘기다. 글을 읽다보니 문득 자기가 조지소로스, 마이클잭슨하고 친하다고 자랑하던 한 전직 대통령이 생각났다.
미국과 한국 소프트웨어 기술 격차가 2.8년으로 조사되었다고 설문지 공개하라고 난리인데, 난 이 양반 프로필로 봐서는 본인이 그런거 estimate할 능력이나 되는지 의문이다.(미국과 한국의 SW기술 격차가 겨우 2.8년?)
실리컨밸리 한인 기술자 협회를 언론에서 파워그룹으로 보도하는게 좀 불편하시다는데, 혹시나 한국 IT업계에 영향력이라도 끼치게 될까봐 걱정이 되시나보다. 지역사회에 기여하면서 왠만하면 미국에서 놀아줬으면 하는 눈치다.(실리콘밸리의 한국계 기술자 네트워크, BayArea K그룹)
아무리 한국 소프트웨어 산업이 다른 산업에 비해 상대적으로 기반이 취약하다지만, 내가 알기론 이 정도 인물이 전문가 행세를 하며 영향력을 가질 정도로 사람이 없지는 않다고 본다.
"마지막으로, 제 블로그를 찾아주시는 사랑하는 독자님들 명심하세요. 제가 20년간 수많은 시행착오를 겪으며 힘들게 체득한 바에 의하면, 부정적 사고주의자들보다 돌팔이들의 해악이 더 큽니다. 부정적 사고주의자는 눈에 보이니까 쉽게 제어관리가 가능한데, 자신을 과대포장하는 돌팔이, 그 중에서도 위선떠는 돌팔이들은 주의깊게 본질을 관찰하지 않으면 잘 보이지가 않기 때문에 나중에 결과적으로 받는 타격이 더 큰 경향이 있습니다. 절대로 돌팔이들하고 같이 일하지 마세요." ....
아... 느끼해.... 농담입니다...그냥 각자 알아서들 삽시다...
바보들 와서 보라고 블로그질 하나??? 아니면 어릴때부터 잔소리를 너무 많이 들으면서 자랐나??? 재미있는 연구대상이다....
돌팔이들이 특정 수준 이상의 위치에 올라가는 과정에서 별 것도 아닌 업적 부풀리기, 다른 사람들의 성취를 자기의 업적으로 가로채기등이 발생하는 경우가 많습니다. 돌팔이의 특성상 그렇게 할 수 밖에 없고, 또 그쪽으로 재주가 발달하는 경향이 있습니다.
이런 과정에서 돌팔이하고 같이 일하는 사람들이 엿먹게 되는 경우가 많이 생기죠.
말하는거나 업적에 별 내용물도 없는데도 불구하고, 이런저런 모임에 열심히 이름팔고 다니는 사람들중에 돌팔이들이 많은 경향이 있습니다.
유명인사 이름 파는 것도 공통적으로 나타나는 현상이구요. 알고보면 그렇게 가까운 사이도 아니에요. 고수들하고 깊이있는 교류를 할만큼 알맹이들을 갖추고 있지 못하니까.
본인들은 정치적으로 savvy하다고 자기합리화내지는 미화들을 하는 경향이 있는데...하긴 정치좋아하는 인간들이 대부분 그렇기는 하니 아주 틀린말은 아닌듯.
1) 류씨: 이 양반 오십대 목표를 위한 포석 차원에서 이름 알리고 인맥 만들기...(이게 실제 주최 목적인듯)...
2) 네이버, 다음: 한쪽이 나간다는데 사업상 안나갈수도 없고, 어쩔수 없이 엮여서 나와서 삥뜯긴 처지인듯...
3) 소프트뱅크 미디어랩: 이 조직 목적이 뭔지는 잘 모르겠지만...보스가 까라는데 안 깔수도 없고...그래서 구른것 뿐인듯...(근데 명색이 미디어 "랩" 이라는데...여기서 무슨 연구 결과 발표한거 들어본 적 있는 사람 있는지 모르겠다...하는짓이 그냥 VC같더구만...)
댓글을 달아 주세요
왜 그렇게 생각하세요 ?
다음과 같은 조건이 만족되는 경우 ruby나 python같은 dynamic language가 static language보다 개발생산성이 더 높은 경향이 있는것 같기 때문입니다.
1) 개발자가 소수의 알파디벨로퍼일때
2) scratch부터 새로 다 만들때
3) 개발자들이 전체 소스코드를 빠삭하게 알고 있고, 다른 사람이 개발한 코드를 분석해야 될 일이 거의 없을때
dynamic language로 만든 시스템의 경우, 개발자가 바뀌는 경우 static language시스템에 비해 문제가 발생하는 경우가 많은데, 처음 시스템을 개발한 개발자하고 나눠먹고 exit하는 시나리오에서는 이게 별로 문제가 안되죠.
두번째 시나리오는 이 조건이 충족되기가 힘드니 java같은 language로 가는게 만수무강에 지장이 없는 편입니다.
핵심을 찌르는 글이네요.
본문과 덧글 내용에 동의합니다. 루비 등의 언어는 개발자를 너무 타더군요. 어차피 절대적으로 모든 상황에서 좋은 언어란 없으니.
개발의 난이도, 생산성, 인수인계 등을 고려하여 프로젝트의 규모와 유형에 맞는 적절한 언어를 선택해야겠죠. ^^
혹시 개발자를 탄다라는 게 개발자의 능력을 의미하시는 건가요 ? 아니면 개발 언어가 가지고 있는 규칙들에 개발자들이 익숙해 지기가 힘들다는 건가요 ? 아니면 언어에 익숙해지려면 상당히 시간이 걸린다는 건가요 ?
script 언어는 일반적으로 소규모의 software 를 작성하는 용으로 많이 사용되었는데... 요즘은 대규모 software 를 작성하는 용도로도 사용되고 있는 것인 요즘 현실인 것 같습니다. 워낙 생산성이 좋다고 알려져 있으니...
요즘 하도 script 언어가 많이 사용되길래 script 언어도 언어적 측면에서 많이 향상되었나 보다 했는데... 여전히 그게 아니었나 보네요. 저는 tcl 외에는 script 언어를 써 본적이 없어서 ruby와 python은 판단하기가 힘드네요. tcl 은 문법 자체가 없는 언어라서 유지보수가 하기가 무척 힘들었던 언어였죠. debugging 하기도 힘들고
nokarma님의 덧글에 답이 있잖아요. 실전에서는 해당 조건들이 충족되지 않는 경우가 많기 때문이죠.
교과서적인 생산성은 의미가 없어요.
그 생산성이라는 것이 당연히 사람과 상황에 따라 다 다르니까요.
김윤수/ runtime에 late binding이 이루어지는 dynamic language의 특성상 전체 시스템의 runtime binding이 어떻게 돌아가는지 머리속에 있지 않으면 소스를 고칠때 버그를 만들기 쉽고, 버그를 만들고도 인식하지 못하게 되는 경우가 자주 발생합니다.
따라서 남이 짠 소스나 자기가 짰더라도 자기 기억 용량에 비해 시스템이 너무 큰 경우에 버그없이 고치기가 힘들고, 유지보수 생산성이 떨어지죠.
static language system의 경우 compiler가 잡아줄 수 있는 부분까지 unit test코드를 만들어서 거기에 의존하는 일이 발생합니다.
평균 수준 프로그래머들 손을 여럿 거치다 보면, unit test code를 철저하게 유지하기도 어렵고, 오버헤드도 만만치 않습니다.
따라서 평균 수준의 개발자들이 들락날락하고, life cycle이 긴 일정 규모 이상의 여러 모듈로 이루어진 시스템을 책임지고 있는 경우 static language로 가는게 안전합니다.
알파 디벨로퍼가 정확하게 어떤 개발자를 가리키나요?
프로그래밍 속도 및 정확성면에서 평균 수준의 프로그래머들보다 기십배의 생산성을 보이는 에이스 프로그래머들을 말합니다.
평균 수준 프로그래머들과 비교할때 생각, 코딩, 툴사용 속도 및 정확성이 일반인과 프로게이머 차이정도 나는것 같더군요.
어떻게 기회가 되서 돌아다녀본 이 동네 회사마다 적어도 한명씩은 본것 같습니다.
어떤 육십대에 가까워보이는 알파프로그래머는 자기는 유닛테스팅같은거 필요없다고 안하더군요.