2016.06.28

"개발자를 꿈꾸는 이에게…" 거물 프로그래머 5인의 커리어 조언

Paul Krill | InfoWorld

경력 측면에서 소프트웨어 개발이 그 어느 때보다도 인기다. 프로그래밍 언어에 대한 관심이 고조되고 있다. 미국 노동부 노동통계는 개발자에 대한 수요가 2014년에서 2024년까지 연 17% 증가할 것이라고 예상하는데 이는 모든 업종의 평균값인 7%보다 훨씬 빠른 속도다.

즉 학생과 비 기술 종사자들이 프로그래밍 경력을 고려하는 것은 그리 놀랍지 않은 현실이다. 하지만 지금 개발자 경력에 입문해도 괜찮을까? 입문 프로그래머들이 해야 할 일들에 대해 소프트웨어 거물들에게서 의견을 물었다.

자바스크립트 창조자 브렌단 에치(Brendan Eich), 클로져 창립자 리치 힉키(Rich Hickey), 스프링 프레임워크 고안자 로드 존슨(Rod Johnson) Npm 창립자 아이작 슐루터(Isaac Schlueter) 그리고 파이썬 언어를 만든 구이도 반 로섬(Guido van Rossum)에게서 이야기를 들어보았다. 다음은 교육 기회, 마스터해야 할 언어, 훌륭한 프로그래머가 되는 자질 등에 대해 그들이 공유한 이야기다.


Image Credit : Getty Images Bank

교육 측면
컴퓨터 공학 학위의 가치에 대한 논쟁이 뜨겁지만 프로그래밍 분야의 리더 다수는 균형 잡힌 교육과 컴퓨터 외 영역에의 학습을 강조했다.

에치는 “인생에서 가장 큰 과제는 기술로 해결되지 않는다. 그렇기 때문에 컴퓨터 말고도 역사, 문학, 예술, 다른 여러 종류의 지식을 쌓는 게 중요하다”라고 말했다.

히키는 프로그래밍을 폭넓은 관점으로 놓으며 그 의견에 동의한다. 그는 “프로그래밍은 역사적으로 아주 초창기에 불과하다”라며 “프로그래밍을 잘 해낼 수 있는 방법에 대해 섣불리 가정하기에는 너무 이르다”라고 말햇다.

그 대신 히키는 프로그래밍이 해결할 수 있는 문제 유형들을 이해하는데 도움을 얻기 위해 다른 교육적 흥미를 추구하는 것을 추천했다.

그는 “최고의 프로그래머들은 그들이 속해있는 사회에 대해 이해하고 소통하고 문제를 해결할 수 있는 이들이다. 소프트웨어는 그냥 그런 목적을 위한 도구에 불과하다”라고 말했다.

존슨 역시 미래의 프로그래머들이 컴퓨터실과 수학 이외 과목들을 탐구해서 전반적인 교육을 받아야 한다는데 동의했다. 궁극적으로 “프로그래밍은 수학보다는 사람에 관한 것”이기 때문이다.

한편 컴퓨터공학 학위를 따는데 대해서는 존슨은 “집어치워라”라고 말했다. 그는 “대부분 프로그래머들은 일하면서 배운 것을 쓴다. 훌륭한 컴퓨터 공학 교육도 가치 있지만 컴퓨터 공학 교육을 받지 않은 훌륭한 프로그래머들도 수없이 많이 봤다”라고 말했다.

반 로섬도 동의했다. “영문학과를 졸업하고도 장고 걸(Django Girls) 워크숍에 가고 그 이후 그들은 웹 개발자가 된 이들이 있다. 전통적인 4년간의 대학교육을 통해 컴퓨터공학을 전공한 프로그래머들도 물론 있다”라고 말했다.

물론 이론도 실제 세계에서 당연히 쓸모가 있다고 존슨은 덧붙였다. 그는 “어제 나는 컴퓨터공학 수업에서 배웠던 몇 가지 컴플라이어 이론을 사용했는데 이게 내가 가지고 있던 문제에 대한 깔끔하고 단단한 솔루션을 만드는데 도움이 됐다. 하지만 그런 일이 자주 있지는 않다”라고 말했다.

에치는 컴퓨터공학 이론 공부보다도 수학 공부가 더 가치 있다고 평가했다. 그는 “프로그래밍은 수학에 관한 것이 아니고 전혀 관계없는 경우도 있다. 하지만 수학적 감각이 있다면 젊을 때 수학을 공부하는 게 좋다. 프로그래밍 학습에 지나치게 신경 슬 필요가 없다”라고 말했다. 

