오늘은 내가 Devfest Incheon / Songdo 2024 컨퍼런스에 다녀온 후 제일 인상에 남은 강연이 있어서 서준수 님의 강연을 이 블로그에 정리해 보고자 이 글을 쓰게 되었다.
이번 세션은 우아한형제들 서준수 님이 발표해 주신 내용으로, 개발자로서의 성장에 대해 깊이 생각해 볼 수 있는 기회였다.
세션에서 다룬 핵심 주제는 메타인지, 성장 마인드셋, 내적 동기 부여, 그리고 효과적인 학습 방법이었다. 이 주제들은 성장이라는 큰 틀 안에서 서로 연결되어 있었다.
그리고 세션을 들으면서 인상 깊었던 점은 성장을 하며 겪은 문제점과 어려움을 직면하는 상황에서 문제점을 외부에게 찾지 말고 자신에게서 문제의 원인을 찾고 그 문제를 해결해 나아가는 과정이라는 것이었다. 결국 성장의 과정에서 나 자신을 돌아보고 끊임없이 개선하려는 자세가 결국 큰 성장을 만들어낸다는 점을 다시금 깨닫게 되었다.
이 발표의 사실과 오해
- 성장에 집착하는 순간 성장은 더 이상 성장이 아니다.
- 그렇지만 성장을 해야만 할 때가 있다.
- 그러니 효과적인 성장 방법에 대해 알아보자
- 그리고 행복한 성장을 하자.
- 정답이 아니다.
메타인지를 통한 성장 마인드셋 갖추기
- 메타인지: 생각에 대한 생각
- 학습자가 자신의 학습 방법이 효과적이지 않다는 것을 인식하는 것
개선
- 성장 마인드셋 : 개인의 능력이나 지능이 노력과 학습을 통해 향상될 수 있다는 믿음
나는 뛰어난 개발자가 아니다.
- 주변에 존재하는 재능있는 사람들이 많다
- 나는 그런 부류가 아니다.
- 그것이 학습에 대한 필요성을 느끼게 함
메타인지와 성장 마인드셋의 결합
주변의 훌륭한 동료들
- 그들은 좋은 선생님이다.
- 동료에게 배우는 것이 부끄럽거나 자존심이 상한다면?
- 학습에 대한 동기 부여로 활용하자.
주어진 환경이라는 핑계
- 훌륭한 동료가 많아도 학습 분위기가 아니라면 말짱 도루묵이다.
- 회사에서 배울 수 있는 것이 없다고 좌절하고 있을 것인가?
- 회사는 학교가 아니다.
- 외부로 시선을 옮겨보자
- 성장 마인드셋을 갖춘 사람들이 운영하는 스터디, 커뮤니티를 활용하자
개발자의 무덤
- si 업체는 개발자의 무덤?
- 다루는 기술의 종류가 다를 뿐이다.
- 업무 자체에서 배울 수 이는 것에 집중하기
물경력 탓만 하고 있어서는 바뀌는 것이 없다.
작은 노력
- 성장할 수 없는 환경이라고 생각한다면 별도의 노력 필요
- 환경만 탓하는 것은 본인이 열심히 하지 않을 핑곗거리
- 뭐라도 할 수 있는 것은 해봐야겠다.
Wrap-up
자신의 현재 상태를 파악해 보자면?
가장 최근에 성장하기 위해서 노력한 것은 무엇인가?
내적 동기 부여 찾기
나는 왜 개발자에서 교육자로 전향했을까?
- 자기 결정성 이론: 동기 부여는 내적 동기와 외적 동기로 구분
- 에드워드 데시의 실험
- 내적 동기로 하던 일에 돈이라는 외적 보상 제공
- 일시적으로 동기 부여 향상
- 돈이라는 외적 보상 제거 시 이전보다 동기 부여 감소
- 하지만! 칭찬과 긍정적 피드백과 같은 외적 보상은 오히려 내적 동기 부여 증가에 도움을 준다.
과거의 나를 돕는다는 생각
- 검색, 책 등을 통해 얻는 정보는 누군가의 발자취이다.
- 내가 겪은 고통을 후발대에게 좀 더 좋은 길로 안내하고자 하는 마음이다.
- 그러한 행동은 내적 동기에 의한 것일 가능성이 높다.
- 결국 나에게도 도움이 되는 선순환이다.
개발자들은 공유를 참 좋아해
- 성장 마인드셋에서 주요한 사항 중 하나!
- 타인을 경쟁자가 아닌 함께 성장하는 동료로 보는 것
- 개발자들은 공유 문화에 아주 익숙
- 오픈 소스, 각종 개발자 모임, 행사
누가 시켜서 하는가? 돈을 주는가?
그것이 바로 내적 동기
교육자가 하는 일 / 해야 하는 일
교육자가 하는 일
- 개발자일 때 주요 업무는 기획서 보고, 회의하고, 코딩하기
- 그래서 교육자가 무슨 일을 하는데?
- 그게 개발자의 성장과 무슨 상관인데?
교육생/리뷰어 모집 및 선발
교육에서 중요하게 생각하는 것 중 하나는 리뷰 시스템
- 선발 과정은 개발자의 성장과 무관하지 않나?
- 선발을 위해서 고려해야 하는 상황에선 평소에 하지 않았던 부분들에 대한 고민이 발생
- 기술적인 부분이 아니더라도 여러 지원서를 보며 좋은 지원서 그렇지 않은 지원서에 대해 느끼게 된다.
기술적인 부분에만 포커스를 맞춘 성장을 추구하고 있지 않은지?
커리큘럼 설계
- 본인이 학습할 때를 생각해 보자
- 학습 목록 작성
- 모르는 영역이기 때문에 쉽지 않음
- 잘 짜인 커리큘럼의 도움을 받음 ( 책, 강의 등 )
- 커리큘럼을 직접 만들어 보기
- 본인의 강점과 약점 파악 가능하다.
강의
- 교육이라고 하면 가장 먼저 떠오르는 것
- 누군가를 가르치는 것은 자신을 가르치는 최고의 방법이다.
관성에서 벗어나기
- 경험을 통해 축적된 암묵지는 초보자에겐 어렵게 느껴질 수 있다.
- 의식적으로 초보자의 시각에서 접근하려는 노력이 필요하다.
개인 역량 강화
- 한 사람이 모든 것을 알 수 없다.
- 아는 것만 가르칠 수 없다.
- 새로운 기술은 계속 등장한다.
그래서 교육을 하는 것만으로도 역량 강화가 된다
개발자가 교육을 하면? 개발자의 성장이 된다.
피드백 주고받기
- 교육생에게 피드백 주기
- 교육생에게 피드백받기
- 누군가는 피드백을 두려워한다.
- 혼자서는 피드백을 받을 수 없다.
피드백은 성장을 위한 훌륭한 밑거름
효과적인 학습법
- 수업 설계가 학습과 깊은 관련
- 배우기 어려울수록 오래 기억
- A,B,C,D 단계로 나눠 암기하고 연습
- 간단한 시험을 통한 훈련
- 연습에 변화주기
백문불여일타
- 일단 프로젝트 시작 vs 책, 강의를 통한 공부 → 전자가 효과가 좋음
- 학창 시절 축구를 할 때는? 과연 우리가 책을 보고 원리를 알고 축구를 시작했나? 그것은 아니다.
- 배울 수 있는 결이 다르다.
- 둘 다 병행해야 한다.
일단 해보기는 효과적인 학습 방법
도전적인 학습 범위
- 많은 학습자들이 실수를 실패로 받아들임
- 실수를 피하기 위해 감당할 수 있는 것만 하려고 함
- 실수를 바로 잡아주는 피드백과 병행하기
난도 있는 과제와 코드 리뷰
지식 인출
- 학습한 내용을 기억해 내는 과정
- 기억하는 것보다 기억을 인출하는 과정이 중요하다.
- 일단 해보기는 인출할 지식이 없음
- 이것이 지식 쌓기와 병행해야 하는 이유이다.
- 이것들은 반복하기
가장 효과가 큰 인출 연습은
나중에 그 지식을 가지고 진짜 하게 될 일을 반영하는 연습
지식 인출을 어렵게 하기
- 인출할 때 더 많은 노력이 필요하면 더 잘 배울 수 있다.
- 인출은 사실상 재학습의 과정이다.
- 시간 간격을 두기
- 교차하여 연습
- 어렵기 때문에 실력 발휘를 하지 못하여 실망스러움
한 층 더 깊이 학습하게 되고, 더 수월하게 인출 가능
실제 교육 방식
- 티칭보다는 코칭을
- 미션 기반 야생 학습
- 토론 문화: 집단지성의 힘
- 인터뷰
- 쓰고, 말하고
- 페어 프로그래밍
- 코드 리뷰
- 회고
- 팀 프로젝트: 협업
결론: 셀프 교육자가 되어보자
- 지금까지의 내용을 자신에게 적용해 보자