[C 언어를 포기한 사람들을 위한 C/C++ 기초 CAMP/강사 인터뷰] “나도 프로그래밍을 포기했었다. 개발자를 꿈꾸는 이들의 막막함, 누구보다 잘 안다.” 양태환 강사님 인터뷰

C 언어, 제대로 알고 계신가요?

개발자를 꿈꾸고 있다면 C언어에 대한 이해가 탄탄해야 합니다. C언어는 기본이자 ‘컴퓨터 자체’를 이해할 수 있는 언어이기에 이를 명확히 이해한다면 스킬셋도 쉽게 넓힐 수 있기 때문입니다. 하지만 컴퓨터 공학과를 나와도 C언어에 대한 기초가 잡혀있지 않은 분들이 많습니다. 그렇다고 처음부터 다시 시작하자니 너무 돌아가는 것 같고, 그대로 가기엔 취업이 막막하죠.

패스트캠퍼스의 [C 언어를 포기한 사람들을 위한 C/C++ 기초 CAMP]는 그런 고충을 완벽하게 간파했습니다. 어떻게 그렇게 자신 있게 말하냐고요? 이 수업의 강사님이 정확히 같은 고민을 하셨기 때문입니다. 양태환 강사님은 소프트웨어 엔지니어로서의 커리어를 꿈꿔오셨지만, 끊임없이 닥쳐오는 어려움에 꿈을 포기하려고 하셨습니다. 하지만 그때 C와 자료구조를 기초부터 차근차근 공부하기 시작 했고 다시 그 길을 걸어갈 힘과 용기를 얻으셨다고 합니다. 지금은 어엿하게 프로그래밍을 가르치는 위치에 선 양태환 강사님, 누구보다 출발점으로 다시 돌아가 시작하는 것이 가장 빠른 길이라는 걸 잘 알고 계실 겁니다. 이 강의를 통해 자신과 같은 고민을 했던 수강생들에게 든든한 버팀목을 심어주고 싶다고 하셨는데요, 인터뷰를 통해 자세한 이야기를 들어보겠습니다.

[C 언어를 포기한 사람들을 위한 C/C++ 기초 CAMP] 자세히 보기 >>>

 


 

안녕하세요. 자기소개 부탁드립니다.

안녕하세요? 저는 [C 언어를 포기한 사람들을 위한 C/C++ 기초 CAMP]의 강의를 맡은 양태환입니다. 제가 대학을 가면서 처음 선택한 전공은 수의학과였습니다. 수의사는 좋은 직업이었지만 제 적성에는 맞지 않았어요. 오랜 고민 끝에 ‘적정기술’을 하고 싶어서 기계설계를 공부했습니다. 기계설계를 공부하면서 제어와 계측에 관심을 가지고 C 언어를 시작했습니다. 졸업 후에는 C/C++ 기반의 그래피컬 언어인 ‘LabVIEW’로 계측기에 들어가는 모듈을 만드는 소프트웨어 엔지니어로 일했고요. 퇴사 후엔 코딩을 쉽게 배울 수 있는 게임을 만들기 위해 1인 개발을 시작했고 지금은 패스트캠퍼스에서 강사로 활동을 시작하게 되었습니다. 간단하게 하려고 했는데 자기소개가 엄청 길어졌네요(웃음).

 

이번 강의는 제목이 조금 독특하네요.

저는 소프트웨어 엔지니어로서 개발하면서 많은 어려움을 겪었기 때문에 앞으로의 진로에 대해 많은 고민을 했습니다.

네 맞습니다. 프로그래머로서의 길을 포기하려고 했죠.

그 후 좌절했던 때의 경험을 바탕으로 다시 C 언어, 자료구조를 공부하고 나니 새로운 세계가 열리더군요! 프로그래밍 공부가 어려우신가요? 능력이 부족해서가 아닙니다. 기초를 단단히 다지지 못했기 때문입니다. 제가 지나온 경험을 바탕으로 수강생분들은 저와 같이 너무 멀리 돌아가지 않기를, 혹여 저처럼 프로그래밍을 포기하려는 마음을 먹지 않기를 바라는 마음에 이번 강의를 맡게 되었습니다. 1인 개발을 시작하고 프로그래밍을 깊게 공부하면서 그 재미에 푹 빠졌습니다. 그리고 그 재미는 지금도 여전합니다. 이 강의를 듣는 모든 분도 저와 같은 재미에 푹 빠져보셨으면 좋겠습니다. 덧붙여, 이 강의의 특전에 대해 알고 계시는가요? 만약 1기에 연습할 시간이 부족하여 진도를 많이 따라가지 못하셨다면 2기까지는 무료로 재수강이 가능합니다!

 

하이레벨 언어들이 주변에 많은데 왜 C/C++을 공부해야 하나요?

