프로그래머의인생

FrontPage|FindPage|TitleIndex|RecentChanges| UserPreferences P RSS

이것이 과연 프로그래머의 인생인가?



대학을 컴맹으로 들어온 모군은, 2년반동안 멍멍이같이 놀다가, 정신차리고 프로그래밍의 바다에 풍덩 빠졌었다. 유닉스에서 C 프로그래밍을 시작으로 해서 C++ 과 MFC , JavaLanguage, 파이썬 , Socket , 병렬/분산처리 , XML , UML , DesignPatterns 까지.. 매해마다 전산업계의 화두로 떠오른 것들을 조금씩 맛보면서 여기까지 왔다. (덕분에 이력서에 기술란에 쓸건 많다) 또 이제 ExtremeProgramming을 공부할 때가 왔도다. (물론 이건 올해 초에 들었는데 아직까지 게을러서 살펴보지 못했다) 왠지 두근두근 거리기도 하고. 예전 DesignPatterns을 공부할때와 같이 감동을 느낄 수 있을지..

그 어떤 학문도 마찬가지겠지만, 프로그래머는 평생 공부해야만 하는 직업인 것 같다. 때때로 프로그래밍을 하지 않은 채로 한동안을 보낼 경우 왠지 시대에 뒤처지고 있다는 불안감에 휩싸여본 적이 있는가? 물론 기초가 튼튼한 다리는 100년이 지나도 쓸모가 있고, 한번 뗀 수학정석 십년은 간다..라고 말할 수도 있겠지만. 왠지 프로그래밍을 즐기지 않으면 쉽사리 선택하지 못하는 직업이 아닐까 싶기도 하고.

우리나라에서는 30살이 넘으면 프로그래밍에서 손을 떼고 프로젝트 매니저를 해야한다고 한다. (그래야 연봉을 더 많이 받는다) 흠. 물론 프로젝트 매니저도 재미있겠지만.. 아름다운 코드를 만드는 이 일에서 손을 뗀다는 건 너무 슬플 거 같다. 지금 엑셀만 죽어라고 붙잡고 있어서 그런지, 자꾸만 코드를 짜고 싶다는 충동에 흔들리곤 한다. 언제 똑똑한 후배들이 치고 올라와서 선배님 이제 쉬시지요 할 날이 올진 모르지만..

어쨌든 지금의 나는 모르는게 너무 많고 공부하고 싶은게 너무 많아서 행복해야만 할 거 같다.

원래 AI를 공부하고 싶었고, 훌륭한 프로그래머가 되고 싶었던 지상은이 문득 정신차리고 보니 아주 다른 영역에서, 아주 다른 일을 하고 있는 자신을 발견하였다. 하지만 꿈을 포기 못해서 남들은 프로그래밍에서 손 뗄 나이에 프로그래밍을 공부하고 있다. 과연 진정한 프로그래머가 될 수 있을까? BetterLateThanNever

