brunch

You can make anything
by writing

C.S.Lewis

by 박용권 Dec 01. 2019

스프링러너, 벌써 일 년

나는 지난 일 년간 무엇을 얻었을까?

2018년 12월, '스프링러너는 왜 시작했나?'를 통해 스프링러너를 시작하게 된 계기를 적어두며 일 년 후 무엇을 얻었는지 반추해보기로 했다. 시간이 흘러 어느새 2019년 12월이 되었다.


지난 일 년


나는 지난 일 년간 스프링러너에서 'Mastering Spring Web 101 Workshop'을 운영했다. 3번의 비공개 워크숍과 6번의 공개 워크숍을 진행했고, 총참가자는 69명이다. 


나는 자바와 스프링이라는 도구를 잘 사용해 소프트웨어를 만드는데 도움이 될 수 있는 훈련 과정을 만들고자 했다. 그래서 책 또는 동영상 강의 등을 통해 얻을 수 있는 부분은 과감하게 버리고, 자바와 스프링이 제공하는 웹 기술을 폭넓게 사용해 하나의 웹 애플리케이션을 만드는 과정을 경험할 수 있도록 정교하게 설계하고, 소규모 워크숍(Workshop)을 통해 참가자들이 따라올 수 있도록 만들었다.


이 워크숍은 두 가지를 제공한다. 하나는 실무에서 사용되는 스프링 웹 기술 사용법과 응용법이다. 나는 14년간 엔터프라이즈 애플리케이션을 개발해 왔고, 지금도 하고 있다. 그중 가장 많이 다룬 게 스프링 기반 웹 애플리케이션이다. 그 경험을 바탕으로 실무에서 사용되는 스프링 웹 기술을 신중하게 선정해 과정에 녹였다. 다른 하나는 특정 구현 기술(자바와 스프링 등)과는 무관하게 웹 애플리케이션(또는 애플리케이션)을 개발할 때 필요가 있는 지식이다. 대표적으로 소프트웨어 아키텍처가 있다. 시간상 깊이 있게 다루지는 않지만, 개발 과정에서 반드시 고려해야 하는 부분을 짚고 코드를 작성해본다.


2018년 11월부터 2019년 1월까지 약 3개월가량 과정을 준비하며 3개의 비공개 워크숍 통해 다듬었다. 이후 2019년 2월 1기를 시작으로 지난 11월에 6기를 운영했다. 과정을 운영하는 동안 말이나 코드로 전달하기 어려운 부분, 그리고 과정 종료 후 복습 시 볼 수 있는 참고 자료로 '스프링 웹 프로그래밍 배우기'를 작성했다.


훈련 과정이 끝나면 항상 참자들에게 피드백을 받았다. 피드백을 바탕으로 지난 일 년간 좋았던 점과 아쉬웠던 점을 간단히 정리해보았다.


좋았던 점

훈련 과정에서 배운 내용을 바탕으로 실무에서 활용해보겠다는 참가자, 백엔드(Back-end) 개발 과정 전체를 경험했다는 참가자, 스프링이 제공하는 기능을 스텝 바이 스텝으로 배우며 동작을 이해할 수 있었다는 참가자, 모르는 건 바로바로 질문을 통해 해결할 수 있었다는 참가자까지 훈련 과정을 통해 얻거나 좋았던 점들을 알 수 있었다.


나는 무엇보다 워크숍을 진행하는 동안 참가자들의 눈을 보고, 보조를 맞춰 한발 한발 함께 내딛는 그 과정이 좋았다. 기수별 특징에 따라 과정을 전개하는 방식도 조정할 수 있어 재미도 있었다. 오프라인을 고집하는 이유이기도 하다. 나는 건너편에 누가 있는지, 상태는 어떤지 모르는 상황에서 단방향으로 지식을 전달하는 온라인에서 매력을 찾지 못했다. 스스로가 학습해온 방식이 오프라인 중심이라서 더 그렇게 느끼고 있는지도 모른다. 참가자의 상태를 중간중간 점검하고, 완벽하게 이해하지 못하더라도 훈련 과정을 끝낼 수 있도록 도와주는 오프라인 방식이 나에게는 큰 즐거움을 준다.


아쉬웠던 점

피드백 중 아쉬운 점을 추슬러보면 "16시간 동안 집중해 과정을 따라가려니 체력적으로나 정신적으로 힘들다. 그리고 빠른 진행으로 배운 걸 소화할 수 있는 시간이 너무 적다."이다.


나도 무척 공감되고, 스스로도 아쉬운 점이다. 그래서 워크숍을 진행할 때마다 참가자들의 컨디션 유지에 매우 공을 들이고 있기도 하다. 다루는 내용이 적지 않은데 주어진 시간이 짧다 보니 고민스럽다. (16시간이 짧은 건 아니지만, 다루는 내용이 적지 않다는 게 함정이다.) 훈련 과정을 재검토해보니 여유를 두고 전체 내용을 충분히 다루려면 21시간 정도가 필요하다는 계산이 나왔다. 이해를 도울 수 있는 이론을 보충하다 보니 내용이 풍부해져 버린 것이 그 이유이다. 이를 압축해 진행하니 참가자가 부담을 느끼는 것이다. 


부담을 덜어내고, 참가자가 더 유익한 시간을 보낼 수 있도록 지속적으로 방안을 모색해보는 중이다.


앞으로 뭐하지?


나는 자바와 스프링이라는 도구가 유용하게 쓰였으면 한다. 단순히 도구로써 잘 사용하기를 바라는 것이 아니라, 이 도구들을 통해 쓸모 있는 소프트웨어를 만들 수 있기를 기대한다.


스프링러너를 만들며 기대했던 것이다. 지금으로선 유용한 소프트웨어가 만들어졌는지는 모르겠다. 하지만 도구를 잘 사용할 수 있도록 토대를 다져주는 훈련 과정은 만들어낸 것 같다.


함께 스프링러너를 꾸리고 있는 동료가 스프링부트(Spring Boot)를 주제로 두 번째 과정을 준비하고 있다. 그리고 나는 클라우드 네이티브(Cloud Native)를 주제로 세 번째 과정을 조금씩 구상해보기 시작했다. 이를 통해 토대 위에 소프트웨어를 쌓을 수 있도록 해보고자 한다.

매거진의 이전글 [번역] 왜 다음 모바일앱은 React Native ?
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari