강좌를 시작하기에 앞서...


프로그래밍을 처음 접하거나 자신이 기초가 부족하다고 느끼는 개발자 분들께 조금이라도 도움이 되었으면 하는 마음으로 당부드립니다.


프로그래밍을 배울 때에 이론적인 내용 보다는 실습 위주로 공부하시는 분들을 종종 봅니다.

사실 프로그래밍 언어들을 많이 접하다 보면 문법이나 이런 것들은 대동소이 하고 실습을 하다보면 자연스럽게 알게되는 것들도 있기 때문에 이러한 접근이 잘못됐다고 말하기는 어렵습니다만, 최소한 주요 용어들에 대한 개념은 확실하게 이해하고 넘어가시는 것을 권장합니다.


책을 보던 강의를 듣던 이러한 주요 용어들에 대한 개념을 확실하게 이해하지 못한 채 넘어가버리면 뒤에 나오는 내용들은 여러분들을 좌절에 빠뜨릴지도 모릅니다.

그리고 무엇보다 가장 중요한 것은 항상 "왜?"라는 질문을 던져보라는 것입니다. 어떠한 용어에 대한 개념을 이해했다고 해도 이러한 개념이 어떠한 상황에서 쓰는건지, 왜 필요한 것인지 알지 못한다면 무용지물이 되기 때문입니다.


확실히 이해했다고 하는 것은 다른 사람이 이해할 수 있도록 논리적으로 설명할 수 있어야 하며 왜 필요한가에 대한 답을 할 수 있을 때를 말합니다.


그리고 항상 어떤 것에든 호기심을 갖고, 상상력을 최대한 발휘하시길 바랍니다.


이것은 왜 이렇게 동작할까?

여기는 왜 이렇게 구현해놨을까?

다른 구조가 더 적합하지 않을까?

여기를 이렇게 바꾸면 좀더 유연해지지 않을까?


이렇게 호기심을 갖고 스스로 질문해보고, 상상해보십시오.


그렇게 하면 할수록 여러분들은 더 좋은 프로그램을 만들 수 있고, 다른 사람들이 인정하는 훌륭한 개발자가 될 수 있을 것입니다. 호기심과 상상력이야말로 개발자에게 필요한 최고의 자질입니다.


반대로 피해야 할 것은 단정하는 것입니다.

어떤 결과가 의도한 대로 도출되었다고 해서 이정도면 충분하다고 여기고 넘어가면 안됩니다. 다른 조건에도 의도한대로 결과가 나오는지 꼼꼼히 따져봐야 합니다. 그때 그때 결과가 다르다면 그것은 컴퓨터의 문제가 아니라 대부분의 경우 개발자의 실수로 코딩이 잘못되어 있을 가능성이 높습니다. 컴퓨터는 거짓말을 하지 못합니다


서론이 길어졌습니다만, 사실 프로그래밍은 굉장히 재미있습니다. 고시 공부 하듯이 어렵게 할 필요는 없습니다. 즐기면서 배우고, 배우면서 즐기다 보면 여러분 모두 훌륭한 개발자가 되실 수 있을 겁니다.


저 또한 훌륭한 개발자가 되기 위해 노력하고 있습니다.


여러분, 프로그래밍의 세계에 오신 것을 환영합니다.


- 피터 올림