프로그래밍 언어는 매우 다양합니다. 많은 라이브러리를 가진 파이썬부터 웹을 장악한 자바스크립트, 서버를 만드는 데 적격인 GO 등, 정말 많죠. 하지만 프로그래밍은 언어보다는 그 패러다임과 알고리즘을 아는 것이 중요합니다. 특히, 메모리를 직접 관리하고 다룰 수 있는 언어는 C/C++입니다. 포인터에 낙심하여 다른 언어를 하신다는 분들도 꽤 봤는데 포인터를 이해하지 못하고, 즉 메모리를 이해하지 못하고 좋은 프로그램을 짤 수 있다고 생각하지 않습니다.

혹시 MIT와 보스턴 다이나믹스에서 개발한 치타 로봇을 아시나요? 그 로봇에 들어가는 제어 로직을 제어인데도 불구하고 C가 아니라 제가 사용하던 LabVIEW로 짰다고 하더군요. 여기서 생각해볼 점은 개발진이 C를 못 써서 다른 언어를 쓴 게 아니라는 점입니다. 아마도 그분들 한분 한분이 C로 만 줄은 짤 수 있는 능력이 있을 거예요웃음) C를 완벽하게 알고 있는 분들이 API가 잘 되어 있는 C/C++ 기반의 언어로 개발 기간을 단축한 것뿐이지요. 이처럼 네이티브 언어인 C/C++을 안다면 하이레벨 언어도 훨씬 더 잘 구사할 수 있습니다.

저도 단순히 C와 자료구조를 공부할 때는 “요즘 이것만 배워서 어디에 써먹겠어?”라는 생각을 많이 했어요. 그 후 LabVIEW(기계공학이나 전자공학을 하고 계신 분들이라면 한 번쯤은 들어보셨을 것 같습니다만…..)로 개발을 하다가 다시 C와 자료구조를 보자 프로그래밍에 대한 관점이 아예 바뀌었습니다. 지금 다시 LabVIEW로 개발한다면 예전 같은 실수는 절대 하지 않을 거 같아요. (웃음)

어떤 분들이 이 강의를 수강 하면 좋을까요?

첫번째로 컴퓨터 공학이 아닌 다른 학문을 전공하고 계신 공대생분들에게 가장 적합할 것 같습니다. 저도 기계를 공부해봐서 알지만 고체 역학, 열역학, 동역학 등 역학만으로도 공부할 양이 벅찬 것이 사실입니다. C언어는 1학년 때 잠깐 배우는 게 전부이고요. 하지만 기계공학이나 전자공학도에게도 C 언어, 매우 중요합니다. 우선 전자기기에 들어가는 모든 펌웨어는 C로 짜는 경우가 대부분이고 기계와 전자의 융합인 제어공학에서는 여전히 C를 모르면 접근하기 어렵습니다. 예를 하나 들자면 2012년 화성에 착륙한 화성탐사로봇인 큐리오시티 로버(Curiosity Rover)의 제어 로직은 C로 짰습니다. 공학도라면 생각해볼 만한 부분이죠.

둘째로 프로그래밍을 처음 시작하시는 분들에게도 추천해 드립니다. 첫 번째 언어로 C/C++을 배우신다면 다른 언어를 접하시는 데 큰 어려움이 없을 것입니다. 특히 절차지향인 C를 배우고 멀티패러다임의 C++을 배우시면 객체지향까지 한 번에 배워보실 수 있을 것 같습니다.

마지막으로 게임 혹은 VR에 관심이 많으신 분들도 들으시면 도움이 많이 될 것 같습니다. 게임이나 VR은 당연히 멀티 플랫폼일 것인데요. 멀티 플랫폼 위에서 구동하기 위해서는 C++ 이외에는 답이 없습니다. 양대 게임엔진인 Unity와 Unreal도 코어는 모두 C 언어로 개발되었습니다.

 

마지막으로 수강생분들에게 한마디 부탁드립니다.

이 강의만 듣고 프로그래밍을 마스터할 수는 없습니다. 언어는 언어일 뿐이거든요. 이후에 자료구조와 알고리즘을 공부하셔야 하고 OS와 컴퓨터 구조도 아시면 도움이 많이 될 겁니다. 그 후에는 각자의 커리어에 맞게 다양한 공부를 하셔야만 합니다. 하지만 이 강의를 통해 C/C++이 어떻게 작동하는지 이때 메모리를 어떻게 할당하고 해제하는지 등의 지식을 쌓으신다면 앞으로 공부하는 데 든든한 버팀목이 될 것입니다!

저와 함께 한번 시작해 볼까요?


갈 길을 잃은 개발자 분들, 기초를 다시 다지세요! 그게 가장 빠른 길입니다. ↓ 

[C 언어를 포기한 사람들을 위한 C/C++ 기초 CAMP] 자세히 보기 >>>

 

Recent Posts