프로그램 아키텍쳐/소프트웨어공학

프로그래머가 되기 위해 갖춰야 할 기본 소양

본클라쓰 2010. 7. 21. 16:25

 

출처) http://blog.jidolstar.com/    - 인터넷에서 C/C++ 개발 방법에 대해 검색하다 좋은 글을 발견하여 요약했습니다.

 

 

 

지금의 사회는 취업자리가 넘쳐나고 있다. 하지만 이와 반대로 수 많은 사람이 취업 걱정을 하고 있다. 이유는 단 하나, 사회에서는 '실력만 있으면 데려다 쓰겠다.'라고 단호하게 말한다. 취직을 하려는 분은 '일단 들어가서 열심히 하겠다.'라고 말한다. 냉정하게 말하면 사회는 더 이상 실력이 없는 사람에게 기회를 제공하지 않으려 한다. 운이 좋아서 입사를 한다고 해도 바로 구조 조정의 칼날을 맞게 된다.

 

IMF를 겪으면서 한국 사회는 아주 많은 변화가 있었습니다. 그 과정을 통해 사회는 무한 경재 시대로 돌입하였고, 그로 인해 능력이 우선시 되는 사회적인 패러다임이 형성되었습니다. 이제는 대충해서 승산이 없습니다. 경쟁력을 갖추어야 살아남습니다. 경쟁력은 실력과 인성입니다. 인성을 키우는 방법은 좋은 친구, 좋은 책, 좋은 영화 등등을 통해서 나름대로 키워가야 합니다. 그러나 나면 남는 것은 실력입니다. 실력은 어떻게 키워야 할까?

 

좋은 프로그래머가 되기 위해서는 다음과 같은 기본 소양을 갖추어야 한다.

 

 

1. 기본 문법을 정확하게 알아야 한다. 

 

어떠한 언어로 프로그래밍을 하든지, 그 언어가 제공하는 기본 문법을 정확하게 이해하고 사용할 수 있어야 한다. 정확하지 않은 문법으로 작성된 프로그램은 많은 문제를 안고 있다. 

 

 

2. 알고리즘에 대해 알아야 한다.

 

프로그램을 만들기 위해서는 컴퓨터가 실행할 수 있는 정확한 코드를 입력하여 정확한 결과를 만들어야 한다. 어떻게 코딩을 해야 원하는 프로그램이 나오는지에 대한 문제는 많은 학습이 필요한 부분이다. 우리는 이미 널리 알려져 있는 정렬 및 검색 알고리즘을 학습해야 하며, 그 이외에 정형화 된 알고리즘에 대해서도 알아야 한다.

 

 

3. 자료 구조에 대해서 알아야 한다.

 

프로그램을 만들다 보면 자료를 어떻게 관리하느냐가 매우 중요하다. 자료구조는 스택, 큐, 링크드 리스트, 트리, 해시 등 많은 방법이 알려져 있다.

 

 

4. 인터넷에서의 정보 검색 능력이 필요하다.

 

필요한 정보가 어디에 있는지 빠른 시간 내에 찾는 것은 지식이 많은 것 만큼 중요하다. 예전과 달리 지금은 프로그램이 많이 어렵고 복잡해졌다. 그러므로 원하는 자료 또는 프로그램을 검색하는 능력은 필수이다.

 

 

5. 영어 해석 능력을 키워야 한다.

 

영어 해석 능력이 필요한 이유는 Visual C++, Unix C 등에서 제공하는 함수 및 사용 설명이 모두 영어로 되어 있기 때문이다. 이를 해석할 수 있는 능력을 키워야 프로그래머로 살아남을 수 있다.

 

 

6. 키보드 타이핑이 빨라야 한다.

 

일반적으로 채팅을 많이 하기 때문에 한글 타이핑은 대부분이 빠른 편이다. 하지만 영문으로 타이핑하는 속도는 대부분이 빠르지 않다.

 

 

7. 시중에 나와 있는 모든 책을 읽을 수 있도록 노력해야 한다.

 

일반적으로 프로그래머는 '어떻게 하든 프로그램을 만들면 된다'라는 생각을 갖기 쉽다. 프로그래밍을 처음 시작할 때는 궁금한 것도 많고 어렵기 때문에 많은 책을 보는 편이지만 점점 시간이 지날수록 이를 등한시 한다. 결국 이것은 본인의 생산성을 떨어뜨리는 결과를 초래하게 되며, 점점 다른 사람에게 뒤쳐지게 된다.

 

 

8. 열정을 갖아야 한다.

 

프로그래머가 되려면 부단한 노력을 해야 한다. 끊임없이 노력하고 노력하여 최고가 되겠다는 생각을 갖아야 한다.