해당 글에서는 멘토-선배, 멘티-후배 개념
MenToMen ?
- 멘투멘은 '멘토와멘티'를 의미
- 멘투멘은 방학중 후배들의 성장을 위하여 기획됨 (온라인)
- 멘투멘은 '모두가 동일한 성장의 기회'에 초점을 맞춘 교육 프로그램
Server 분야 커리큘럼
서버 분야는 총 3차시로 편성 (한차시는 약 2시간 분량)
- 백엔드 생태계•로드맵 설명, 자바 기초 문법, Spring 프레임워크 설명, 프로젝트 세팅 (2023.7.26)
- Spring MVC 기반 REST API 설계 (2023.8.2)
- JPA와 DB 연동 (2023.8.9)
필자는 1차시의 일부분과 2차시를 진행했다.
짧은 시간 안에 최대한 많은 내용을 담으려 하니 커리큘럼을 편성하기도 쉽지만은 않았다.
그래도 후배들이 백엔드 개발에 있어 기초적인 부분들은 대부분 포함되어 있도록 하였다.
사전 설문조사 진행
본격적으로 수업을 진행하기 전 멘티들의 개발 경험, Java 경험, 수업 방향 등을 알기 위하여 사전 설문조사를 진행하였다.
설문조사 결과는 전체의 71.4%가 백엔드 개발을 해본 적이 없고, Java 또한 대부분 자료형, 상속까지만 알고 있다고 나왔다.
따라서 교육을 기초적인 부분에 집중하고, 자바의 기초에 대하여 좀 더 가중치를 두는 쪽으로 바꾸었다.
다음으론 원하는 수업방향을 조사하였다.
멘티들의 의견을 최대한 반영하여
- 개념보단 실습 위주 (최대한 이론은 짧게)
- 코드에 대한 자세한 설명 (어노테이션 하나 빠짐없이!)
위와같이 기초를 다지며 실습 위주인 수업을 지향하며 상세 커리큘럼과 자료를 준비하였다.
마지막으론 멘티들의 열정을 보여주는 멘트를 적어달라 하였다.
너무 귀엽다...
답변을 본 후 부족함 없이 많은 것들을 알려줘야겠다는 동기부여를 받았다🔥
사전 설문조사를 진행해 보니 멘티들이 원하는 것이 무엇인지 직접적으로 알 수 있었고
그렇기에 자료와 수업 방향을 세우는 데 정말 많은 도움이 되었다.
이 경험을 통하여 기획에 있어 수요자의 니즈를 파악하는 것이 얼마나 중요한 작업인지 피부로 깨달았다.
MentoMen Process Start !!
앞서 말했듯 필자는 1차시 일부분과 2차시를 진행하였다.
1. 백엔드 생태계•로드맵 설명, 자바 기초 문법, Spring 프레임워크 설명, 프로젝트 세팅
목표 : 자바 기초 문법 습득, Spring 이 무엇인지 알기, 프로젝트 세팅
수업 내용
- 백엔드 생태계 : 백엔드의 역할, HTTP 처리 흐름
- 백엔드 로드맵 : 백엔드 개발자가 되기 위한 기술들과 어플리케이션을 만들기 위한 최소한의 스택
- 자바 기초 : 변수, 자료형, 클래스, 인터페이스, 접근 제한자, 컬렉션(맵, 셋, 리스트)
- Spring•SpringBoot : Spring 의 특징 DI•IOC, SpringBoot가 무엇인지
필자는 백엔드 생태계•로드맵, Spring 프레임워크, 프로젝트 세팅 부분을 담당하였다.
수업 자료는 각자 자신이 맡은 부분을 준비하기로 하였다.
아래는 수업 자료의 일부분이고, 전체 파일은 하단에 따로 첨부하겠다.
수업 진행
필자의 부분은 미리 준비해온 자료를 보며 프레젠테이션 형식으로 진행하였고,
자바 기초 부분은 실제로 코딩을 하며 이론을 토대로 알고리즘 문제까지 풀어보았다.
1차시를 마치고..
후배들이랑 직접적으로 교류하는 것이라 많이 어색하였다. (한 3분 동안은 말을 못 했다..)
그래도 마음을 다잡고 '최대한 내가 아는 많은 것들을 알려주고 조언 해주자'라는 마음으로 임하였다.
또 같이 진행하는 팀원이 호응도 해주고 분위기를 만들려고 노력해 주어서 고마웠다.
준비해 온 자료를 보며 후배들에게 설명해 주었는데 질문에 대답도 잘해주고 잘 따라와 주는 거 같아서 만족하였다. 한 30분 정도 프레젠테이션을 진행하였다. 준비해온 내용을 다 전달한 뒤 이해 안 가는 점이나 궁금한 점을 물었는데, 다들 잘 따라오는 거 같았다.
다음으론 팀원이 자바에 대하여 가르쳐 줬는데 생각보다 많이 준비 해온 거 같았다. 자바는 총 1시간 정도 진행한 거 같다. 아무래도 이론적인 부분이라 초반보다는 후배들이 갈수록 조용해졌지만, 후반에는 함께 알고리즘 문제도 풀어보며 성황리에 잘 마쳤다.
다음 2차시는 혼자 진행하게 되는데 자료를 잘 준비하여 유익한 시간을 보낼수 있도록 해야겠다고 생각했다. 그리고 한번 후배들이랑 얘기해 봤으니 더 적극적으로 임하기로 다짐했다.
2. Spring MVC 기반 REST API 설계
목표 : MVC 패턴을 기반하여 REST API 구현해보기
수업 내용
- Spring MVC 패턴 설명
- REST API 설명
- thymeleaf 을 써서 유저 등록, 조회 해보기
- thymeleaf 간단히 설명
- ModelAndView 반환
- 위의 3번의 결과를 view를 리턴하는 방식이 아닌 json 객체를 전달해주는 방식으로 코드 재작성
- @ResponseBody, @RequestParam..
- postman 테스트
2차시에선 외부 DB 연결 X, 자바 컬렉션을 활용하여 인메모리로 접근
어노테이션 하나 허투로 그냥 넘어가지 않고, 어떠한 역할인지 무슨 영향을 끼치는지 자세하게 설명
코드는 복붙 X, 최대한 직접 많이 타이핑하도록 지도
2차시 제목에서도 알 수 있듯이 해당 차시는 거의 직접 코딩하는 것이 대부분이다.
그렇기에 예제 코드부터 이론 설명에 필요한 자료를 준비하였다.
아래는 수업 자료의 일부분이고, 전체 파일과 코드는 하단에 따로 첨부하겠다.
수업 진행
수업은 총 2시간가량 진행하였는데 화면 녹화를 하였지만 목소리만 담기고 정작 화면은 제대로 찍히지 않았다...ㅠ (아쉽다)
2차시는 1차시보다 후배들이 많았었다. 1명은 개인 사정으로 참여하지 못했고 총 7명이 참석하였다.
초반 이론 부분은 최대한 짧게 하려고 노력해서 15분 정도 걸렸다. 2차시는 멘티들이 많은 코드를 쳐보는 것을 목표로 했기 때문에 빠르게 코딩으로 넘어갔다. 1차시에 생성했던 프로젝트에서 미리 준비해 온 예제 코드를 참고하며 실시간으로 코딩하였다. 단순히 코딩만 하지 않고 코드가 어떤 동작을 하는 코드인지 하나하나 다 짚어가며 진행하였다. (순수 코딩하며 설명한 시간 약 1시간 20분..!)
수업 중간중간 진행 상황 체크와 멘티들에게 어려운 점이 없는지 물어가며 수업을 마쳤다.
2차시를 마치고..
혼자서 처음부터 끝까지 진행하는 2차시였기에 사전에 더욱더 준비를 꼼꼼히 하였다.
간단한 개념 PPT와 예제코드를 작성하였다. 생각보다 준비해야 하는 것들과 고려해야 할 점이 많았다.
후배들의 실력이 동일할 수 없으니 최대한 개념적으로 탄탄해지는 것이 가장 중요하다 생각하였고, 그래서 코드 하나 허투루 넘어가지 않았다. 중간중간 질문에 대답도 잘해주고 적극적으로 참여해 줘서 정말 고맙다 !!
코드는 총 2가지 방식이 있었는데 View를 보여주는 것과 JSON을 리턴하는 것이다. 첫 부분은 코드도 준비되어 있었고 시뮬레이션도 해봐서 순조롭게 진행하였다. 그 후 뒷부분을 진행하는데 즉석에서 코드를 바꾸다 보니 dto를 받아오는 과정에서 @RequestBody를 빼먹어 null 값이 받아와지는 오류가 발생했다. NPE를 조심하라고 했는데 바로 행동으로 보여줘 버렸다 (정말 바보 같았다 ㅋㅋ)
그래도 오류를 바로 찾고 해결하였다.
2차시를 준비하며 걱정이 많았는데 생각 그 이상으로 잘 마무리한 거 같아 뿌듯했고, 나눔에서 오는 보람이 어떤 것인지 느꼈다.
3. JPA와 DB 연동
3차시는 다른 팀원이 맡기로 하였는데 불행히도 원래 계획했던 날짜에 모든 멘티가 다른 학교 이벤트로 인하여 참석하지 못하는 상황이 발생하여 진행하지 못하게 되었다고 한다..
만족도 설문조사 진행 - 익명
수업을 제대로 진행하였는지 부족한점은 없었는지 알기위해서 만족도 설문조사를 익명으로 진행하였다.
전체적으로 반응은 긍정적이였다. 빨강•주황 부분은 앞으로 내가 노력해야할 부분들이다.
다음번에 이러한 기회가 주어진다면 모든 부분을 파란색으로 채우고 싶은 작은 바램이다.
미흡하다고 느낀 부분은 모두 '없음'으로 답해주었다.
마지막으로 멘투멘 프로그램을 다른 주변에 추천할 의향이 있냐는 항목에는 모두 '있음'으로 답해주었다.
이 지표만 보면 이번 맨투맨이 꽤 성공적이라는 결론에 도달할 수 있겠다.
멘투멘을 보내며
아쉬운 점
Server 팀은 다른 분야보다 신청 인원이 많아 부득이하게 모든 후배를 수용하지 못했다. 혹여 너무 많은 인원을 받았다가 이도 저도 아닌 상황이 생길까 불안하였다. 이번 멘투멘에 참여하지 못한 후배들에게 미안한 마음이 있다.
위에서 말했듯이 3차시는 진행하지 못했는데 이는 학교 일정을 고려하지 못한 나의 실수다. 다시는 이런 사태가 일어나지 않도록 철저하게 사전 조사를 통해 계획을 수립할 것이다.
마지막으로 조금 더 적극적으로 임할 수도 있었겠다는 생각이 든다. 태생이 내향적인 인간이라 용기가 많이 필요했다. 뭐든지 처음이 어려운 법이니 겁먹지 말았으면 좋겠다.
얻어가는 점
공부의 끝은 누구를 가르치는 것, 누군가에게 지식을 전달한다는 것은 어려운 일이라는 것을 뼈저리게 느꼈다.
얕은 지식으론 죽도 밥도 못 된다. 그렇기에 내가 맡은 부분에 한해서는 처음부터 공부한다는 생각으로 공부하였다. 그러다 보니 새로운 사실들도 알게 되고, 기존에 알고 있었던 거지만 까먹거나 오류인 것들도 다시 재정의하게 되었다. 더 나아가 평소 후배들과 말도 해보지 않았는데 온보딩을 통해 후배들과 커뮤니케이션하며 조금이나마 벽을 없앤 거 같다. 내 것을 나누는 것이 좋은 점이 더 많다는 것을 몸소 느꼈다.
기획에서도 배운 점이 있다. 기획할 때 일정 조율이 정말 중요하다는 점을 배워간다. 또 사전 조사와 같은 설문을 통하여 수요자의 니즈를 파악하고, 만족도 조사를 통하여 평가받는 것까지 이러한 설문하는 것 자체가 가치가 있는 기록물로 직결된다는 사실을 알았다.
필자는 이번 멘투멘 프리온보딩을 하며 얻어가는 것들이 더 많다고 생각한다.
나도 누군가에게 동기부여를 줄 수 있고, 귀감이 될 수 있게끔 더 노력하겠다.
수업 자료
'Its. Min' 카테고리의 다른 글
나의 정체성 확립의 계기, 2023년 (3) | 2023.12.23 |
---|---|
2023 동아리 인턴 면접 진행 (0) | 2023.08.30 |
내가 고등학생 개발자가 된 이유 (4) | 2023.07.24 |