2016.10.26

칼럼 | 프로그래머 실력 최고인 나라는 어디?

Paul Rubens | CIO
세계 최고의 프로그래머가 가장 많은 나라는 어디일까? 프로그래밍 언어가 다양하기 때문에 이 질문에 대한 대답은 ‘자바는 폴란드 프로그래머가 우수하고, 파이썬은 홍콩이 뛰어나다’로 해야 맞을 것이다. 그렇다면, 각 나라의 프로그래머들은 어떤 분야에서 더 우수할까? 이를 조사한 해커랭크의 자료를 살펴 봤다.

도날드 너스(Donald Knuth), 켄 톰슨(Ken Thompson), 데니스 리치(Dennis Ritchie), 그레이스 호퍼(Grace Hopper) 등 미국은 그동안 역사상 최고의 소프트웨어 엔지니어들을 배출했다.

하지만 지난 20년 동안 미국 외에서도 컴퓨터 기술과 교육에 대한 접근성이 크게 나아지면서 중국과 기타 여러 저개발 국가에도 숙련된 프로그래머가 되기 위해 훈련을 받은 젊은 인재들이 늘어났다.

그래서 ‘어느 국가가 최고의 코드 개발자를 배출하고 있나’라는 질문은 상당히 흥미롭게 들릴 수 있다. 하지만 그보다는 ‘어떤 국가들이 특정 기술에서 앞서 있다면 그 이유는 무엇인가’라는 질문이 더 중요하지 않을까?


Credit: HACKERRANK

중국과 러시아가 최고
프로그램 기술력에 관한 데이터 출처는 100만 명 이상의 코드 개발자로 구성된 커뮤니티에 프로그래밍 대회를 제안하고 기업들에 인재 채용 서비스를 제공하는 기업인 해커랭크(HackerRank)다. 여러 국가 출신의 코드 개발자들이 다양한 영역(‘알고리즘’ 또는 ‘데이터 구조’ 또는 C++이나 자바 등의 특정 언어)에 관련된 문제를 해결하는 능력에 관한 정보를 이용하는 해커랭크의 데이터에 따르면, 전체적으로 중국이 최고의 개발자들을 배출하고 있으며 러시아가 그 뒤를 바짝 뒤쫓고 있다. 놀랍게도 미국은 28위에 머물렀다.

중국은 엄청난 인구를 보유한 거대한 국가기 때문에 프로그래밍에 재능이 있는 많은 사람들이 태어났을 수도 있을 것 같다. 러시아도 마찬가지다.

하지만 그것만으로는 중국과 러시아 해커 수준이 그렇게 높은 이유를 설명할 수 없다. 게다가 이들 국가의 코드 개발자들이 해커랭크의 대회에 즐겨 참여하기 때문에 결과가 편향되었을 가능성은 작다. 왜냐하면 중국과 러시아의 해커들은 구글이 주관하는 국제 프로그래밍 대회인 구글 코드 잼(Google Code Jam) 등 다른 코딩 행사에서도 다른 국가들보다 우수한 성적을 거두고 있기 때문이다.

중국과 러시아의 코드 개발자들은 해커랭크가 대회를 개최하는 15개 영역 중 상당수에서 뛰어난 성적을 거두고 있으며, 특정 국가의 코드 개발자들이 특정 영역에서 두각을 나타내고 있다. 중국의 코드 개발자들은 인공지능 부문에서 최고며 홍콩은 최고의 파이썬(Python) 프로그래머들을 배출하고 있다. 반면에 최고의 루비(Ruby) 프로그래머들은 핀란드에 있으며, 덴마크는 SQL 프로그래머들이 가장 우수하다. 이 외에도 놀라운 점이 있다. 최고의 데이터베이스 프로그래머들은 스위스 출신이며, 우크라이나는 최고의 보안 코드 개발자들을 배출하고 있고, 스리랑카는 분산형 시스템에 가장 강하며, 프랑스는 C++에서 최강이다.

 


Credit: HACKERRANK


프로그래밍 조기 교육
우선 중국과 러시아가 이렇게 많은 숙련된 프로그래머들을 배출하는 이유에 대해 생각해 보자. 해커랭크의 수석 기술 콘텐츠 관리자 헤럴도 메멜리는 "이 국가들의 교육 방식이 집중적이기 때문이라는 가설을 세울 수 있다"며 "사람들은 어린 나이에 수학, 과학, 프로그래밍에 관한 교육을 받는다. 훌륭한 프로그래머는 어느 나라에서나 배출될 수 있으며 그들이 남들보다 일찍 배운 수학의 결과물이 이런 대회에서 나타나는 것이다"고 말했다.

