소프트웨어를 진로로 선택한 자녀를 둔 학부모와의 대화
아이가 소프트웨어를 하겠다고 하면 아직도 많은 부모들은 걱정부터 든다. 이런 부모님들을 위해 국민대학교에서 학부모 간담회를 마련했다. 개인적으로는 이런 행사를 예전부터 가지고 싶었으나, 기회가 잘 만들기가 쉽지 않았던 차에, 국민대학교가 OSS (Open Source Software) 개발자 포럼과 방학 때마다 진행하는 청소년 소프트웨어 캠프의 부대행사로 학부모 간담회가 진행되었다. 이번 간담회는 2017년 1월 5일~8일 열린 겨울 캠프의 첫날인 1월 5일, 점심 식사와 함께 진행되었으며, 온오프믹스를 통하여 캠프 참가 학생 가운데 원하시는 부모님 뿐만아니라 일반 학부모, 교사 등 누구나 참석 신청할 수 있도록 하였다. 결론적으로 간담회에는 총 30명 가량의 부모님들이 참석하였다. 어머니가 주로 오실 것으로 예상했으나, 아버님들도 꽤 많이 오셔서 소프트웨어 교육에 대한 높은 관심을 보여주셨다.
간담회는 입시설명회가 아니기 때문에 비교적 여유로운 분위기에서 진행되었다. 우선 내가 소프트웨어 진로 선택이 그리 나쁘지 않을 수도 있다는 설명을 다음 슬라이드로 하였다.
위 슬라이드는 [여기]에서 다운로드할 수 있다. (6번 슬라이드의 OECD 국가들의 평균 근로시간 그래프가 있는데, 이 그래프를 어떤 신문에서 인용했으나, 한국의 근로시간은 잘못된 값으로 확인되었습니다. 하지만 맥락을 이해하기 위하여 그냥 두었으며. 실제 OECD 평균 근로시간 통계는 [여기]에서 찾을 수 있습니다.)
설명에서는 주로, 소프트웨어 산업이 어떻게 바뀌어 왔는지, 최근에 소프트웨어에 큰 무게가 실리는 이유는 무엇인지, 그 결과 소프트웨어 교육이 왜 중요하고 무엇을 가르치려하는지, 소프트웨어 개발이라는 것이 무엇이고, 개발자가 가져야할 역량은 무엇인지를 이야기하였다. 물론 결론은, 우리의 자녀들이 소프트웨어 진로를 선택하거나, 소프트웨어 개발에 시간을 많이 쓴다 해도 별로 걱정할 필요가 없다는 생각을 하셨으면 좋겠다 것이며, 오히려 자랑스러운 일이 될 것이라는 내 소박한 바램이자 믿음을 전하려고 노력하였다.
한 시간 정도의 설명이 끝나고 한 시간 반 이상 질의 응답이 이루어졌다. 어떤 부모님은 본인이 소프트웨어 개발에 종사하셨거나 지금도 개발을 하고 계시다고 하셨으며, 다른 부모님들에게 팁을 주시기도 하셨다. 다음 내용은 주요 Q&A이다. 혼자 Q&A를 했던지라.. 잘 모르거나, 확신이 없는 대답도 조금 있었음을 양해 바란다.
Q1 : 조카가 심리학을 전공하고 싶어함, 고2인 조카에게 코딩 교육에 대한 중요성을 아무리 얘기해도 이해하지 못함, 어떤 연관성으로 추천을 해야 조카에게 이해시킬 수 있을지
A : 심리학과에서는 통계적 방법론이 많이 사용되고 있음. 즉, 통계 소프트웨어 도구를 잘 이용하거나, 어떤 상황에서는 데이터를 모으고 정리하여, 유의미한 결과를 얻기 위하여 새로운 방법론이 사용되는 경우, 프로그램의 작성이 필요할 수도 있음. 심리학이나 특정 전공 분야에 관심이 있다면 그 분야의 문제를 해결하는데 사용되고 있는 소프트웨어, 또는 소프트웨어적인 방법론에 관한 자료를 인터넷에서 많이 찾을 수 있고, 그 결과를 확인하는 것은 소프트웨어 또는 코딩 교육에 대한 중요한 동기가 될 수 있음.
Q2 : 개발자가 많이 부족하다고 말했다. 해마다 매우 많은 소프트웨어 전공 졸업생이 배출되는데 언제쯤 수요와 공급이 역전될거라고 생각하는지
A : 현재 산업의 발전 방향을 보면, 개발자의 공급이 수요보다 더 많아지는 시점은 가까운 시기에는 오지 않을 것으로 예측됨. 더 많은 제품, 서비스, 산업이 점점 더 소프트웨어에 의존하고 있기 때문에 지속적으로 더 많은 개발자가 필요함. 일부 학생들은 대기업이나 이름이 알려진 소프트웨어 업체에 취업을 하려고 준비하고 있고, 대기업 취직에 실패하는 경우 휴학이나, 졸업 유예를 하는 경우가 있으나, 그런 회사들은 요즘에 신입 개발자를 거의 뽑지 않음. 부모님들에게도 이름이 잘 알려진 큰 회사에 가면 좋으나, 현실적으로는 좋은 스타트업, 중소기업에서 잘 배우는 것이 더 바람직한 경우가 많음. 이를 위해서는 학생, 학부모 모두 회사를 보는 눈을 키워야 함.
Q3 : 아이가 소프트웨어 관심이 있는데 하루에 한시간 정도 코딩에 시간을 쓰며, 모 고등학교에서 운영하는 영재원에 다님. 개발자로서 대학을 졸업하지 않아도 기업에 갈 수 있는지
A : 아마도 학벌(대학이름)은 지금의 교육체계에서 고등학교 교육을 접하는 학생의 성실성을 확인하기 위한 것임. 이제 소프트웨어 개발자에게 대학의 이름, 특히 대졸 여부는 큰 의미가 없어지고 있음. 고졸 신입으로도 대졸 신입 연봉을 능가하는 연봉을 받는 개발자 사례도 적지 않음. 아직도 대기업과 큰 중소기업들은 이해할 수 없는 수준의 학력별 임금 편차가 존재하는 것도 사실이지만, 그런 회사도 입사 때만 그런 조건이 적용될 뿐, 1~2년 지나면, 또는 그 경력을 가지고 회사를 옮기면 평가에 따라 그에 역량에 합당하는 연봉을 받게 됨. 시장에서는 소프트웨어 개발자가 절대적으로 부족하기 때문에 회사가 저임금으로 역량있는 개발자를 묶어둘 방법이 없음.
Q4 : 중학교 1학년 여자아이인데, 진로를 찾다가 IT쪽을 해보고 싶다고 함. 아이가 특성화 고등학교를 가고싶어 하는데 소프트웨어 특기자 전형으로도 대학을 진학할 수 있는 비율이 어느정도 되는지
A : 대학마다 (수시) 입시는 차이가 많아서 일반적으로 이야기하기는 어려움. 특성화고 졸업생을 위한 별도의 전형을 유지하는 대학은 줄어들고 있는 것으로 보임. 하지만 특성화고의 경우, 자신이 갅ㄹ히 원하는 것을 훨씬 더 잘 할 수 있는 환경으로 수시 입시에서 유리한 측면도 많음. 국민대학교의 경우, 입학사정관 전형의 경우 특성화고 학생들의 지원이 증가하고 있으며, 실제 합격하는 경우도 많음.
Q5 : 나이가 있는 사람이 이직을 하거나 새롭게 소프트웨어 분야로 접근할 수 있는 세부 분야가 어떤 것이 있는지
A : 기술과 시장 그리고 본인의 취향을 분리하여 이야기 해야하고 사람마다 편차도 매우 큼. 보통 기술적으로는 시스템 분야가 애플리케이션 분야보다는 어렵다들 많이 함. 프로그래밍 언어는 보편적으로 파이썬이 비교적 쉽게 배울 수 있음. 전혀 상관이 없는 전공이었다면 스크래치와 같은 도구로 과연 코딩이라는 것이 어떤 것인지 맛부터 보는 것이 필요할 수 있음. 보통 소프트웨어를 공부하는 단계는 언어를 가장 먼저 배우고, 데이터라는 것을 구조적으로 이해하는 과정, 운영체제와 라이브러리를 활용하고 그런 것들도 누군가에 의해 만들어진 소프트웨어라는 것을 이해하는 과정, 알고리즘을 바탕으로 효율적인 소프트웨어를 만들어내는 과정, 많은 데이터에서 어떤 인사이트를 얻어내는 과정을 겪으며 소프트웨어를 배우게 됨. (이 과정은 [소프트웨어 배움의 단계]에 자세한 설명이 있음)
Q6 : 고1 아들이 소프트웨어에 관심이 있는데 특기자 전형을 준비하려면 코딩 수준이 신입 개발자정도 되야한다고 들었는데 어느정도 수준이 되어야 특기자 전형으로 들어올 수 있는지
A : 고등학생이 소프트웨어에 시간을 쓸 수 있는 한계가 있기 때문에, 그렇게 해주면 좋겠지만, 아마도 대학에서는 대학 입시 시점에 엄청난 무언가를 만들었을 것이라고 기대하지 않음. 어떤 문제를 소프트웨어로 해결했고, 그 과정에서 어려운 점은 무엇이며, 그 해결 과정에서 무엇을 배웠는지가 중요함. 어차피 공부는 스스로 해야하는 것이기 때문에, 대학들은 잘 배우는 학생을 가장 선호함. 이를 위해서는 과제가 아닌 자기 프로젝트를 하는 것이 중요하고, 자신이 만든 결과물을 Github과 같은 곳에 공개하고 Google Play에 올리거나, 자신의 주변에라도 소개하여 피드백을 받아보는 것이 중요함. 실제 입시 전형과정에서는 면접때 아주 짧은 시간의 질의 응답만으로도 지원학생의 소프트웨어 개발 경험에 관한 열정과 진정성을 확인할 수 있음. 이 과정에서 자기소개서는 매우 중요하며 [자기소개서 쓰는 법] 글이 도움이 될 것임
Q7 : 대학을 안 갈 수는 없으니 수학 등 다른 교과목의 공부도 해야하는데 아이는 프로젝트들을 많이 하고 싶어함. 현실적인 문제인데 어떻게 해야하나
A : 정답은 없음. 그런데 우리가 봤던 학생들은 대부분 다 알아서 잘 함. 장기적으로 봤을 때 그냥 하고 싶은 것을 하게 놔두는게 더 좋지 않을까 싶음. 다만 쉬운 프로젝트라도 끝까지 해보는 것이 중요하며, 자신이 뭘 하고 있는지, 그 프로젝트에 얼마나 시간을 쓰고 있고, 결과를 만드는 과정에서 뭘 배웠고, 그 결과물이 무엇이면 어떻게 평가를 받고 있는지를 기록하게 하는 것이 중요함. 그 다음 그 기록을 펼쳐놓고 스스로 생각해서 과연 이것이 내가 하고 싶었던 것인지도 다시 생각해보고, 부모님과 이야기 해보면 더 효과적이면서도 효율적으로 시간을 보낼 수 있을 것으로 생각됨.
Q8 : 개발자들이 많이 모여서 소통하는 커뮤니티가 어디인지 궁금
A : 지금은 페이스북 그룹을 통해서 커뮤니티 모임이 생각보다 많이 이루어지고 있음. 국민대학교와 캠프를 같이 진행하는 OSS 개발자 포럼이 우선 첫번째 커뮤니티가 될 수 있고, 거기에서 다양한 커뮤니티를 찾을 수 있음. 또 [온오프믹스]에서 주요 관심사를 키워드로 검색하면 관련 커뮤니티 모임을 어렵지 않게 찾을 수 있음. 지금은 커뮤니티가 잘 되고 있는 시기이며, 많은 사람들이 다 경험했기 때문에 처음 오는 친구들을 어떻게 대해 줘야하는지도 잘 아는 편임. 그래서 낯선 커뮤니티에 처음 간다해도 예전만큼 뻘쭘하지는 않음.
Q9 : 요즘 대학에서는 어떻게 실습을 하는지, 실습 환경이라던지, 궁금
A : 학교마다 다르겠지만, 국민대학교는 기본적으로 리눅스 환경에서 모든 수업과 실습이 진행됨
Q10 : 대학에서 필수적으로 가르치는 언어가 무엇인지
A : 시장에서는 게임 클라이언트쪽에서는 주로 C#, 서버쪽은 C++, 웹서비스는 Java, JavaScript가 많이 사용되고 있음. 또 모바일에서는 Java, Swift 등이 사용됨. 그리고 모든 분야에서 Python이 풍부한 라이브러리 덕에 많이 사용되며, 비교적 배우기도 쉬어서 전공, 비전공 구분없이 여러 대학들이 1학년때 첫번째 프로그래밍 언어로 가르치고 있음. 소프트웨어 전공학과에서는 Java, C++ 등 언어를 가르치는 수업이 한두개 더 있으며, 다른 많은 언어들은 학생들이 필요에 따라 스스로 배우게 됨. 한 가지 프로그래밍 언어에 익숙해지면, 다른 언어는 비교적 수월하게 배울 수 있으며, 실제 소프트웨어 개발자들은 프로젝트에 따라 새로운 언어를 배우는 경우가 많고 여러 프로그래밍 언어를 사용할 수 있음.
Q11 : 공학인증제도에 대한 의견
A : 공학인증 제도는 공학 교육을 성과 중심적으로 체계화하는 장점이 있으나, 학습 부담이 좀 많아서 학생들 교수들 사이에서도 찬반론이 있음. 소프트웨어 분야는 공학인증체계가 학생들에게 부담이 다소 적어지도록 구성 되어 있고, 거기에 더하여 국민대학교를 포함한 여러 학교들이 공학인증 요건을 만족하면서도 꼭 필요한 내용만을 담아내는 커리큘럼을 만들려고 노력하고 있음
Q12 : 파워포인트, 한글 등을 가르치는 것에 대한 교수님의 생각
A : 업무 생산성을 높이는 소프트웨어 도구는 배워두면 좋지만, 학원에 다니면서 ITQ 등 자격증을 따야할 필요까지는 없다고 생각함. 그런 자격증과 소프트웨어 개발 능력과는 상관 관계도 별로 없음.
Q13 : 소프트웨어 분야를 추천은 하는데 공부를 많이 해야 해서 기피도 한다. 이런 것에 대한 의견 궁금
A : 실제로 기술이 빠르게 변하기 때문에 학습을 지속적으로 해야하는 분야임. 학교에서는 높은 학점을 얻기 위한 공부가 중요한 것이 아니라, (개인) 프로젝트 때문에 힘들어야 실제로 개발자로 나가서도 재미있게 개발을 할 수 있음. 취업 후에도 업무에 재미를 느끼고, 더하기 위하여 새로운 것을 공부해야함. 한번 배운 것 가지고 평생 써먹을 수 있는 직업이 많지도 않지만, 그런 직업 중에 직업 안정성(Job Security)이 높은 것이 있는가? 아마 소프트웨어 개발보다 더 재미있고 창의적으로 오래동안 유지할 수 있는 직업은 거의 없을 것.
Q14 : NCS와 현재 커리큘럼이 어느 정도 비슷한지, 실제 업무와 맞춰서 커리큘럼이 진행되는지
A : 소프트웨어 업계에서는 SI분야(전산화 업무를 주로하는 영역)를 제외하고는 소프트웨어 개발자를 등급으로 구분하는 NCS를 신뢰하지도 않고 그 체계에 맞춰서 교육을 하는 대학도 거의 없음. 소프트웨어 분야는 자격증이 통하지 않는 분야임. 소프트웨어 분야에서 NCS는 개발자를 등급화 하여 임금을 차이를 두고자 함이 중요한 목적 가운데 하나라고 개인적으로 생각하는데, 아주 빠르게 발전하는 분야에 그런 등급화 과정이 큰 의미를 가지지 않음
Q15 : 대학의 소프트웨어 교육에 코딩 위주의 교육이 맞는건지, 소프트웨어 소양 교육도 필요하다고 생각하는지
A : 대학 수준에서는 소프트웨어 소양(Computational Thinking, 계산적 사고, 소프트웨어적 소통 능력)도 중요하지만 모든 전공에 소프트웨어 교육은 코딩 경험이 중요하다고 개인적으로 생각함. 소프트웨어가 세상의 거의 모든 문제에 대한 최고의 문제 해결도구이기 때문에, 모든 전공에서 코딩을 통한 문제 해결 경험은 향후 각 전공 영역에서 학습, 연구, 협업 등에서 큰 도움이 될 것임.
* 간담회에 참석해주신 부모님들에게 감사드린다. 더 다양한 질문에 대하여 권위있는 답을 드릴 수 있도록 여러 전문가들을 모시는 간담회가 필요함을 느꼈다.
* 이 질의 응답 내용은 국민대학교 컴퓨터공학부의 장명규 학생이 현장에서 정리하였으며, 더 명확하게 답을 전달하기 위하여 약간의 수정과 보완을 하였다.
*
'소프트웨어 이야기' 카테고리의 다른 글
아이폰 6+ 배터리 관찰 (0) | 2018.01.07 |
---|---|
해피하지 않은.. 해피머니-YES24 (5) | 2017.02.19 |
스타트업의 임금 (4) | 2016.11.15 |
10월, 소프트웨어에 물들다. (2) | 2016.09.10 |
오픈 소스와 메이커 / 하드웨어 (1) | 2016.07.27 |