우리나라에서는 30살이 넘으면 프로그래밍에서 손을 떼고 프로젝트 매니저를 해야한다고 한다.
사실 yong27이 프로그래밍을 접한건 얼마 안되지만, 그리고, 다른 연구관련분야 역시 마찬가지일테지만, 프로그래밍은 좀 다른것 같다. 정말 평생 공부해야할것만 같고, 집합적지성, 누적되는 지성의 장점이 마구마구 살아나는 분야일것만 같다. 다른 순수과학분야에서도 윗 얘기와 비슷한 얘기들이 많다. 나이가 어느정도 지나면, 경영관련 일에 손을 대어야만, 그 분야에서 밥먹고 살 수 있을것만 같은 분위기를 많이 접한다. 그러나, 프로그래밍의 분야는, 보다더 많은 프로그래밍 경험이 있고, 보다더 많이 공부한 사람들이 그 빛을 발할 것이고, 따라서, 나이가 한참많은 프로그래머를 존경하는 일이 앞으로 더욱 많아질 것이다. 그 백그라운드가 무엇이건간에, 나이가 몇이건간에, 진정 다양한 삶의 경험을 갖추고, 다양한 지식들을 갖추고, 수신제가할줄 아는 사람에게서 훨씬 아름다운 코드, 효율/효과적인 코드, 진정 어려웠던 문제해결을 이룩하는 코드가 나오지 않을까?
주변에 보면 많은 사람들이 그런것 같아요(매니져화). 전 개발자는 정말 평생 공부해야한다고 생각합니다. 그래서 매력있는면도 있죠. 전 늦게까지 코딩할려고 생각중이에요. 재밌잖아요 :) --Dennis
우리나라에서 30만 넘으면 다 PM이 되는건 정말 이상합니다. 제가 주로 하고 있는 [http]FreeBSD 프로젝트의 경우에는 400명정도의 개발자 중에서 20대이하는 30명도 채 안되고, 주요 개발자들은 대부분 30~40대이죠. 아파치의 경우도 마찬가지이고.. KSE같은 혁신적인 디자인이나 견고한 코드가 나오려면 노련한 아키텍처 디자이너와 코드 리뷰어가 필수인데 짧은 경력의 프로그래머는 그런 시각을 쉽게 갖기가 힘들다고 봅니다. [http]FreeBSD의 VM Overseer인 DavidGreenman와 FFS 책임자인 KirkMcKusick의 경우만 봐도 50이 다 되어가는 나이에도 뛰어난 통찰력으로 최고의 코드를 생산하고 있습니다. 당연히 좋은 프로그래머는 끝까지 프로그래머여야 한다는.. 생각 히이 --퍼키
저는 이제 막 프로그래머로써 경력을 쌓기위해 직장을 구한 사회초년생입니다. 학교도 늦게 들어가서 남들과의 갭을 극복하기 위해 결과야 어떻게 되었든 학교에서 무진장 애들 썼습니다. 무엇을 어떻게 공부해야 전문가가 될 수 있을까하는 고민으로 거의 반을 소비했지만요. 누구나 느끼겠지만 어느정도 초보에서 벗어나니 이 분야는 정말 끝없는 노력이 필요한 것 같습니다. 나이가 그렇게 중요한건지요. 진정 이 명제가 사실이라면 저는 여기서 포기해야됩니다. 어설픈 실력과 거기에 비해 비교적 많은 나이를 먹었거든요.(그래도 아직 30대 아닙니다:)) 어째튼 저는 전문가 칭호를 듣기위해 이 분야에서 경험하고 감동할랍니다. --goodday

몇몇 프로그래머들은 신기술을 공부할 때 많은 고민에 빠진다. 이 기술은 과연 뜰까? 각광받을까? 저 기술처럼 사장되지는 않을까? 이걸 공부하면 향후 몇년간 밥벌이에 신경쓰지 않아도 될까? .. 마지막 질문에 대한 좋은 예제. 모군의 후배의 회사동료가 이런 말을 했다고 한다.

비주얼 베이직만 좀 해도 십년은 먹고 산다

과연 그렇게 될지는 의문이지만.. 크크.. 그리고, 후배들은 가끔 이런 질문을 한다.

형! 자바가 뜰까요? 저 자바 공부할까요? 요즘 MFC가 뜬다던데..
자바 해봐. 괜찮아

선배.. C# 과 닷넷 공부해야 할까요?
C#은 아직 검증되지 않았고.. 딴 걸 공부해봐 (리눅스 공부해!!)