반 로섬은 한걸음 더 나가서 “논리적 사고를 개발시키는 수학 유형”을 추천했다.

슬류터는 프로그래머가 되기 전 일반적 교육을 받을 필요가 있다는 입장이다. 그는 “인문학 교육은 고등학교 졸업 이후 4년을 훌륭하게 보내는 방법이다, 감당할 수만 있다면”이라고 말했다. 그는 이어 “인생에서 사회적 승인 하에 바보 같은 짓을 하고 놀 수 있는 시간은 다시는 없다”라고 말했다.

그의 이야기에 공감하는 이에게 슬류터는 실용적인 조언을 하나 전했다: “주립 대학은 사립 대학보다 훨씬 저렴하고 학자금 대출도 상당히 부담이 되므로 돈을 절약하기에 좋다”라고 그는 말했다. 놀아야 할 시간을 돈을 버는데 쓰지 말라는 이야기다.

슬류터는 작문 능력이야말로 훌륭한 프로그래머가 되는 핵심 능력이라고 주장했다.

그는 “대학에 가던 안 가던 어릴 때 최대한 많은 문학, 철학을 1차와 2차 소스 모두에서 읽고 최대한 많이 글을 써볼 필요가 있다. 특히 대학에 진학하지 않는다면 숙제를 과외선생을 찾아보라. 글쓰기가 바로 인터넷에서 사람들의 소통 방식이다. 더 효과적으로 글을 쓸 수 있다면 더 좋은 프로그래머가 될 수 있다”라고 강조했다.

프로그래밍 언어에 대해
프로그래밍을 하기로 했다면 어떤 언어를 먼저 고려해야 할까?

에치는 “OCaml, 하스켈(Haskell), 러스트(Rust), C++, 타입스크립트(TypeScript), JS, 래켓(Racket), 아니면 SICP로의 스킴(Scheme)” 등을 제안했다. 그는 “분명 누구도 저 언어 모두를 공부하지는 않을 것이다. 하지만 흥미와 소질을 가진 이라면 알맞은 시간과 장소에 몇 가지만 배워도 좋을 것”이라고 권했다.

히키 역시 다언어 접근방식을 제안하면서도 언어 초합 측면에서 더 철학적인 입장을 취했다.

그는 “컴퓨터가 어떻게 작동하는지를 분명하게 보여주는 언어(C)를 감싸는 언어(하스켈, 프롤로그), 통계적으로 짜인 기능적 언어(하스켈), 그리고 기능이 강조된 훌륭한 역동적 언어. 나는 클로져를 좋아한다”라고 말했다.

존슨은 대조적인 접근방식을 가진 언어들을 공부하라고 제안했다. 그는 “언어들은 프로그래밍에 대한 생각에 영향을 미칠 수 있기 때문에 한가지 이상의 각기 다른 접근방식을 가진 언어를 공부하는 게 중요하다. 그러므로 예를 들어 자바와 C# 이런 식이 아니라 객체지향 언어와 함수형 언어 같은 조합이 좋다”라고 말했다.

반 로섬은 “나는 파이썬이 공부를 시작하기 아주 좋은 언어라고 생각한다”라며 “그러면 어느 파이썬 버전이냐가 궁금할 텐데 나는 파이썬 3을 추천한다”라고 말했다.

그는 이어 “어떤 작업이나 프로젝트가 있다면 파이썬 2를 공부하기 충분히 쉽다. 만약 처음부터 시작하는 거라면 당연히 파이썬 3이 더 나은 언어다”라고 덧붙였다.

존슨은 젊은 개발자들에게 스위프트(Swift)를 공부해보라고 제안했다. 그는 “이는 훌륭한 현대적 언어로 수많은 아이디어를 담고 있다. 스위프트가 iOS에서 다른 플랫폼으로 확산될 것으로 나는 예상한다”라고 말했다.

그는 이와 함께 “자바스크립트는 첫 언어로 아주 적합하지는 않을지언정 아주 유용하다. 자바는 배워둘 만하다. 배우기 특별히 어려운 언어도 아니고 인기도 계속 늘어나고 있다. 그리고 JVM은 어디에나 있다”라고 설명했다.
 

CIO의 프리미엄 콘텐츠입니다. 이 기사를 더 읽으시려면 개인정보 등록이 필요합니다. 이미 등록하신 분은 '본인확인'을 해주십시오.



