2012. 11. 18. 11:23ㆍ기타/나의 프로그래밍 공부법
좀더 열심히 프로그래밍 공부를 하기 위해, 전문 학원을 이용하는 것은 바람직한 일이다. 다만, 그 본질에 대해서는 충분히 알고 있는 상황에서 잘 활용을 하는 것과 잘 모르는 상태에서 맹목적으로 따라가는 것은 결과에 있어서 큰 차이를 만들게 된다. 학원 강의나 세미나 강연을 계속 해온 필자 입장에서는 부디 이러한 부분에 대해서 학원 강의를 수강하고자 하는 수강생들이 현명한 선택을 하기를 바란다.
그리고, 누가 되었든 가르쳐 주는 것만 받아 먹으면서 "실력이 빨리 늘기"를 바란다면, 감나무 밑에 누워서 감이 떨어지기만을 기다리는 것과 같은 짓이다. 학원 공부 역시 나의 적극적이고 능동적인 태도가 수반되지 않는다면 프로그래밍 공부에 큰 도움이 되지 않을 수도 있다.
--------------------------
학원 강의 수강 시에 유의 사항
여러분이 소프트웨어를 개발하는 개발자가 되고 싶은데 전산학을 전공하지 않았거나 전공을 했어도 충분히 배우지 못했다고 생각될 때, 즉 마땅히 좋은 방법을 찾지 못했을 때에 가장 쉽게 선택할 수 있는 방법이 바로 전문 학원에 가서 배우는 것이다. 가까운 컴퓨터 학원을 찾아가서 일정한 교육 비용을 지불하고 나면 어렵지 않게 개발자가 되기 위한 기초 과정부터 고급 과정까지를 수강할 수 있게 된다. 특히나 요즘에는 스마트폰 열풍으로 인해 스마트폰 프로그래밍 교육 과정이 상당히 많이 개설되어 잘 찾아보면 국비 지원을 받아서 저렴하게 교육을 발을 수 있는 기회도 많다.
학원 |
주요 과정 |
비트교육센터 |
고급 과정 (Windows&.NET/Java/스마트폰) 단기 과정 (C/C++/Windows Programming/Java/Linux/FLEX/스마트폰) |
SBS 아카데미 컴퓨터아트 |
스마트폰 앱 개발 과정(안드로이드/아이폰) 3D 게임 프로그래밍 과정 |
MBC 아카데미 디지털교육원 |
ASP.NET/웹 표준 프로그래밍/Flex 프로그래밍/게임개발자전문가/ 아이폰 개발자 |
SOLDESK |
Programming (C/C++ 프로그래밍/Java 프로그래밍) Mobile (안드로이드 개발자/아이폰 개발자) Database (Oracle/IBM DB/2) |
T 아카데미 |
단기 과정 (Android/iPhone/Windows Phone 7/Cocos 2D/K-Apps/HTML5&CSS 모바일웹 프로그래밍) 전문가 과정 (Android/iPhone 전문가 과정) |
게임 스쿨 |
C/C++/API/Network,MFC/2D 온라인게임 프로젝트/Direct3D/게임엔진 |
KGCA 게임 아카데미 |
1학기 (C/API/C++/MFC/Network/2D 게임제작 프로젝트/DirectX SDK/Direct3D Graphic/Max SDK/쉐이더) 2학기 (지형/애니메이션/물리&인공지능/이펙트/툴제작/졸업 프로젝트/포트폴리오제작) |
쥬신 게임 아카데미 |
게임 프로그래밍/아이폰 게임 개발/안드로이드 개발 |
서울컴퓨터게임아트 |
게임프로그래밍 과정/아이폰 어플개발 과정/안드로이드 어플개발 과정 |
[표 2-2] 컴퓨터 프로그래밍 교육 과정을 운영하는 학원 목록
위쪽의 표에 나열된 학원 이외에도 지역별로 프로그래밍 교육 과정을 다루는 전문 학원들이 있고, 각각의 학원마다 특화된 교육 과정을 가지고 있기도 하기 때문에 꼼꼼히 살펴본 다음 자신에게 맞는 학원을 선택할 필요가 있다. 학원 교육의 가장 큰 목적은 “취업”이기 때문에, 대부분의 학원 강의는 수강생들이 취업을 하는데 있어서 꼭 필요한 커리큘럼 위주로 교육을 한다는 장점이 있다. 때문에 프로그래밍 공부 시 필요한 기본 지식을 사전에 습득했다면 무리 없이 따라갈 수 있겠지만, 그렇지 않다면 학원에서 배우는 것뿐만 아니라 기본적으로 갖추어야 하는 기초 지식들을 스스로 공부하여 보충해줄 필요가 있다.
주의해야 할 것은 전문학원이나 학원 강사들에 대한 지나친 기대감은 금물이라는 것이다. 컴퓨터와 관련된 특정 분야에 대해서 공인된 학력과 경력을 가지고 있는 대학교의 교수님들이 구성한 커리큘럼으로 배우는 것으로도 만족하지 못하는 경우가 많음에도, 전문 학원의 강사들의 강의가 무조건 큰 도움이 될 것으로 기대하는 것은 앞뒤가 맞지 않는 행동이기 때문이다. 학원 강사들 중에는 소프트웨어 개발 업무를 병행하는 사람들도 간혹 있기는 하지만, 대부분은 학원 강의만을 전문으로 하는 전문 학원 강사들이라서 가르칠 수 있는 것에 분명 한계가 있을 수 밖에 없다.
대부분의 수강생들은 전문 학원에서 2~3개월에서 6개월, 길면 1년 정도를 수강을 하고 나면 개발자가 되기 위한 준비가 끝났다고 생각을 하게 된다. 이 때에 순진하게 학원 관계자들의 말이나 주위의 사람들(비록 그 사람이 IT 업계에 종사하고 있는 개발자라고 해도 상관없다)의 말만 믿고 취업 준비를 하게 되면 낭패를 당하기 쉽기 때문에 주의해야 한다. 개발자를 선발하는 개발 업체나 인사 담당자 입장에서는 지원자가 어떤 학원에서 얼마나 오랫동안 배우고 어떤 포트폴리오를 만들었느냐는 별로 중요한 사실이 아니기 때문이다. 그 보다는, 입사 지원자가 한 사람의 개발자로써 실무에 투입될 수 있는 마음가짐이나 태도를 가지고 있는지, 기존 개발 인력들과 좋은 팀웍을 이룰 수 있는지, 그리고 기본적으로 필요한 지식과 경험을 갖추고 있는지가 더 중요한 사항일 것이다.
프로그래밍 공부를 위해서 프로그래밍 전문 학원을 이용하는 것은 활용하기에 따라서 큰 도움이 되는 경우가 많다. 혼자서 독학을 할 때에는 경험 부족으로 인해서 적지 않은 시행 착오를 겪을 수 밖에 없는데, 충분한 지식과 경험을 가지고 있는 강사를 통해서 이러한 실수를 줄일 수 있고 더 좋은 해결 방법을 알게 될 수 있기 때문이다.
필자도 대학교 1학년 때 독학으로 C언어를 공부하면서 방학 때 학원 수강을 했던 적이 있었다. 그 전에는 BASIC으로만 개발을 했었기 때문에, 처음 접한 C언어의 개념을 제대로 이해하지 못하는 부분이 있는 것 같아서 나름 체계적으로 정리하기 위해 학원을 다녔었다. 지금도 보관하고 있는 그 당시 학원 교재를 다시 보면, 꼼꼼하게 필기하면서 C언어의 개념을 정리했던 것을 확인할 수 있다. 즉, 당시에 필자는 무조건 학원에서 새로운 지식을 배우려고 하기보다는 스스로 공부하고 있던 사항들을 학원 강의를 통해서 정리하고 이해가 되지 않은 부분을 보완하려고 했기 때문에 큰 도움이 되었던 것이다.
학원 강의를 수강하는 것 자체는 효과적으로 프로그래밍 공부를 하는 여러 가지 방법 중에 하나이기 때문에 상황에 따라서는 필자 역시 여러분에게 추천을 하고 싶은 방법이다. 다만, 지나치게 수동적으로 학원 강의를 수강하게 되면 투자한 비용이나 시간에 비해 학습 효과가 현저히 떨어질 뿐만 아니라 자신의 프로그래밍 실력 향상보다는 그저 취업을 위해서 형식적으로 거치는 과정으로 전락할 수 있기 때문에 분명한 목표 의식을 가지고 누구보다 적극적인 태도로 자신의 프로그래밍 실력 향상에 도움이 될 수 있도록 만드는 노력이 필요하다.