중국의 경쟁력 있는 유명 프로그래머인 시미 장은 이러한 가설을 뒷받침했다. 장은 "수학과 컴퓨터 공학은 중국에서 매우 인기 있으며 부모와 학생들은 다른 기술 및 과학 분야와 함께 이 분야들에 크게 집중한다"고 강조했다. 장에 따르면, 교육의 경쟁 수준 때문에 중국의 학생들은 매우 어린 나이부터 공부를 시작하며 코드를 배울 때 집중적으로 공부하는 경향이 있다.

"똑똑한 모든 학생들이 고품질의 교육 자원을 충분히 지원받지 못하기 때문에 중국 학생들은 초등학생부터 열심히 공부한다. 좋은 중학교, 고등학교, 대학교에 입학하기 위해서는 정말 열심히 노력해야 한다. 많은 학생들이 프로그램을 학습할 때도 이러한 습관대로 공부한다."

미국과 중국에서 대학교 학생들이 프로그래밍을 학습하는 방식에도 차이가 있지만 장은 미국의 시스템이 더 우수하다고 생각했다. 그는 "중국 대학에서는 가장 기본적인 과정을 교수가 아닌 강사가 가르치기 때문에 이런 과정의 품질이 미국의 대학들만큼 높지 않다. 그리고 미국의 학생들은 2학년이나 3학년에 연구 그룹에 합류할 수 있지만, 중국에서는 상위권 대학들에만 국한된다"고 밝혔다.

장이 생각하는 것처럼 미국에 더 나은 대학 시스템이 있긴 하지만, 미국 학생들은 어린 나이에 시작해서 동료들과 경쟁하는 능력에서는 중국 학생들을 뛰어넘지 못하는 것 같다.

더 많은 해커톤(Hackathon) 필요
프로그램 교육을 개선하려는 미국의 대학들은 중국의 예에서 어떤 교훈을 얻을 수 있을까? 해커랭크의 메멜리는 교육 과정 또는 외부적으로 더 많은 경쟁 문제 해결을 추가하는 것이 좋을 수 있다고 생각했다. 그는 "미국의 교육자들이 직접 코딩 체험, 온라인 해커톤 등으로 학교에서 가르친 것을 보완할 수 있다”고 말했다.

반면 장은 “미국 학생들은 제품 개발을 위한 실질적인 문제 해결과 관련한 실제 프로젝트에서 뛰어나다”고 이야기했다. 그에 비해 중국의 학생들은 실제적인 문제에 대한 자신의 기술을 시험해 볼 기회가 부족하기 때문에 학업에 더 많은 시간을 쏟으며 기본에 집중하고 있다. 그는 "실제로 [중국의 학생들이] 취업에 앞서 탄탄한 기본 기술을 쌓는 데 도움이 된다"며 "중국은 최고의 프로그래머들을 배출하고 있긴 하지만 미국의 학생들이 여전히 실제 문제 해결과 세상을 변화시키는 데는 더 뛰어나다"고 말했다.


최고의 기관들
중국과 러시아가 광범위한 프로그래밍 영역과 코드 작성 대회에서 뛰어난 이유는 교육 시스템의 메커니즘 때문일 수 있다. 하지만 특정 국가가 특정 영역에 강한 이유는 무엇일까? 예를 들어, 핀란드가 루비에 뛰어난 이유는 무엇일까?

그 이유는 아마도 해당 국가의 어떤 ‘특이점’ 때문일 것이라고 메멜리는 설명했다. 그는 "확실하게 알기는 어렵지만 어떤 국가가 특정 영역에서 뛰어난 이유는 해당 국가의 학교 교육 과정이나 해당 국가에서 특정 기업이나 산업이 중요한 이유, 또는 어떤 이유로 특정 프로그래밍 언어가 인기가 있기 때문일 수 있다"고 말했다.

메멜리가 마지막으로 언급한 특정 기술은 필요한 곳에서 확산될 수 있다. 가령 어떤 나라에서 특정 산업을 뒷받침하기 위해 여러 명의 인공지능 전문가가 필요하다면 그 나라에는 이런 기술을 배우고 실험해 보는 사람이 많을 수 있다.

당연한 말이겠지만, 필요한 기술력을 가진 개발자를 모집하거나 특정 프로젝트를 어디에서 운영할지 결정하는 일은 중요하다. 결론적으로 코드 개발 기술 인재들은 전 세계에 고르게 분포되어 있지 않다. 그러므로 어디에서 최고의 인재를 어디에서 찾을지 파악해야 한다.

*Paul Rubens는 IT전문 저널리스트로 현재 영국에 거주하며 BBC, CIO닷컴 등에 칼럼을 기고하고 있다. ciokr@idg.co.kr