2016.06.28

"개발자를 꿈꾸는 이에게…" 거물 프로그래머 5인의 커리어 조언

Paul Krill | InfoWorld

경력 측면에서 소프트웨어 개발이 그 어느 때보다도 인기다. 프로그래밍 언어에 대한 관심이 고조되고 있다. 미국 노동부 노동통계는 개발자에 대한 수요가 2014년에서 2024년까지 연 17% 증가할 것이라고 예상하는데 이는 모든 업종의 평균값인 7%보다 훨씬 빠른 속도다.

즉 학생과 비 기술 종사자들이 프로그래밍 경력을 고려하는 것은 그리 놀랍지 않은 현실이다. 하지만 지금 개발자 경력에 입문해도 괜찮을까? 입문 프로그래머들이 해야 할 일들에 대해 소프트웨어 거물들에게서 의견을 물었다.

자바스크립트 창조자 브렌단 에치(Brendan Eich), 클로져 창립자 리치 힉키(Rich Hickey), 스프링 프레임워크 고안자 로드 존슨(Rod Johnson) Npm 창립자 아이작 슐루터(Isaac Schlueter) 그리고 파이썬 언어를 만든 구이도 반 로섬(Guido van Rossum)에게서 이야기를 들어보았다. 다음은 교육 기회, 마스터해야 할 언어, 훌륭한 프로그래머가 되는 자질 등에 대해 그들이 공유한 이야기다.


Image Credit : Getty Images Bank

교육 측면
컴퓨터 공학 학위의 가치에 대한 논쟁이 뜨겁지만 프로그래밍 분야의 리더 다수는 균형 잡힌 교육과 컴퓨터 외 영역에의 학습을 강조했다.

에치는 “인생에서 가장 큰 과제는 기술로 해결되지 않는다. 그렇기 때문에 컴퓨터 말고도 역사, 문학, 예술, 다른 여러 종류의 지식을 쌓는 게 중요하다”라고 말했다.

히키는 프로그래밍을 폭넓은 관점으로 놓으며 그 의견에 동의한다. 그는 “프로그래밍은 역사적으로 아주 초창기에 불과하다”라며 “프로그래밍을 잘 해낼 수 있는 방법에 대해 섣불리 가정하기에는 너무 이르다”라고 말햇다.

그 대신 히키는 프로그래밍이 해결할 수 있는 문제 유형들을 이해하는데 도움을 얻기 위해 다른 교육적 흥미를 추구하는 것을 추천했다.

그는 “최고의 프로그래머들은 그들이 속해있는 사회에 대해 이해하고 소통하고 문제를 해결할 수 있는 이들이다. 소프트웨어는 그냥 그런 목적을 위한 도구에 불과하다”라고 말했다.

존슨 역시 미래의 프로그래머들이 컴퓨터실과 수학 이외 과목들을 탐구해서 전반적인 교육을 받아야 한다는데 동의했다. 궁극적으로 “프로그래밍은 수학보다는 사람에 관한 것”이기 때문이다.

한편 컴퓨터공학 학위를 따는데 대해서는 존슨은 “집어치워라”라고 말했다. 그는 “대부분 프로그래머들은 일하면서 배운 것을 쓴다. 훌륭한 컴퓨터 공학 교육도 가치 있지만 컴퓨터 공학 교육을 받지 않은 훌륭한 프로그래머들도 수없이 많이 봤다”라고 말했다.

반 로섬도 동의했다. “영문학과를 졸업하고도 장고 걸(Django Girls) 워크숍에 가고 그 이후 그들은 웹 개발자가 된 이들이 있다. 전통적인 4년간의 대학교육을 통해 컴퓨터공학을 전공한 프로그래머들도 물론 있다”라고 말했다.

물론 이론도 실제 세계에서 당연히 쓸모가 있다고 존슨은 덧붙였다. 그는 “어제 나는 컴퓨터공학 수업에서 배웠던 몇 가지 컴플라이어 이론을 사용했는데 이게 내가 가지고 있던 문제에 대한 깔끔하고 단단한 솔루션을 만드는데 도움이 됐다. 하지만 그런 일이 자주 있지는 않다”라고 말했다.

에치는 컴퓨터공학 이론 공부보다도 수학 공부가 더 가치 있다고 평가했다. 그는 “프로그래밍은 수학에 관한 것이 아니고 전혀 관계없는 경우도 있다. 하지만 수학적 감각이 있다면 젊을 때 수학을 공부하는 게 좋다. 프로그래밍 학습에 지나치게 신경 슬 필요가 없다”라고 말했다. 

