뉴스 > 산업

실무자가 알려주는 프로그래머가 되기 위해 해야할 공부

/ 1

▲ 프로그래머를 꿈꾸는 청소년을 위한 NYPC 토크콘서트가 열렸다 (사진제공: 넥슨)

최근 학생과 학부모 사이에서 뜨거운 이슈로 떠오르는 것 중 하나는 ‘코딩’이다. 학교에서 ‘코딩 교육’이 필수가 되고 4차산업혁명시대를 살아가기 위해 꼭 필요한 기술이라는 이야기도 이어지고 있다. 따라서 함께 뜨는 직업이 코딩을 업으로 삼는 프로그래머다. 소프트웨어가 침투하지 않는 분야는 찾아보기 어렵다. 냉장고나 세탁기에도 기기를 인터넷으로 연결해 밖에서도 작동시키는 사물인터넷이 들어가고 있다. 제조업에도 컴퓨터 기술이 뿌리를 뻗는 것이다.

실제로 하드웨어와 소프트웨어의 결합은 산업현장에서도 뜨거운 화두다. 비트코인 시세 변화를 알려주는 인공지능 스피커를 만든 콩돌이 프로덕션 이수현 개발자는 “최근 구글에서도 소프트웨어 개발자를 뽑을 때 하드웨어에 대한 소양을 중요하게 생각하고 있다. 소프트웨어 개발자도 컴퓨터 안에 갇혀 있는 것을 넘어서 하드웨어에도 손을 대고 있다. 소프트웨어와 하드웨어를 동시에 한다면 내가 상상하는 모든 것을 만들 수 있는 시대가 온 것이다”라고 말했다.


▲ 하드웨어와 소프트웨어를 결합하는 능력이 중시되고 있다 (자료제공: 넥슨)

이수현 개발자의 말에는 중요한 핵심이 있다. 영화, 게임, 만화에서 그려지는 프로그래머는 컴컴한 방에 혼자 앉아서 엄청난 속도로 키보드를 두들겨대는 능력자지만 상대적으로 세상에는 관심이 없는 인물로 그려진다. 하지만 현실의 현역 프로그래머는 책상 앞에 앉아서 컴퓨터만 판다고 답이 나오지는 않는다고 입을 모았다. 오히려 사람들이 불편하게 느끼는 점을 적극 찾아내고, 어떻게 하면 이 문제를 해결할 수 있을까를 끊임없이 고민해야 한다는 것이다.

그렇다면 좋은 프로그래머가 되기 위해 필요한 것은 무엇일까? 8월 14일 코엑스 아티움에서 열린 NYPC 토크콘서트는 프로그래머를 꿈꾸는 청소년에게 현역 프로그래머가 꿈을 이루기 위해 무엇이 필요한지 조언해주는 자리였다. 넥슨 인텔리전스랩스 강대현 부사장은 앞으로 중요해지는 역량 중 하나가 ‘좋은 문제를 찾아내는 능력’이라고 말했다. 그는 “기존에는 프로그래머가 문제를 풀었지만 앞으로는 인공지능이 대신할 것이다. 문제풀이는 인공지능이 한다는 것이다. 그렇다면 개발자의 역량은 어떠한 문제를 내느냐에 달렸다. 좋은 관점을 바탕으로 좋은 문제를 내주는 것이다”라고 말했다.


▲ 넥슨 인텔리전스랩스 강대현 부사장 (사진제공: 넥슨)

강 부사장이 예로 든 것은 ‘고양이 사진을 찾는 프로그램’이다. 사진 수십만 장에서 ‘고양이 사진’을 정확하게 골라내는 프로그램을 만들었다고 해보자. 그렇다면 다음에 할 고민은 고양이 사진을 찾는 기술을 어디에 쓸 것이냐다.

