관리 메뉴

꿈 많은 사람의 이야기

20대 개발자가 생에 첫 강의를 해보다. 그리고 그 후기 본문

IT 및 개발 TIP

20대 개발자가 생에 첫 강의를 해보다. 그리고 그 후기

이수진의 블로그 이수진의 블로그 2019. 12. 4. 06:57

이번 글은 본인의 첫 강의 경험을 기반으로 작성되는 글이다.
어떻게 이러한 강의 기회가 오게 되었고 왜 내가 강의를 해보기로 결심했는지 그리고 그 후기는 어떤지 작성해보고자 한다.
부디 어떤 사람들에게는 도움이 되기를 바라면서.
그리고 무엇보다 미래에 또 다른 기회가 왔을 때 이 글을 기반으로 본인 자신을 돌아보기 바라면서 작성한다.

글이 꽤나 길다. 짧게 요약하면 아래와 같다.

- 이번 강의는 5일동안 하루 7시간 강의하는 Data Engineering 강의었다.
Apache Hadoop, Spark, Hive, NiFi 등의 내용을 다룬 강의다.
- 강의 기회가 오면 해보는 것을 추천한다. 정말 다양한 경험을 할 수 있다.
- 하지만, 무조건 하라고는 못하겠다. 상황을 보고 판단해야 한다.
- 강의에 필요한 환경설정은 되도록이면 통일시켜야 한다.
- 발표자의 지식이 부족하면 안된다. PPT를 읽는 것이 강의가 아니다. 머리속에 있으면 외울 필요도 없다. PPT는 그냥 자료일 뿐
- 교육생 분들과, 주최하신, 준비하신 모든 분들께 감사하고 죄송하다.





현재 나의 it 경험

일단 나의 보잘 것 없는 경험을 써놔야 어떻게 강의를 하게 되었는지 배경이 보일 것 같다.

본인은 이전에 한 스타트업에서 데이터 분석(Data Analyst) 직군을 맡고 있었다.
하지만 Data Analyst역할만 하지 않았다. 그 스타트업 특성 상 한 명이 여러 일을 했기 때문이다.
특히 본인은 data engineering 역할을 계속 수행했다. 
데이터 엔지니어 직군은 데이터 수집과 적재, 처리 등 데이터의 파이프라인을 관리하는 역할이다.
Data Engineering 직군을 담당하며 나는 하둡, 스파크, 나이파이, 플럼, 스파크, 하이브 등의 아파치 오픈소스를 직접 설치도 해보고 다뤄보며 작은 경험이지만 쌓을 수 있었다.

물론, 그 과정은 쉽지 않았다. 사수는 퇴사했고 혼자서 독학하며 했어야 했으니까.
그래서 스터디를 찾게 되었다. 모두의연구소에서 운영하고 있는 풀잎스쿨이다. (현재도 활동중이다)

처음에는 딥러닝쪽을 시작으로 스터디를 시작했다. 
그리고 회사에서 필요로 하는 자연어 처리, 머신러닝, 빅데이터(데이터 엔지니어링) 스터디를 참여하게 되었다.

때때로 본인이 스터디 리더를 맡기도 했다.
(현재도 머신러닝 스터디 리더이다)

하지만 얼마 뒤 회사에서 경영악화로 인해 권고사직 당했다. (팀이 해체가 되었다)
그러나 운이 좋게도 그 동안 공부한 것을 기반으로 현재 교육 회사의 data science 직군에서 일하게 되었다. 




강의 제안이 들어오다.


현재 회사에 취업한 지 1달 정도 지났을 때 모두의연구소 직원분이 메세지를 보내셨다.
"수진님, 저희가 Data Engineering 기본과정 강의를 진행하는데 혹시 가능하실까요?"

처음에 거절했다. 아직 회사에서 수습이었고 
강의가 5일동안 진행되었기에 신입 입장에서 회사에 요구하기도 쉽지 않았기 때문이다.
그래서 다른 사람이 있으면 추천해준다 했다. 우리 회사에 Data Engineering 팀이 있으니 추천을 하려했다.
이에 당시 Data Science 팀장님(우리팀 팀장님)께 현재 상황을 말씀드렸다.

그러나 다행인지? 불행인지? 우리 팀장님은 본인을 추천해주었고 그 보고가 위에까지 올라가게 되었다.
그래서 본인이 강의를 맡게 되었다.




강의 준비


강의 준비에는 꽤나 많은 이슈가 있었다.

- 교육을 받는 사람들이 lg전자 개발자 분들이라는 것에 놀랐다
  (감히 내가 그 분들을 교육한다...? 지금도 말이 안된다 생각한다.) 
- 5일동안 하루 7시간씩 진행되는 것에 놀랐다.
- 교육안이 확정이 되지 않은 상태였다
- 무언가 소통이 되지 않고 있었다. 그래서 피티를 여러 번 바꿨다.
   (알고보니 이게 완전 처음있는 강의라 서로 미흡하여 여러 이슈가 있었다.)
- 회사의 이슈도 있었으며 개인적인 이슈도 있었다.

이런 이슈를 겪으며 거의 2달동안 강의 준비를 했다.
매일 퇴근을 미루고 밤 늦게까지 준비했고 매일 고민했다.
(이때 우리 회사 Data Engineering 팀장님이 정말 많이 도와주셨다. 너무 감사하다)

솔직히말해서 중간에 이슈가 크게 터진 것이 있어 강의 못하겠다고 말하려고도 했다. (모두연과 엘지의 이슈는 아니다)
다 포기하고 싶었던 적도 있었지만, 내 성격상 그건 또 용납이 안되더라.
"내 한계가 어디까지인지 한 번 봐보자"라는 생각으로 버텼고 준비가 마무리 되었다.




강의를 진행하면서

강의 첫 날에는 뭔가 심상치 않았다. 
분명 Data Engineering 기본반이었고 잘 못하시는 분들만 오신다고 들었다. 
그런데 이게 왠걸? 사원급는 1명에 불과했다. 60%이상이 책임급이었다. 
심지어 사원급 한 분은 Data Engineering 현직자였다.
본인은 그때 속으로 "하... 큰일났다" 라는 생각을 했다. 

우리가 계획한 day1과 day2 자료는 그 분들에게 있어 너무 쉬운 자료였다. 
지금 되돌아보면 day1, 2내용은 하루치 내용으로 줄일 수 있겠다 싶더라.

그리고 환경의 문제가 가장 많았다. (이 문제에 대해서 교육생분들에게 너무 죄송하다..)
강의 시작전에는 day3 이후부터 docker를 활용하려 했었다.
왜냐하면 그때 아파치 하둡(Apache Hadoop), 아파치 스파크(Apache Spark) 등등을 사용하기 때문이었다. 이게 설정이 쉽지 않으니.

하지만 그 전에는 local 환경에서 그냥 바로 진행하려 했었다. (충분히 가능하다고 생각했다. 그리고 지금도 그렇게 생각한다.)
특히, day2날에 mysql 내용과 웹 크롤링 내용을 할 때 정말 이슈가 많았다.
교육생분들 환경 셋팅하느라 1시간 30분을 버렸다. (정말 얼마나 자괴감에 빠졌었는지..)

왜 이런일이 발생했을까?

이것의 큰 문제는 먼저 교육 환경 전달의 문제였다. 
수강생들의 pc를 봤는데 설치 안해도 될 자료를 많이 설치해오셨고 다운 받아 오셨다. 그리고 mysql도 그런 면에서 꼬였다.
또한, 본인은 local에서 진행하려 했는데 사람들은 개인 노트북을 가지고와서 클라우드 환경?(아직도 뭔지 모르겠다. lg에서는 이 환경을 이용한다고 한다)을 사용하더라.
문제는 이게 서로 근무지가 다르다보니(클라우드 환경이 다르다보니) 어떤 근무지에서는 어떤 사이트가 들어가지고 어디는 안 들어가지는 이슈가 있었다.
이런 환경적인 이슈를 그 전에 알지 못하고 2일차에 알게되었다.

그래서 만약, 다음에 강의를 하게 된다면 아예 이것도 통일된 환경을 제공해주는 것이 좋다고 생각된다.
아니 통일해서 줘야 할 것 같다.

 



day3, day4는 apache 오픈소스들을 사용했다.
환경은 이미 내가 사전에 셋팅한 docker를 활용했다.
docker를 활용해서 진행했는데도 이슈가 꽤나 있었다. 네트워크 문제, docker 용량 문제 등이 있었다.

어찌되었든 day3부터
흔히 말하는 빅데이터 소프트웨어인 하둡(Hadoop), 하이브(Hive), 아파치 스파크(Apache Spark), 아파치 나이파이(Apache NiFi) 등을 핸즈온으로 다뤄봤다.
무엇보다 기본반이기 때문에 빅데이터의 흐름과 왜 하둡과 스파크 같은 개념이 나오게 되었는지 이 'Why'에 초점을 쌔게 맞추었다.

왜 이 개념이 나오게 되었고(Why) -> 그로인해 무엇이 나오게 되었고(What) -> 어떻게 활용하나(How) 방법으로 강의를 진행했다.
이 방법은 나쁘지 않았던 것 같다. ㅎㅎㅎㅎ.. 아마도?  
왜 사용하는지 잡고 넘어가니까 이해하기 더 수월했다는 이야기를 많이 들었다.

day5에는 팀 별로 프로젝트를 진행했다.
솔직히 기대를 안했다. 그 분들의 실력이 낮다는 것이 아니다.
왜냐하면 저 빅데이터 개념과 하둡 에코시스템을 2일만에 너무 빠르게 배웠기 때문이다.
그리고 그 분들의 직업 도메인이 이쪽과 사뭇 달랐기 때문이다.

근데 정말 놀라웠다. 역시 좀 잘하시는 분들이 모여서 그런걸까?
개인적으로 8팀 중 2~3팀만 결과물이 나올 줄 알았는데 그 반대였다.
8팀 중 1팀만 실패(실패도 아니다. 잘 하셨다. 근데 다른 팀과 비교하니 실패라는 표현이 나온다.)하였고
나머지 팀은 성공했다. 

심지어 팀도 day4 오후에 짜여져서 당일에 아이디어 구상도 되어 있지 않은 상태였는데도 저렇게 결과가 나왔다.
정말 감사하고 한편으론 존경스럽다.




강의를 마무리하며

내가 강의를 한다니까 많은 사람들이 물어봤다.

"강의 해볼만하나?", "기회가 되면 나도 해볼까?" 등의 경험을 묻는 질문이었다.
나는 이렇게 말하고 싶다.

"강의 기회가 오면 꼭 해보세요. 하지만 아래와 같은 조건이 있습니다. "
1. ppt(강의자료)는 참고용일 뿐이고 ppt를 안보고도 강의를 할 수 있도록 준비하세요
2. 회사에 다니신다면 신중히 생각하세요. 회사 다니면서 강의 준비를 한다는 것은 쉽지 않습니다.
3. 만약, (여러분을 의심하거나) AND (여러분을 도구로 생각)하는 사람 밑에서 강의를 한다면 추천하지 않습니다.
-> 제 회사가 그렇다는 것이 아니라, 강의 준비하면서 여러 조언을 얻을 때 공통적으로 나왔던 조언입니다.
4. 여러분의 커리어를 위해서 준비하는 것은 좋습니다. 그러니 더더욱 무책임하게 하지마세요.

강의는 정말 좋은 기회이다.
그리고 정말 좋은 경험이다.

본인은 정말 이거 준비하고 진행하는 2달동안 적어도 6개월치 경험은 한 것 같다.
솔직히 너무 힘들었다. 하지만 너무 재밌었다. 특히 강의를 할 때는 너무 즐거웠다.

그리고 강의가 끝난 지금(밀려있는 일에 치이고 있지만) 속이 정말 후련하다. 
준비한 것에 4~50%도 보여주지 못 한것 같아 다음에 만약 기회가 되면 더 끌어올리고 싶다.


끝맺음

너무 부족해서 교육을 들으러 오셨던 분들에게 누가 되지 않았을까 걱정된다.
아직도 나는 그 분들을 교육했다는 것이 믿기지가 않는다. 감히.. 내가?
그리고 교육생 분들에게 너무 감사하다는 말씀을 드리고 싶다.
한참 어린 사람이 와서 강의를 진행했는데 호응도 잘해주시고 잘 따라와주셔서 너무 감사하다.
그리고 실습 환경에서 문제가 많았던 것에 대해서 너무 죄송하다. 

마지막으로 많은 도움을 주신 분들께, 기회를 주신 분들께 감사하다고 말씀드리고 글을 끝맺고 싶다.
(실명을 거론하지는 못하니 추상적으로라도...)
우리 회사 Data Science(비록 퇴사하셨지만...), Data Enginnering 팀장님 많은 도움 주셔서 감사합니다.
모두연 직원분들. 기회주셔서 너무 감사합니다.
준비하시고 계속 도와주신 LG전자 빅데이터 TL님 감사합니다.
마찬가지로 계속 준비하시고 도와주신 LG전자 HR팀원분들 감사합니다.

0 Comments
댓글쓰기 폼