2016.10.26

칼럼 | 프로그래머 실력 최고인 나라는 어디?

Paul Rubens | CIO
세계 최고의 프로그래머가 가장 많은 나라는 어디일까? 프로그래밍 언어가 다양하기 때문에 이 질문에 대한 대답은 ‘자바는 폴란드 프로그래머가 우수하고, 파이썬은 홍콩이 뛰어나다’로 해야 맞을 것이다. 그렇다면, 각 나라의 프로그래머들은 어떤 분야에서 더 우수할까? 이를 조사한 해커랭크의 자료를 살펴 봤다.

도날드 너스(Donald Knuth), 켄 톰슨(Ken Thompson), 데니스 리치(Dennis Ritchie), 그레이스 호퍼(Grace Hopper) 등 미국은 그동안 역사상 최고의 소프트웨어 엔지니어들을 배출했다.

하지만 지난 20년 동안 미국 외에서도 컴퓨터 기술과 교육에 대한 접근성이 크게 나아지면서 중국과 기타 여러 저개발 국가에도 숙련된 프로그래머가 되기 위해 훈련을 받은 젊은 인재들이 늘어났다.

그래서 ‘어느 국가가 최고의 코드 개발자를 배출하고 있나’라는 질문은 상당히 흥미롭게 들릴 수 있다. 하지만 그보다는 ‘어떤 국가들이 특정 기술에서 앞서 있다면 그 이유는 무엇인가’라는 질문이 더 중요하지 않을까?


Credit: HACKERRANK

중국과 러시아가 최고
프로그램 기술력에 관한 데이터 출처는 100만 명 이상의 코드 개발자로 구성된 커뮤니티에 프로그래밍 대회를 제안하고 기업들에 인재 채용 서비스를 제공하는 기업인 해커랭크(HackerRank)다. 여러 국가 출신의 코드 개발자들이 다양한 영역(‘알고리즘’ 또는 ‘데이터 구조’ 또는 C++이나 자바 등의 특정 언어)에 관련된 문제를 해결하는 능력에 관한 정보를 이용하는 해커랭크의 데이터에 따르면, 전체적으로 중국이 최고의 개발자들을 배출하고 있으며 러시아가 그 뒤를 바짝 뒤쫓고 있다. 놀랍게도 미국은 28위에 머물렀다.

중국은 엄청난 인구를 보유한 거대한 국가기 때문에 프로그래밍에 재능이 있는 많은 사람들이 태어났을 수도 있을 것 같다. 러시아도 마찬가지다.

하지만 그것만으로는 중국과 러시아 해커 수준이 그렇게 높은 이유를 설명할 수 없다. 게다가 이들 국가의 코드 개발자들이 해커랭크의 대회에 즐겨 참여하기 때문에 결과가 편향되었을 가능성은 작다. 왜냐하면 중국과 러시아의 해커들은 구글이 주관하는 국제 프로그래밍 대회인 구글 코드 잼(Google Code Jam) 등 다른 코딩 행사에서도 다른 국가들보다 우수한 성적을 거두고 있기 때문이다.

중국과 러시아의 코드 개발자들은 해커랭크가 대회를 개최하는 15개 영역 중 상당수에서 뛰어난 성적을 거두고 있으며, 특정 국가의 코드 개발자들이 특정 영역에서 두각을 나타내고 있다. 중국의 코드 개발자들은 인공지능 부문에서 최고며 홍콩은 최고의 파이썬(Python) 프로그래머들을 배출하고 있다. 반면에 최고의 루비(Ruby) 프로그래머들은 핀란드에 있으며, 덴마크는 SQL 프로그래머들이 가장 우수하다. 이 외에도 놀라운 점이 있다. 최고의 데이터베이스 프로그래머들은 스위스 출신이며, 우크라이나는 최고의 보안 코드 개발자들을 배출하고 있고, 스리랑카는 분산형 시스템에 가장 강하며, 프랑스는 C++에서 최강이다.

 


Credit: HACKERRANK


프로그래밍 조기 교육
우선 중국과 러시아가 이렇게 많은 숙련된 프로그래머들을 배출하는 이유에 대해 생각해 보자. 해커랭크의 수석 기술 콘텐츠 관리자 헤럴도 메멜리는 "이 국가들의 교육 방식이 집중적이기 때문이라는 가설을 세울 수 있다"며 "사람들은 어린 나이에 수학, 과학, 프로그래밍에 관한 교육을 받는다. 훌륭한 프로그래머는 어느 나라에서나 배출될 수 있으며 그들이 남들보다 일찍 배운 수학의 결과물이 이런 대회에서 나타나는 것이다"고 말했다.