강 부사장은 “단순히 고양이 사진 찾기에만 쓴다면 이 기술의 가치는 크지 않다. 하지만 넥슨은 이 기술로 ‘월핵(벽 뒤에 있는 상대를 보는 핵 프로그램)’을 찾는다”라며 “고양이 사진 찾는 걸로 어떻게 ‘월핵’을 잡아내는 프로그램을 만들었냐고 생각할 수 있겠지만 관점을 바꿔서 생각하면 된다. 고양이 사진을 찾는 것과 월핵 유저를 찾아내는 것은 특정 이미지에서 필요한 정보를 찾아내는 과정이다. 그리고 이미지는 특정 정보를 담은 픽셀의 합이다. 픽셀에 담긴 정보로 '고양이 사진'을 찾아내는 것처럼 픽셀 단위로 정보를 해석해 정상 유저와 다르게 움직이는 ‘월핵’ 사용자를 찾아내는 것이다”라고 말했다.


▲ 개발자가 직접 문제를 푸는 것보다 인공지능이 풀 '좋은 문제'를 내는 능력이 더 중요해진다 (자료제공: 넥슨)




▲ 관점을 바꾸면 고양이 사진 찾는 기술로 '월핵'을 잡아내는 프로그램을 만들 수 있다 (자료제공: 넥슨)

다시 말해 같은 기술이라도 어떤 부분에 초점을 맞추느냐에 따라 그 가치가 달라질 수 있다는 것이다. 여기서 중요한 것은 ‘사람들의 생활’이다. 어떻게 하면 본인이 가진 프로그래밍 능력으로 사람들이 어려워하는 문제를 풀어줄지를 고민하는 것이다. 그중에는 ‘이것도 프로그래밍으로 가능해?’라는 생각이 드는 것도 있다.

컴퓨터 프로그래밍 교육단체 ‘멋쟁이 사자처럼’ 이두희 대표는 “응급 상황에서는 소위 골든 타임이 있다. 이 시간 안에 환자가 응급실에 오면 살릴 수 있다는 것이다. 한국 소방서 기준 골든 타임은 5분이다”라며 “그런데 전국 소방서 출동 시간대를 분석해보니 지방은 5분 안에 도착하는 경우가 많은데 오히려 수도권에서 10분을 넘겨서 도착하는 경우가 많았다. 일반적으로는 지방 소방력이 부족하고 수도권은 많다고 생각할 수 있는데 실제로는 반대였던 것이다. 이 결과를 청와대에서 발표도 했고, 소방예산편성에도 영향을 미쳤다고 들었다. 내가 가진 IT 기술이 5,000만 국민에게 좋은 소방 서비스를 제공할 토대가 된 것이다”라고 말했다.


▲ 붉은색으로 표시된 것이 구급대원이 집에 도착하기까지 10분 이상이 걸린 곳이다, 주로 수도권에 집중되어 있는 것을 확인할 수 있다 (자료제공: 넥슨)

이와 함께 중요한 것은 작은 것이라도, 지금 당장 실천에 옮기는 것이다. 콩돌이 프로뎍션 이진호 개발자는 “요즘은 인터넷이 잘 되어 있어서 SNS를 통해 내가 만든 것을 다른 사람하고 쉽게 공유할 수 있다”라며 “지금 당장이라도 페이스북을 켜고 이런 거 만든다는 사실을 친구에게 공유하면 그 결과물이 내가 모르는 사람에게도 알려지기도 한다. 중요한 것은 작은 것이라도 지금 당장 만들어 다른 사람과 나누는 것이라 생각한다”라고 말했다. 내 컴퓨터에만 있는, 다른 사람은 쓰지 않는 코드는 아무리 많아도 의미가 없기 때문이다.




▲ 스톰트루퍼 헬멧 모양 미세먼지 마스크(상)이나 FPS에 쓸 수 있는 총 모양 컨트롤러(하)와 같은 일상적이고, 작은 일도 실천에 옮기고 이를 다른 사람에게 알리는 것이 중요하다 (자료제공: 넥슨)

프로그래머가 되려면 꼭 수학을 공부해야 되나요?

프로그래머들의 강연 이후에는 현장을 찾은 청소년 및 학부모들이 궁금한 점을 직접 물어보는 질의응답이 진행됐다. 가장 많은 질문은 프로그래머가 되기 위해 꼭 이것을 공부해야되냐고 묻는 것이다. 학생들이 까다로워하는 수학, 알고리즘 풀이, 프로그래밍 언어 등이 질문에 나왔다. '프로그래머가 되려면 꼭 수학을 공부해야 되냐'는 식의 질문이다.

