빠르게, 재밌게 배우기
나는 "주어진 커리큘럼을 차근차근 밟아가며 배우는 것"을 좋아하는 타입이다.
갑자기 어려운 이야기가 들어오면 어지럽고 도망가고 싶은건 나뿐만이 아닐 거라 생각한다.
두려움 인정하기. - 25년 6월 1주차 회고
솔직하게 말하자면, 나의 가장 큰 컴플렉스는 “두려움”이다. 나의 회고는 대부분이 이 두려움을 컨트롤하기 위한 방향으로 나아가고 있다. 겁이 나면, 생각이 많아지고, 조금 더 많은 걸 알아
dev.go-gradually.me
그리고 그때 당시 개발자 지망생들 사이에서 이런 이야기가 유행하기도 했었다.
알지도 못하면서 쿠버네티스, MSA, 헥사고날 이런거 쓰면 면접에서 탈탈 털리고 서류에 대한 신뢰도도 떨어진다.
그리고 회사 들어가도 그런 기술 너가 쓰지도 않는다.
그런거 할 바에 스프링이나 공부 제대로 해라!
이 이야기가 나한텐 굉장히 달콤하게 들렸다.
굳이 내가 잘 모르는 영역 막 해보지 않아도, 어차피 취업에 도움 안된다고?
그럼 할 필요 없네, 좋다!
그런데, 그렇다보니 독학을 약 1년째 진행하는 상황에서 좀 벽이 느껴졌다.
실제로 이해하는데 굉장히 어려웠던 개념들이, 쓸 일이 없었다.
동시에 너무 알아야 하는 게 많아지는 감각을 느꼈다.
그래서 최근에 내가 해보고 싶었던 강화학습도 공부하고, 핀잇에 MSA + 쿠버네티스를 도입해보기도 하면서, 느낀게 있다.
1. 무작정 연습(기록을 병행한)은 실제로 무엇이 주로 활용되는지 보여준다.
최근 글에서 보이듯, 지금 쿠버네티스 튜토리얼을 만들고 있는데,
핀잇에 쿠버네티스를 도입하면서 내가 작성했던 튜토리얼 MANIFEST를 자꾸 돌아보다보면 개념들이 차근차근 확장되고 있었다.
즉, 무작정 해놨던 것들이 기록이 되어 있을 때, 나중에 다시 할때 그 기록을 보면서 연결지을 수가 있다.
그러다 보면, "자주 참고하게 되는 부분"이 보이게 된다.
이때, 이 법칙이 등장한다.
파레토 법칙
'전체 결과의 80%가 전체 원인의 20%에서 일어나는 현상'
즉, 진짜 주의깊게 공부해야 하는 부분과 가볍게 넘어가도 되는 부분을 구분할 큰 시야를 얻을 수 있다.
2. 어려운 기술의 추상화로 인한 문제는, 결국 겪어보면 해결된다.
위에서 언급한 풍문이 유행하게 된 계기도, 어쩌면 이게 원인이다.
요새 프레임워크는 너무 추상화가 잘 되어 있어서, 버튼 하나만 딸깍 누르면 모든게 자동으로 돌아간다.
그런데 실제 사용하다가 문제가 발생했을 때, 정확히 어느 부분에서 문제가 발생했고, 그 문제는 어떤 잘못된 생각이 원인이었는지를 알아내야 한다.
그걸 알기 위해선 그 내부 동작 원리에 대한 깊은 이해가 필요하다.
그런데 좀 멍청하게도, 난 이 두 문장을 구분하지 못했다.
- 해당 프레임워크를 사용하다 문제가 발생했을 때, 그 문제를 해결하려면 내부 동작 원리를 이해해야 한다.
- 내부 동작 원리를 이해해야, 해당 프레임워크를 사용하다 문제가 발생해도 해결이 가능하다.
이런 명제를 "필요조건과 충분조건"이라고 한단다. 고등학교때 공부좀 잘해둘걸.
그리고 실제로 새로운 기술을 배우거나 문제를 해결할 때 발생하는 케이스는 거의 1번이었다.
내가 문제를 해결하는 데 도움이 된 이미 알고있던 내부 동작원리는 전체의 20%정도밖에 안됐다.
중요한 건 겪어보지 않은 문제를 만났을 때,
- 내가 기존에 알고 있던 지식이랑 이어보던가
- 꺾이지 않고 뭐라도 계속 찾아보는 것
이러한 마인드셋은 정말 겪어보지 않은 문제를 계속 만나야 느는 영역이다.
이러한 변화에는 지난 2년간의 경험도 영향이 없진 않았던 것 같다.
과거의 잘못과 반성
이 글은 아마도, 내 블로그를 주변 사람들이 모르기 때문에 쓸 수 있는 기록이다.동시에 “지난 2년이 더 이상 특별한 사건으로 남지 않았다”는 작은 선언에 가깝다.올해 6월 이전의 회고가 비
dev.go-gradually.me
예전엔 내가 잘 모르는 영역도 해야된다고 생각하면서, 일단 해보겠다고 하면서 어설프지만 어찌저찌 했었다.
알고리즘을 처음 공부할 때도 이해가 안가지만 잘해지고 싶단 마음 하나로 무작정 코드를 따라쳐보고,
틀린 정보라도 혼자서 맞다고 생각하고 그 기준으로 답을 정하곤 했었다.
하지만 지난 2년간 아픔을 부정하고 강한 척을 유지하느라, 내가 하고싶은 것보다 "나의 유지"에 신경쓰느라 오히려 갇혀 있었다.
흡사 '내가 걸을 수 있을까?'라는 고민을 걸을 수 있을 거라는 확신이 생길 때까지 고민하는 멍청한 상황이었다.
직접 해보고 안되면 생각하면 될 문제를 말이다.
위 글에 담긴대로 감정의 연약함도 인정하고, 그 상태에서 가치를 재정립하고, 현재에 애정을 담기 시작하니,
지금 내가 뭘 해야 할지가 너무나 명확해졌다.
거기에 조금이라도 더 잘 만들고, 더 쓰고싶게 만들려고 노력하게 된다.
그리고 그 과정에서 어색하지만 이것도 저것도 해보고 싶다는 욕심이 생긴다.
뭐 이것도 사람마다 차이가 있다고 생각한다.
결론은 빠르게 실무에 필요한 지식을 습득하려면 실제 그 회사가 사용하는 기술스택을 사용해보는 것이 최고인 듯 하다.
나 자신을 위해 3줄 요약하자면 다음과 같다.
- 일단 뭐든 무작정 시도해보는게 효율적인 공부에 가장 중요하다.
- 발생하는 문제를 피하지 말고 오래 고민하는 능력을 길러야 한다.
- 뭐든 무작정 하려면, 내가 좋아하는 걸 해라.