예전에 한번 예상이 실패한 적이 있다. 그것은 바로 ActiveX ! 모군 자신은 공부 안하고 후배들에게 뜬다고 막 공부시켰는데.. 쩝. 최근의 예상은 파이썬이 뜰 거 같다. 그런데, 아직까진 파이썬 공부해볼까요? 라고 묻는 후배는 많지 않다. :-(

어쨌든 프로그래머들은 새로운 분야에 뛰어들 때 손익을 셈하는 경향이 많다. 꽝!

결론은 왠만하면 엄청난 패러다임쉬프트가 일어나지 않는 이상 쓸만한 것들 - SystemProgramming, DataBase 등등 - 을 기본으로 익혀두고 이것저것 해 보는 게 좋을 듯 -_-;
지식 포트폴리오 관리를 해야겠죠. 위험관리의 측면에서 위험도가 높은 것과 낮은 것을 잘 안배해서 골고루 갖추어야 한다고 봅니다. 즉, 투자 대비 회수율이 높은 지식을 주로 사고, 대신 위험도가 높은 "약간 도박성" 지식도 조금 사는 식으로 해야죠. 안전한 투자만 해서는 요즘 세상에 돈 불리기 어렵죠. 오히려 제자리 걸음에, 까먹기도 할 겁니다. 양자를 잘 맞추면 어느 수준에선가 최적화가 가능할 겁니다. --김창준

어느 분야이든 제대로 공부하려면 추상적인 것들을 제대로 소화해 내는 것이 필요합니다. 특정한 Language와 Platform에 익숙해지기 위해 열심히 노력하는 사람은, 미안하지만 깊이 있게 발전하기 어렵습니다. 기본기를 잘 닦게 되면, language와 platform을 가리지 않게 되고, 이것들이 필요할 때 적절히 골라 쓰는 도구가 되어 버립니다. 물론 도구를 잘 다루는 세련된 기술도 중요하지만, 절대 그것이 전부가 아닙니다. 오래 살아남고 싶으면, 우리나라는 30이 넘으면 영업해야 한다 - 앞에선 프로젝트 매니저라고 했지만, 사실은 기술영업, 그렇다고 영업이 사소하거나 하등한 것은 절대 아니다 - 는 말을 하고 싶지 않으면, 신기술과 유행에 민감하지 않을 수 있어야 합니다.

평생 공부해야 하지만 그렇다고 한 우물만 파서는 안되는 것이 프로그래밍이라고 생각한다.(물론 모든 학문이 한 우물만을 파서는 안되겠지만..) 특히나 프로그래밍은 한번 미치면 다른 분야는 보이지 않고 그것에만 매달리는 (누군가 인용하길..) '축축하고 어두운 곳에 사는 사람'이 되기가 쉽다. 전혀 다른 분야에서 끊임없이 자극을 받고 살아야 할 직업이 프로그래머라고 생각한다.

훌륭한 프로그래머, 참으로 대단한 공부가 필요한 일이다. 일의 스케일을 이야기 함에 있어 건축가는 밀리미터에서 몇 백 미터(500*100*10 밀리미터)까지를 다뤄야 하므로 상당히 어려운 일이라고들 한다. 하지만 프로그래머에 비견할 일이 아니다. 그들은 보통 수십메가(50*1024*1024*8 비트)에서 비트까지를 다룬다. 실질적인 업무를 하면서 이 정도로 넓은 범위의 사건들을 다루는 직업은 극히 드물다. 게다가 새로운 지식이 오래된 지식을 몰아내는 속도는 정말 경이롭다. SteveMcConnell이 인용한 연구에서였던가, 컴퓨터 프로그래머는 매 3년 마다 자신이 가진 지식 절반이 싸그리 필요 없어진다고.

이렇게까지 힘든 프로그래머란 직업을 유지하기 위해서는 그야말로 인간관계, 사회성, 자기여가 등을 몽땅 희생해야 한다. 본인이 자주 표현하듯 "음습한 곳의 사람"이 되어가는 것이다. 하지만, 진정 가슴 아픈 일은 이런 사람들이 그 노력에 비해 그만큼 사회적/경제적 성공을 하기가 무척이나 힘들다는 것이다 -- 매년 1억씩 버는 프로그래머가 되는 것보다 매년 1억씩 버는 컨설턴트 되기가 더 쉬울 것 같다. 세상에 드러나고, 돈을 버는 사람들은 그런 "음습족"들을 잘 부리는 혹은 그들과 잘 협력하는 사람이다. 또 사실 우리 사회의 발전도, 그런 단순한 음습족만에 의해 이뤄지는 것 같지는 않다. 대부분은 그런 음습한 면과 동시에 원대한 비젼을 갖고 세상을 살피며 실천하는 지식인이 우리 사회를 발전시켜 왔다. (물론 그 뒤에는 가려진 음습족들의 지원이 있었을 것이다)

본인은 programmer의 어원학적 의미(자세한 내용은 마소 2001년 4월호 참고)인 "(문제를) 미리 계획하고 해결하는 사람"이라는 뜻을 더 좋아한다. 한마디로 General Problem Solver인 셈이다 -- 솔직히 말해 코딩을 위한 코딩에는 그다지 관심이 없다(누구를위한기술인가). 하지만 한 걸음 더 나아가 Problem Maker가 되고 싶다. 우리에게 유용한 질문을 스스로 만들어 내 사람들 앞에 자신있게 던져놓고, 또 이 문제의 해결에 매진할 수 있는 사람, 누가 어떻게 이 문제를 해결하느냐는 것보다는 문제 자체의 해결과 무엇이 문제인가 하는 것에 더 큰 의미를 둘 수 있는 그런 사람. --김창준
라이온은 예전부터 문제를 잘 정리해서 할당해주는 사람들의 능력에 경의를 표해왔습네다. :) -- 멋진 문제해결자를 지향하는 라이온