이에 대한 프로그래머들의 답은 엇갈렸다. 이두희 대표는 “학교 MT에서도 컴퓨터공학과 교수님들이 ‘프로그래밍에 수학이 중요하냐, 아니냐’를 두고 오랜 시간 토론을 벌이는 것을 보았다. 학교에서도 이 부분을 고민하고 있다는 것이다. 수학이 부담스럽다면 잠시 접어두고 프로그래밍부터 공부하는 것도 좋은 방법이라 생각한다. 확률이나 통계를 몰라도 요새는 이를 대신해주는 프로그램도 있다”라고 답했다.


▲ 멋쟁이 사자처럼 이두희 대표 (사진제공: 넥슨)

반면 데브시스터즈 김태훈 머신러닝 엔지니어는 “제가 생각하기에는 수학이 중요하다. 특히 인공지능은 과학에 가까워서 미적분학, 확률, 통계가 중요하다. 사실 수학이 어렵고 재미 없지만 기초를 잘 다져야 도움이 된다”라고 말했다. 넥슨 강대현 부사장 역시 ‘알고리즘 풀이를 꼭 공부해야 되냐’는 질문에 “어려운 일과 쉬운 일이 있을 때, 어려운 쪽을 먼저 학습하는 것이 좋다고 생각한다. 수많은 직업이 생기고 사라지는 과정을 살펴보면 공통적으로 쉬운 일이 먼저 없어진다. 내 직업을 유지하고 싶다면 남들이 침범할 수 없는 진입장벽을 만들어야 하고 어려운 일을 해야 나만의 진입장벽이 생긴다”라고 전했다.


▲ 데브시스터즈 김태훈 머신러닝 엔지니어 (사진제공: 넥슨)

콩돌이 프로덕션 이수현 개발자는 좀 더 학생 눈높이에 맞춰 답을 했다. 그는 “현실적으로 말하면 아직 우리나라는 공부를 열심히 해서 좋은 대학에 가는 것이 중요하다. 나 역시 고등학교 때는 코딩에서 손을 떼고 공부만 했고 대학생부터 프로그래밍에 집중했다”라며 “그렇다고 꼭 좋은 대학에 가는 것만이 정답은 아니다. 지금 당장, 밤을 새서라도 개발하고 싶은 것이 있고 잘할 자신이 있다면 개발해도 된다. 하지만 개발보다는 좀 더 배워야겠다는 마음이라면 공부를 먼저 하는 것도 괜찮은 방법이다”라고 설명했다.


▲ 콩돌이 프로덕션 이수현 개발자 (사진제공: 넥슨)

넥슨 정상원 부사장은 중요한 것은 마음가짐이라 강조했다. 정상원 부사장은 “수학, 알고리즘 풀기 같은 것이 코딩에 얼마나 필요하냐는 질문은 마치 러시아 여자친구를 사귀려면 어떻게 해야 되는지를 물어보는 것과 같다. 러시아 말을 몰라도 손짓, 발짓을 동원해 어떻게든 여자친구를 사귈 수는 있다. 하지만 러시아 언어를 배우며 직접 소통하고, 편지도 주고 받으며 다가가는 것도 방법이다”라며 “수학이나 프로그래밍 언어 공부도 중요하지만 가장 중요한 것은 마음이다. 세상에 무엇이 필요한지 찾아내고 그 해결책을 구현해서 보여주는 것이 코딩이라 생각한다. 코딩에 너무 매몰되기보다 내가 왜 코딩을 하는지 생각하는 것이 좋겠다”라고 말했다.


▲ 넥슨 강대현 부사장(좌)와 정상원 부사장(우) (사진제공: 넥슨)
이 기사가 마음에 드셨다면 공유해 주세요
게임잡지
2006년 8월호
2006년 7월호
2005년 8월호
2004년 10월호
2004년 4월호
게임일정
2024
03