NEXT에서 코드스쿼드까지
NHN NEXT는 “일반 사용자용 소프트웨어 분야에 최적의 커리큘럼을 완성하고 최고의 인재를 양성”하기 위해 네이버에서 설립한 소프트웨어 전문인력 교육기관이다. NHN NEXT 재단은 2011년도부터 준비해서 판교 테크노밸리에 240명 정원으로 학교 공간을 만들고, 2013년 3월에 첫 신입생으로 80 여명 선발했다.
아쉽게도 2015년도 소규모 3기 학생 선발을 끝으로 더 이상 신입생을 뽑지 않았다. 학교 운영은 기존에 선발한 학생들이 복학해서 졸업하는 시점인 2017년 12월까지만 한정적인 과목을 진행했으며, 공식적으로 NEXT는 사라졌다.
“NHN보다 오래 가는 학교를 만들겠습니다”고 했던 누군가의 말은 이제 넥스트를 기억하는 사람들 기억 속에서도 사라졌다.
넥스트에서 3년동안 진행했던 교육 실험과 경험들을 공유하고, 넥스트보다 더 오래 교육하고 싶다고 다짐을 하며 2016년 <코드스쿼드>를 시작했다.
그리고 이제 넥스트에서 3년보다 더 오래 살아남았다… 😎
우리는 조금 성공했고 일부 실패했다.
창업할 당시 우리가 잘 하는 것, 익숙한 것은, 우리가 주도해서 수업하는 것이었다. 화이트 레벨라고 불러서 그런가… 정말 하얗게 불태웠다.
모두의 경험이 다르고, 선행 학습 상태가 너무 달랐다. 결국 레벨 테스트를 하게 된 이유다. 주입식보다는 학생 주도로, 강의보다는 문제해결로, 수업보다 코드 리뷰를 자주 했다.
현업 개발팀에 있을 때보다 코드 리뷰를 더 열심히 했다. (클린 코드가 뭐더라…😆)
과제 중심 콘텐츠를 반복해서 만들고, 수업 방식을 개선하고, 더 품질을 높이기 위해 반복했다.
지금 생각해봐도, NHN NEXT는 교육하려는 범위를 대학보다 더 넓고 이상적인 것을 목표로 했었다. 우리는 유료로 교육 프로그램을 운영해보니 모든 것을 교육할 수는 없었다. 입문자들의 허들을 낮춰주기 너무나 어렵고, 진성 개발 문화만 강조하는 것도 의미가 없었다. 다른 무상 교육처럼 지원금을 주는 것도 아니고 1–2년씩 길게 공부하기도 어려운 게 현실이었다.
코드 결과를 평가하지 말고 과정을 평가하자.
코드 리뷰를 하는 것은 코드 결과를 정량화하기 보다는 코드에 표현된 사고의 과정을 읽고, 추측하고, 학습 포인트를 찾는 활동이다. 경쟁을 위해서, 결과를 위해서만 목적 지향으로 학습하면, 사고의 과정이 생략된다. 더 자주 반복적으로 코드 리뷰를 통해서 구조를 개선하고, 코드 품질을 높이는 과정에서 성장한다. 레벨 테스트 과정에서도 꼭 피드백에 맞춰서 개선해보는 활동을 포함한다.
6개월만에 모든 것을 배우지는 못한다. 포기할 것 포기하자.
학습 기간과 학습 방식 분포를 나타낸 그래프를 보면, 우측에 있는 학생 주도 방식으로 교육을 운영하는 곳이 늘어나고 있다.
그럼에도 불구하고 비전공자와 전공자의 차이점은 400시간 이상 전공 과목을 학습했느냐 차이가 있다. 아무리 뛰어난 비전공자도 그 시간을 동일한 수준으로 점프할 수는 없다. 전공자가 공부한 만큼 시간투자를 하고, 전공 용어를 학습하고, 정리해야만 한다. 현실적으로 전공자와 동일한 수준으로 마스터즈 코스처럼 6개월동안 모든 것을 학습할 수는 없다. 포기하자. 다만 전공자보다 더 프로그램 구조 설계, 효율적인 코드, 유지보수가 가능한 코드 품질을 높일 수는 있다. 마스터즈 코스에서는 모든 것을 가르치지 않는다.
모두가 개발자가 될 필요는 없다. 즐거운 기술 분야와 재밌는 업무를 찾아 떠나라.
지난 3년동안 코드스쿼드에서 학습한 친구들이 모두가 개발자가 된 건 아니다. 스스로 학습하는 방식에 적응하지 못하고 1개월 만에 포기하거나 3개월 하다가 다른 길을 찾거나, 6개월 과정을 다 끝내고 본업으로 돌아간 친구들도 있다. 반면에 아주 극단적인 경우지만 누군가는 4개월 만에 취업도 했고, 다른 누군가는 18개월 후에 취업하기도 했다. 데이터를 살펴보니 평균적으로 10개월~12개월 정도 걸렸다.
개발자가 학습해야 하는 지식들, 해야만 하는 일들, 갖춰야 하는 역량이 쉽게 생겨나는 것은 아니다. 개발 분야에서도 자신이 흥미롭고, 좋아하고, 관심있고, 즐겁게 일할 수 있는 분야를 찾아야 한다. 무작정 개발자가 된다고 아무 회사나 갈 수 있는 것도 아니다.
혼자 공부하기 보다는 함께 공부하자. 경쟁하기 보다는 협력하자.
해결해야 하는 같은 문제가 있더라도 사람들은 모두 자기만의 배경 지식과 자기가 이해할 수 있는 만큼만 문제를 이해한다. 그렇기 때문에 주변 사람과 이야기해서 해당 문제에 대해 다른 사람은 생각이 다르거나 접근 방식이 다른 것을 깨닫는 시간이 필요하다. 이런 작은 충돌이 객관적인 관점을 갖고, 시야를 넓히는 데 도움을 준다.
디버깅은 문제 해결 과정에서 꼭 필요한 단계다. 소프트웨어 개발할 때 사용하는 개발 환경에 있는 디버깅 과정만 필요한 게 아니다. 자동차 정비사는 자동차를 디버깅하고, UX 디자이너는 사용성을 디버깅한다. 모든 사람은 문제를 해결하면서 오류를 범하고 오해를 하고 실수를 하고, 다시 그 오류나 실수를 찾아내서 수정한다.
학습 과정도 동일한 사고의 흐름이 이어진다. 문제를 해결하면서 수많은 실패를 경험하고, 실패를 통해 개선할 점을 찾아서 다시 학습하고 다른 방식으로 해결할 방법을 찾아간다. 다른 사람이 나와 다른 생각을 기준으로 다른 의견을 설명하면 내가 가진 생각에 대해 디버깅해야 한다.
코드스쿼드에서는 반복해서 실패하고, 리뷰하고, 피드백하고, 함께 성장한다. 그렇게 함께 성장할 건강한 사람들이 모여있는 학습 커뮤니티를 만들어가고 있다.
기업 교육과 팀 프로젝트 설계
지난 3년동안 타임라인을 살펴보면, 여러 소프트웨어 기업들과 협력해서 새로운 교육 프로그램을 설계해 왔다.
기업들이 원하는 교육 프로그램은 기간이 정해져 있고, 정해진 기간 동안 회사에서 일하는 방식에 익숙해지기를 바란다. 그래서 필수적으로 팀 프로젝트를 하며 회사에 필요한 무엇인가 찾아서 만들기 기대한다. 팀 프로젝트에서 탐험하거나 발명하고 아이디어를 찾기를 기대한다. 팀 프로젝트를 기반으로 하는 신입(또는 인턴) 교육 프로그램을 설계할 때는 밸런스가 가장 중요하다.
밸런스는 다음과 같이 세 가지 측면에서 고려해야 한다.
1) 팀 빌딩과 의사소통 어떤 성향의 사람이 모이더라도 팀 빌딩은 중요하다. 모두의 관심사가 일치할 수도 있지만, 각자 다를 수도 있다. 특정 주제에 대해 이야기하고 선택하기 위해서는 리더의 역할이 필요하기도 하다. 의사 결정을 하려면 솔직하게 자신의 의견을 제시하고 다른 사람을 설득하거나, 반대로 내가 설득을 당하거나 해야 한다. 단지 할 일을 나눠서 분업하고 합치는 방식보다는 누가 어떤 일을 어떻게 하는지 모두가 이해하고 협력할 수 있는 협업 소통을 권장해야 한다. 선발 과정부터 팀 빌딩을 고려해서 다양한 배경을 가진 사람을 팀에 배치하는 방법도 있다.
2) 배경 지식과 기술 지식 프로젝트를 진행하기 위해서는 최소한 배경 지식과 기술 지식은 맞추는 게 좋다. 신입 사원은 회사에서 정한 기준에 부합하고 난 후에 교육을 시작하는 경우가 많다. 그럼에도 불구하고 분야별 기술 지식이나 기초적인 지식을 공통 교육으로 진행한다. 공통 교육으로 진행하는 내용은 회사 조직 구성이나 선발한 직군별 인원수에 따라 크게 달라진다. 최근에는 데이터 분석에 대한 공통 교육 요구사항이 많아졌다.
3) 개인의 성장과 팀의 성장 팀 프로젝트를 하면서도 팀원 개인과 팀 모두 프로젝트 활동을 하면서 성장해야만 한다. 개인 역량이 좋은 팀원을 모아 놓는다고 팀이 성장 하지는 않는다. 팀 빌딩 과정이나 협업 과정에서 서로 다름을 인정하지 못하면 팀 성장을 포기하고 개인의 성장만을 위한 선택을 하기도 한다. 팀의 성장을 위해서는 팀원 모두가 같은 방향을 바라볼 수 있도록, 기획, 관리, 회고 활동을 권장한다. 함께 성장해야만 개인도 성장할 수 있다는 것을 깨닫게 해야 한다.
기업 교육을 위해서 언제든지 문의해주시기 바랍니다 🙌
온라인과 오프라인 교육의 교차점
이제 오프라인 중심 교육에서 다음 단계로 온라인+오프라인 교육의 교차점에 서있다. 온라인만 혹은 오프라인만으로는 교육 품질을 높일 수 없었다. 올해는 오프라인 교육을 돕는 온라인 교육시스템을 직접 개발하고 있고, 2020년부터 도입할 예정이다.
마스터들 한 마디…
“개발자가 되고 싶었는데 어쩌다 보니 교육의 길을 가게 되었고, 그러다 보니 또 창업을 해서 3년이 흘렀습니다. 부족한 실력으로 3년이라는 시간 동안 잘 지낼 수 있었던 이유는 전적으로 같이 일하는 동료들 덕분입니다. 버리고 온 전 회사 주식이 너무 많이 올라서 가끔 밤잠이 안 오긴 합니다만. 처음 창업할 때 큰 도움을 주신 K사 관계자 분들, 먹고 살기 위해 치열하게 고민하고 노력하는 회사 동료들, 3년간 함께 공부해 준 코드스쿼드 수강생들 모두 잘 되면 좋겠네요. 그리고 마지막으로 솔직하게 한 마디 하자면 코딩 공부 너무 어려운 것 같습니다…” - HONUX
교육은 즐겁고 뿌듯한 일입니다. 하고 싶은일을 한다는 것은 당연히 행복한 것이죠. 저에게 3년은 그런 시간이였네요. 그리고 고민은 저의 삶이 되버렸습니다. 🤔 더 좋은 교육과 방법은 무엇인지? 회사는 어떻게 하면 안 망하는지? 건강은 어떻게 챙기는지? (아재개그를 어떻게 발전시킬지?) 교육방법은 왜 하면할수록 더 어렵기만 한지 모르겠습니다. 숱한 고민을 하면서도 도돌이표처럼 반복만 하는 것은 아닌가 싶기도 하고요. 다행히 주변에 너무나 훌륭한 동료들이 있어 계속 깨달음을 얻고 같이 고민을 즐기는 중입니다. 3년이후는 어떨지, 흥미진진 기대됩니다. 앞으로 지켜봐주시고 많이 기대해주세요! - CRONG
2017년 처음 시작할 때 같이 학습했던 친구들부터, 2019년 학습한 친구들까지 5명이 모두 한 팀에서 일하는 회사가 생겼습니다.그냥 3년이 지나간 것은 아닌가 봅니다. 🤣 저를 포함한 모든 동료들은 오늘도 도전하고 실수를 반복하면서 성장하고 있습니다. 앞으로 3년은 학생들과 온라인과 오프라인에서 가까이 다가가는 교육 시스템을 만들어가겠습니다. - JK