티스토리 뷰

프로그래밍을 직업으로 가지고 있는 사람은 평생 학습을 해야 한다. 어떤 분야 어떤 업무를 하느냐에 따라서 맞는 말일수도 있고 틀린 말 일 수고 있다. 그럼 처음 배우는 사람이 어떻게 배우는 것이 좋은 방법인지 이야기하고자 한다.

프로그램을 배우기 위해서 일반적으로 학원에서 배우는 사람, 학교에서 배우는 사람, 온라인 학습 사이트를 통해서 배우는 사람, 혼자  책을 보면서 독학하는 사람등 어떤 것이 바른 방법일까? 모두 바른 방법이다. 어떻게 배우던지 프로그래밍을 하기 위해서는 많은 시간을 투자해야 하고 프로그램 언어뿐만 아니라 프로그램 언어론, 자료구조, 컴퓨터 개론과 같은 프로그램 전공 관련뿐만 아니라 어느 정도의 영어 해석, 수학 등 많은 선 지식이 필요하다. 물론 선 지식을 몰라도 프로그래밍을 할 수 있지만 어느 순간 높은 담을 만나고 담을 넘기 위해서 선 지식을 학습하게 된다. 여기서는 많은 것을 학습해야 하지만 프로그래밍을 작성하기 위해 어떻게 배워야 하는지에 대해서 한정지어서 이야기한다.

첫 번째로 할 일은 서점으로 달려가서 하고 싶은 프로그램 언어 하나를 선택하고 자신이 읽었을 때 이 정도면 이해할 수 있어라고 생각하는  책을 구매해서 정독하기를 추천한다. 책을 읽다 보면 코드를 작성하려는 욕망이 고개를 드는데 욕망을 누르고 정독을 한 후 잘 이해가 가지 않으면 두 번 정도 정독을 하고 세 번째 혹은 두 번째부터 컴퓨터 앞에서 예제를 하나씩 작성하고 원리를 이해한다. 이때 암기하려고 하지 않는다. 그리고 예제는 자신의 생각을 주입하지 말고, 개발 툴의 자동화 기능을 사용하지 않고 한 땀 한 땀 코드를 작성해서 이해한다. 그렇게 한 권을 끝내고 다시 첫 장으로 가서 이제는 자신의 생각대로 예제를 다시 작성하여 같은 결과가 나오도록 코딩한다. 이때 중요한 것은 자신만의 코드 스타일이 좋은지 나쁜지는 생각하지 말고 자신의 생각대로 작성하는 것이 중요하다. 즉 나만의 코드 스타일을 만드는 것이다. 프로그램 코드는 일관성이 가장 중요한데 자신만의 코드 스타일이 만들어지면 각 언어별로 해당 사이트에 들어가면 코드 스타일과 자신의 스타일을 비교해서 자신의 코드 스타일을 완성하는 것이다. 그렇게 되면 님은 프로그램 초보에서 벗어나서 자신이 원하는 프로그램을 작성할 수 있게 됩니다. 이때 간단한 프로젝트를 만들어서 완성하는 것입니다. 이 방식으로 얻는 것은 다음과 같습니다.

  1. 하나의 프로그램 언어의 기초를 튼튼하게 만든다.
  2. 자신만의 코드 스타일이 만들어진다.
  3. 프로그램 기본 원리를 쉽게 이해할 수 있다.
  4. 프로젝트를 진행하면서 만들 때 즐거움, 원하는 결과가 나왔을 때 성취감을 맛볼 수 있다.

이제 님들은 우물에서 벗어나 다른 개발자들과 협업하여 프로젝트를 진행한다. 또는 멘토를 찾아서 멘토의 도움을 받으면서 성장할 수 있다. 다른 개발자와 프로젝트를 진행하면 다음과 같은 것을 얻을 수 있다.

  1. 다른 사람을 이해시키기 위해서 자신이 학습한 내용을 깊게 이해할 수 있다.
  2. 다른 사람의 생각을 듣고 자신의 부족한 점을 발견하고 개선할 수 있다.
  3. 프로젝트가 어떻게 진행되는지 맛볼 수 있다.
  4. 설계하는 과정에서 쉬운 용어로 작성하다 보면 자신의 학습한 내용을 더 깊게 이해할 수 있다.

님은 이제 더 큰 바다로 나갈 준비가 되었습니다. 그런데 이때 주의해야 할 것은 다음과 같다.

  1. 능력 있는 개발자를 만나게 되면 자신이 모자라는 것에 대해서 창피하게 생각하지 마라. 자신의 부족한 면이 보이면 시간을 투자해서 학습하면 자연스럽게 없어지는데 이것 때문에 포기하지 마라. 나만 바보다.
  2. 개발 툴은 개발 생산성과 직결됩니다. 개발 툴 학습을 해서 개발 생산성을 높이도록 노력한다.
  3. 기술보다는 업무에 많은 투자를 한다. 실제 프로그램 코드를 작성 하다 힘든 건 업무를 몰라서 설계가 되지 않는 것이다. 업무 능력을 키운다.
  4. 신기술을 사용하고 싶은 욕망에서 벗어난다. 신기술은 생명주기가 긴 것도 있고 짧은 것이 있으니 신기술을 학습하기 전에 생명주기가 긴 것을 볼 수 있는 능력을 키우고 필요한 것만 학습을 한다. 개발자는 평생 공부 해야 하므로 신기술을 따르다 보면 지치게 된다.
  5. 아름 다운 코드를 작성하기 위해서 부족한 학습을 지속적으로 한다.

이제 님은 개발자 세계에 들어왔습니다.