중국의 경쟁력 있는 유명 프로그래머인 시미 장은 이러한 가설을 뒷받침했다. 장은 "수학과 컴퓨터 공학은 중국에서 매우 인기 있으며 부모와 학생들은 다른 기술 및 과학 분야와 함께 이 분야들에 크게 집중한다"고 강조했다. 장에 따르면, 교육의 경쟁 수준 때문에 중국의 학생들은 매우 어린 나이부터 공부를 시작하며 코드를 배울 때 집중적으로 공부하는 경향이 있다.

"똑똑한 모든 학생들이 고품질의 교육 자원을 충분히 지원받지 못하기 때문에 중국 학생들은 초등학생부터 열심히 공부한다. 좋은 중학교, 고등학교, 대학교에 입학하기 위해서는 정말 열심히 노력해야 한다. 많은 학생들이 프로그램을 학습할 때도 이러한 습관대로 공부한다."

미국과 중국에서 대학교 학생들이 프로그래밍을 학습하는 방식에도 차이가 있지만 장은 미국의 시스템이 더 우수하다고 생각했다. 그는 "중국 대학에서는 가장 기본적인 과정을 교수가 아닌 강사가 가르치기 때문에 이런 과정의 품질이 미국의 대학들만큼 높지 않다. 그리고 미국의 학생들은 2학년이나 3학년에 연구 그룹에 합류할 수 있지만, 중국에서는 상위권 대학들에만 국한된다"고 밝혔다.

장이 생각하는 것처럼 미국에 더 나은 대학 시스템이 있긴 하지만, 미국 학생들은 어린 나이에 시작해서 동료들과 경쟁하는 능력에서는 중국 학생들을 뛰어넘지 못하는 것 같다.

더 많은 해커톤(Hackathon) 필요
프로그램 교육을 개선하려는 미국의 대학들은 중국의 예에서 어떤 교훈을 얻을 수 있을까? 해커랭크의 메멜리는 교육 과정 또는 외부적으로 더 많은 경쟁 문제 해결을 추가하는 것이 좋을 수 있다고 생각했다. 그는 "미국의 교육자들이 직접 코딩 체험, 온라인 해커톤 등으로 학교에서 가르친 것을 보완할 수 있다”고 말했다.

반면 장은 “미국 학생들은 제품 개발을 위한 실질적인 문제 해결과 관련한 실제 프로젝트에서 뛰어나다”고 이야기했다. 그에 비해 중국의 학생들은 실제적인 문제에 대한 자신의 기술을 시험해 볼 기회가 부족하기 때문에 학업에 더 많은 시간을 쏟으며 기본에 집중하고 있다. 그는 "실제로 [중국의 학생들이] 취업에 앞서 탄탄한 기본 기술을 쌓는 데 도움이 된다"며 "중국은 최고의 프로그래머들을 배출하고 있긴 하지만 미국의 학생들이 여전히 실제 문제 해결과 세상을 변화시키는 데는 더 뛰어나다"고 말했다.


최고의 기관들
중국과 러시아가 광범위한 프로그래밍 영역과 코드 작성 대회에서 뛰어난 이유는 교육 시스템의 메커니즘 때문일 수 있다. 하지만 특정 국가가 특정 영역에 강한 이유는 무엇일까? 예를 들어, 핀란드가 루비에 뛰어난 이유는 무엇일까?

그 이유는 아마도 해당 국가의 어떤 ‘특이점’ 때문일 것이라고 메멜리는 설명했다. 그는 "확실하게 알기는 어렵지만 어떤 국가가 특정 영역에서 뛰어난 이유는 해당 국가의 학교 교육 과정이나 해당 국가에서 특정 기업이나 산업이 중요한 이유, 또는 어떤 이유로 특정 프로그래밍 언어가 인기가 있기 때문일 수 있다"고 말했다.

메멜리가 마지막으로 언급한 특정 기술은 필요한 곳에서 확산될 수 있다. 가령 어떤 나라에서 특정 산업을 뒷받침하기 위해 여러 명의 인공지능 전문가가 필요하다면 그 나라에는 이런 기술을 배우고 실험해 보는 사람이 많을 수 있다.

당연한 말이겠지만, 필요한 기술력을 가진 개발자를 모집하거나 특정 프로젝트를 어디에서 운영할지 결정하는 일은 중요하다. 결론적으로 코드 개발 기술 인재들은 전 세계에 고르게 분포되어 있지 않다. 그러므로 어디에서 최고의 인재를 어디에서 찾을지 파악해야 한다.

*Paul Rubens는 IT전문 저널리스트로 현재 영국에 거주하며 BBC, CIO닷컴 등에 칼럼을 기고하고 있다. ciokr@idg.co.kr

X