현실 세계의 문제는 너무 어렵다. 특히 비지니스의 세계는. 내가 생각하기에 우리나라에서 30이 넘으면 관리자로 방향을 트는 이유는 그것이 당장은 문제를 훨씬 쉽게 해결할 수 있기 때문이다. 프로그래머가 해결하지 못하는 문제를 해결하는 것 그것이 관리자의 역할 아니겠는가. 몇 십년 후면 삼풍이나 성수대교 같이 갑자기 전산시스템이 붕괴되는 날이 올지도 모른다. 점점 많은 징후를 보이고 있다. 아무리 봐도 아버지 시대의 건축이랑 내 시대의 전산이란 건 똑같은 것 같다. --응주

30넘은 나도 프로그래머로 남아 있다.프로그래머라기 보다는 직업인으로서 남아있는 것이지.오늘도 나는 도저히 풀리지 않는 문제들을 가지고 퇴근을 한다. 퇴근이 있는가도 생각해 볼 일이다. 프로그래머에게 퇴근이란 없다. 문제가 해결 될 때. 그때는 또 새로운 문제를 찾아 헤메이겠지... 타인의 풀리지 않는 문제는 그 사람의 능력을 의심하고, 내게 주어진 문제는 문제의 난이성에 의미를 부여한다.마치 난공불락의 요세에 나만이 오를 수 있다는 도도함과, 무능과 난이도를 헷갈려하는 우둔함을 감추고 나는 또 내일을 기다린다. 내일은 무엇인가 실마리가 잡히겠지 ;) --

우리나라에서는 30살이 넘으면 프로그래밍에서 손을 떼고 프로젝트 매니저를 해야한다고 한다.
위와 같은 말이 나오는 이유는 IT업계의 전반적인 분위기가 깊이와 폭을 갖춘 애플리케이션이나 솔루션을 개발하지 못하고, 일회성 주문제작프로그램을 개발하는 것으로 먹고 사는 분위기에서 비롯된 것이라고 생각한다. 흔히 말하는 SI프로젝트는 깊이 있는 프로그래밍 기술이나 경험보다는 어느정도 수준의 프로그래밍 기술과 능력으로 얼마나 돈 주는 '갑'이 원하는 프로그램을 '을'이 빨리, 잘 개발하느냐가 관건이다. 이런 경우는 업무의 흐름을 이해하고 프로젝트를 잘 관리하는 것이 중요하다. 그러나 이런 프로그램은 대부분 일회용 코드를 만들어내게 된다. 퀄리티 높은 코드보다는 일단 작동하는데 문제없는 코드를 작성하게 되고, 효율적인 코드보다는 비싼 하드웨어로 커버하는 코드를 작성하게 된다. 연봉 높은 경험 많은 프로그래머보다는 신기술을 배워온 초짜 프로그래머가 더 나은 우울한 상황인 것이다.
어떻게 보면, 제대로 된 프로그램을 개발하는 기회는 운이 좋은 극소수에게만 돌아가는 행운인지도 모르겠다.
그렇습니다. 그리고 제대로 된 프로그램을 개발하는 곳을 찾지 못한 자의 무능력도 :( 10시 이전에 퇴근할 수 있고 일요일에 쉴 수 있고 월급이 제대로 나온다는 것만으로도 행복해야만하는 프로그래머들이 이땅에는 많습니다. B) --응주
See Also 사이언스키드의생애. 매우 뛰어난 프로그래머가 아니라면, 전업을 유도하는 사회의 압력을 견디지 못하고 다른 분야로 억지로 넘어가야만하는 문제가 있습니다. 계속 프로그래밍하면 연봉 3천, 영업으로 넘어가면 연봉 4천 준다고 하면 당연히 영업으로 넘어가게 됩니다. 그리고 또다시 개발자는 인건비 싼 신입으로 채워나가게 됩니다. 프로그래머가 제대로 능력을 계발하지 못하여 전업해야 하는 경우도 많지만, 사회 전반적으로 기술자에 대한 공급과잉을 부채질하고 병역특례와 같은 제도를 통해 저임금 착취구조를 고착화시키고 있는 것은 분명합니다. 사실은 기술자, 과학자가 되겠다고 마음먹은 것이 멍청해서 사기와 구라에 놀아난 겁니다.

