brunch

You can make anything
by writing

C.S.Lewis

by 박재성 May 09. 2020

NextStep의 Next Step - 데이터

Summary

NextStep은 지난 2년 동안 웹 백엔드 교육 과정을 운영하며 교육 모델을 안정화했으며, 교육 과정 4개, 교육자 3명, 리뷰어 20명 이상이 되었다. 웹 백엔드 교육 과정의 운영 경험을 살려 개발자, 데이터를 만나다: Python과 함께하는 데이터 분석 과정을 시작으로 데이터 분야에 도전하려 한다. 데이터 분석의 필요성을 느낀 개발자에게 실질적인 도움을 줄 수 있는 과정이 되기를 바란다.




NextStep은 개발자를 대상으로 소프트웨어 교육하는 것을 목표로 한다. 소프트웨어 교육을 한다고 해서 개발자의 역량을 키우는 것만을 지향하는 것이 아니라 교육자, 리뷰어를 양성하는 것 또한 중요한 목표로 하고 있다. 역량 있는 개발자를 키우려면 현장 경험이 풍부한 교육자를 키우는 것이 더 중요하다는 것을 믿기 때문이다. 개발자의 역량을 키우고, 소프트웨어 품질을 높이는데 코드 리뷰가 중요한 역할을 한다고 믿기 때문이다. NextStep을 통해 경험한 코드 리뷰 문화를 자신의 팀, 주변의 팀으로 전파하는 역할을 한다고 믿기 때문이다.


코드 리뷰어 양성


현재까지 설계한 NextStep의 모든 교육 과정은 온라인 코드 리뷰를 중심에 두고 있다. 클린코드를 위한 TDD, 리팩토링 with Java 과정이 현재 7기까지 진행했는데 7기까지 진행하면서 리뷰어를 늘려왔다.


1,2기는 리뷰어 없이 나 혼자 코드 리뷰를 진행했다. 혼자 15명 정도의 개발자 코드를 리뷰하는 것은 쉽지 않았다. 1:1 피드백 방식의 교육이 좋은 것은 알겠지만 교육자 한 명이 모든 피드백을 하는 것은 지속 가능하지 못하다는 생각이 들었다.


3기부터는 1,2기 교육을 들은 수강생 중에서 리뷰어를 선정해 리뷰하는 방식으로 진행했다. 이렇게 한 기수를 진행할 때마다 교육을 들은 수강생 중에서 리뷰어를 선발해 코드 리뷰를 하는 방식으로 과정을 운영하고 있다.


7기까지 운영한 결과 20명 정도의 리뷰어와 같이할 수 있는 상태가 되었다.  클린코드를 위한 TDD, 리팩토링 with Java 과정에서 쌓은 리뷰어 양성 방법을 그대로 JWP NextStep - 라이브러리 & 프레임워크 구현 과정을 설계하는데도 적용해 운영하고 있다. 교육 과정이 늘어나고, 각 과정별로 기수를 반복할수록 리뷰어는 빠르게 늘어날 것이다.


코드 리뷰어가 늘어나면서 현장에도 좋은 영향을 미치고 있다. 수강생들과 코드 리뷰를 주고받으면서 리뷰어들 또한 빠르게 성장하고 있다. 코드 리뷰를 통해 얻은 즐거운 경험 때문인지 자신의 팀, 조직에 코드 리뷰 문화를 전파하려는 리뷰어들이 조금씩 늘어나고 있다. 또는 신입으로 입사한 친구를 멘토링 하게 되었는데 리뷰어 했던 경험이 많이 도움되었다는 경험담을 공유하는 리뷰어도 있었다. 이처럼 개발자 간에 피드백을 주고받으면서 같이 성장하는 개발자들이 늘어나고 있으며, 변화를 만들어 가고 있다는 점이 인상적이다. 앞으로 더 많은 리뷰어가 배출될 텐데 그 친구들의 활약이 벌써부터 기대된다.


교육자 양성


