끄적

학습방법 회고

dev_roach 2021. 11. 16. 09:11
728x90

오늘은 그간 프로그래머라는 길을 걸어오면서 어떻게 학습하는지?

꾸준히 할 수 있는 원동력이 뭔지 적어보려고 한다.

 

처음 컴퓨터공학이라는 걸 배웠을때는 대학교 1~4 학년 때 까지 컴퓨터 공학을 배웠던게 전부였다.

뭐 열심히 다니지도 않았고, 매일 놀러다니기만 했지만 

그 당시의 학습법은 단순히 어느정도의 성적만 나오기 위한 공부였던  것 같다.

 

목적이 단기 목표인 "어느정도의 성적" 이였기에 추구하고자 하는 가치도 낮았고

그에 수반되는 노력도 적어질 수 밖에 없던 것 같다.

그래서 그 당시의 공부 내용들은 크게 머릿속에 잘 남지 않았지만, 그 중 유독 남는 기억들이 있다.

그 당시를 추억하며 생각해볼때, 어떻게 내 머릿속에 남았을까? 를 고민했던 적이 있는데 

생각해보니 진짜로 이해하고, 남에게 그걸 설명해 주었기에 그게 내 머릿속에 남지 않았을까? 라는 생각이 들었다.

 

이런 추정을 하게 될 쯔음, 딱 4학년이 끝나가고 있었고 코드스쿼드 과정을 신청하기 위한 준비를 하고 있었다.

 

코드스쿼드에서 같이 공부하는 동료들과 이야기하고, 서로 지식을 공유하고 이랬던 기억이 있는데

그 당시의 공부했던 기억들은 거의 머릿속에 남아있다.

 

나 혼자 공부하고 이해했던 것도 있지만

어떤 문제에 부딪힌 사람을 도와주거나 같이 문제를 해결하고 공유했던게 더 장기간 지속되는 기억으로 남는것 같았다.

 

그래서 나름 하나의 오랫동안 지속가능한 공부 방법을 찾았는데

그게 내가 이해한 지식을 최대한 공유하자는 것이였다. 

 

물론 이를 수반하기 위해서는 이해하기 까지의 과정과 노력이 필요하다.

그래서 최근까지도 최대한 내가 어떻게 이해했고

어떤 공부를 했는지를 블로깅을 통해서 공유하려고 노력하고 있다.

 

그리고 두번째로 회사나 프로젝트에서 코딩을 하면서 느낀점이 하나 있는데

문제 혹은 오류를 해결하며 얻은 지식이 생각보다 오래 지속되고, 똑같은 문제에 부딪혔을때 다시끔 기억이 나곤 한다는 것이였다.

 

이런 문제를 통한 기억법에는 가장 큰 어려운점이 하나 있었는데

바로 그 당시에 어떤 문제인지 정확히 알지 못하면, 나중에도 또 똑같은 실수를 반복하게 될 수 있다는 점 이였다. 

하지만 그 당시 어떤 문제인지를 정확히 파악하기 위해서는 뭔가 컴퓨터 공학의 기초나, 프레임워크 혹은 언어를 이루는 기술에 기본지식을 알고 있어야만 문제가 어떻게 발생했는지를 알 수 있는 경우가 상당히 많았다.

 

그래서 이 방법을 내가 지속적으로 실천해 나갈 수 있으려면 

내가 사용하는 기술들에 대한 기본적인 이해가 바탕으로 깔려야 이런 학습방법을 지속적으로 이어나갈 수 있다고 생각했다.

그래서 조금 더 가끔은 프레임워크를 만들어보거나 오픈소스를 하는 노력들을 펼치는 것이 이런 학습방법을 이어나가기 위한

기본기를 다지는 것이라고 생각하고 있다.

 

그리고 코드스쿼드 과정 중 또 느낀것이 있는데

결국 어떤 도전적인 과제 혹은 마감일이 있는 과제에 부딪히는 경우나 자신이 이러한 과정위에 있는 경우가 있는데

이런 경우에서는 자신 혹은 동료가 얻을 수 있는 최우선을 택하는 것이 좋다고 생각한다.

 

예를 들면 사실 난 코드스쿼드 과정을 하면서 프로젝트 완성에는 별로 신경을 쓰지 않았다. (떠나기 전 마지막 프로젝트 제외..)

내가 이과정을 통해서 어떤 걸 얻을 수 있고, 그게 사실 단순히 완성시키는 것보다 가치가 높다면, 완성은 안시켜도 상관없다는 생각이였다.

이런 마인드셋으로 하다보니 별로 완성시키는 것에 대한 스트레스는 받지 않았고

오히려 내가 어떤 걸 얻었는지를 좀 더 명확하게 정리할 수 있는 시간을 가질 수 있었던 것 같다.

 

그러니 부트캠프를 하더라도 너무 완성에 시간을 쏟지 않았으면 한다.

사람마다 얻어갈 수 있는 값어치는 다르니까 그에 맞게 선택해서 자신혹은 팀이 최대한 가져갈 수 있는 방향을 고르는게 좋은 것 같다.

 

말이 조금 길어졌는데 세줄 요약하면 내 학습방법은 아래와 같다.

 

1. 남이 둔 목표에 내 가치를 맞추는 것이 아닌 나 혹은 팀원이 값어치가 높다고 판단되는 곳을 선택하여 실행한다.

2. 자신이 어떠한 것을 이해했던 방법에 대한 내용을 정리하고 공유한다.

3. 특정 기술에서 발생하는 문제들을 이해하기 위해 일단 그 기술에 대한 기초를 공부하고 만들어보려고 노력한다.

 

사람마다 자신에게 맞는 공부법은 다르니 자신만의 공부법을 찾았으면 좋겠다~!

 

728x90

'끄적' 카테고리의 다른 글

Spring Web Flux 에 대해  (0) 2022.04.08
안녕 나의 개인 블로그..  (0) 2021.09.20