반 로섬은 한걸음 더 나가서 “논리적 사고를 개발시키는 수학 유형”을 추천했다.

슬류터는 프로그래머가 되기 전 일반적 교육을 받을 필요가 있다는 입장이다. 그는 “인문학 교육은 고등학교 졸업 이후 4년을 훌륭하게 보내는 방법이다, 감당할 수만 있다면”이라고 말했다. 그는 이어 “인생에서 사회적 승인 하에 바보 같은 짓을 하고 놀 수 있는 시간은 다시는 없다”라고 말했다.

그의 이야기에 공감하는 이에게 슬류터는 실용적인 조언을 하나 전했다: “주립 대학은 사립 대학보다 훨씬 저렴하고 학자금 대출도 상당히 부담이 되므로 돈을 절약하기에 좋다”라고 그는 말했다. 놀아야 할 시간을 돈을 버는데 쓰지 말라는 이야기다.

슬류터는 작문 능력이야말로 훌륭한 프로그래머가 되는 핵심 능력이라고 주장했다.

그는 “대학에 가던 안 가던 어릴 때 최대한 많은 문학, 철학을 1차와 2차 소스 모두에서 읽고 최대한 많이 글을 써볼 필요가 있다. 특히 대학에 진학하지 않는다면 숙제를 과외선생을 찾아보라. 글쓰기가 바로 인터넷에서 사람들의 소통 방식이다. 더 효과적으로 글을 쓸 수 있다면 더 좋은 프로그래머가 될 수 있다”라고 강조했다.

프로그래밍 언어에 대해
프로그래밍을 하기로 했다면 어떤 언어를 먼저 고려해야 할까?

에치는 “OCaml, 하스켈(Haskell), 러스트(Rust), C++, 타입스크립트(TypeScript), JS, 래켓(Racket), 아니면 SICP로의 스킴(Scheme)” 등을 제안했다. 그는 “분명 누구도 저 언어 모두를 공부하지는 않을 것이다. 하지만 흥미와 소질을 가진 이라면 알맞은 시간과 장소에 몇 가지만 배워도 좋을 것”이라고 권했다.

히키 역시 다언어 접근방식을 제안하면서도 언어 초합 측면에서 더 철학적인 입장을 취했다.

그는 “컴퓨터가 어떻게 작동하는지를 분명하게 보여주는 언어(C)를 감싸는 언어(하스켈, 프롤로그), 통계적으로 짜인 기능적 언어(하스켈), 그리고 기능이 강조된 훌륭한 역동적 언어. 나는 클로져를 좋아한다”라고 말했다.

존슨은 대조적인 접근방식을 가진 언어들을 공부하라고 제안했다. 그는 “언어들은 프로그래밍에 대한 생각에 영향을 미칠 수 있기 때문에 한가지 이상의 각기 다른 접근방식을 가진 언어를 공부하는 게 중요하다. 그러므로 예를 들어 자바와 C# 이런 식이 아니라 객체지향 언어와 함수형 언어 같은 조합이 좋다”라고 말했다.

반 로섬은 “나는 파이썬이 공부를 시작하기 아주 좋은 언어라고 생각한다”라며 “그러면 어느 파이썬 버전이냐가 궁금할 텐데 나는 파이썬 3을 추천한다”라고 말했다.

그는 이어 “어떤 작업이나 프로젝트가 있다면 파이썬 2를 공부하기 충분히 쉽다. 만약 처음부터 시작하는 거라면 당연히 파이썬 3이 더 나은 언어다”라고 덧붙였다.

존슨은 젊은 개발자들에게 스위프트(Swift)를 공부해보라고 제안했다. 그는 “이는 훌륭한 현대적 언어로 수많은 아이디어를 담고 있다. 스위프트가 iOS에서 다른 플랫폼으로 확산될 것으로 나는 예상한다”라고 말했다.

그는 이와 함께 “자바스크립트는 첫 언어로 아주 적합하지는 않을지언정 아주 유용하다. 자바는 배워둘 만하다. 배우기 특별히 어려운 언어도 아니고 인기도 계속 늘어나고 있다. 그리고 JVM은 어디에나 있다”라고 설명했다.
 

CIO의 프리미엄 콘텐츠입니다. 이 기사를 더 읽으시려면 개인정보 등록이 필요합니다. 이미 등록하신 분은 '본인확인'을 해주십시오.

X