본문 바로가기

공부/컴퓨터

[PHPSCHOOL] 떠나며...

반응형
http://phpschool.com/bbs2/inc_view.html?code=phorum2&id=17800





글쓴이:음  떠나며... 조회수:1605


고등학교 졸업하고 대학 입학 기념으로 컴퓨터를 부모님께서 처음 사주셨습니다.486DX2에 하드가 200~300메가 정도 되었던 걸로 기억이 나네요. 슈퍼패미콤으로 오락을 하다가 컴퓨터게임에 맛을 들이게 되었죠. 윙코맨더 시리즈와 신디케이트, 삼국지...^^ 그때가...도스에서 윈95로 넘어가는 시기였기 때문에 게임은 대게 도스로 만들어졌습니다. 도스에서 게임할때 항상 문제점이 메모리 설정 부분이었는데. 지금 처럼 걍 DirectX 업데이트하고.... 하드웨어만 지원해주면 되는게 아니라. 설령 하드웨어가 지원 된다 하더라도 autobatch화일과 config화일에서 Expanded 메모리나 Extended 메모리 설정을 제대로 해주어야 했습니다. 또 문제점이 사운드 카드와 마우스, 모뎀등 시리얼 포트, COM포트를 사용하는 장치들의 IRQ충돌을 어떻게 잘 맞춰주느냐 였구요. 그때만 해도 용산에서 컴퓨터 조립하고 셋팅해 주는 기술이 꽤 괜찮은 기술이었고 컴퓨터 전문가라고 불리었었습니다. 딱 10년 전이군요....
1~2년있다가 비주얼C2.0이 등장했지만.... 대부분의 사람들은 터보C를 더 선호했었던 시절이었습니다. 마이크로소프트웨어??? ^^ 마이컴이나 PCLINE을 다 이해하고 볼 정도면 대단한 사람들이었고... Hello PC가 그 후로 등장해 선전을 했었죠.
개발자들도 단순했었구요... 지금 처럼 조직화되어야 하고 대규모 프로젝트를 진행해야 하고... 하는 것이 아니라.. 여러분이 꿈꿔오던... 방안에 틀혀 박혀 자신만의 세계를 만들 수있는.. 그런 분위기였죠. 그때까지만 해두요. 뭐... 제눈에 그랬다는 거고 그때부터 현업에 계셨던 분들..C나 코볼세대 분들은 얘기를 달리 하시겠지만..

아뭏든.. 이런 시대를 배경으로 컴퓨터에 입문을 했습니다. 상경계열대학 1학년 들어가 오락하고..서클생활하고... 실컷 놀다가... 인터넷이란걸 알게 되었죠. 나우누리...천리안등을 이용해 사용하는 거였는데... 이게 왠걸 잘 찾아 보면 울퉁 불퉁 미녀들이 아주 많았고 순진한 제게는 무척 자극적이었지요. 인터넷 접속 하는 것도 큰 일이었었는데. 트럼펫 윈속이니...무슨 윈속이니.. 뭔진 몰겠지만 그런걸 셋팅해야 했고.. 앞서 말한 마우스와 사운드카드, 모뎀의 IRQ충돌.. 이유모를 하드웨어적인 충돌등등... 아뭏든 전 이런 걸 계기로 컴퓨터 공부를 시작했습니다.  도스 메모리 관리기법.... EMS규약이 어쩌고 EXT규약은 어떻고...hymem.sys가 어떻고.. 디바이스는 뭘로 띄우고...

뚱그므리 했던 지식들이 하나 둘 나름대로 쌓이니까 재미가 있더군요. 이해하기 쉬운 컴퓨터 하드웨어 이야기 던가... 영진 출판사에서 나온 하드웨어에 관한 책이 있었습니다. 8086프로세서의 구조, 동작원리 부터 80586, RISC방식의 POWERPC용 CPU구조까지... 슈퍼 스칼라니.. 버스트 어쩌구 저쩌구... SCSI방식의 구조..DMA가 뭔지...CPU캐쉬히트율... 내부캐쉬..외부캐쉬... IRQ.. .. 노턴이 지은 책 보다 훨씬 더 상세하고 알기 쉽게 풀이를 했던 책으로 기억되며 사실 컴공과 교재로 사용되는 책보다 전 이책이 더 좋다고 느껴지더군요. 서울대 나오신 어떤 분이 쓰신건데.. 지금은 안나올 겁니다. 그때 기억나는 구절이.. 자신이 학부때만 해도 CPU에 메모리라는게 포함되어있는건지...따로 떨어져 있는 건지를 제대로 아는 사람이 드물었다고 했다는..... 그걸 보고 피식 웃었던 기억이 납니다. 그땐 그게 너무 신기하고 재미있어서 마치 제가 빌게이츠가 된 기분이었었고... CPU구조와 메모리..하드디스크의 상호구조등에 대해 그림 그리라면 그릴수 있을 정도로 달달 외구고 다녔었지요....어셈블리언어 문법까지 공부할 정도였으니..^^

그리고 나서 OS에 대한 걸 공부하기 시작 했습니다..DOS 명령어에 대한 것이었고... 뭐...2학년 마치고 군대를 가는게 그때 룰이었으니까.. 군대 갈 마음 준비도 슬슬 했었어야 했죠. 전산병인가로 갈까 하고 OA과정인가 뭔가를 중앙 컴퓨터 학원이라는 곳에서 잠시 다녔습니다. 도스 배울려고 학원엘 다녔다는... --; 요즘은 그 학원 엄청 커졌죠? 그때까지만 해도 그렇게 안컸었는데.... 암튼 잘난척하기 좋아했던 저는 학원에서 우등생이었죠..(뭐 그래봤자지만..ㅋㅋ) 학원 선생이 하는 말이.. 정보처리기사라는 자격증이 있으면 군대를 안가도 된다고 하더군요. 그 말에 솔깃은 했지만......믿지는 않았었습니다.
그냥 그러고 한두달있었던 걸로 기억 나는데... 어느날 시내 대형 서점이 갈일이 있어 정보처리기사에 대한 자격증 문제집을 한번 봐봤죠... 그랬더니 이게 왠일 입니까. 순진한 제겐 정말 그걸 따면 군대 안가도 될 것 처럼 느껴졌었습니다.... 뭐 그렇게 문제들이 어려워 보이던지....
얼마후 전 6개월인가 3개월인가 정보처리 기사 자격 반을 들어서 2급 자격증을 취득하는데 성공을 했습니다. 자격증 받으려고.. 산업인력관리공단인가 찾아  가느라 땀흘렸을 때니까.. 95년 여름 쯤이었겠군요. 따고나서..아니 따면서.. 자격증은 단순히 서류상의 요건이라는 것을 알게 되었죠. 병역특례라는 건 정말 프로그램을 잘 만들고 실전도 잘 알아야 한다는 것도 알게 되었구요. 부모님은 그냥 군대를 다녀오라고 반대를 하셨는데... 전 고집을 부렸습니다. 좀 시기가 늦더라도 꼭 병역특례를 가서 컴퓨터 프로그래머로써 성공하겠노라......

박영만 전산학원이니.... 비트 컴퓨터니.... 유명하다는 학원은 다 다녔습니다. 돈도많이 들고 시간도 많이 투자하고... 지금은 어떨지 모르겠지만 그 때 당시 비트 컴퓨터 학원 나왔다..하면 업체에서 그래도 알아 줬었답니다. 전산학과 수업이 지금도 좀 현실과 괴리가 있다 어쩐다 하지만 그때 당시는 더 했었으니까요... 반면에 비트 컴퓨터라는 곳은 실제 프로그래밍을 가르쳤었으니까.. 감각이 오히려 있다고 업체측에서는 판단을 했었겠죠. 한기수가...40~50명 정도 되었었는데... 지금 생각 해보면 그 중 5~10명정도가 소질이있었고.. 나머지는 사실 별로 뛰어나진 못했습니다. 그래도 그때 생전 처음 유닉스라는것도 만져 보고...DB가 뭔지도 알게 되었고..알고리즘책도 보고...특히 MFC가 정말 대단해 보여서 그것만 죽어라고 파댔었죠. 전병선이란 아저씨 아직도 책쓰나 몰겠네요. 쓰겠죠. 암튼 그땐 그 아저씨 참 대단해 보였는데. MS의 전도사...ㅋㅋ


지금은 프로그램 라인 안따지죠? 그땐 프로그램을 라인으로 따졌었습니다. 지금도 그렇게 따지나요??? 암튼 난 몇라인 프로그램 만들어봤다. 난 하루에 몇라인 짤수 있다... 등등등..
솔직히 전 그때 하루에 100라인 200라인 짜기도 힘들었습니다. 뭘 알아야 만들어도 만들죠..

암튼....삐질삐질 따라 가서 수료하고 회사라는 곳에 들어갔었죠. VC++을 많이 공부했다는 이유로 하드웨어 제어하는 프로그램 만드는 곳으로 들어가게 되었습니다. 근데 뭘 알아야죠.. MFC도 솔직히 잘 아는 것도 아니고... 하드웨어도 잘 아는 것도 아니고... 어셈블리는 젬뱅이었고... 결국 온갖 구박 다 받으면서.. ^^ 눈물의 코딩을 했었죠. 그때 생각하면 참...

회사를 다른 곳으로 옮겼었는데.... 꿈에 그리던 병특으로 옮기게 되었습니다. PDA가 지금은 흔하지만... 그땐 희귀 종이었지요. 삼성에서 PDA도 만들었다는거 아시나요? 한때 PDA시장을 석권하겠다고 삼성에서 난리를 쳤었죠. 지금은 안맹그는거 같지만... 그때 중소기업 상대로 심포지엄도 열고 자사 제품응용해서 솔루션 만들면 홍보도 해주고 그랬었답니다. VC좀 할줄 안다고 PDA만지러 들어갔다가.... 고생만 찔끔했죠. 지금처럼 자바 모바일이니... 임베디드비베니... 그런건 없었고 VC용 PDA툴킷이란게 있어서 당시로써는 엄청난 하드웨어 사양을 요하는... ^^ 하하 ... 컴파일 돌리고 담배한데 피고오고.. 물론 그 회사에서 컴퓨털 안사줘서리.. 더 그랬기도했구요.  컴파일 돌리고 담배한데 피고오고 한다고 해서 대단한 프로그램인가...그것도 아니죠.. 단순히 TXT파일에 자료 저장하고 수정하고 하는 작업이었으니까요.. 물론 DB필드에 맞도록 간단히 파싱해주고... 정렬이나 수정 삭제등을 구현해야 했기에 자료구조를 좀 사용해야 했긴 했지만... ^^

암튼 그 놈의 어정쩡하게 다뤗던 VC때문에 여기 저기 다니며 욕만 죽어라고 얻어 먹어야했었죠. 사실 그때까지만 해도 CObject나 CAchieve...CMap..클래스... 메세지 처리하는 가상함수 메카니즘.....등등 MFC라는 라이브러리에 대한 구조 자체를 이해하기도 벅찬 상태였는데.. 응용을 해야했으니 어려울수 밖에 없었죠. 연륜이 부족했다는...^^
숨통이 좀 트인게..델파이를 만나고 부터였습니다.... IMF로 인력이 병특인 저 하나만 남자 모든 뒷처리를 해내야 했기에 어쩔수 없이 얼핏 이름만 들어보았던 델파이라는 툴을 접하게 되었는데... 구조적인 이해를 확실히 요구 했던 MFC와는 달리 그냥 보이는데로... 손가는데로... 하고 싶은 부분부터.. 하면 되었던 델파이 소스는... ^^ 좀 적응이 쉽더군요..
그러나 이번에 문제되는 부분은 DB였죠. DB....... DB개론 솔직히 재미있다고 하는 사람은 몇안될 겁니다. 그 SQL이라는 것도 사실 실제로 써보지 않으면 알것 같기도 하고 모를 것 같기도 하고 손에 잡힐듯 잡힐듯 하면서도 잘 이해가 안가죠... 그것도 잠시... DB에 데이터 넣고 빼고.. 적당히 테이블 나눠서 디자인해주고.. 이미지는 밖으로 빼고.. DB연결시 나는 오류들이나 문제점들 적당히 해결하는 법 배우고.. 적당히 필요한 사용자 보안관련 기능을 경험적으로 알아나가게 되고...  

암튼 그때 부터 이해라는 걸 포기했었습니다. 이해를 하려 하면 일하기가 힘들었기 때문입니다. 뭐든지 직관적으로 해야했고 안되는 부분이 생기면 인터넷을 찾거나 예전에 관련되었던 다른 업체 직원에게 물어보거나....

항상 현실과 꿈, 실무와 이론의 중간 기로에서 헤매이다 결국은 남는게 없는 꼴이 되었죠.

간혹 보면 실력 실력 이란 얘기를 합니다. 좀 경력이 있으신 분들은.. 이런 말씀을 하죠.
하드웨어를 하나 주고. OS를 깔아주고. 노트패드와 컴파일러, 컴파일러 매뉴얼을 주고. 자기가 원하는. 혹은 상대방이 원하는 기능의 프로그램을 짤수 있으면 실력있는 프로그래머다.
그 하드웨어가 PDA든. PC든. 자바 가상머신이든. 80x86이든. RISC계열이든. 냉장고든. TV이든. OS가 윈도우든 유닉스든 도스든. 컴파일러가 C컴파일러든.......포트란이든 자바든 C#이든... 이런. 실력 있는 사람이 되고 싶었습니다...하지만..

거진 10년을 공부하고 이러저리 치이며 살아왔는데... 결국 실력있는 프로그래머가 되는 것은 실패했습니다. 10명중에 2명인가 1명인가가 살아남는다고 하는데 살아남지 못했다는 거죠.
C#...자바..VC..델파이..MSSQL..DirectX..PHP..ASP..JSP..Oracle..링크드리스트..해쉬테이블..COM..자바빈즈..객체..포인터..트리거..스토어드프로시져..RSA..DES..데이터그램..소켓..
RMI..EJB.. 머릿속에 스치는 이런 단어들이 이제 절 지치게 합니다...... 부정하기는 싫지만..더 이상 자기 자신을 속이기도 싫고....사실 그걸 만든 사람들도 아니면서 마치 자신이 그런 것들을 만들어 낸 양 떠들어 데는 사람들도 보기가 싫습니다.  

겸손할수 없는 직업이... 프로그래머라 생각 합니다. 할수 있는 것은 아무것도 없는데 할수 있다고 해야 하고. 아는 것은 아무것도 없는데 안다고 해야 하고. 프로그램이라해도 될 말을 프로젝트라해야하고. 항상 손에 잡힐듯 말듯 안보이는 무언가와 싸워야 하는.. 사실은 제일 명확해야 하지만 제일 멍떵구리 같은 직업.. 안다고 생각 했을때. 버그가 잡혔다고 생각했을때. 이미 다른 하나를 놓쳐버린 미완의 지식. 이미 승부는 결정 나있는 그런 기술들... 만들기 위한 기술이 아니라 팔기 위한 기술들. 컴퓨터에 앉아서 키보드를 치면 코더. 입으로 떠들면 개발자.. 겸손하면 겸손할수록.. 알고 싶어하면 알고 싶어할 수록 떠몰릴 수 밖에 없는 직업
.
.
.
.
.
.
.
사회가 원하는 프로그래머...개발자가 되기 위해.. 실력있는 개발자가 되기 위해 무엇을 공부해야할까요... 리쳐드가 쓴 어드밴스드 유닉스 시스템 프로그래밍과 TCP/IP 일러스트레이티드 시리즈를 달달 외우고... 오라클에 대한 풍부한 지식과 윈도우즈 서버의 서비스에 대한 지식들.. C++ STL을 자유자재로 활용할수 있고.. JPG같은 그래픽 헤더를 이해하고 MPEG디코더를 짤수있어야 하고...3D를 위한 기하학과 DirectX등을 사용하는 방법. 물리 역학... 모바일 하드웨어에 대한 이해... 펌웨어를 작성할수 있는 간단한 하드웨어식.. 컴파일러 구성론.....
이런 것들에 대한 지식이 풍부하면 개발자가 될 기본이 되어있는 건가요?
그게 사실이든 거짓이든... 하고 싶었지만 할수 없었습니다..... 하고는 싶었죠.. 책도 다 샀고 보려고 노력했지만 저런걸 보면 볼수록 저런걸 떠들면 떠들 수록 회사에서 담배는 많이 피게 될수 밖에 없었고. 어설픈 지식을 악이 되었지 득이 될수 없었는데..


음...결론이 안나네요. 이제 이 분야를 접고 컴퓨터와 프로그래밍을 제3자의 입장에서 바라보기 위해 늦은 감이있지만 영어와 중국어등 어학쪽으로 공부하고 있는데.. 아쉽긴 아쉽네요. 그래도 멋지진 않았지만 젊은 날 땀과 시간과 눈물을 투자했던 분야인데....

글쎄요... 뭔가를 만들고 있는 그 순간 만큼은 PHP로 뭔짓을 하든... 어셈블리로 뭔짓을 하든 그 사람이 전문가이고 우리가 원하는 프로그래머라는 생각이 듭니다. 제로보드가 어쩐다 저쩐다 라는 말들도 있고 자바를 배워야 하니 샾을 해야하니...XML은 어떻고 저쩌고.. 모바일을 해야한다... 게임프로그래밍을 해야한다.. 무슨 알고리즘을 알아야 한다.. 수학이 기본인데 수학을 몰라서 되겠냐.. 다.. 부질 없는 것 같다는 생각이 듭니다.
HTML로 웹페이지를 만들던.. 얄팍한 지식으로 리눅스 커널을 수정하든. 뭔가를 만들고. 고민해서 만든 하찮은 결과물을 내놓을땐 경험이 좀 있던 없던 한국의 개발자들은 다 같다는 거죠.

그 재미를 저도 아주 모르는 것은 아닙니다. 하지만 현실적인 부분이 많이 결여 되었었나 봅니다.

여러분은 지금 어디에 서있나요?

현업에 종사하는 많은 분들이 아마 이런 고민 어느정도는 하고 있으리라 생각 됩니다. 또 마음  한구석으로 이런 고민을 몰아내고자.. 난 만드는게 좋아 난 보람이있어 라고 계속 싸우고 있을지도 모르죠.

아님 타성에 젖어 새로나온 지식에 무뎌졌거나. 개발자는 끊임 없는 자기개발을 해야한다며 오늘도 MS니 썬이니 오라클이니... 에서 만들어내는 팔기위한 기술에 대해 끊임없이 단어들과의 싸움을 하고 있을지도 모르겠네요..

아뭏든... 팀장급이나 좀 경력이 있는 프로그래머들.. 후배들 대할때 자신들의 하찮은 지식 가지고 무시하고 몰아 붙이지 말고. 말로만 떠들지 마시고.... 함께 만드세요..

전 지금도 하루에 100줄도 못짤 것 같습니다. 복사해서 붙이기 말구요.


반응형