본문 바로가기
회고

[회고] 백엔드 개발에 대한 원데이 클래스 후기

by kdohyeon (김대니) 2023. 1. 30.
반응형

들어가며

광운대학교 정보융합학부에 계시는 박규동 교수님의 학생들과 함께 원데이 클래스를 진행했습니다. 오랜만에 대학생들과 함께 시간을 보내다보니 왠지 모를 학생들의 열정을 느낄 수 있어서 너무 좋았습니다. 

원데이 클래스를 진행한 이유

저는 제가 알고 있는 정보를 남에게 알려주고 가르쳐주는 것을 좋아합니다. 누군가가 제가 알려준 정보로 도움이 된다면 그것 자체로 즐겁습니다. 또 저 스스로가 어떤 내용에 대해 충분히 이해하기 위해서는 누군가를 가르쳐주는 과정에서 꼭 필요하고, 더 많이 배우게 된다고 생각합니다. 

학부생활과 대학원 생활을 하며 취업을 해본 경험이 있는 저로써는 막상 준비할 때 어떻게 뭐부터 준비를 해야할 지 감이 잘 안왔습니다. 그래서 취업을 목표로 준비 중인 학생들에게 현재 개발자들은 어떻게 업무를 하고 있고, 개발자들의 현실은 어떤지 등에 대해서 알려주고 싶었습니다. 그러면 취업에 대한 방향성을 학생들 스스로 설정할 수 있을거라 생각했습니다.

쿠팡에서 개발자로 회사 생활을 시작하며 벌써 5년차가 되었고, 석사 과정까지 합친다면 7년차 직장인입니다. 이제는 스프링 프레임워크를 누군가에게 쉽게 설명할 수 있을 정도는 되어야 한다고 생각했습니다. 그래서 최근에 코멘토라는 교육 사이트에서 스프링 프레임워크 위주의 백엔드 개발에 대해서도 강의를 진행하고 있고, 대학생들을 대상으로 하는 원데이 클래스도 그 목표를 이루기 위한 하나의 단계였습니다. 일반 1-2년차 주니어 개발자들에게 설명하는 것보다 훨씬 더 쉽게 설명할 수 있어야 한다고 생각했고, 이걸 과연 제가 잘 할 수 있을지 도전해보기 위해 원데이 클래스를 해보기로 마음 먹었습니다.

학생들

약 15명정도의 학생들이 참여했고, 대부분 프론트엔드 개발에 관심이 많은 학생들이었습니다. 저는 프론트엔드 개발에 대해서는 지식이 많이 없어서 제가 이 수업을 통해 전달하고자 했던 메시지는...

프론트엔드와 백엔드 서버를 각각 만들어보고
서로를 연동해서
학생들 스스로 토이 프로젝트를 시작할 수 있도록 도와주자

였습니다. 토이 프로젝트를 시작해서 스스로 개발을 하게 되면 개발에 대해 공부를 할 뿐만 아니라 취업을 위한 하나의 포트폴리오가 되기 때문입니다. 저 또한 쿠팡에서 개발을 배우며 스스로 토이 프로젝트를 해보며 많이 배울 수 있는 시간이었기 때문입니다.

수업

일정

오전 9시 30분쯤부터 수업을 시작했고, 날씨도 너무 추운데 일찍부터 시작한 것 같아 학생들에게 미안했습니다. 이렇게 날씨가 추울 줄 알았다면 오후로 미뤘을텐데 아쉬웠습니다. 11시 반까지 오전 수업을 진행하고 오후 1시까지 점심 시간을 가졌습니다. 다시 1시부터 3시정도까지 오후 수업을 진행하며 원데이 클래스를 종료했습니다.

오전 수업

인텔리제이를 설치하는 것부터 시작해서 스프링부트로 간단한 RESTful API 를 생성하여 로컬에서 호출하는 것까지 진행했습니다. Spring Initializr 를 사용하면 훨씬 더 간단하게 진행할 수 있지만 설정하는 부분을 보여주고 싶어서 한땀한땀 만드는 과정을 함께 했습니다. 수업 중간중간에 현업에서 어떤식으로 업무를 하는지에 대해서도 설명을 해주었습니다. 예를 들어, 애자일 업무 방식에 대한 소개와 Atlassian JIRA 협업 툴에 대해서도 소개를 했습니다.

아쉬웠던 점. 저는 MacOS 환경에서 주로 개발을 하다보니 Windows 환경에서 환경설정 하는 방법에 대해 익숙하지 않습니다. 하지만 학생들은 대부분은 Windows 환경에서 개발을 하고 있었습니다. Java 를 설치해서 환경변수로 등록하는 과정부터 난관이었고, 별도로 준비를 하지 못해 예상 시간보다 더 많이 소요되었습니다.

