기타/나의 프로그래밍 공부법(14)
-
나의 프로그래밍 공부법 - 에피소드1:나의 베이직 프로그래밍 공부법
필자가 Apple //+로 베이직을 배운 것은 초등학교 4학년 때였다. 당시에는 알파벳만 겨우 알던 나이였는데, 베이직 명령어와 DOS 명령어를 달달 외우면서 프로그래밍을 시작했다. 예를 들어 MS-DOS에서의 “dir”이나, UNIX에서의 “ls” 명령어와 같이 8비트 Apple 컴퓨터에서 사용하는 DOS에도 “catalog”라는 명령이 있었는데, 그것을 필자는 무슨 뜻인지도 모르고 “씨-에이-티-에이-엘-오-지”라고 외워서 쓰곤 했다. 그것이 “카탈로그”라는 단어라는 것을 알게 된 것은 한참이 지나서이다. 그럼에도 불구하고 필자가 나름 프로그래밍이라는 것을 할 수 있었던 것은, 반복 학습을 통해서 언어나 명령어의 기능을 몸으로 익혔기 때문이다. 어린 시절의 필자는 똑같은 소스를 수도 없이 반복 입력하..
2012.11.04 -
나의 프로그래밍 공부법 - 1.5. 늦깎이 개발자에 대한 단상
자신이 하고 싶은 분야의 일을 뒤늦게라도 찾아서 할 수 있게 되었다면, 분명히 행복한 일임에 틀림이 없다. 이 세상에는 자신이 좋아하는 일을 하거나 자신의 적성에 맞는 일을 하는 사람이 그다지 많지 않기 때문에 그것이 늦고 빠름은 크게 중요하지 않다. 예전이나 지금이나 다른 분야에서 짧게는 3~4년, 길게는 10년 이상 근무를 하다가 개발자로 전향하려고 하는 지원자들이 있다. 여기에 적은 글은 필자가 실무에서 늦깎이 개발자들을 많이 경험해본 것을 기초로 작성한 것이니 부디 참고하셔서 좋은 결과가 있기를 바란다. 시작이 늦었다고 해서 반드시 모든 것이 늦어야 한다는 법이 없기는 하지만, 상대적으로 시작이 늦은 만큼 더 많은 인내심을 가져야 하는 법이다. 준비된 자만이 기회를 잡을 수 있는 것처럼, 인내심을..
2012.11.04 -
나의 프로그래밍 공부법 - 1.4. 무엇보다 중요한 것은 창의력이다.
이 부분은 필자가 실무를 경험하면서 많이 본 사항에 대해서 다룬 부분이다. 아마도 조금이라도 실무 경험이 있다면 쉽게 이해할 수 있겠지만, 반대로 유사 경험이 없다면 이해하기가 힘든 부분일 수도 있다. 분명히 말할 수 있는 것은 창의력을 발휘하여 문제를 해결할 수 있다면 여러분의 프로그래밍 공부는 보다 쉬어질 수 있다. 아쉽게도 창의력이라는 것이 인위적으로 개발되고 발달시키는 것이 어렵다는 것이 문제이다. 요즘에는 마치 특정 교육을 받으면 창의력을 가진 인재를 만들 수 있는 것처럼 광고하기도 하지만, 필자 생각에 창의력이라는 것은 총체적인 학습, 경험, 사고 등을 기반으로 하여 자연스럽게 표출되는 능력이라고 본다. 그런 의미에서 똑똑한 공부법은 자신이 가지고 있는 창의력을 최대한 발휘하여 좀 더 빠르게 ..
2012.10.28 -
나의 프로그래밍 공부법 - 1.3. 프로그래머는 수학을 잘해야 한다?
본문 내용에도 적어놓았지만, 필자는 인문계 이과를 선택하였지만 수학 과목은 잼병이었다. 개인적으로 수학이라는 학문하고 궁합이 맞지 않는 부분에 대해서는 진심으로 아쉽게 생각한다. 왜냐하면 프로그래밍을 할 때에, 무식한 노가다성 알고리즘 보다는 효율적이고 안정적인 알고리즘을 만들 수 있는 확률이 더 높았을 것 같기 때문이다. 어떠한 방식으로든 프로그램을 구동시켜서 결과를 만들어내는 것은 가능하지만, 그 프로그램이 얼마나 더 효율적으로 운용되느냐는 그 프로그래머의 진정한 실력을 가늠할 수 있는 잣대가 되기 때문이다. 만일 여러분이 수학을 잘한다면 프로그래밍 공부에 더욱 날개를 달아주는 조건을 갖추었다는 사실에 기뻐해야 한다. 전문적인 수학을 다루는 프로그램을 개발하지 않더라도, 수학을 공부하면서 다져진 기본..
2012.10.28 -
나의 프로그래밍 공부법 - 1.2. 컴퓨터를 잘 사용할 수록 좋은 개발자가 될 수 있다!?
이번 내용은 프로그래머라고 입사한 친구들이 자신이 사용하는 컴퓨터에 대해서 잘 모르고 있는 경우가 갈 수록 심해져서, 안따까운 마음에 넣은 내용이다. 개발자라고 해서 반드시 컴퓨터를 잘 알 필요는 없을 수도 있겠지만, 프로그래밍 공부라는 것은 단순히 프로그래밍 언어를 이용한 응용 방법에 대한 공부만을 뜻하지 않는다는 것을 강조하고 싶었다. "프로그래밍 공부"는 소프트웨어 프로그래밍을 제대로 잘 하기 위해서 반드시 필요한 부분에 대한 전체적인 공부를 의미한다고 볼 때, 가장 기본이 되는 컴퓨터(하드웨어)에 대한 이해는 가장 기초적이고 필수적인 부분이라고 할 수 있다. 전자계산학 또는 유사 학과를 전공하게 될 때 가장 먼저 배우고, 적지 않은 시간을 투자하여 배우는 학문들 중에 컴퓨터(하드웨어)가 차지하는 ..
2012.10.28 -
나의 프로그래밍 공부법 - 1.1. 가능하면 빨리 자신의 적성을 알아야 한다.
지금 생각해보면 프로그래밍 공부에 대한 조언을 얻기 위해 책을 산 사람에게, 적성이 맞지 않고 센스가 없다고 생각되면 다른 길로 가라라고 썼으니, 책으로 출간되기에는 문제가 있어보인다. 그렇다하더라도 필자가 가장 해주고 싶은 조언은 "네가 행복해하면서 즐길 수 있는 일이 아니라면 다른 길을 찾아라"가 맞다. 스트레스를 받으면서 불행하게 일하면서 먹고살기에는 우리네 인생은 너무 짧다. 좋은 개발자를 선발하는 입장에서 아쉬운 부분이라면, 요즘은 예전에 비해서 상대적으로 센스가 있는 (즉, 싹수가 있는) 개발자는 보기 힘들다는 점이다. 요즘엔 센스가 있든 없든 같이 일을 할 수 있는 여건이 되는 개발자라도 채용할 수 있으면 그나마 다행인 시대가 되어버렸다. 그래서인지 일을 할 때에 좋은 팀을 만드는 것이 무엇..
2012.10.21