좋은 SW 교육자를 키워라. 글에서도 언급했지만 역량 있는 개발자를 양성하려면 먼저 좋은 교육자를 양성할 필요가 있다. 풍부한 현장 경험을 가진 교육자가 필요하다. 그런데 현실은 현장 경험을 가진 교육자가 절대적으로 부족하다. 교육자가 부족한 첫 번째 이유는 교육자로 살지 않아도 현 위치에서 충분히 좋은 대우를 받고 있기 때문에 굳이 교육자로 살 필요가 없다. 프로그래밍이라는 일은 다른 일에 비해 나름 재미있다. 굳이 더 힘든 교육자로 살면서 대우도 비슷하다면 굳이 교육자로 살 필요성을 느끼지 못할 것이다. 두 번째 이유는 교육자로 살고 싶어도 시작하는 방법을 모르거나, 개발자와는 완전히 다른 길을 걷는 것에 대한 두려움을 느끼기 때문이다.


NextStep은 교육자로 살고 싶은 마음은 있는데 어디서 어떻게 시작해야 할지 막막해하거나, 개발자의 길을 버리고 교육자로 살아가는 것에 대한 두려움을 느끼는 개발자에게 용기를 주고, 내가 교육자로 살면서 쌓은 경험을 전하려 하고 있다. 


클린코드를 위한 TDD, 리팩토링 with Java 과정과 JWP NextStep - 라이브러리 & 프레임워크 구현 과정을 통해 교육 과정을 어떻게 확장하는 것이 좋을 것인가에 대한 경험을 쌓을 수 있었다. 이 경험을 발판으로 내가 아닌 다른 교육자로 교육 과정을 확대해도 되겠다는 확신이 들어 ATDD와 함께 클린 API로 가는 길 과정과 DDD(Domain-Driven Design) 세레나데 과정을 개설해 1기를 진행했다. 


두 과정을 비슷한 시기에 오픈해 진행했는데 과정이 끝나갈 즈음 코로나 19가 확산되는 바람에 많은 우여곡절 끝에 과정을 마무리할 수 있었다.






개발자로서 나의 경력 때문에 NextStep은 자바 웹 백엔드 중심으로 과정 설계를 시작했으며, 현재도 진행 중이다. 이와 같이 자바 웹 백엔드 과정을 늘려나가다 보니 자연스럽게 자바 웹 백엔드 교육 과정에 대한 전체 로드맵을 설계하고 로드맵에 따라 과정을 준비하고 있다.

NextStep을 시작한 지 2년이 되었다. 2년이 지난 지금 교육 과정 4개, 교육자 3명, 리뷰어 20명 이상이 되었다. 누군가에게 초라한 성적일 수 있다. 하지만 NextStep은 NextStep만의 고유한 교육 모델을 만들 수 있었으며, 어떻게 교육 과정을 설계하고, 교육자를 양성하고, 리뷰어를 양성해 나갈 것인지에 대한 모델을 가지게 되었다. 또한 자바 웹 백엔드 분야에 대한 로드맵이 완성되어 가고 있다. 빠르게 확장해 나갈 계획은 없다. 일반 상품이 아닌 교육이기 때문이다. 서서히 양질의 교육을 만들고, 교육자와 리뷰어를 키우며 서서히 성장해 나갈 계획이다.


지금까지 NextStep이 한 걸음씩 도전하고 전진했다면 이번에는 두 걸음 정도의 큰 도전을 하려 한다. 자바 웹 백엔드 분야에 국한하지 않고 데이터 분야에 도전하려 한다.


NextStep의 Next Step - 데이터


지금까지 NextStep 교육 과정은 내가 가장 많은 경험을 가지고 있는 자바 웹 백엔드 분야라 교육 과정을 같이 설계하고, 교육에 대한 피드백을 통해 개선하면서 지금까지 발전할 수 있었다. 자바 웹 백엔드 분야만 해도 아직 보완하고, 설계할 교육 과정이 남아 있는 상태에서 NextStep은 데이터라는 새로운 분야에 도전하려 한다. 나는 이 분야의 전문가가 아니다. 전문가가 아니기 때문에 교육 내용에 대한 확신을 주기는 힘들다. 하지만 내가 보장할 수 있는 것은 NextStep의 교육 모델을 기반으로 교육 과정을 기획하고 운영함으로써 개발자에게 실질적인 도움을 줄 수 있는 과정을 설계할 수 있다는 것이다.