아쉬웠던 점. 분명 천천히 하나씩 알려주었다고 생각하고 학생들이 잘 하고 있나 보러 다니면 꼭 한명씩 안된다고 손을 드는 경우가 있었습니다. 가서 확인을 해보면 뭘 하나씩 빠트리거나, 제대로 따라하지 않았거나 등 제가 알려준 부분에서 10-20% 정도는 다르게 진행되는 경우가 있었습니다. 가이드 문서를 좀 더 디테일하게 만들 필요가 있지 않나 생각했습니다.

애매했던 점. 프론트엔드에 관심이 많은 학생들이지만 그래도 스프링부트 어플리케이션 환경을 하나씩 설정해나가는 과정을 꼭 알려주고 싶었습니다. 그래야 나중에 혼자서도 토이 프로젝트를 시작할 수 있을것이라 생각했습니다. 하지만 이걸 알려주는 과정이 너무 힘들어서 차라리 GitHub 에 소스 코드를 올려두고 Pull 받아서 수업을 진행하고 싶었습니다. 아마 제가 설명을 좀 더 자세히, 천천히 했더라면 학생들이 더 잘 이해했을 것 같습니다.

신기했던 점. step by step 으로 진행을 하면서 학생들을 봐주는데 신기하게도 매번 안된다고 손을 드는 학생들은 정해져있었습니다. 누군가는 옆 친구에게 물어서 항상 해결을 하고, 스스로 해결을 하는 학생도 있었고, 가이드대로 했는데 안된다고 손을 드는 학생들이 있었습니다. 학생들의 스타일이 다 다르구나 하는걸 느꼈던 경험이었습니다.

잘한 점. 수업 중간에 실무에서 어떤 식으로 일을 진행하게 되는지에 대해 알려주는 과정에서 학생들이 상당히 집중하고 흥미로워 한다고 느꼈습니다. 아무래도 평소에 접하기 힘든 정보들이라 더 그렇게 느낀 것 같습니다. 

오후 수업

노드를 설치하고 CRA (create-react-app) 를 통해 React 앱을 로컬에서 띄워봤습니다. React 앱과 스프링부트 앱을 함께 띄워서 서로 연동하는 방법에 대해 소개를 했고, 백엔드 API 에서 데이터를 받아 프론트엔드에서 노출하는 과정을 알려줬습니다. 프론트엔드에서 API 호출을 하고, 백엔드 API 에서 데이터를 전달하고, 다시 프론트엔드에서는 그 데이터를 받아 화면에 노출하는 과정을 전체적으로 보여주니 학생들이 되게 신기해했습니다. 

아쉬웠던 점. 프론트엔드에 대해 잘 모르다보니 더 많은 지식을 전달해주지 못해 아쉬웠습니다. 좀 더 다양한 정보를 습득해서 알려줄 수 있었다면 좋았을텐데 라는 아쉬움이 남습니다.

잘한 점. 학생 중 한명은 백엔드 개발도 공부를 해보기 위해 인프런에서 스프링 관련 강의도 듣고 있다고 했습니다. 하지만 그 강의들에서 아쉬웠던 점은 너무 하나의 개념에 대해 깊게 파고들어서 전체적인 그림을 그리기가 어려웠다고 했습니다. 결국 회사에 가서 일을 하게 되면 프론트엔드와 백엔드는 함께 업무를 하게 될텐데 개발에 대한 전체적인 그림을 알려주려고 했습니다. 

마치며

학생들을 대상으로 강의는 2021년도 겨울에 한번 진행해본적이 있지만 이런 식의 수업은 처음 진행해보았습니다. 처음 진행하다 보니 미숙한 점들이 많이 발견이 되었고, 이런 기회가 없었더라면 절대 느끼지 못했을 부분이라 생각합니다. 상대방이 이해하기 쉽게 설명할 수 있도록 방법을 개선해야 하고, 수업 자료도 좀 더 탄탄하게 만들어야 하며 막상 내용 전달을 하려다보니 저의 부족한 개념에 대해서도 많이 찾을 수 있었습니다.

준비하는데도 시간이 많이 소요되었고, 강의도 힘들었지만, 제 부족한 설명을 열심히 들으며 따라오려는 학생들에게도 정말 고마웠습니다. 다음에 비슷한 수업을 진행할 수 있는 기회가 있다면 오늘의 회고를 기반으로 좀 더 나은 수업을 제공할 수 있으면 좋겠습니다.

이런 소중한 기회를 제공해주신 박규동 교수님께 감사의 인사를 드립니다.

강의 때 활용했던 자료

추가 예정

반응형

댓글