개발자가 더 큰 성장을 이루는 방법 (Feat. 교육자 관점)과 나의 성장 목표와 다짐
다양하고 많은 신입·예비 개발자분들과 '우아한형제들(배달의 민족)'의 서준수 연사자님의 세션을 공유하고 싶어서 적어보게 되었습니다.
(세션 내용 중에 개발자들은 공유하는 것을 좋아한다는 내용도 있었는데 듣고 오! 하면서 좋아했답니다)
메타인지를 통한 성장 마인드셋 갖추기!
메타인지란 생각에 대한 생각으로 '학습자가 자신의 학습 방법이 효과적이지 않다는 것을 인식하는 것' 이라고 합니다.
효과적이지 않은 학습방법을 개선하려면 '성장 마인드셋'이 필요합니다. (성장 마인드셋의 반대는 고정 마인드셋)
서준수 연사자님은 주변에 존재하는 재능있는 사람들을 보고 '나는 그런 부류가 아니다' 생각되어
나의 모자람을 늘 인지했기에 학습에 대한 필요성을 느끼게 했다고 합니다. (메타인지와 성장마인드셋)
주변에 있는 좋은 동료에게 배우는 것도 좋지만, 학습할 수 있는 분위기의 회사인지도 중요하며 그런 분위기가 아닐 경우,
내게 주어진 환경을 바꿔 외부의 스터디나 커뮤니티를 알아보는 것을 권장했습니다.
SI업체는 개발자의 무덤이다?
요즘 몇몇 분들이 SI업체는 개발자의 무덤이라 더이상 성장하지 못한다고 말합니다.
하지만, 다루는 기술의 종류가 다를 뿐, 개발이 아닌 것이 아니기 때문에 폄하되어서는 안됩니다.
속히 말하는 네·카·라·쿠·배·당·토 만이 교육을 잘 받을 수 있는 곳인 것이 아닙니다.
업무 자체에서 배울 수 있는 것에 집중해야 합니다.
또한, 물경력 탓만 하고 바뀌려고 해서는 바뀌는 것이 없을 것이며 성장하기 어려운 환경이라 느끼면 별도의 노력을 해야합니다.
환경 탓만 하는 것은 본인이 열심히 하지 않을 핑계일 뿐이고 뭐라도 할 수 있는 것은 해보려고 해야합니다.
연사자님의 경우, 나랑 관련있는 언어니까 한 번 해볼까? 싶어서 사용해본 후, 블로그에 글을 남겼는데 출판사에서 연락이 왔다고 합니다.
내적 동기 부여 찾기
공부한 것을 그냥 블로그에 적는 것은 재미가 없을 수 있습니다. 누군가 봐준다면 재밌게 적어서 올릴 수 있을 것 같아서 아무도 안보더라도 개발자 커뮤니티에 올려보기 시작했습니다. 내용이 전문적이지 못하더라도 용기를 내서 올려보았고, 역시나 글을 읽어주지 않았습니다. 하지만, 공유를 한다는게 '헬퍼스 하이' 현상으로 통해 기분이 좋아져 계속 하게 되었습니다.
헬퍼스 하이 현상이란 : 사람들은 보통 타인에게 도움을 주거나 도움을 주었다고 생각할 때 기분이 좋아진다고 합니다. 그러한 현상을 말함
과거의 나를 돕는다는 생각으로 시작하게 되었는데
- 검색, 책을 통해 얻는 정보는 모두 누군가의 발자취
- 후발대에게 조금 더 좋은 길로 안내하고자 하는 마음
- 그러한 행동은 모두 내적동기에 의한 것일 가능성이 높음
- 내가 잘하는 사람이 아니기 때문에 나와 같은 고통을 겪지 않길 바라는 마음
- 결국 나에게도 복습이 되며 공부가 되기에 스스로에게도 도움이 되는 선순환
개발자들은 공유를 참 좋아한다고 생각하는데
- 타인을 경쟁자가 아닌 함께 성장하는 동료로 보는 것 (경쟁자라고 생각하면 성장 마인드셋이 갖춰진 것이 아니다)
- 개발자들은 공유 문화에 아주 익숙하다 (오픈 소스와 각종 개발자 모임, 행사를 보면 알 수 있다)
기술적인 부분에 포커스를 맞춘 성장보다 이렇게 하는 성장이 더 좋다!
커리큘럼 설계
- 본인이 학습하던 때를 생각해보자
- 학습 목록 작성
- 모르는 영역이기 때문에 커리큘럼을 만들기가 쉽지 않음
- 잘짜인 커리큘럼의 도움을 받음 (책이나 강의 등)
- 커리큘럼을 직접 만들어보기
- 본인의 강점과 약점 파악 가능
누군가를 위한 커리큘럼 설계
- 본인이 학습할 때보다 다른 점은 책임감이 부여됨 (그들의 시간을 뺏는 느낌이 들어서 더욱 알차게 만들게 됨)
- 기술 트렌드 파악 (각각 현업의 개발자에게 물어보며 조사하게 됨)
- 효율적이고 효과적인 방법에 대해 고민하게 됨 (주어진 시간에 효과적으로 해야한다는 생각이 들게 됨)
이러한 생각 자체가 나 자신을 성장 시키기도 하고 누군가를 가르치는 것은 자신을 가르치는 최고의 방법이라고 합니다.
'교육자'의 관점으로 보면 혼자 학습할 때에는 간과하기 쉬운 부분과 교육하기 쉽지 않다고 느껴지는 포인트를 발견할 수 있습니다.
관성에서 벗어나기
- 논리적인 프로그래밍에 암묵지가?
- 경험을 통해 자신도 모르게 축적됨
- 초보자 입장에선 : ????????????
- 그렇게 되면 나도 : ???????????
- 의식적으로 챙겨야만 합니다.
상대방이 물어봤을 때 난 대답할 수 있는가? → 교육을 하기 위한 노력을 해라 → 결국 내가 더욱 잘 성장하게 된다.
난이도 조절
- 개구리 올챙이적 생각 못한다.
- 교육생 수준은 모두 다르다.
- 어느 기준에 맞출지, 필요한 난이도는? 이걸 지금 알아야할까? 이건 어디까지 알아야할까?
- 어디까지 설명해야할지에 대해서 고민하는 것도 굉장한 능력이다. (핵심을 찾아내는 능력)
- 예비 개발자를 교육할 때 '지금 이걸 알아야할까?' 라는 고민을 굉장히 많이 하게 된다.
개인 역량 강화
- 한 사람이 모든 것을 알 수 없다.
- 아는 것만 가르칠 수 없다.
- 새로운 기술은 계속 등장한다.
그래서 교육하는 것만으로도 역량이 강화되며 개발자가 교육을 하면 개발자의 성장이 됩니다.
내가 스터디를 열어 강사를 해보면 분명히 성장의 요인이 될 것입니다.
피드백 주고받기
- 교육생에게 피드백 주고 받기
- 누군가는 피드백을 두려워한다. (동료에게 먼저 받아보자. 동료가 두렵다면 두려워하지 않을 노력을 해보자)
- 혼자서는 피드백을 받을 수 없다.
피드백은 성장을 위한 훌륭한 밑거름이 되기에 반드시 필요합니다.
효과적인 학습법
추천 학습방법
- 수업 설계는 학습과 깊은 관련이 있다.
- 배우기 어려울수록 오래 기억된다.
- A, B, C, D 단계로 나눠 암기하고 연습하는 것이 중요하다
- 간단한 시험을 통한 훈련과 연습에 변화를 줘라
인출, 정교화, 생성 반추가 필요하다 → 기억을 하게 만드는 요소가 된다.
추천 도서 : 어떻게 공부할 것인가
도전적인 학습 범위
- 많은 학습자들이 실수를 실패로 받아들인다.
- 실수를 피하기 위해 감당할 수 있는 것만 하려고 한다.
- 실수를 바로 잡아주는 피드백과 병행이 필요하다.
- 바람직한 어려움이 중요하다. (너무 어려우면 완전한 좌절을 만들어내기 때문에 그 사람이 할 수 있는 수준이지만 어려운 정도로 시작해야한다.)
- 결론 : 난이도 있는 과제와 코드리뷰가 중요합니다.
지식인출
- 학습한 내용을 기억해내는 과정
- 기억하는 것보다 기억을 인출하는 과정이 중요하다.
- '일단 해보기'는 인출할 지식이 없다.
- 지식 쌓기와 병행햐아하는 이유를 알아야한다.
- 반복이 중요하다.
가장 효과가 큰 인출 연습은 나중에 그 지식을 가지고 진짜 하게될 일을 반영해보는 연습입니다.
(반복하면서 기술로 쌓은 것을 다시 인출하는 것을 반복해야만 함)
실제 교육 방식
- 티칭보다는 코칭을
- 미션 기반의 야생적인 학습
- 토론 문화 : 집단 지성의 힘
- 인터뷰
- 쓰고 말하고
- 페어 프로그래밍
- 코드 리뷰
- 회고
- 팀 프로젝트 : 협업
셀프 교육자가 되어보자
지금까지의 내용을 자신에게 적용해보는 것을 권장합니다.
효과적으로 가르치는 방법은 효과적으로 학습하는 방법이기 때문에 관점을 바꿔서 공부를 해보는 것을 추천합니다.
지금까지는 성장하는 방법에 대해 고민했다면, 앞으로는 무엇을 위한 성장을 할 것인가에 대한 고민이 필요합니다.
나의 성장 목표와 다짐
앞으로는 무엇을 위한 성장을 할 것인가에 대하여 고민을 하다보니, 개발자의 꿈을 키우며 목표로 삼았던 몇가지가 떠올라 적어봅니다.
아버지가 한 쪽 눈을 실명하셔서 시각 장애인이신데 뇌경색이 찾아오면서 남은 한 쪽 눈 마저 안보이는 경우가 종종 생기기 시작했습니다. 아버지는 밭에서 작물을 키워 성장하는 모바일 게임과 중국 무협 영화 시청, 인터넷으로 레시피와 아이쇼핑, 글로 정리하는 것을 정말 좋아하시는데 양쪽 눈이 안보이는 날이 오면 이전의 삶과 확연히 다른 삶을 마주하며 힘들어하실 모습을 떠올리게 되었고, 한 쪽 눈으로라도 볼 수 있던 지금과 다르지 않은 평범한 날을 살아가실 수 있도록 개발하는 사람이 되고자 시작하게 되었습니다.
뇌경색이 찾아오기 전에도 남은 눈의 시야가 흐려진다는 이야기를 종종 들었는데 그 때에는 함께 점자 공부를 해보려는 생각만 있었고 다른 방법은 떠오르지 않았습니다. 하지만 html과 css, 스크린 리더기를 접하며 스크린 리더기 사용법을 함께 배우며 스크린 리더기 하나만으로도 사이트를 이전과 유사하게 사용할 수 있다는 것을 알게 되어 각 태그를 올바르게 사용하는 방법에 대해 고민하며 공부하게 되었습니다.
이후 세상에 영향력을 끼칠 수 있는 사람이 되려면, 아버지와 유사한 불편함을 느끼고 있거나 느끼게 될 불특정다수를 위한 서비스를 만들고자 합니다. 그러기 위해서는 많은 정보를 알아야하고 다양한 경험이 필요합니다. 단순히 시각장애에 국한된 서비스가 아닌 여러 방면으로 도움을 줄 수 있는 서비스를 기획하고 만들어낼 수 있는 사람이 되고자합니다. 도움이 되는 서비스를 만드려면 웹, 게임, 앱 모두 어느정도 지식을 갖춰야 프로젝트 구성을 할 수 있으리라 생각하기에 최대한 닿는데까지 노력하여 이뤄내고 싶습니다.
차별받는 경우나 사람없이 모두가 똑같진 않더라도 유사하게, 행복을 느끼고 누릴 수 있는 세상이 되도록 돕는 사람이 되고 싶습니다.
그런 사람이 되기 위한 과정이 블로그에 많이 올라갈 예정이오니 많은 관심과 응원 부탁드립니다 🥹