소프트웨어 개발 시 CI(지속적인 통합)를 제공하는 OSS(오픈소스 소프트웨어) ‘젠킨스(Jenkins)’의 인기가 치솟고 있음
Ø소프트웨어 공학에서 ‘지속적 통합(continuous integration, CI)’은 지속적으로 품질 관리를 적용하는 프로세스를 실행하는 것으로 소프트웨어의 질적 향상과
소프트웨어를 배포하는데 걸리는 시간을 줄이는데 초점을 맞추고 있음
Ø일반적으로 개발자들이 기존 코드의 수정 작업을 시작할 때 현재 코드 베이스의 복사본을 받아서 작업을 하게 되는데, 만일 다른 개발자들이 자신들이 변경한 코드를 소스 코드 저장소에 제출하면, 코드
베이스로부터 받아온 복사본은 저장소의 코드와 점차 달라지게 됨
Ø이런 상황이 반복되면 어느 시점에는 저장소가 개발자들의 베이스 라인과는 너무 많이 달라지게 되는 소위 ‘통합의 지옥’이라
불리는 상황에 빠지게 됨
Ø통합의 지옥에 빠지게 되면 작업하는 시간보다 작업 내용을 통합하는데 걸리는 시간이 더 걸리게 되어, 최악의 경우 개발자들이 자신들의 변경 내용들을 취소하고 작업들을 완전히 처음부터 다시 하는 것이 나을 수도
있는 상황이 되어 버림
Ø 2011년 ‘클라우드비즈(CloudBees)’가 발표한 ‘젠킨스(Jenkins)’는 소프트웨어 개발 시 통합의 지옥 문제를 해결하기 위한 지속적 통합(CI) 서비스를 제공하는 도구의 하나로, 소스 코드의 컴파일과 빌드, 테스트 및 품질 검사, 서버에 배포 등을 자동화 해 줌
<자료> Jenkins
[그림 1] 지속적
통합 도구 젠킨스의 마스코트
Ø젠킨스는 다수의 개발자들이 하나의 프로그램을 개발할 때 버전 충돌을 방지하기 위해 각자 작업한 내용을 공유 영역에
있는 저장소에 빈번히 업로드 함으로써 지속적 통합이 가능하도록 해 주는데, MIT 라이선스를 따르는
오픈소스 소프트웨어임
Ø젠킨스는 개발자들에게 지루한 작업을 대신 해주는 ‘집사’라는 이미지로 자리매김하고 있기 때문에, 마스코트 캐릭터는 영화에 나오는 집사처럼 나비 넥타이를 하고 있음
Ø 2011년 발표 이래 젠킨스는 꾸준히 개선되며 개발자들의 호응을 얻었고, 클라우드비즈가
지난 8월말에 개최한 ‘젠킨스 월드 2017’컨퍼런스에는
800 명의 개발자가 참여하는 등 젠킨스의 인기가 심상치 않음을 보여 주었음
클라우드비즈는 젠킨스의 인기에 대해 현재 메인 스트림 서비스 기업들이 소프트웨어 개발로 진검승부 하는 가운데
그 생산성 향상이 곧 사업의 관건이 됐기 때문으로 분석
Ø글로벌 대형 서비스 기업들이 젠킨스를 대규모로 도입, 소프트웨어 개발의
자동화에 전사적으로 임하게 된 것은 서비스 경쟁력이 지속적 통합에 달려 있다고 보았기 때문이라는 것
Ø젠킨스를 통해 소프트웨어 개발 자동화를 전사적으로 추진할 수 있게 된 것은 작년에 선보인 ‘젠킨스 2.0’에서 ‘파이프
라인’이라는 구조를 탑재했기 때문인데, 이는
젠킨스에 실행시키는 작업과 순서를 코드(프로그래밍)에 의해
기술하는 것임
Ø젠킨스 1.0까지는 사용자가 젠킨스에 실행시키는 작업을 GUI로 설정했으나, 그 내용은 젠킨스의 독자 형식 설정 파일로 저장되므로
사용자가 나중에 설정 내용이 올바로 되었는지 검증하거나 설정 내용의 변경 이력을 추적하기가 어려웠음
Ø이에 비해 젠킨스 2.0에서는 설정 내용을 코드로 관리 할 수 있게
되었으며, 깃허브(GitHub)와 같은 소스 코드 관리 도구를
이용하여 변경 이력을 관리하고 코드의 정확성을 다른 사용자가 체크하는 코드 리뷰를 실시할 수 있게 되었음
Ø클라우드비즈에 따르면 ‘파이프 라인’을 도입하여 보다 복잡한 작업의 자동화를 젠킨스에서 실현할 수 있게 되었을
뿐만 아니라, 젠킨스에서 자동화된 작업의 재사용이 가능하게 되었음
Ø과거 젠킨스를 이용한 소프트웨어 개발의 자동화는 개발자가 개인적으로 나선 것이며, 자동화 메커니즘을 다른 프로젝트에 적용하기가 어려웠음
Ø그러나 젠킨스 2.0에서는 개발자가 만든 자동화 메커니즘이 코드화
되어 그 코드를 라이브러리로 전사 공유할 수 있게 되었으며, 따라서 젠킨스의 전사적 도입이 용이하게
된 것임
젠킨스를 전사 차원에서 도입하고 있는 대표 사례는 결제 서비스 기업인 페이팔(PayPal)로
4천 명의 개발자가 이용하는 젠킨스 도입을 추진하고 있음
Ø페이팔은 현재 ‘개발자 익스피리언스 팀’을 마련해 젠킨스 도입으로 4천명
이상의 사내 소프트웨어 개발자들의 개발 경험을 전사적으로 통일하고 개선해 나가고 있음
Ø페이팔이 독자적으로 개발해 운영 중인 결제 시스템은 규모가 방대하고 게다가 수정도 빈번한데, 35,000 대의 가상 머신에서 돌아가는 이 시스템은 2,600개
이상의 서비스로 구성되어 소스 코드의 행수가 7천만 라인을 넘으며, 이중
매년 1천만 라인의 소스 코드가 수정되고 있음
Ø이러한 거대 시스템 업데이트 작업을 젠킨스로 자동화하고 있는데, 페이팔이
이용 중인 젠킨스의 인스턴스는 5천 개를 넘고, 하루에 32,000 번의 빌드 작업과 1,000 번의 배포 작업을 실시하며, 테스트 회수 만도 하루 100만 회에 달함
Ø페이팔 개발자 익스피리언스 팀의 책임자는 젠킨스가 소프트웨어 개발자에게 자유뿐만 아니라 ‘소프트웨어 개발 프로세스의 시각화’를 안겨 주었다고 말하는데, 소스 코드의
빌드, 테스트, 배포를 젠킨스가 수행하며 그 로그가 기록되기
때문
클라우드비즈는 젠킨스 2.0의 파이프 라인 실행 상황을 시각화 해주는
‘블루 오션(Blue Ocean)’이라는 도구도 OSS로 함께 공개하고
있음
Ø젠킨스 사용자는 블루 오션 도구를 이용해 빌드 작업이 다양한 환경 별로 준비되어 있는 테스트 서버에 배포가 되었는지
여부를 GUI에서 확인할 수 있음
<자료> Jenkins
[그림 2] 젠킨스
프로세스 관리 툴 블루 오션
Ø블루 오션은 사용자가 GUI에서 설정한 내용을 파이프 라인의 코드로
저장하는 기능도 갖추고 있는데, 젠킨스에 익숙하지 않은 초보 사용자도 파이프 라인의 코드를 작성할 수
있게 하였음
Ø젠킨스를 전사적으로 확장하면 다양한 스킬 레벨의 사용자가 이용하게 되는데, 누구나
젠킨스를 활용할 수 있게 해주는 것이 바로 이 블루 오션의 역할임
Ø OSS로 공개된 젠킨스의 수익모델은 리눅스와 마찬가지로 교육 및 지원 서비스에 있는데, 이번 젠킨스 월드 2017 컨퍼런스에서 클라우드비즈는 젠킨스의 로그를
분석해 사용자 기업의 개발 프로세스의 문제점을 찾아 개선 사항을 제안하는 ‘CloudBees DevOptics’를 새로 발표하였음
젠킨스의 도입은 주로 미국과 유럽 기업을 중심으로 활발히 진행 중이며, 소프트웨어
개발을 외부에 아웃소싱 하는 경향이 강한 아시아계 기업들은 상대적으로 저조하다고 함
Ø클라우드비즈에 따르면 젠킨스의 도입은 페이팔 같은 미국 기업뿐 아니라 독일의 보쉬(Bosch)와 BMW 등 유럽 기업에서 대규모 도입이 추진되고 있음
Ø반면 미국이나 유럽에 비해 소프트웨어 개발을 아웃소싱 하는 경향이 강한 아시아계 기업들은 소프트웨어 개발 프로세스를
자사에서 직접 관리하지 못하는 상황이기 때문에 젠킨스를 전사적으로 도입해 개발 프로세스를 개선하기 어려운 면이 있음
Ø게다가 소프트웨어 개발을 위탁하는 시스템 통합(SI) 업체들 역시
사내 소프트웨어 개발 환경과 개발 프로세스가 고객 기업마다 제각각이기 때문에 SI 업체 내부의 독자적인
개발 프로세스를 표준화하기도 어려움
Ø소프트웨어 개발의 생산성 향상이 곧 서비스 기업의 경쟁력으로 직결되는 상황에서,
소프트웨어를 자체 개발하는 미국과 유럽의 기업들이 젠킨스 도입을 위해 전사 차원의 노력을 기울이는 것에 비해 아시아계 기업들의 경쟁력이
더욱 뒤쳐질 가능성이 제기되는 것은 이런 이유 때문임
Ø한국의 기업들도 자체 소프트웨어 개발 생산성이 기업의 경쟁력이라는 인식 하에,
현행 소프트웨어 개발 시스템을 점검하고 경쟁력 강화를 위한 시스템 개편 필요성을 점검할 필요가 있음
앱 이코노미와 로봇 시대의 도래, 메이커 운동의 확산으로 인해 누구나 프로그래밍을 배워야 한다는 모토가 제시되는 가운데, 어린이들을 위한 코딩 교육용 프로그래밍 언어 스크래치(Scratch)’를 배포하고 있는 MIT 미디어 랩은 최근 3.0 버전에 대한 개발 현황과 향후 계획을 공개하였음. 구글과 공동 개발하는 스크래치 3.0은 ‘누구나 원하는 것을 스스로 만들어 표현할 수 있는 수단을 제공하고, 다른 사람과 협업을 통해 학습하게 한다’는 개발 목표를 보다 분명히 구현하려 하고 있음
[ 본 문 ]
◈ 지난 8월 개최된 교육용 프로그래밍 언어 ‘스크래치(Scratch)’관련 행사인 ‘스크래치 컨퍼런스 2016’에서는 차기 버전인 “스크래치 3.0”에 관한 내용이 공개되었음
• 스크래치는 MIT 미디어 랩에서 어린 아이들을 비롯해 누구나 쉽게 프로그램을 만들 수 있도록 돕기 위해 개발한 교육용 프로그래밍
언어이며, 컴퓨터 교육 관련 연구를 해 온 미첼 레스닉(Mitchel
Resnick) 교수가 개발팀을 이끌고 있음
<자료> MIT Scratch.
[그림 1] 스크래치 3.0의 주요 개발 컨셉
• 레스닉 교수는 개발팀 내부용 시제품은 올해
안에 내놓을 예정이며, 2017년 말까지 공개 테스트용 알파 버전을 내놓고 싶다는 계획을 밝힘
• 2016
년 8월말 현재 스크래치의 등록 사용자 수는 1,300만
명 이상이며, 커뮤니티에 등록된 프로젝트 수는 1,660만
개 이상이므로, 이들 자산을 승계할 수 있도록 스크래치 3.0을
개발하고 있다고 함
• 현재 스크래치는 1.4 버전과 2.0 버전이 함께 사용되고 있는데, 1.4에서 2.0으로 원활하게 전환할 수 있었던 것처럼, 2.0과 3.0으로 이행에도 무리가 없을 것으로 보임
◈ 개발팀은 구글과 공동으로 블록 프로그래밍 환경인 ‘스크래치
블록스(Scratch Blocks)’를
개발하고 있으며, 향후 공개하여 개발팀 이외 누구라도 사용할 수 있도록 할 방침
• 개발팀은 구글과 공동으로 스크래치 블록스를
개발한 후 이를 토대로 스크래치 3.0을 개발 중인데, 구글과
공동 작업한 이유는 구글의 블록 프로그래밍 환경인 ‘구글 블로클리(Google Blockly)’를 기반으로 하고 있기 때문
• 구글 블로클리를 기반으로 하지만 어디까지나
스크립트 편집 화면의 기초 기술만 채택하는 것이며, 그 이외의 부분은 스크래치 3.0의 독자적인 기술이 사용되고 있음
<자료> The Open Sourcery
[그림 2] 스크래치 2.0(위)과 구글 블로클리(아래)의 블록 프로그래밍 환경
• 향후 스크래치 블록스 공개 방침에 대해
개발팀 내부에서 스크래치 이외의 블록 프로그래밍 도구가 스크래치와 똑같은 편집 화면을 갖게 되는 것을 우려하는 의견도 있었으나, 다른 곳에서 더 좋은 도구를 만드는 것도 좋다는 생각에 공개를 결정했다고 함
• 또한 스크래치라는 프로그래밍 환경은
단지 ‘인터페이스와 조작성’에 특징이 있는 것은 아니라 ‘커뮤니티 환경을 포함’하고
있다는 점이 다른 도구와 다른 차별성이므로, 겉모습과 조작성이 유사하더라도 문제가 되지 않을 것으로
판단했다고 함
• 마치
C 언어와 비슷한 문법이 다른 프로그래밍 언어로 사용되고 있는 것처럼, 공개하고 나면 뜻밖의
사용 방법이 생길 위험이 있지만, 그럼에도 불구하고 공개에 의해 누구나 사용 가능한 도구들이 보다 확산될
경우의 전지구적 이익을 기대하는 것임
• 개발팀은 현재 레고 측에 레고 로봇
교재에서 스크래치 블록스를 채택하도록 촉구하고 있는데, 아직 레고에서 결정한 것은 아니지만 실현되기를
적극 희망하고 있음
• 아이들이 스크래치를 통해 익숙해진 인터페이스와
조작성을 사용하여 레고 로보틱스 교재를 조작할 수 있다면, 레고 외에 다른 많은 활용 처에서 스크래치의
블록 프로그래밍 환경 채택을 적극 고려하게 될 것이기 때문
◈ 인터페이스와 조작성의 확산 외에, 컨퍼런스에서 공개된 스크래치의 또 다른 목표는
모바일 장치 지원 및 유연한 소프트웨어 구조를 실현하는 것임
• 사용자 입장에서 유연한 소프트웨어 구조의 실현, 즉 모듈화는 그다지 중요하지 않을 수 있으나, 익숙한 모바일 기기에서
스크래치를 사용할 수 있게 된다는 것은 매우 중요
• 스크래치 3.0은 스마트폰의 작은 터치 패널 디스플레이에서도 사용할 수 있도록 현재 사용되는 수직 문법(블록을 세로로 연결하는 문법) 외에 ‘스크래치 주니어(Scratch Jr)’와 ‘위두(WeDo)’에서 사용 중인 수평 문법(블록을 옆으로 잇는 문법) 지원도 추가할 예정
• 그러나 두 문법에서 똑같은 작업을 하기는 어려울 것이라고 하며, 아직 블록 등을 디자인 하고 있는 단계이므로 결과는 유동적이지만, 아무래도 수직 쪽이 수평보다 더 많이 사용될 것으로 예상한다고 함
<자료> The SK Adventure
[그림 3] 스크래치
주니어의 수평 문법
• 아직 확실한 것은 아니지만 프로젝트 형식(파일
형식)도 2 종류가 될 가능성도 있는데, 단 어떤 경우든 현재의 스크래치 자산을 활용할 수 있는 포맷이 될 것이라는 설명
◈ 한편 이번 컨퍼런스에서 미첼 레스닉 교수는 스크래치를 개발한 목적을 상기시키며, 특히
아이들의 창조성과 협업 능력 증진에 기여하기를 바란다는 점을 강조
• 컴퓨터 교육 전문가로서 레스닉의 목표는 아이들이 창조적으로 생각하는 사람이
되도록 하는 것인데, 이를 위해 아이들이 컴퓨터를 사용하여 스스로 원하는 것을 만드는 체험을 하는 것이
중요하다는 생각을 가지고 있음
• 스크래치에서 중요시 하는 것은 아이들이
관심을 갖도록 유도하는 것인데, 아이들은 몸을 움직여 노는 것에 관심을 가지고 있기 때문에 스크래치
역시 몸을 움직여 만드는 것에 초점을 두고 있음
• 이는 레고가 마인드 스톰 시리즈를 판매하며
NXT-G라는 어린이용 그래픽 프로그래밍 도구를 제공하는 것과 같은 교육적 맥락임
◈ 레스닉은 단순히 ‘사용한다’는 관점이 아니라 ‘만든다’는 관점에서 컴퓨터에 접근하기를 바라며, 이를 통해 아이들이 장차 사회에 공헌하며 협업의 소양을 키우기를 기대하고 있음
[동영상] 스크래치의
아버지, 미첼 레스닉
• ‘만든다’는 관점을 중요시하는 이유는, 아이들이 장차
사회에 무언가 가치 기여를 하기 위해서는 스스로의 목소리를 가지지 않으면 안되며, 자신의
생각을 유무형의 무언가로 만들어 표현할 수 있어야 하기 때문
• 글에 비유하자면 읽기뿐만 아니라 쓸
수도 있어야 자신의 생각을 드러낼 수 있듯이, 프로그램도 잘 사용만 하는 데 그치지 않고 직접 작성할
수 있으면 자신의 아이디어를 구체화하여 전달할 수 있게 된다는 것
• 또한 최고의 학습 경험은 다른 사람과 관계를 맺고 새로운 아이디어를 공유하는 ‘사회적
학습(social learning)’인데, 이를
위해 스크래치 2.0 버전을 공유에 적합하도록 웹 브라우저에서 작동하게 만들었다고 함
• 자신이 직접 만들고 난 다음에는 다른 사람이 사용해 보게 한 후 피드백을
받아 계속해서 개선해 나가는 경험이 중요하므로, 2.0 버전에는 ‘클라우드 변수’라는
기능을 넣어 다른 프로젝트와 데이터를 공유할 수 있도록 하였음
◈ 협업 능력 증진의 관점에서 레스닉 교수는 스크래치의 다국적 언어 지원을 중요하게 생각하고 있으며, 아이들 스스로 국경을 넘어 문제를 해결해 나가도록 돕는데 중점을 두고 있음
• 스크래치는 처음부터 전세계 언어 대응을 염두에 두고 다국어 지원이 쉽도록
설계되었으며, 현재 스크래치는 각국 자원봉사자들의 번역 지원 덕분에 50개
언어를 지원하고 있음
<자료> MIT Scratch
[그림 4] 스크래치
웹사이트 한국어 지원
• 협업 지향성과 다국어 지원 기능은 글로벌 협업 환경을 낳고 있는데, 실제로 아시아의 아이들이 프로젝트를 만들고 이를 유럽의 아이들이 개선하는 일도 나타나고 있음
• 협업 과정에서 커뮤니티 내에 문제가 생겨도 아이들이 직접 해결하는 것을 목표로 하고 있는데, 가령 비영어권 아이들이 만든 프로그램이 스크래치 공식 사이트의 주요 프로젝트로 선정되는 경우 언어 소통의 문제가 발생할 수 있음
• 실제로 비영어권 아이가 쓴 설명 글에 대해, ‘영어가 끔찍하다’는 댓글들도 붙지만, ‘아시아 아이들이 영어를 모르는 것은 당연하니,
우리가 고쳐주면 된다’는 의견들이 나오고, 결국 여러 사람이 함께 올바른 영어로 수정해 가며 프로젝트를 진행하는 사례들도 있음
• 스크래치 공식 사이트는 가급적 어른이
개입하지 않고 왜곡된 정보가 올라올 경우에만 사실 전달에 초점을 두고 개입하는데, 최종적으로는 아이들
스스로 올바른 정보를 받아 들이도록 기다린다는 철학을 견지하고 있음
◈ 레스닉 교수는 연령에 상관없이 성인들도 자신의 생각을 표현하고 공유하고 싶다면 스크래치를 배우는 의미가 있다며, 어른들이 먼저 스크래치를 경험하는 것도 좋다는 입장임
• 성인들의 관심사는 주로 프로그래밍 학습을
통해 새로운 일자리를 얻거나 스킬을 늘리는 것이겠지만, 그 자체로도 좋은 일이긴 하나 그런 이유에만
한정될 필요는 없다는 것
• 인터랙티브 카드를 만들어 누군가와 교환하고
싶다는 동기라도 좋은 것이며, 스크래치의 장점인 ‘생각의 표현과 공유’라는
가치를 활용하고 싶다면 누구나 배우는 의의가 있음
• 굳이 스크래치를 두고 어린이용, 성인용을
따질 필요는 없으며, 다양한 연령의 사람들이 서로 배울 수 있다는 생각, 즉 아이들이 어른들로부터 배우는 것처럼 어른도 아이에게 배울 수 있다는 열린 사고를 갖는 것이 보다 중요한
것임
• 밖에서 뛰어 놀지 않고 아이들이 기술 환경에 노출되는 것에 대해 눈살을
찌푸리는 어른들이 많이 있으나, 야외에서 하는 행위가 모두 좋은 일인 것이 아니듯, 컴퓨터를 끼고 살아도 좋은 점이 있다는 것이 레스닉의 생각
• 가상 환경에서도 동료와 부딪혀 가며 협동을 통해 프로젝트를 진행할 수
있는 것이며, 중요한 것은 기술을 어떻게 사용할 것인가에 대한 기준을 스스로 정립하는 것이기 때문
◈ 레스닉 교수는 향후 연령에 상관없이 더 많은 사람이 스크래치를 이용할 수 있는 환경이 도래하려면, 무엇보다 스크래치 교육이 보다 용이하고 즐겁게 이루어져야 한다고 보고 있음
• 나이에 상관없이 누구나 인터랙티브 애니메이션을 만들고 싶을 때 우선 스크래치부터
시작한다거나, 가정 내의 센서를 사용해 로봇을 움직이고 싶을 때 스크래치를 먼저 떠올리게 되는 것이
스크래치 개발팀의 목표임
• 이를 위해서는 스크래치 교육이 중요할 터이며, 따라서
개발팀은 교사들이 수업 시간에 스크래치를 쉽게 사용할 수 있도록 학습 자료를 제공할 계획이며, 학교
수업 방안 외에 온라인으로 수업을 구성할 수 있는 구조 등도 적극 모색하고 있음
• 또한 스크래치 이용자 층을 더 넓히기
위해 5세부터 사용할 수 있는 ‘스크래치
주니어(Scratch Jr.)’프로젝트를 진행하고 있는데 2017년에 공개할 예정임
• 스크래치 주니어는 문자는 줄이고 아이콘을 늘리며 기능은 어린 아이들도
사용하기 쉬운 것으로 한정했는데, 특히 어린 아이들이 좋아하는 ‘이야기를 만든다’는
것에 초점을 맞추고 있음
◈ 스크래치 등을 활용한 프로그래밍 교육에 대해 일각에서는 그 효과성에 의문을 제기하는데, 이에
대해 레스닉 교수는 ‘표현 수단의 학습’이란 관점을 잊지 말아야 할 것을 강조
• 스크래치의 기본 철학은 ‘아이들에게 가르치려고 들지 말아야 한다’는 것인데, 이는 레스닉교수의 스승인 시모어 페퍼트(Seymour Papert) 교수가
제시한 ‘구축주의(Constructionism)’, 즉 아이들이 물건을 만들면서 배운다는 아이디어에 근거함
• 프로그래밍을 표현 수단으로서가 아니라
컴퓨터 과학을 배우는 학문의 일환으로 파악하는 사람들은 구축주의적 프로그래밍을 배우는 것만으로는 지식과 기술이 몸에 붙지 않는다는 비판을 하기도
함
• 또 프로그래밍 교육의 목적을 ‘논리적 사고력 증진’이라고
할 때, 과연 프로그래밍으로 논리적 사고력이 얻어 지는지, 논리적
사고력을 익히려고 한다면 차라리 수학이나 철학을 배우면 되지 않냐는 반론을 제시하는 사람들도 있음
• 이에 대해 레스닉 교수는 학문적으로 배우는 것도 중요하지만 자신의 관심
사항을 표현하는 수단으로 배우는 것도 중요하며, 어느 한쪽 만 강조할 이유는 없다고 의견
• 또한 프로그래밍을 ‘제대로’배운다면, 창조적
발상 능력뿐 아니라, 논리적 사고력도 익힐 수 있다고 설명하는데, 배움에
대한 의미를 부여하는 동기 부여 관점에서 프로그래밍이 도움이 되기 때문
• 프로그래밍 교육에 의해 환기된 학습에 대한 의욕의 향상과 학습 태도의
변화는 다른 교과에도 영향을 미치는데, 프로그래밍을 통해 ‘학습방법을 배운’아이들이 매사에 적극적으로 임하거나 실패를 두려워하지 않는 것은 흔히 볼 수 있는 현상이라는 것
◈ 레스닉 교수가 스크래치 교육의 중요성을 강조하고 있기는 하지만, 일부 국가에서 법제화하고
있는 ‘프로그래밍의 초등 의무교육 편입’에 대해서는 유보적 입장임
• 프로그래밍 의무교육화 찬성 여부는 프로그램이 어떤 형태로 수업에 적용되는지에
달려 있는데, 수업에 ‘잘 통합’되는 것이라면 찬성이고, ‘나쁘게 통합’된다면
반대라는 입장
• ‘잘 통합된다’는
것의 의미에 대해 레스닉 교수는 ‘쓰기(작문)의 학습’에 비유하는데, ‘쓰기’가 국어뿐만 아니라 다른 수업에서도 중요한 것처럼 프로그래밍도 마찬가지라는 것
• 비록 프로그래밍이라는 별도의 수업이
있다 해도, 다른 수업에서 프로그래밍을 살릴 수 있으면 더 좋은 학습이 된다는 것이 레스닉 교수의 생각
• 레스닉 교수의 생각에 대해서는, 만일 프로그래밍을 다른 수업에 ‘잘 통합’하려고 하면 교사들의 부담이 커질
수밖에 없으며, 부담을 줄이려다 보니 결국 교사가 학생들에게 동일한 내용을 일괄적으로 가르치는 수업
형태로 되어 버릴 수밖에 없다는 반론이 있음
• 이런 반론에 대해 레스닉 교수는, 이
문제는 교육학의 오랜 과제이기는 하나 혁신적 발상을 통해 반드시 풀어야 할 문제이며, 자신이라면 상급생이
하급생을 가르치는 방식을 도입하거나 학교 밖에서 강사를 찾게 하겠다는 의견을 개진
• 또한 장기적으로는 교사가 제대로 프로그래밍을
가르칠 수 있게 하는 시스템의 구축이 중요하므로, 교사들에 대한 재교육 및 강화교육이 기본이 되어야
한다고 부연
• 같은 맥락에서 컴퓨터가 아이들을 가르치면 좋겠다는 의견에도 레스닉 교수는
반대하는데, ‘제한적 성공’즉 코딩 기술을 배우는 것이 목적이라면, 컴퓨터를 이용한 학습도 유용할 것이나, 스크래치의 목표인 새로운
표현 수단과 배움을 얻기에는 쓸모 없다는 것임
◈ 프로그래밍 교육은 반드시 필요하지만, 그렇다고 해서 교육 자체가 목적이 되어
학습의 부담이 생겨서는 안되며, 무엇보다 재미를 잃게 해서는 안 된다는 것이 레스닉 교수의 조언
• 일부 국가에서는 프로그래밍 교육의 의무화가 거론되고 있으며, 민간기업들도 프로그래밍 교육에 적극 참여하고 있으나, 간혹 스크래치
교육의 목표를 ‘글로벌 ICT 인재 육성’등
편협한 범위에 한정하는 모습도 나타나고 있음
• 이렇게 접근하는 사람들은 필연적으로 교육을 통해 무엇을 이해했는지를 정량적으로
측정하는 방법은 있는지, 프로그래밍 교육의 평가방법이 무엇인지에 대한 문제로 옮겨가게 됨
• 스크래치 교육에서도 교사가 앞에 나와 아이들에게 일방적으로 지식을 가르치는
교수주의(Instructionism) 방식이 가능하지만, 만약
그렇게 된다면 정말 재미가 없을 것이며, 이는 영어 의무화 교육 등에서 이미 겪고 있는 실패한 방식임
<자료> JTBC
[동영상] 왜곡된
코딩 조기교육
• 레스닉 교수는 MIT의 교수직
평가에서도 정량적인 평가는 존재하지 않으며, 종신 고용 자격을 부여하거나 승진을 결정할 때는 해당 교수의
글과 업적, 피어 리뷰(교수끼리 상호 평가) 만으로 판단하지, 정량적 평가는 하지 않는다고 지적
• 정말 중요한 것은 정량화 할 수 없는데,
정말 중요한 것은 목적이 무엇인지 제대로 파악하는 것이며, 레스닉 교수가 생각하는 교육의
핵심은 아이들이 ‘크리에이티브 씽커(creative thinker, 창조적 발상 능력을 학습한 사람)’로 자라게 하는 것임
• 아이들이 종종 ‘어떤 작품을 만들면 높은 점수를 얻을까요’라고 질문하는데, 이럴 때 스크래치 커뮤니티의
가이드들은 ‘여러분들이 재미있다고 생각하는 것을 만드세요’또는 ‘친구가 재미있다고 생각하는 것을 만드세요’라는 답변을 준다고 함
• 스크래치 수업 평가에 대해 일부는 시험 점수를 생각하고 있지만, 스크래치 개발팀은 참여자 간의 상호평가로 갈음하고 있으며, 장기적으로
‘창의적인 생각, 체계적 추론 능력, 협력 능력’, 이
세 가지를 평가할 수 있는 방법을 어렵지만 만들어 갈 계획이라고 함
• 레스닉 교수는 스크래치의 목표는 어디까지나 ‘아이들의 표현 수단을 늘리고, 만들면 재미있겠다고 생각한 것을 실현하는
수단을 제공하는 것’임을 잊지 말아야 한다고 강조
◈ 리쿠르팅 전문기업인 다이스(Dice)가 공개한 데이터에 따르면, 2015년 미국 기술 직종의 평균 연봉은 9만 6,370달러로 데이터를 수집해 온 10년 내 가장 높은 수준을 기록
• 2015년 IT 직종의 전년 대비 연봉 인상률은 7.7.%였으며, 이 역시 최근 수년간 2%대 성장률을 기록한 것과 비교해 볼 때
이례적으로 높은 수치
• 응답자의 62%가 전년 대비 급여가 인상되었다고 답했으며, 38%는 혜택이
늘었고, 10%는 내부 승진이 있었다고 응답
• 다이스는 연봉 수준 인상의 두 번째
주요 요인으로 이직을 꼽았는데, 23%가 이직을 하였고, 이
과정에서 대체로 연봉이 인상된 것으로 나타남
[표 1] 2011~2015 미국
IT 직종 평균 연봉 및 연봉인상률 추이 (단위: 달러)
연도
2011
2012
2013
2014
2015
평균 연봉
81,327
85,619
87,811
89,450
96,370
연봉인상률
2.4%
5.3%
2.6%
1.9%
7.7%
<자료> Dice Tech Salary Survey, 2016.
08, IITP 정리
• 실리콘밸리 외에도 뉴욕, LA, 보스턴, 시애틀, 볼티모어, 미니애폴리스, 포틀랜드 등 7개
대도시 권역의 기술직 평균 연봉이 사상 처음으로 모두 6자리(10만
달러) 이상을 기록하였음
[표 2] 2015년 미국 7개
대도시권역 IT 직종 평균 연봉 및 연봉인상률 (단위: 달러)
대도시 권역
2015 연봉
인상률
대도시권역
2015 연봉
인상률
실리콘밸리
118,243
5%
시애틀
103,309
4%
뉴욕
106,263
11%
볼티모어
102,873
5%
로스앤젤레스
105,091
10%
미니애폴리스
100,379
9%
보스턴
103,675
7%
포틀랜드
100,309
10%
<자료> Dice Tech Salary Survey, 2016.
08, IITP 정리
• 또한
IT 직종의 인기를 반영하듯, 정규직 고용 외에도 계약직 일자, 보너스 금액도 2014년에 비해 모드 증가한 것으로 나타남
◈ IT 직종 중에서도 가장 인기가 높은 분야는 최근 수년간의 흐름과 마찬가지로
‘빅데이터’와
‘클라우드’였으며, 관련해서 하나(HANA), 오픈스택(OpenStack) 등이 새로 이름을 올림
• 빅데이터는 거의 모든 기업이 수집, 추적, 관리하고 있으나 빅데이터에 수반되는 여러 다양한 시스템을 관리하는 것은 쉬운 일이 아니기 때문에 빅데이터 스킬의
시장 가치는 전년 대비 16% 상승했으며, 빅데이터 직종의
평균 연봉은 2016년 8월 기준 12만 1,328달러였음
• 기업들이 클라우드를 활발히 도입하면서,
클라우드 인프라를 관리할 수 있는 인재들을 더 많이 필요로 하고 있으며, 수년 간 뜨거운
분야였음에도 이 기술 직종의 연봉은 작년에도 35% 상승하였고, 클라우드
직종 종사자의 평균 연봉은 11만 2,972달러였음
• 페타바이트급 데이터 처리에 사용되는 도구 중 하나로 스트리밍 서비스를
제공하는 기업에서 인기가 높은 ‘스파크(Spark)’전문가의
시장 가치는 1년 만에 85% 성장했으며, 스파크 기술 직종 종사자의 평균 연봉은 11만 3,214달러임
•‘카산드라(Cassandra)’는 여러 서버에 보관하고 있는 방대한
데이터 관리에 도움을 주는 오픈소스 데이터베이스 관리 시스템으로, 빅데이터가 더욱 중요해지면서 카산드라
스킬의 시장 가치는 전년 대비 23%가 상승했으며 평균 연봉은 14만 7,811달러임
•이 밖에도 마이크로소프트의 클라우드 컴퓨팅 플랫폼인 애저(Azure), 개발자들의 생산성 추적 도구인 지라(JIRA), 기업 CRM 도구인 세일즈포스 전문가, 그리고 보안 엔지니어, 네트워크 관리자, 전기 엔지니어들의 몸값도 급상승 중인 것으로 나타남