IT 기술을 효과적으로 익히는 방법

Oct 8 / Dave Lee
이 글은 교육 스타트업과 협업했을 때, 강의를 오픈하며 했던 인터뷰 글입니다.

관련 글을 오픈한 사이트는 변경되었으나, 인터뷰 내용이 큰 틀에서 제가 강의에서 IT 기술을 설명하는 접근방법과 맥락을 같이 하므로, 도움이 되시는 분들이 있을 듯 하여, 공유를 드립니다.

안녕하세요. 강사님. 간단한 자기소개 부탁드립니다

안녕하세요. 이번에 컴퓨터 사이언스 익스텐션 스쿨 1학기를 담당하게 된 Dave Lee입니다. 저는 외국어고와 대학교에서 일어일문을 전공한 소위 말하는 뼛속까지 문과생인 사람이었습니다. 그러다가 프로그래밍에 눈을 뜨게 되었고, 프리랜서에서 시작해서 컴퓨터공학 석사를 하기까지 수많은 우여곡절을 겪었습니다. 그래서 비전공자가 IT를 학습할 때의 어려움을 누구보다 더 잘 이해하고 있습니다. 그리고 지금은 프리랜서와 직장 생활을 병행하면서 최신 IT에 관련된 다양한 분야들을 넘나들고 있는 중이네요. 때로는 개발자로 때로는 기획자로 업무를 수행하면서, 두 개의 포지션이 갖는 어려움도 잘 이해하고 있죠. 

최근 5년 동안 데이터와 핀테크 기반 서비스를 개발 및 기획하고, 데이터, 앱, 웹 기반 서비스에 대해 깊게 경험하면서 다양한 분야의 새로운 IT 기술들을 어떻게 배워서 완전히 나의 것으로 만들어 나가야 하는지에 대해 고민해왔습니다. 그리고 수년간 최신 IT 기술을 교육하면서 누구나 IT를 이해하고 활용할 수 있도록 콘텐츠를 준비하고 코딩 교육 사업에도 참여하고 있습니다.

그동안 IT 공부를 시작할 엄두가 나지 않았거나, 주변 개발자분들에게 IT를 물어봐도 이해하기가 어려웠다면 혹은 학습 외적으로 IT 관련된 다양한 고민을 갖고 있었다면 저와 같이 천천히 하나씩 풀어가면 좋을 것 같습니다.

비전공자로 컴퓨터 공학 석사를 하기까지 우여곡절이 많았다고 들었어요

비전공자가 IT 분야를 이해하려면 너무 많은 어려움이 있더라고요. 대표적으로 겪는 세 가지 어려움을 정리해봤습니다.

첫째, 어떻게 어디서부터 시작해야 할지 모른다는 점이요. 컴퓨터 학원에 가서 상담을 해도 도통 알 수 없는 과정과 과목명밖에 없고, 어떻게 공부해야 할지 물어보면 단순히 언어를 배우라는 말밖에 안 하니까요.
둘째, IT 분야가 굉장히 광범위한데 처음에 어떤 분야를 배워야 할지, 또 그 분야가 내 적성과 원하는 커리어에 맞을지 정보가 전혀 없더군요.
마지막으로 최신 트렌드에 맞게 새로운 IT 기술들이 끊임없이 나오는데, 이런 최신 기술들을 어떻게 스스로 학습하고 활용할 수 있을지 모르겠더라고요. 

저도 학원도 다녀보고, 집에서 혼자 공부도 해보고, 홈페이지를 직접 만들어보기도 했습니다. 그런데 학원에서는 C언어 문법만 배우다 보니 흥미도 없고, 딱히 C언어를 배워도 만들어 낼 수 있는 결과물이 없어서 제대로 익히지 못했어요. 1년은 그냥 이렇게 아무런 발전 없이 지나갔어요. 그러다가 대학에서 컴퓨터 공학 관련 전공 수업을 다 들어봤어요. 그런데 아무래도 입문자에게는 난이도가 높다보니, 1년 동안 학점이 바닥을 기었죠. (웃음) 이렇게 2년이라는 시간이 지난 후에야 전공 수업을 잘 따라가게 되었습니다. 지금 생각하면 이 시간을 획기적으로 줄일 수 있는 과정이 그때 있었으면 참 좋았을 것 같아요.
수업을 들으면서 당시의 새로운 IT 기술을 활용해보자는 IT 동아리를 만들었는데요. 동일한 목적을 가진 분들과 함께 공부하고, 실력 좋은 선배들에게 조언을 듣다 보니 금방 늘더군요. 실제로 앞의 2년보다 이런 커뮤니티를 만들고 함께 배워갔을 때 실력이 확 늘었어요.

그 후, 6개월 뒤엔 웹 개발을 하는 아르바이트를 할 수 있게 되었고, 4개월 뒤엔 프로그래밍을 하는 아르바이트를 하게 되었어요. 아르바이트를 할 수 있다는 건 실력이 전공자와 비슷한 또는 특정 분야에서 그 이상의 수준이 되었다는 것을 의미하죠. 다양한 IT 기술을 혼자서도 배우고 활용할 수 있게 되었고, 프리랜서도 하게 되었죠. 시간이 좀 지난 후, 어려운 분야 중 하나인 시스템 소프트웨어라는 분야에서 리눅스 커널을 다루는 방법을 스스로 익혀서 활용할 수 있게 되었어요. 이 부분이 어필에 되어 문과에서 컴퓨터공학 석사로 대학원에 바로 진학을 하게 되었고요. 석사가 끝나고서는 이 분야에 관련된 서적을 집필하게 되었어요. 서적이 특수한 분야에서는 인기가 있어서 전공자 분들을 가르칠 수 있는 기회들이 많이 생겼습니다. 

생각해보면 비전공자에게 딱 맞는 컴퓨터 공학 과정이 없는 것 같아요. 저는 비전공자가 전공자 수준으로 자연스럽게 넘어올 수 있는 과정이 필요하다고 생각해요. IT를 함께 공부하여 조언해주는 분들, 경험 있는 강사, 비전공자를 전공자 수준의 역량으로 이끌 수 있는 커리큘럼만 있다면 저보다 더 짧은 기간 내에 높은 수준의 역량을 쌓을 수 있을 텐데 말이죠.

강사님이 생각하는 컴퓨터 사이언스를 배워야 하는 이유는 무엇인가요?

새로운 기술이 지금도 끊임없이 나오는 분야가 IT 분야인데요. 어떻게 모든 새로운 기술을 항상 학원에서 아니면 강사에게 배울 수 있겠어요? 프로그래머들은 새로운 기술을 스스로 학습해서 활용할 수 있지만, 비전공자분들은 아무리 잘 설명된 글을 읽어도 이해조차 불가능하죠

IT가 세상을 혁신하고 있습니다. 데이터를 분석하고 미래를 예측하고 새로운 서비스를 만들어내서 스타트 업을 만들기도 하고, 일반 직장에서도 업무를 자동화하고 있죠. 다시 말하면, IT를 아예 모르는 분들은 갈수록 설자리가 줄어들고 있다고 할 수 있겠네요. 그래서 문과 분들도 최근에 많이 IT를 배우잖아요. 초등학생들에게도 코딩 교육 열풍이 부는 이유 역시 이 때문이죠. 자신이 좋아하는 일을 시작하고 싶거나 기획, 마케팅, 개발 등으로 전직을 하고 싶지만 IT를 활용할 수 없다면, 어려운 세상이 왔습니다.

그리고 웹이면 웹, 앱이면 앱, 데이터베이스 면 데이터베이스 하나만 평생 다루는 세상은 아닌 것 같아요. 필요한 경우에 따라서는 웹을 활용하면서 동시에 앱, 데이터베이스, 데이터 분석, 인공지능 등의 기술을 활용해야 하는 세상이에요. 그래서 단 하나의 기술만 익히는 과정은 큰 의미가 없을 수 있어요. 새롭고 다양한 기술을 융합하는 역량과 사고를 기르는 것이 살 길이라고 생각합니다. 또 배우는 과정 중에 자신이 더 관심 있고 잘하는 분야를 찾아내 스스로 파고들 수 있는 역량만 생긴다면, 평생 차별화된 경쟁력을 가지게 되는 것입니다. 

강사님은 어떠한 과정을 어떠한 방식으로 수강생들에게 전달할 예정인가요?

처음에는 다양한 IT 분야에 걸친 흥미로운 기술들을 엮어서, 엄청난 서비스는 아니지만 실제 고객에게 제공할 수 있는 작은 서비스를 다 같이 만들어가는 방식으로 과정을 만들 예정입니다.

대학교처럼 원리와 이론을 익혀가는 Bottom Up 방식은 빠른 시간 안에 효과를 거두기가 어렵다고 생각합니다. 깊은 부분은 시각적으로 보이지 않고, 머릿속으로 만 상상하면서 이해해야 하므로, 처음부터 충분히 원리와 이론을 이해하는 것은 불가능에 가깝습니다.

그래서 우리는 가장 쉬운 기술부터 Top Down 방식으로 진행합니다. 다양한 분야에 해당 코드를 작성하는데 꼭 필요한 지식만 그때그때 가능한 쉽게 전달합니다. 그리고 바로 코드로 직접 따라 치면서 적용해보고, 수업 중에도 직접 만들어보는 실습과제를 해보면서 이해를 극대화합니다.

또한, 현업에서 활용하는 다양한 기술을 가능한 넓게 연결하는 동시에 필요한 부분만 배우면서 적용하게 때문에, 자연스럽게 넓고 다양한 IT 기술을 이해하게 되고, 자신의 적성, 분양별 기술에 대해 직관적인 이해를 갖게 됩니다.

마지막에는 새로운 서비스를 직접 만들게 됩니다. 먼저, 각 기술에 대해 좀 더 깊게 배우고 이후엔 자신의 아이디어로 직접 개발을 할 수 있게 됩니다. 이 모든 수업 과정들을 거치면 새로운 IT를 스스로 배울 수 있고 이해하고 활용할 수 있게 됩니다.

8년전 이야기했던 작업을 꾸준히 하나씩 해나가고 있습니다
관련 모든 온라인 강의는 본 사이트에서 제공합니다