티스토리 뷰


* 한 학기 동안 공부했던 C++


 어제 부로 C++ 객체지향언어1 수업이 끝났다. 황기태 교수님의 강의를 수강하는 건 이번이 처음이었지만, 황기태 교수님의 수업은 정말 훌륭했다. C++을 비롯하여 실력 있는 프로그래머로 성장하기 위해선 어떤 방향으로 성장해야 하는지 등의 값진 교훈들을 많이 얻었다.



* 실력 있는 개발자로 성장하려면?


 C++의 사용법, 문법, 기초지식과 관련한 자료는 이미 인터넷에 넘쳐나기 때문에, 이 포스팅에서는 수업시간 중간 중간 들었던 값진 말들을 떠올리며 정리해보고자 한다. 타이틀에  적혀 있는 '<<'의 연산자의 원리에 대한 답은 이 포스팅에 없다. 그 보다 더 값진 얘기들을 여기 하려 한다. 


 /* 최대한 교수님이 했던 말 그대로 전해주려 노력하겠지만, 저의 왜곡된 기억으로 원래 하신 말씀의 내용을 그대로 살리지 못할 수 있다는 점 양해바랍니다. */

 
#1 <네이버에 취직한 제자 사례>

 교수님께서 언급하신 첫 번째 사례다. 제자 중 한 명이 네이버 취직에 성공하고 교수님을 찾아와 들려준 면접얘기는 이렇다. 본인 보다 훨씬 많은 프로그램을 만들고, 실력도 좋은 지원자들이 정말 많았다고 한다. 네이버 정도의 기업에 지원하는 사람들이니 그럴 만하다. 그럼 어떻게 그 제자가 뽑힐 수 있었을까? 자기가 뽑힌 이유가 궁금했던 제자는 본인이 왜 뽑힐 수 있었는지를 입사 후에 물어봤다고 한다. 돌아온 대답에서 참 얻을 게 많았다.


 그 인사 담당자는 이렇게 말했다고 한다. "프로그래밍 실력 자체는 다른 지원자들에 비해 크게 메리트가 없는데, 자바 버츄얼머신의 원리에 대해 제대로 이해하고 있는 지원자가 자네 밖에 없었어." 교수님 께서는 그런 말씀을 종종 해주시곤 했다. 큰 기업이고 실력 있는 기업일 수록, 원리와 기본 이론을 중요시 생각하고 작은 기업일 수록 뭘 만들었는지, 만들어낼 수 있는지를 중요시 생각한다고.


 누구나 공부하고 누구나 알 수 있는 것이 아닌 부분을 공부하는 것은 그 사람의 성실성과 태도를 받쳐주는 하나의 근거가 될 수 있다. 활용과 사용 등 쉬운 공부만, 접하기 쉬운 공부만 했다는 근거 또한 될 수 있다.


#2 <나의 공부 점검> #여러분도 점검해보시길.


 기본과 원리에 충실한 공부를 추구했어야 했지만, 나는 그러지 못했다. 16년 12월 말부터 프로그래밍 공부를 시작했는데, 당장 쉬운 프로그램 하나 개발하지 못하는 내 현실에 급급했다. 원리와 이론 보다는 구현을 중심적으로 공부했다는 뜻이다. 왜 이렇게 사용해야 하고, 어떻게 작동하는지 등 원리에 대한 공부는 소홀 했다.


 교수님께서 중간 중간 하시는 "main 함수의 mangled name은 뭘까?", "C++에서 다른 함수들은 mangled name이 '$)@#)FF1302'과 같이 암호처럼 결정되는데 비해 왜 main 함수는 _main 으로 되어 있을까?" 등의 질문에는 대답을 하지 못했다. cout 객체와 '<<' 연산자의 사용법은 알지만, 작동원리에 대해서는 제대로 설명하지 못했다.


 한 학기 동안 학교에서 운영체제를 공부했지만 교수님의 "왜 file을 read / write 하기 전에 file open을 먼저 해야할까?" 질문에는 제대로 답하지 못했다. fopen, fwrite 사용법은 알지만, 그 원리는 제대로 알려 하지 않았다.


 교수님께서 해주신 말 중 가장 기억에 남는 건, "코딩하는 건 누구나 3개월 혹독하게 교육시키면 다 한다. 그래서 실력 있는 곳에서는 기본과 원리에 충실한 사람을 원한다. 응용 분야는 훈련에 의해 누구나 가능하지만, 원리를 깨우치는 건 많은 공부와 생각이 필요하기 때문이다." 라는 말. 생각해보면 나 또한 한 학기 (약 3~4개월) 동안 사용법은 익혔지만, 그 원리는 아직도 알지 못했다.


#3 <앞으로의 공부 방향>


 앞으로의 공부 방향은 이렇다. 곧 기말고사와 함께 한 학기가 끝이 나는데, 컴퓨터 구조에 대해 먼저 공부할 생각이다. 학습 자료는 구글링으로 어떤 책이 좋을지를 알아볼 예정이다. 이번 하기에 수강했던 운영체제 또한 '우분투'와 함께 다시 한 번 살펴볼 예정이다. 어렵고 이해하기 어려워 피했던 공부들을 시작할 것이다.


* 맺음말


 본 포스팅에서는 실제 교수님이 해주셨던 말씀을 바탕으로 저의 생각을 정리해보았습니다. 독백체의 말투를 사용한 건, 제 생각의 전달이 좀 더 잘 되고자 하는 의도였으니 넓은 마음으로 양해 바랍니다. 실력 있는 개발자로 성장하고 싶다는 목표를 가지신 모든 분들에게 이글이 도움이 되었기를 바라니다.

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday