본문 바로가기

이생각 저생각

NHN 신입사원 교육 후기 (TDD교육과 팀 프로젝트)

NHN도 신입사원 교육을 합니다. 꽤 적지 않은 기간 교육을 시키죠. 이번 신입사원 차수의 경우에는 작년 하반기에 인턴으로 이미 일을 했던 신입들입니다. 처근 저는 후반기 SW엔지니어링 교육 과정들 중에서 테스트주도개발(TDD)과정과  팀 과제 지도 강사로 참여했습니다. 어제 과제 발표를 마지막으로 이번 차 수에서의 제 역할은 끝났습니다.

간단한 후기를 남겨 봅니다. 

- 27명, 한 반 이었고 여자는 1명이었습니다. (남고 분위기?)
- 역시 신입은 신입이라 그런지 풋풋합니다. (예외는 있음. 미안~ㅋ)
- 무엇보다 놀라점은 TDD로 만들어낸 팀 프로젝트의 단위 테스트 케이스 수준이 전반적으로 굉장히 우수합니다.
(제가 잘 가르쳐서 그런거라고 믿고 싶어요.ㅎㅎ) 기존 선배들은 긴장 좀 해야 할 것 같습니다.
- 소감 발표때 TDD가 도움이 되고 참 좋다는 걸 알게되었다는 이야기가 많았습니다. 
- 그리고 마음이 급해지니까 어렵다는 이야기도 많았고요.
- 교육 끝나고 '차장님, 감사합니다'라고 보낸 어느 신입의 문자에 저도 고마운 마음이 들었습니다.

추가로, 팀 과제 진행 환경을 살짝 이야기 하면

- UI는 없이 엔진만 개발
- 설계 방식과 개발 방식은 가이드를 해줌
- 요구사항을 제공하고 기능목록부터 작성하도록 함
- 적지 않은 스트레스 환경과 시간압박 상황하에서의 대처능력을 요구했음 
- Hudson CI 서버를 구축해서 복잡도와 테스트 케이스 깨짐에 대해서 지속적으로 모니터링 하도록 유도함
- 개발환경은 이클립스, Maven, EclEmma, CheckStyle, Subversion (subclipse, subversive는 알아선 선택)

[팀 과제 결과 발표하는 모습]

(본인들은 정작 잘 모르겠지만) 이번 신입들은 제 기준으로 봤을 때 가장 발전되고 적지않은 기간동안 연마된 TDD Best Practice들을 배웠습니다. 살짝 부연설명을 하자면, 제가 TDD실천법과 도구라는 책을 출간한 것이 2010년 6월입니다. 그리고 그 책을 쓰기 위해 1년여의 시간을 들였기 때문에 실제적으로는 지금으로부터 2~3년전의 '저의 지식'을 담고 있습니다. TDD라는 것이 특별히 유행을 타거나 최신기법이 필요로 하는 부분은 아닙니다만, 시간은 흘렀고 저도 경험이 늘었고 그 당시에 비해 추가적으로 생각이 살짝 바뀐 부분들, 그리고 새로 배운 좀 더 우아한 방법들, 실패하지 않기 위한 기법들 등등이 있습니다.



언제 그런 부분들을 책으로 정리할까, 아니면 오프라인 강의를 할까 고민중입니다만, 우선은 기회가 있을 때 그 때 그 때 전달하고는 있습니다. (책으로 전달하기에는 또 분량이 책을 쓸 만큼은 안되는 것 같고요)

이번 신입교육에도 그랬고요. 너무 신입이라는 점이 조금 아쉽습니다만, 반면에 기존 선배들 보다는 흡수력이 더 빠른 장점은 있죠
 

물론 한정된 시간이고, 신입의 수준이 있기 때문에 전부를 전달 해 줄 수는 없었습니다만, 가능한 범위내에서 해당 내용들을 전달해 최대한 전달해 주었습니다. 아마, 중간에 포기하지만 않는다면 기존 선배들보다 훨씬 짧은 기간동안에 훨씬 잘 할 수 있는 기초는 배운 셈입니다.

교육 이라는 것은 '모르는 걸 배우는 것'도 있지만 '시행착오를 줄이고 경험을 전달받아 특정 레벨에 도달하는 시간을 줄이는 것'도 있습니다. 그런면에서 이번 신입들은 본인들은 잘 모르겠지만 소중한 것들을 많이 배웠습니다. (아. 정확히는 그랬어야 합니다.ㅎㅎ)

작년에는 신입교육을 하지 않았었는데 2년 만에 다시 신입 교육을 했더니, 풋풋한 신입을 보며 또 저도 많이 배웁니다. 

ps.
'이바닥에서 일 한지 올해가 햇수로 13년째입니다.'라고 이야기를 했더니 다들 절 살아있는 유물 보는듯한 표정을 짓더군요. -,-);  신입들이 경력 20년 넘으신 분을 보면 산삼보듯 할까요?