프로그래머가 되는 길

글쓴이
K.Tommy
등록일
2002-10-09 15:27
조회
5,514회
추천
0건
댓글
8건
이 글도 98년쯤에 쓴글.. 스치듯이 주만간산형태로 읽으시면 될듯..^^;
================================================.

.
솔직히 말해서.되는 방법이란 것은 없다.

다만 자신이 진실로 원하느냐 원하지 않느냐가 문제일 것이다.

프로그래머라고 불리어 지기를 원하느냐 아니면.. 스스로 자칭을 하느냐...

어느쪽이든 간에 나쁘다 좋다를 떠나서...

밥벌이의 수단이나.. 혹은 그냥 보기 좋아서 선택한다 하면...

일단은 내 기준에서 보기엔..제외하겠다..( 주관적인 의견..)


자신의 의지와 열정을 굽히지 아니하고 어려운 생활을 스스로 감내하면서도

스스로의 창의성을 살리고 창조의 욕구를 해소 시키는 자.


우선..쓸데없는 서론은 관두고..정신적인 자세와..공부매체에 대한 것으로 나누어서 보도록 하겠다. 우선은 정신적인 자세부터...지극히 주관적인 것이니. 객관적이지 못하다라는 필요없는 반론은 그만 두기 바란다. 그럼 시작한다.



* 개인적으로 정리가 될때까지 글을 퍼가는 것을 금지합니다.
==============================================================================


@@@@  프로그래머가 되기위한 정신적인 방법

==============================================================================


1. 하나를 잡고 끝까지 고민하고 그 모르는 하나의 근본이 무엇일지 생각해 보라.


대개 보면..C 언어에서는 포인터 부분을 잘 몰라서.. 포기 하는 부류가 가장 많은 것 같다. 그러나 근본원리라는 것은 변하지 않고 모양만 변하는 것일뿐인데..
이용하는 자원은 정해져 있다는걸 명심하고.. 가장 근본이 되는 모습을 보고 어느정도 이해 하려고 하면 처음은 어려워도 시간이 지날 수록 쉽게 다가옴을 명심하시길..




2. 하나의 언어에 대해서 자신이 있다고 말할 정도

또..스스로 생각하는 걸..그것이 작던지 크던지 간에 창의적으로 구현을 할 수 있다면 어느정도 자신이 있는것 아닐까?.. 언어의 유행과 주기를 떠나서.. 스스로가 공부를 하기 위해서 선택한 것이라면 스스로가 생각하는 창의성을 제약하지 말고..마음껏..노력하고 마음껏 다듬어.. 스스로 애지중지 할 수 있는 하찮은(?) 프로그램이라도 개발해 보는 것이 순서이리..



3. 귀를 엷게 만들지 말라.

이것이 유행한다..저것이 유행한다 하여..이리로 타고 저리로 옮겨타구..하는 것은 시류에 가장 잘 적응 하는 것일수도 있지만.. 좀 길게 생각해 보면.. 시간들여서.헛짓 하는 것일 수 있다. 또. 깊이가 없는 앎은 언제나 결정적인 때에 시들어 버리고 마는법이다.



4. 사회의 어느부분에 도움이 되고 싶다는 열망을 가져라.

이 부분은 나 같은 성격에는 잘 맞지는 않는다고 생각하지만. 개인적으로 생각하기에.. 스스로가 바꾸고 이런쪽으로 이끌었으면 좋겠다고 생각하는 부분을 두고 구체적으로 생각하고 고민한 후에 직접 실천해보라.. B2B 솔루션에서 획기적인 생각을 하였고..또 그걸 구체화 하기 위해서는 어떤것들이 필요한지.주위에서 습득을 하고..노력을 기울여라



5. 이제 그대가 할 수 있는것은 창조 뿐이다.

마지막..단계이다.. 창조성을 살려야 한다. 십수년의 갇힌 교육으로..강요 되어져온 창의적인 야수성을 살려라.. 그리고 나아가라. 그대의 길로.. 그것이 guru 의 길.


===============================================================================

@@@ 프로그래머가 되기 위해  학습을 하는 방법 @@@@@

===============================================================================


1. 우선 초보책을 산다. 프로그래밍 초급.. ( 아무래도 근간은 C 일듯..)
 
 언제나 말하지만..책 사고.배우려고 하는데 돈을 절대 아끼지 마라.. 지금 당장이든 언제는 돌아오지 않을 듯 보여다..깊어지고 깊어지면 반드시 돌아오는 법.
초급에 관련된 책들을 여러권 사서 보면서 그 책들에 기술되어 있는 부분에 있어서..
분명히 같은 개념을 말하지만..말이 어렵거나 다르게 쓰여져 있는 부분이 반드시 존재한다. 이런 부분에 대한 궁금증과 호기심을 가지고 골똘히 생각해보라.



2. 분야별로 전문적이거나 중급수준의 교재를 나름대로 선정한다.

누구나..초급을 벗어났을때..교재의 선정에 애로점을 지닌다. 그러나 발로 돌아다녀보구..여러군데 쇼핑몰을 돌아다니면서..찾아보라..이때에 선정해야할 책의 내용으로는 개인적으로 생각하기에는 초급에서 알았던 내용과 모르는 내용이  50:50으로 섞인것 을 보는 것이 적절히 흥미를 유지하면서 하기에 좋았던것 같다.

전문적인 부분에 있어서는 1번 단계에서 말한 내용중에 같은 것을 설명하면서도 다르게 풀이가 된 부분을..집중적으로 생각하고.. 스스로가 정의를 한번내려 보라..

ex) 포인터의 사용법과 쓰임에는 선언과 정의가 있다. 이 선언과 정의에 대하여 스스로가 정의를 내려보라.
간단히..선언은  이런것이 있다고 알리는 것..
정의는 이런것을 이렇게 쓰는것..뭐 이런 식의 스스로의 해석이 있어야 될 것이다.




3. 다독을 하라.

프로그래밍의 근간은 모방과 많은 소스 코드를 보고 이해하려는 노력들이 모여야만 한다.
노력이 없이는 되는 것이 없는 법이다.
많은 책을 읽고 그 차이점과.. 책의 오류에 대해서 나름대로의 판단기준으로..의견을 낼 정도로  많은 책을 보라.. 굳이 돈 없다는 이야기 하지 마라..
학교 도서관이나. 공공 도서관 가도 요즘 프로그래밍 책들 예사롭지 않게 만날 수 있다. 예전과는 다르게....
또..웹사이트는 폼인가?.. 돌아다니면서..잘 찾아보라..



4. 다독을 하면 반드시 한계를 지니게 된다. 그걸 넘어서라.

외국어를 알아야 한다. 최소한..우물안 개구리가 안 될려면..회화를 알아야 한다는 것이 아니다. 읽을 줄 알아라.. 정확한 문법이고 이런거 필요없다. 그대가 만약 토익이나 토플등에 관심이 있다면.. 문법을 따지겠지만. 그대가 지식을 익히려는 목적은 프로그래밍이 아니던가??.. 차이를 가져보라.. 우리나라의 책들이 말하는 지식과.. 다른 나라에서 만든 책들중에서..차이를 느껴보고.. 전문성을 보려고 하라.



5. 많은 자료를 웹사이트에서 찾아보고..반드시 생각해보거나..써보아라.

공부하라.. 인터넷의 세계는 양면의 칼날이다. 잘 쓰면 쓸수록 깊이를 지니는 도구일뿐.
그리고..스스로의 아는 지식의 빈약함에 대해.. 반성하라.
이제 상업적으로도 성공하거나 완전한 제품..혹은 그럴리 없겠지만. 사회에 기여하고 싶다면 제대로된 프로그램을 짜야한다..이러기 위해서 그대는 많은 소스와 공개된 오픈 소스들을 분석하고 필요한 것이 무엇인지 잘 생각해 보라..



6. 아마도.. 데이터 베이스나 넷트웍에 대해서 알아야 된다고 생각 할꺼다.. 아닌가?

그래..데이터베이스는 알게 모르게 우리 주위에 깊숙히 존재한다. 그러나 잘 아는 사람은 그리 많지 않다.. 이게 없으면 많은 것들이 힘들어 지고 할 수 없게 된다.
DB 에 보면 Schema 라고 하는게 있다. 이 모든 근간에 프로그램 코딩은 맞추어 지고..
데이터의 흐름을 가지고 프로그램은 살아있게된다.
이런 데이터의 흐름을 스스로 디자인 해보라.이를 DFD 라고 한다. (Data Flow Diagram)
DFD 를 만들면 작성해야 하는 프로그램의 전체 구조를 일목요연하게 볼 수 있다.
이걸 할줄 알고 볼 수 있어야 만이 진짜 프로그램의 세계를 만날 수 있다.
솔직히 그대들은 아직 간단한 코딩 테크닉의 활용들을 보고 아직 프로그램이라 하는가?
테크닉은 테크닉 나름대로 존재의 이유가 있지만. 프로그램은 인간을 이롭게 만들고 생활을 유리하게 만들기 위함이 목적이 아닌가?.. 목적에 충실하려면.. 그대가 알아야 할 것은 아직도 많다.


7. 개인용을 만들어 봤다면 이젠 상업용을 개발해 보라.


네트웍은 기본적인 것이겠지?.. 잘 생각해보고. 깊이있는 공부 혹은 스스로가 아는 방법으로 해볼려고 시도해 보라.. 깨놓구 말하지만. 머리를 벽에다 많이 박아야 홀로 알 수 있을 것이다... 그런 후.. 상업용제품을 만든다는 생각으로. 일반 쉐어웨어나 상용제품을 꼼꼼히 생각해 보면서 실행 시켜보라..무엇을 느끼는가?..



8.아마도.. UI (User Interface ) 를 느낄 것이다.

그대가 불편하면 사용자도 불편한것.. 이..User Interface 를 위해 더욱 더 많은 테크닉과 기술을 우린 집결해야만 한다.



9. 이제 그대가 생각하는것을 창조할 만큼 노력하고 창의성을 지니는 것만 남았다.


winsnort@hotmail.com
  • 김경우 ()

      좋은 글 잘 읽었습니다.그런데 질문하고 싶은게 하나 있습니다. 대개 C가 프로그래밍의 기초라고들 하는데 개인적으로 볼 때 참 어려운 게 C라는 생각이 듭니다. 그래서 에릭 레이몬드같은 분은 C를 배우기 전에 phython과 같은 것을 먼저 배우는 게 낫다고 할 정도였는데요. 이런 견해에 대해선 어떻게 보십니까?

  • K.Tommy ()

      python 을 배운다 해도 시스템에 대한 원칙적인 이해 없이는 깊이 들어갈 수가 없습니다. 시스템 프로그래머가 되기를 원하지 않고 응용프로그래머만을 원한다면 python 도 괜찮다고 봅니다. 원리에 대한 이해 보다는 사용목적에 충실한 언어이니 만치.. C 언어를 꼭 알아야 된다는 것보다는 시스템 레벨까지 접근하고 이해하려고 하는 시도가 중요하다는 내용입니다. 답변이 되었는지요.

  • 김경우 ()

      예. 답변이 되었습니다.^^

  • 김세훈 ()

      추천서 같은게 있으면 좋을듯 합니다. 어떤 특정한 분야에서 일을 하는 사람들의 경우에는 Bible이라고 생각하고 보는 책들이 있거든요. 지식공유가 목적이라면 이런 것들도 좋을듯.

  • 김세훈 ()

      그리고 초보자의 입장에서 보면 뭘 어떤식으로 해야 할지 잘 모를테니까 말이죠.

  • K.Tommy ()

      추천서는 개인마다 다 다르다고 생각합니다. 판단기준도 다를테구요. 제가 적은 것은 판단의 기준에 대해서 적은 겁니다. 제가 직접 해보니 이런 판단을 하면 적절했다고 생각하기에 적은 것이니 만치..딱 몇권을 보고 마스터 했다 지름길로 왔다 이런 것은 의미가 없다고 생각합니다. 요령보다는 원리에 대한 이해가 그 어느때보다 중요하지 않나 생각합니다. 효과는 늦게 나타나도 결과는 만점임을 저는 알고 느끼고 있으니 천천히 급하지 않게 그러나 치밀하게 하시면 됩니다. 그럼 좋은 하루 되세요.

  • CE ()

      Structure and Interpretation of Computer Programs (2nd ed.), Harold Abelson and Gerald Jay Sussman with Julie Sussman, The MIT Press and McGraw-Hill, 1996.  같은 책도 괜찮을듯.. 진정한 프로그래머가 되고자면...

  • CE ()

      참고로 저위의 책은 MIT CE 1학년 , 컴퓨터를 전공하지 않은 공대대학원 1학년이 필수해야 하는 과목입니다.



과학기술Q&A

게시판 리스트
번호 제목 글쓴이 등록일 조회 추천
304 SDRAM 댓글 6 SEU 10-24 10575 2
303 컴퓨터 언어 번역기 만들기? (MODSIM --> JAVA Translator) 시뮬 10-24 5415 0
302 물리2과정에서 질문입니다. 댓글 16 김지산 10-23 5289 1
301 [질문] X-ray 회절에서... 댓글 5 초보공학도 10-23 14194 0
300 [질문] 수능물리문제 중에서 전지의 혼합연결. 댓글 9 도라이바 10-23 14325 0
299 [질문] 엔토르피에 대해.... 댓글 21 초보공학도 10-22 5147 0
298 격자 구조 내의 수소에 관해서 질문 있습니다 댓글 8 고양이 10-22 4430 0
297 [질문,문의]SMPS에 대해서... 댓글 5 garfield 10-22 4941 0
296 visual c++책 좀 추천 해주세요 댓글 1 임현종 10-22 4180 0
295 Kelvin probe에 대해서 댓글 4 강상열 10-21 13828 1
294 신호에 대한 질문입니다... 댓글 1 임현종 10-21 4225 0
293 공업수학 카페 공업수학 10-21 4772 0
292 EMI/EMC에 대해서 궁금합니다. 댓글 2 김수형 10-19 4751 1
291 c++ 책좀 추천해 주세요..^^ 댓글 2 포우 10-18 4759 0
290 tan(t) 적분,,,어떻게 하죠? 댓글 7 포우 10-17 18971 2
289 양자 역학에 대한 쉬운책 추천부탁드립니다. 댓글 10 노력파 10-13 10767 0
288 아주 쉽게 물리를 설명해 놓은 책 좀 추천해주시길.. 댓글 8 김경우 10-12 5217 0
287 DSP나 신호 및 시스템 책 좀 추천해주세요 댓글 8 차상철 10-12 10467 0
286 [자동제어] 시간영역법과 주파수영역법의 구분? 댓글 4 이용신 10-10 9472 0
열람중 프로그래머가 되는 길 댓글 8 K.Tommy 10-09 5515 0


랜덤글로 점프
과학기술인이 한국의 미래를 만듭니다.
© 2002 - 2015 scieng.net
모바일 버전으로 보기