d라이브러리









[Career] 일상의 난제를 해결하다

서울공대카페 45 컴퓨터공학부

‘공대의 수학과’라는 말이 있을 정도로 컴퓨터공학부는 수학과 관련이 깊다. 대학에 입학하면서부터 귀에 딱지가 생길 만큼 자주 듣는 알고리즘을 수학으로 설계하기 때문이다. 허충길 서울대 컴퓨터공학부 교수는 고등학생 시절 국제수학올림피아드(IMO)에 나갈 정도로 수학에 관심이 많았다. “왜 수학과 대학원으로 진학하지 않았냐”는 물음에 허 교수는 “수학과를 가기엔 현실의 문제에 너무 관심이 많았다”고 말했다. 컴퓨터공학이 현실의 문제를 어떻게 풀어나가는지 들어봤다.
 



 

이선민 컴퓨터공학부에서 무엇을 배우는지 궁금합니다.

허충길 크게 사람들에게 유용한 서비스를 만드는 연구와, 서비스를 개발하는 데 필요한 인프라를 구축하는 연구로 나눌 수 있습니다. 전자는 알파고 이후로 큰 관심을 받고 있는 인공지능 연구, 많은 데이터에서 유의미한 정보를 분류하는 데이터마이닝 연구, 실제 세상과 유사한 그래픽 표현을 연구하는 그래픽스 연구 등이 있습니다.

이런 서비스를 개발하거나 사용하려면 컴퓨터가 잘 돌아 가야겠죠? 이에 대한 연구가 두 번째 분야입니다. 운영체제나 네트워크, 분산시스템, 데이터베이스, 소프트웨어 공학연구가 여기에 해당합니다.
 


이선민 인공지능이나 사물인터넷은 귀에 익숙한데요, 분산시스템이나 소프트웨어공학은 무엇인가요?

허충길 빅데이터라는 말은 많이 들어봤죠? 최근 정보량이 급증하면서 많은 데이터를 어떻게 처리하고 관리할 것이냐가 중요한 문제로 떠올랐습니다. 데이터베이스는 효율적인 데이터 관리에 대해, 분산시스템은 많은 컴퓨터를 이용한 데이터 처리에 관해 연구합니다. 소프트웨어공학은 제가 연구하고 있는 분야기도 한데요. 다른 연구는 주로 사용자에 초점을 맞추는데, 소프트웨어공학은 개발자가 중심입니다. 개발자들이 편하게 사용하면서도 오류를 줄일 수 있는 프로그램을 만드는 게 연구 주제죠.

이선민 교수님은 개발자를 위해 어떤 프로그램을 만들고 있나요?

허충길 요즘 C언어는 대부분 알고 있을 겁니다. 프로그램을 만들기 위한 컴퓨터 언어 중 하나죠. C언어로 코딩한 프로그램을 컴퓨터가 사용하는 기계어로 바꿔주는 프로그램을 ‘컴파일러’라고 합니다. 컴파일러가 제대로 작동해야 비로소 코딩한 결과물이 컴퓨터에서 실행될 수 있죠. 그런데 C언어로 최적화된 프로그램을 작성하다 보면 개발자와 컴파일러 사이에 충돌이 생깁니다. 개발자 입장에서는 이유도 모르고 버그(오류)가 나는 경우가 종종 있습니다.

이선민 저도 그런 경험이 있는데요. 아무리 코드를 봐도 문제가 없는데 버그가 나와서 수정하느라 고생했습니다.

 


[진로를 네이버, 구글, 카카오와 같은 IT 전문기업만을 떠올리는 경우가 많은데, 컴퓨터공학 전공생들의 진로는 무궁무진합니다. 저만 해도 삼성전자에서 반도체를 만드는 소프트웨어를 개발하고 있습니다. 반도체 제조 과정의 복잡성을 줄이고 오류를 최소화하는 시스템을 개발하죠. 저는 대학을 다니면서 배웠던 전기․전자와 프로그래밍 언어, 이 두 가지가 정말 재미 있었어요. 그래서 두 가지를 함께 할 수 있는 일을 선택했습니다. 만약 자동차와 프로그래밍에 관심이 많다면 자동차 회사에서 소프트웨어를 개발하는 일을 할 수도 있겠죠. 소프트웨어가 필요 없는 직종은 거의 없기 때문에, 자신의 관심사를 모두 살릴 수 있습니다.]
 


 
[저는 수시전형 중에서도 지역균형선발전형으로 합격했습니다. 지역균형선발은 일반 수시전형과는 다르게 구술고사를 보지 않고 인성면접만 봅니다. 인성면접에서는 생활기록부와 자기소개서에 대한 질문이 대부분인데요. 자신이 한 활동이나 인상 깊게 읽었던 책 등을 잘 기억하고 가야 합니다. 자신에 대한 이야기라도, 갑자기 질문이 들어오면 당황해서 제대로 대답을 못하는 경우가 있거든요. 이런 경우 오히려 감점요인이 될 수 있기 때문에 자신이 적은 것에 대해서는 잘 숙지하고 가야 합니다.]


허충길 해서는 안 되는 규칙들이 너무 많기 때문이에요. 개발자가 규칙들을 다 인지할 수가 없으니까 알 수 없는 버그가 생기는 겁니다. 이건 프로그램의 정확성과도 연결될 수 있는 문제죠.

이선민 구체적으로 어떤 규칙들을 말씀하시는 건가요?

허충길 법률과 비슷한데요. 음주 운전을 예로 들어볼게요. 만약 법률이 ‘소주 3잔 이상 5잔 이하는 3년 이하의 징역’, ‘맥주 5잔 이상은 3년 이하의 징역’처럼 모든 상황을 다루고 있다고 해봅시다. 술을 원래 잘 마시는 사람도 있고, 못마시는 사람도 있으니 이에 대한 추가 설정도 필요하죠?

이선민 너무 복잡한데요. 경찰관과 싸움도 많이 날 것 같고요(웃음).

허충길 지금의 C언어가 그렇습니다. 개개의 규칙을 관통할 일종의 법칙이 없습니다. 제가 하고 있는 연구는 C언어의 규칙을 새롭게 정의하는 겁니다. 모든 역학적 상황을 제시하지 않더라도 ‘F=ma’라는 식만으로 힘을 정의할 수 있는 것처럼요. 물리학자의 마음으로 연구하고 있습니다.

이선민 시간이 꽤 오래 걸리는 작업일 것 같습니다.

허충길 맞습니다. 하지만 꼭 필요한 작업이고, 아직 아무도 시도하지 않은 연구라 의욕적으로 하고 있습니다. 아마 회사에 있었다면 이런 연구는 하지 못했을 겁니다.

이선민 회사에서 연구하는 것과 학교에서 연구하는 것, 어떤 차이가 있나요?

허충길 회사도 연구에 투자를 많이 합니다. 다만 당장 문제가 되는 것을 빨리 해결하고 효율성을 높이는 프로그램을 개발하는 데에 초점을 맞추고 있죠. 학교는 연구의 자율성이 큰 편입니다. 독특한 연구도 할 수 있고요.

이 기사의 내용이 궁금하신가요?

기사 전문을 보시려면500(500원)이 필요합니다.

2016년 10월 과학동아 정보

  • 이선민 서울대 공대 학생기자
  • 사진

    김의철
  • 에디터

    최지원 기자

🎓️ 진로 추천

  • 컴퓨터공학
  • 소프트웨어공학
  • 정보·통신공학
이 기사를 읽은 분이 본
다른 인기기사는?