『MCSD in a Nutshell: The Visual Basic Exams』의 저자 제임스 폭스올이 제공하는..
마이크로소프트의 인증을 얻으면 대단히 유용하다. 하지만, 자격증을 따기 위해서는 시간과 비용이 많이 든다. (MCSD 인증을 얻으려면, 네 번의 시험을 통과해야 한다. 비주얼 베이직 시험은 중심 과목이나 선택과목으로 사용될 수 있다.) 비주얼 베이직 시험에 합격하려면, 비주얼 베이직의 모든 부분을 잘 알고 있어야 한다. 하지만 비주얼 베이직은 내용이 풍부하고 복잡한 언어이기 때문에, 정말 열심히 하는 비주얼 베이직 개발자라도 모든 요소를 알고 있지는 못할 것이다. 비주얼 베이직 시험은 필수 과목이나 선택 과목으로 선택할 수 있다.
비록 마이크로소프트에서는 시험 통계를 발표하지 않았지만, 시험을 처음으로 본 사람은 반 이상이 불합격했을 것이다. 능력 있는 개발자들이 시험에서 떨어질 때도 있다. 그 사람들이 떨어지는 이유는 지식이나 경험이 모자라서가 아니라, 시험 준비를 잘 하지 않았기 때문이다. 시험에 합격하기 위해서 필요한 모든 것을 다 가르쳐줄 수는 없지만, 이 글에서는 가장 중요한 10 가지 팁을 제공해주려고 한다(이것이 내가 『MCSD in a Nutshell』을 쓴 이유이다)
1. 각각의 시험에서 요구하는 사항이 무엇인지 파악해라. 이것은 사소한 일처럼 보이지만, 많은 개발자들은 시험 요강에 써 있는 시험 목적을 고려하지 않는다. 그래서 그들은 시험에 맞게 준비하지 못한다. 주제가 시험 요강에 써 있다면 주제에 관련된 하나 이상의 질문을 예상할 수 있을 것이다. 예를 들어서, 트리뷰(TreeView) 콘트롤을 프로젝트에서는 사용하지 않을 지도 모르지만, 시험에서는 이에 관련된 문제가 하나 이상 나올 지도 모른다. 트리뷰 콘트롤에 대한 기본적인 사항을 모르는 채로 시험을 보는 것은, 총에 총알을 충분히 넣지 않고 전쟁터에 나가는 것과 같다. 마이크로소프트의 시험 관련 사이트에 가면 최신의 시험 요강을 알 수 있을 것이다.
2. 마이크로소프트의 기술에 친숙해져라. 비주얼 베이직 3을 사용하던 때에는, 시험은(그 당시에는 유일한 시험이었다) 프로그래밍 능력에 중점을 두었다. For Next 루프를 만들 수 있는지, Select Case 구조를 정의할 수 있는지 등이 출제되었다. 하지만, 지금은 경향이 바뀌었다. 지금 실시되는 시험에서는 마이크로소프트 기술에 대한 사용 지식을 시험한다. 마이크로소프트의 기술을 이해하기만 한다면, 코드 작성을 잘 못하는 사람도 시험에 통과할 수 있다. 당신이 액티브X 컨트롤을 만들거나, 액티브X 문서를 작성하는 등 마이크로소프트의 다양한 기술을 사용할 수 있는지는 모르겠다. 하지만 시험에 통과하려면, 이러한 기술을 모두 이해하고 있어야 한다. 예를 들면, 액티브X 문서는 문제를 발견하는 데에 사용하는 솔루션으로 오랫동안 간주되어 왔고, 극히 소수의 사람들이 그것을 사용한다. 하지만, 두 시험에서는 액티브X 문서를 만드는 것에 관련된 질문이 놀라울 만큼 많이 나온다. 프로세스 중에 있는 .DLL과 프로세스 중이 아닌 .EXE 사이의 차이를 이해하지 못하면, 어려움을 겪을 것이다. 시험을 보기 전에, COM, 액티브X 컴포넌트, 콘트롤, 문서를 만들고 시험하는 방법 등을 확실히 이해해라. 그리고 (비록 세부적인 내용은 분산 어플리케이션 관련 시험(Distributed Exam)에서 필요하지만) ADO에 대해서도 약간 알고 있어야 한다. 마이크로소프트 기술의 구현과 조합에 대해서 많이 알면 알수록, 시험에 통과할 확률은 더 높아진다.
역자 주 : 분산 어플리케이션 관련 시험 MSCD 시험중에 Distributed Application With VB 6.0과 Distributed Application With VC 6.0 두 가지 시험이 있다. 이 시험은 주로 분산 어플리케이션 작성과 관련된 내용을 다루고 있다.
3. 인터넷 프로그래밍 콘트롤을 배워라. 모든 사람이 인터넷을 프로그램하는 것은 아니고, 인터넷을 프로그램하는 사람들이 모두 인터넷 트랜스퍼 콘트롤, 윈속 콘트롤, DHTML과 같은 비주얼 베이직을 기반으로 한 도구를 사용하는 것은 아니다. 하지만, 시험에 합격하려면 비주얼 베이직의 인터넷 프로그래밍의 기능을 이해해야 한다. 한 가지 좋은 소식은, 그러한 도구들을 전문가 수준으로 알 필요는 없다는 것이다. 하지만, 작동에 대한 지식은 알고 있어야 한다. 시험을 보기 전에, 각각의 인터넷 프로토콜을 사용해서 기본적인 업무를 수행하는 방법을 확실히 이해하라. 시험을 보기전에, 각각의 인터넷 컨트롤들이 기본 작업을 어떻게 수행하는지 이해하라. 이 시험은 WebBrowser 컨트롤을 사용하여 웹 페이지를 검색하고, Internet Transfer Control을 사용해서 HTTP와 FTP에서 파일을 받을 수 있어야 하고, 윈속 컨트롤로 통신할 수 있는 피어 투 피어나 클라이언트/서버 어플리케이션을 작성 등을 포함하고 있다.
4. 패키지와 배치를 이해하라. 독자들은 이것을 톱 10 리스트에 올리기에는 사소한 요소라고 생각할 지도 모른다(결국, 패키지 및 배포 마법사에 의해서 조정된다). 하지만, 나는 이런 점을 말하고 싶다. 패킹과 디플로잉 솔루션의 전문가가 되면, 두 가지 시험 모두에 다 도움이 될 것이다. 내가 베타판의 시험을 처음으로 쳤을 때, 나는 패키지와 디플로이먼트에 대한 문제가 두 가지 시험에 다 많아서 너무 놀랐다. 나는 정식 시험이 나왔을 때, 시험에서 변화된 내용을 알고 내가 쓴 책의 내용을 정확하게 하기 위해서, 다시 한 번 시험을 봤다. 그런데 내가 본 시험 두 번 다 패키지와 디플로이먼트에 관련된 문제가 많이 출제되었다. 나는 개인적으로 내용의 대부분은 분산 어플리케이션 시험에 더 적합하다고 생각하지만, 실제로는 두 가지 시험에서 모두 패키지와 디플로이먼트 관련 문제가 많았다. 만약 패키지와 디플로이먼트를 완전히 이해하지 못했다면, 두 시험 중 하나에 통과할 수 있는 가능성도 많이 줄어들 것이다.
5. 시험을 위해서 공부해라. 만약 고등학교 때 쳤던 시험에 10만원 이상을 지불했다면, 더 열심히 공부를 했을 것인가? 당신이 비주얼 베이직을 얼마나 잘 다루든지 간에, 단지 공부하는 데에 시간을 더 많이 투자한다면 시험에 합격할 확률이 더 높아진다. 기억해야 할 점은, 시험은 어렵게 출제된다는 것이다. 공부를 하면 당신의 두뇌는 시험에 맞는 모드로 전환될 것이며, 당신이 항상 사용하는 개념에 대한 기억을 새롭게 하는데 도움을 줄 것이다. 당신이 비주얼 베이직으로 얼마간 애플리케이션을 작성했다면, 당신은 아마도 강력한 애플리케이션을 쉽게 작성할 수 있을 것이다. 그러나 엄청나게 큰 라이브러리 루틴에서 "Cut & Paste"(잘라내기 & 붙여넣기)를 하지 않고 여러분이 순수하게 코딩한 것은 얼마나 되는가? 리스트 뷰 컨트롤을 사용하는 모든 기능을 캡슐화한 큰 클래스를 가지고 있을지 모르지만, 코드로 항목과 하위 항목을 추가하는 문법을 기억하지 못한다면, 시험에서 그런 문제를 만났을 때 답을 하지 못할 것이다. 마이크로소프트 시험을 통과하는 것은 미래에 대한 투자이다. 그런 만큼, 시험을 보기 전에 시험 준비에 시간을 많이 투자해라.
6. 모의 시험을 봐라. 마이크로소프트 시험을 본 적이 없다면, 마이크로소프트 웹사이트에서 모의 시험을 다운로드 받아라. 모의 시험을 통해서 당신은 당신이 알고자 하는 것을 배울 수는 없지만, 마이크로소프트의 소프트웨어와 시험 유형에 익숙해질 것이다. 시험을 볼 때에, 당신은 시험용 소프트웨어에 익숙해지려고 하기보다는 문제에 답을 찾는 데에 집중할 것이다. 나는 트렌센더(Transcender) 모의 시험(역자 주: 유료 시험으로 IT 관련 자격증(MCSE, MCSD, CSA 등) 시험 문제를 제공한다.)을 구매하라고 강하게 추천하고 싶다. 트렌센더 시험을 보면, 당신은 알기를 원하는 지식을 배울 수는 없지만, 시험과 답안의 유형을 익힐 수 있다. 시험장에 가면, 모의 시험을 볼 수 있는 기회를 준다. 모의 시험을 보는 데에 걸린 시간은 실제 시험에 배당된 시간에 포함되지 않는다. 따라서 당신은 모의 시험을 먼저 보고, 시험용 소프트웨어에 익숙해 진 후에 시험을 볼 수 있다.
7. 질문을 끝까지 읽고, 한 번 이상 읽어라. 시험 문제에는 실수를 유도하는 함정이 숨어있다. 질문에서 각각의 단어들은 당신이 정 반대의 답을 처음에 생각하도록 배열되어 있는 경우도 종종 있다. 이런 경우에, 사실은 정답이 목록에서 나중에 나오지만, 첫 번째에 나와 있는 답이 정답으로 여기는 경우가 많다. 질문을 첫 번째로 읽었는데 잘못 읽은 경우에는, 당신은 머릿 속에 답을 생각하고, 첫 번째 선택지로 제시된 답을 체크하고, 다음 문제로 넘어갈 것이다. 이런 식으로 말이 배열된 문제가 너무 많기 때문에, 문제가 아무리 쉬워 보여도 당신은 문제를 적어도 두 번은 읽어보아야 한다. 두 번째로 문제를 읽을 때에는, 문제에서 묻고 있는 내용이 당신이 생각하고 있는 내용이었는지 검토해 보아라. 모든 문제를 풀 때에 이와 같이 한다면(이 과정은 한 문제에 2초 정도밖에 더 걸리지 않는다), 실수를 많이 줄일 수 있을 것이다.
8. 시험 광고에 나온 문구를 활용하라. 마이크로소프트의 시험용 소프트웨어에는 나중에 복습할 때 더 쉽게 하기 위해서 풀다가 모르는 문제를 체크할 수 있는 박스를 만들어 놓았다. 만약 어떤 문제를 풀다가 막혔다면, 가장 알맞다고 생각하는 답을 선택하고, 체크 박스에 표시한 후 다른 질문으로 넘어가라. 모든 문제를 다 풀어봤다면, 당신이 표시한 답이 강조되면서 시험 문제를 모두 보여주는 창이 나타날 것이다. 답을 보려면, 질문의 번호를 더블클릭하면 된다. 복습하는 동안에는, 당신이 가장 알맞다고 생각하는 답을 고르고, 체크 박스에 표시하지는 마라. 가능하다면, 당신이 표시하고 넘어갔던 모든 질문을 다시 보았다는 것을 확실히 하기 위해서 복습하면서 다른 질문에 표시하지 마라. 모르는 질문에도 가장 확실하다고 생각하는 답을 표시하고 넘어가는 이유는, 시간이 모자랄 경우를 고려해야 하기 때문이다. 답을 아예 표시하지 않는다면, 그 문제는 틀리게 된다.
9. 주어진 시간을 모두 사용하라. 시험 시간은 정해져 있다. 시험 준비를 잘 했으면, 문제를 다 풀고도 시간이 남을 것이다. 배분된 시간을 모두 활용해라. 질문에 모두 답을 했다면, 소프트웨어의 기능을 이용하여 풀었던 문제를 다시 살펴봐라. 답을 표시한 문제를 모두 검토했다면, 처음으로 다시 돌아가서 모든 문제를 살펴봐라. 이 단계에서는 명심해야 할 점이 두 가지 있다. 먼저, 당신이 검토하고 있는 문제는 나중에 시험에 출제될 지도 모르며, 이번에 잘 봐 두면 실제 시험에서 정확한 답을 쓰는 데에 도움이 될 것이라는 점을 들 수 있다. 그리고 문제를 다시 읽을 때에는 "내가 질문에 답을 할 때에 그 질문을 정확하게 이해했는가?"라는 점이다. 문제를 다시 살펴보면, 문제에 대한 정보를 더 잘 알 수 있으며, 옳은 답을 고를 확률도 더 높아질 것이다. 시간이 된다면, 당신의 능력을 최대한 활용해라.
10. 비주얼 베이직을 사용하라. 최근에는 시험에 합격은 했지만 그에 걸맞는 기술은 없는 사람이 늘어나고 있다. 이러한 현상은 시험장에서 시험을 보고 나온 사람들이, 답을 외우고 나와서 그것을 올려 놓는 웹사이트 때문에 만연하게 되었다. 이러한 정보는 스터디 가이드나 모의 시험 등의 좋은 교재와 결합하여 어떤 사람들은 실제로는 그 프로그램에 능숙하지 않은 데에도 시험에 통과하게 된 것이다. 불행히도, 이러한 현상은 여러 가지 부정적인 결과로 연결된다. 가장 중요한 것은 자격증의 가치가 떨어진다는 것이다. 마이크로소프트는 이것을 인식하고 있으며, 시험의 방식을 바꾸고 있다. 솔루션 아키텍쳐 시험을 보았다면, 이러한 변화를 이미 느꼈을 것이다. 적어도 2년 이상의 실무 경험이 없다면, 시험에 통과하는 것은 거의 불가능하다. 실무 경험 없이 이 과목에 합격하는 것은 매우 어려운 일이지만, 불가능한 것은 아니다. 하지만, 실제 기술이 없다면 인증서는 거의 가치가 없다. 게다가, 시험은 점점 바뀌고 있으며, 스스로 자신의 역량을 모르고서는 인증을 획득할 수 없게 될 것이다. 비주얼 베이직에 인증을 받고 싶다면, 가장 좋은 방법은 비주얼 베이직을 사용하여 어플리케이션을 작성해 보는 것이다.