- 한달 동안 내가 학습했던 지식들을 되돌아보자.
- 나는 지금 잘, 효율적으로 학습하고 있는지 되돌아보자.
- 내가 무엇을 못하는지 왜 못하는지, 어떻게 더 잘할 수 있을지 생각해보자.
최근 개발바닥 유튜브에서 김영한님의 전체적인 스토리를 들었었다.
많은 좋은 얘기들을 해주셨는데,
신입 개발자들에게 추천하는 학습 방법으로 함께 자라기 -김창준-
도서를 추천하셨다.
그래서 냉큼 함께 자라기를 쿠팡으로 주문을했고,
현재 도서를 읽고 있는 중인데, 정말 좋은 내용이 많다.
도서를 읽으면서,
내가 지금까지 열심히 공부해왔던 방식이 정말 좋은 또는 효율적인 그런 학습 방식인지에 대해 의문점을 갖게되었다.
단 기간에 많은걸 배워서 "내가 이만큼이나 배웠습니다."라고 자랑하는 것은 나의 성장에 그리 큰 도움이 되지 않는다고 말씀하신다.
이 말에 정말 뜨끔했다.
내가 정말 배운 것들을 내 것으로 체화했을까?라는 질문을 던져보면 자신이 없다.
내가 배운 지식들을 체화하는 것에 집중하자
배움이 많은건 당연히 좋은 것이지만, 배운 내용을 체화하지 않고 계속해서 새로운 내용을 배우면 새로운 내용이 기존의 지식을 덮어버린다.
크게 세가지를 중점으로 공부했다.
첫번째 알고리즘 공부
두번째 데이터베이스 공부
세번째 사이드 프로젝트(뉴스 어플리케이션)
첫째로, 알고리즘 공부부터 생각해보자면
문제를 이해하는 능력,
자료구조 파악,
알고리즘 그려보는 능력,
논리적으로 문제를 풀어나가는 능력이 전반적으로 향상되었음을 느낀다.
알고리즘을 풀이하는 나만의 프로세스는 개인적으로 만족하면서 사용하고 있다.
다만,
정답을 참고하지 않기 때문에 문제를 푸는데 꽤나 오랜 시간이 걸릴 수 있고, 많은 문제를 풀어보지 못한다는 단점이 있다.
하지만, 점차 속도가 빨라질 것이라는 긍정적인 생각을하고 있다.
둘째로, 데이터베이스 공부를 생각해보자면
스케줄, Concurrency control, serialization, recoverability.. 등에 대해 배웠다.
지금 배워두면 나중에 도움이될 것 같기는한데 사실상 거의 까먹어서 또 리마인드해야할 것 같다.
그렇게 생각하면 조금 비효율적이라는 생각이 든다.
흠.. 그래도 어쩔 수 없다. 기록으로 승부보자
셋째로. 사이드 프로젝트
사이드 프로젝트를 하다보면 내가 뭘 모르는지 파악할 수 있다.
그리고 공부해서 적용해볼 수 있다!
자유도가 높아서 사이드 프로젝트는 공부하면 시간가는줄 모를 때가 많다.
내가 사용해보고 싶은 기술을 배우고 구현해보는 과정은 즐겁다!
시니어가 되어도 사이드 프로젝트는 꾸준히 만들면서 새로운 기술을 배워나가면 좋을 것 같다.
지난 4월 15일부터 현재(5월 14일)까지 기록한 내용들을 리마인드 하는 시간을 가졌다.
읽다보면 벌써 시간이 이렇게 지났다고? 어제 같은데..?라는 생각에 놀라기도 하고,
내가 배웠던 내용을 리마인드할 수 있다는게 가장 큰 장점인 것 같다.
기록은 자산이다!
앞으로도 계속해서 기록해나가자!
그리고 귀찮더라도.. 더 자세하고 디테일하게 기록하자.
예를 들면, 해당 코드를 적는다던지, 해당 파일명이라도..
나중에 복습할 때 훨~씬 편해진다.
그리고, 글은 최대한 핵심적이고 간결하게!
글이 너무 길어서 안읽게된다..
그리고 나만의 세계관 꼭! 꼭! 꼭!
나만의 세계관으로 개념을 정리해보는게 진짜 장기기억에도 좋고
나중에 복습할 때도 한 눈에 확! 들어온다
예를 들어서 Elastic Beanstalk의 개념을
Elastic Beanstalk를 사용하여 애플리케이션을 배포하는 경우, Elastic Beanstalk는 애플리케이션 코드와 함께 Amazon S3 버킷에 있는 파일을 다운로드한다. 이때, 버킷이 ACL을 허용하지 않도록 구성되어 있으면 다운로드에 실패하게 되고 위와 같은 오류 메시지가 발생하는 것이다.
위와 같이 정리하게되면 한 눈에 내용이 정리되지 않는다.
하지만 아래와 같이 정리하면 한 눈에 내용이 정리되고 확! 이해가 된다.
AWS : 배포를 요청했구나? 오케이 너 코드랑 버킷에 있는 파일 다운로드할게, 어? ACL이 비허용이잖아? 이러면 버킷을 다운로드할 수 없어
나 : 아 그래? 그럼 ACL을 활성화할게 다운로드해 가
AWS : OK
지난 한달 동안 학습한 내용을 복습하다보니 굉장히 비효율적이라는걸 느낀다.
기록된 내용이 너무 많다보니 일일히 읽다가 지쳐버리게된다.
그래서 고민을 해봤다.
어떻게 더 효율적으로 한달 동안 배운 내용을 리마인드할 수 있을까?
주마다 WIL로 내용을 응축하고, 한달마다 WIL을 참고해서 리마인드 시간을 단축시키자!
그리고, MIL은 배운 기술을 복습한다기보다, 학습 프로세스를 개선시키는 것에 집중하자
일단, 인내심을 갖고 계속해서 노력한 나 자신에게 칭찬해주고 싶다.
공부해야할 것들을 생각해보고 우선순위를 정해서 계획적으로 학습했던 것은 아주 좋은 방식이었던 것 같다.
하지만, 디테일한 학습 방식은 개선되어야할 점이 보인다.
탐욕 학습은 내가 만든 용어인데,
배운 지식을 제대로 흡수하지 못한채로 다른 지식들을 배우는 것을 의미한다.
새로운 것을 배우는 것은 정말 중요하지만,
내가 배운 것을 내것으로 만드는 과정이 더 중요하다.
그러기 위해선 시간이 필요하다.
내가 생각한 방법은 어떤 기술을 배울 때
일정 기간 동안 이 기술만을 공부해보는 것이다.
내용이 방대하다면 1주일 이상을 계획할 수도 있고,
그리 방대하지 않다면 반나절 정도로 계획할 수도 있다.
중요한 것은 탐욕 학습을 피해야한다는 것!
위에서 얘기한 학습 방법을 기간 학습이라고 칭하겠다.
기간 학습에도 체크해야할 사항이 있다.
내 것이라할 수 있는 기준이 무엇인가?
다방면으로 응용할 수 있는 단계?
No 다방면으로 응용할 수 있는 단계는 현업에서 이 기술을 사용하는 분에게 해당된다고 생각한다.
교과서처럼 해당 기술을 암기한다?
No 일단 그게 불가능할 뿐더러, 비효율적이기도 하다.
나만의 세계관으로 생각할 수 있고, 최소한의 응용이 가능하다?
이정도가 내가 생각할 때 가장 적절한 방안이라고 생각한다.
지난 한달 동안 공부해왔던 나의 프로세스를 점검해보는 시간을 가져보았다.
상당히 유익한 시간이었던 것 같다.
함께 자라기 -김창준-
도서를 읽었던게 큰 도움이 되었다.
내가 학습을 잘하기 위해 개선 프로세스를 짜보는 것 그리고 그 개선 프로세스를 개선하는 것.
위 방법을 통해 복리로 성장할 수 있는 개발자가될 수 있다.
마지막으로, 공부하는데 원활한 환경을 제공해주시는 부모님께 항상 감사하다.