30살이 넘으면 관리직을 해야하는건 비단 프로그래머만 그런 것이 아닙니다. 우리나라에서는 거의 전 공학분야에서 나이가 차면 관리직을 해야합니다. 계속 엔지니어로 남아있으려고하면, 연봉이 낮거나 주위 사람들이 '쟤는 바보군'하는 시선으로 봅니다. 기술은 경험과 연륜인데, 그래서 우리나라의 기술은 깊이가 없습니다. 문제가 발생했을 때 어디 가서 물어볼 데도 없습니다. 다들 엔지니어링에서 손 놓은지 10년 이상 지났는데, 누구한테 뭘 물어보겠습니까? 사람들의 의식(직업에는 귀천이 있다는..)과 사회구조가 바뀌지 않는 이상, 이런 바보같은 상황은 계속 반복될 껍니다.
동감입니다.-nonfiction

카메라에 대한 이야기가 나오면 늘 라이카는 왜 그리 비싸고 일제 캐논은 어떻고 하다가 왜 우리는 쓸만한 국산 카메라를 만들지 못하는가 라는 화제로 이야기를 하곤 합니다. 독일제 카메라 같은 경우는 셔터를 구성하는 부품들의 내구성이 강해서, 셔터를 약 10만번 정도 작동을 시킬수 있다고 들었습니다. 모든 독일제 카메라가 다 그런 것은 아니겠지만, 핫셀브라드나 라이카의 고급 모델은 사소한 볼트 하나 조차도 쇠부터 다르다고 하더군요.(물론 어디까지나 확인이 안된 것이니 상당한 뻥이 있으리라고 봅니다만 어쨌든) 일제 카메라도 약 4~5만번 정도를 작동시킬수 있다고 합니다. 우리나라는 종종 외산 카메라를 카피를 하곤 했는데, 외면당하고, 자체 기술로 만드려고 해도 늘 축적된 기술을 가진 기술자가 없어서, 일제나 독일제 카메라로 눈이 높아진 소비자들에게 번번히 외면을 당한다고 하더군요. 컴퓨팅 분야는 아니지만, 카메라 업계도 비슷한 이유로 고전을 하는 것 같아서 적었습니다. --daybreak

프로그래머는 마법사와 비슷한데가 많다. 없는 것을 있게 만드니까. --summerkid

없는 것이란 본래 거기에 있었던 것. 마법사는 없다. --cronan

작업을 편하게 하기 위한 도구를 만드는 사람들이 정작 자신의 작업은 단순반복작업의 연속이다. 특히 제출용 산출물 만들기는. 고객이 원하는 산출물은 자동으로 만들수 없다. T.T --응주
저는 고객에게 말합니다. '네가 진짜로 원하는게 뭐야!'라고 까지는 아니어도... '왜 필요한지 이야지해주면 다 해드리지요'도 아닌가? 편하게 사세요. 단, 멍청한 직장상사의 지시로 하는 일이라면 위키에 가입시켜 그 사람을 변화시키는 것이 가장 빠른 방법 ~.~ ---이정호

근데 왜 프로그래머의 인생이.. 유머 분류에 있는거죠..? 웃긴 직업인가..ㅎㅎ -- -0-
원래 이 페이지는 위 그림밖에 없었던 기억이...

[http]전산직파업금지법제화추진이런 황당무계한 생각을 하는 국회의원들이 30명씩이나 되다니.....미친게 아닐까?
너무 완곡하게 표현하셨군요. 미쳤습니다. --아무개

새로운 세계를 창조하는 예술가, 그것이 프로그래머죠^^ 자신만의 공간에서 자신이 원하는 일을 할수 있다는건 멋진것 같습니다. 저는 초등학교때 처음 베이직으로 프로그래밍을 처음 시작했는데, 그 때의 감동은 이루 말할수 없네요. 다른건 모르겠어요. 그냥 재미있고, 이거 하고 먹고 살면 재미있을것 같아요. 좀 무책임한식의 인생태돈가요? 아직 어려서 그런가봐요-_-; --mynameisdj

신기술은 사실 그다지 신기술이 아닌것에 새로운 이름울 붙인 것이 많습니다. -- ableman 2008-03-22 17:17:28

see also:


"; if (isset($options[timer])) print $menu.$banner."
".$options[timer]->Write()."
"; else print $menu.$banner."
".$timer; ?> # # ?>