첫 번째 데이터 과정을 설계하며 가장 중점을 둔 부분은 개발자에게 필요한 데이터 과정을 설계하자는 것이었다. 데이터 분야를 위와 같이 정의한다면 데이터 분석가의 관점에서 접근하는 것이 아니라 기존 일반 개발자의 입장에서 실질적인 도움이 필요한 과정을 만들고 싶었다.


개발자로 살면서 다음과 같은 생각을 해본 적 있지 않나?


쌓여있는 로그만 잘 분석해도 기능 개발을 훨씬 효율적으로 할 수 있을 것 같아

우리 팀은 회의 때 ‘이럴 것 같다', ‘저럴 것 같다'는 식의 추측성 의견이 너무 많아

데이터 분석 쪽을 알면 좀 도움이 된다는데, 주말에 알아볼까?


나도 NextStep을 통해 교육을 하면서 다양한 데이터가 쌓이는데 이 데이터를 분석해 의미 있는 결과를 찾고 싶을 때가 많다. 나와 같은 생각을 하는 개발자들이 많지 않을까라는 생각을 하다 보니 개발자에게 필요한 데이터 과정을 만들어보고 싶었다.

이 같은 기획 의도를 가지고 만들어진 과정이 개발자, 데이터를 만나다: Python과 함께하는 데이터 분석 과정이다.  

특히 이 과정이 더 의미 있는 이유는 이 과정을 맡아 진행할 친구가 NHN Next에서 스승과 제자로 만나 인연을 맺어오고 있는 김다혜 친구이다. 스승과 제자로 만나 선후배 개발자가 되고, 한 걸음 더 나아가 선후배 교육자로 같이할 수 있어 더없이 기쁘다.


이 과정은 데이터 분석의 필요성을 느낀 개발자에게 학문적인 접근보다는, 당장 내일, 더 나은 결정을 할 수 있도록 실질적인 액션을 돕는 과정으로 설계했다. 또한, 이것저것 많이 배워 뿌듯한 느낌만 얻기보다는, 배운 내용을 어떻게 쓸지 한 차원 더 높은 고민을 할 수 있도록 돕는데 주안점을 두고 있다.


이 같은 목표를 달성하기 위한 이 과정의 특징과 교육 운영 방식을 살펴보면 다음과 같다.


개발자, 데이터를 만나다: Python과 함께하는 데이터 분석 교육 특징


이 강의에서는 이렇게 학습합니다.  

실무에서 접할 가능성이 높은 유형의 데이터셋 기반으로 실습하며 현장감을 높입니다.

특징이 서로 다른 데이터셋을 분석할 때 쓰는 기법, 기술 스택 등을 다양하게 경험해봅니다.


반대로, 이렇게는 하지 않습니다.  

다량의 이론을 먼저 쭉 배운 뒤, 이론에 딱 맞는 실습을 진행하지 않습니다.

데이터 분석 관련해 배워두면 좋을만한 것들을 길게 나열하고 순차적으로 배우지 않습니다.


개발자, 데이터를 만나다: Python과 함께하는 데이터 분석 교육 운영 방식


오프라인: 클래스 전체가 하나의 데이터 분석 팀으로

정기적으로 강의장에 모여 주차별 실습의 핵심 스킬과, 인사이트를 집중 탐구합니다.
각자의 가설, 시각화 결과, 도출한 인사이트 등을 공유하며 마치 클래스 전체가 하나의 공통 문제를 해결해야 하는 실제 팀처럼 움직여봅니다.


온라인: 주차별 미션 수행과 상시 피드백 운영

매주 접할 데이터셋에 맞는 기술 스택과 이론, 분석 방법을 습득하기 위해 주차별 미션을 진행합니다.
나의 미션 수행 내용을 GitHub에 공유해 강사의 피드백을 받고, Slack을 통한 상시 피드백으로 분석 역량을 매일 키워보세요.



NextStep의 새로운 도전이 기존 개발자들이 데이터를 바라보는 생각의 폭을 넓히고, 활용하는데 도움이 되기를 기대한다.

작가의 이전글 NextStep의 Next Step - 온라인
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari