그냥 열심히 하면 된다고 생각했었고, 여태까지 열정만 가지고 막연한 방식으로 공부해왔다.
그런데 swjungle에서 week[0]을 마치고 week[1]을 보내면서
여태까지의 나의 공부방식이 완전히 잘못되어 있었다는 사실을 깨닫게 되었다.
2.5일간의 week[0] 프로젝트로 웹 페이지를 하나 만들었다.
그런데 정글입학시험 이후에도 혼자 다른 웹 페이지를 만들어봤으니 별로 어렵지 않겠지 생각했었는데, 이 곳에서 다시 해보니 엄청 어려웠다!
되돌아보면 혼자 만들 때는
어떤 구현이 잘 되지 않으면 기능을 바꾸거나 없애면서 타협할 수 있었는데
이 곳에서 만들 때는 명확한 목표를 팀원들과 함께 정한 뒤 만드는 것이다보니 타협하지 않고 계속 검색하며 문제를 해결하려고 노력하기 때문인 것 같다.
다시 웹페이지를 만들면서 내가 평소에 이렇게 타협을 많이 했었구나😂 하고 돌아보게 되었다.
정글에 들어와서 진행할 프로젝트는 타협하기 어려울테니 더 좋은 공부가 되겠지만, 앞으로 사이드 프로젝트를 진행한다면 명확한 목표를 가지고 서비스를 구현해야겠다고 다짐했다. 어렵다고 타협하지 말자!
지금은 week[1] 커리큘럼으로 기초 알고리즘을 공부하고 있다.
솔직하게 말하자면 문자열, 재귀, 정렬은 이전에도 공부한 적 있기 때문에, 이번에야말로 그렇게 어렵지 않을 줄 알았다..🤣
알고있다고 생각했던 문제들을 다시 풀어보면서,
내가 여태까지 뭘 공부했던거지? 하는 부끄러움과 자책이 들었다.
알고리즘은 풀었다고 끝이 아니라
왜 이런 상황에서는 이 알고리즘이 다른 알고리즘에 비해 좋은지,
왜 이 방법이 빠른 건지
깊이 있게 이해하는 게 정말 중요하다고 다시 한 번 느꼈다.
빨리 끝내고 웹도 복습하고, 앞으로 사용할 c++을 예습하려고 했는데,
이번 주차에는 알고리즘 공부에 전념하기로 했다.
되돌아보면 나는 프로그래밍을 하던 중 어떤 문제가 생겼다가도 일단 어찌저찌 해결되면 그 뒤에는 금방 그 문제를 잊어버렸다. 문제가 왜 생겼는지, 왜 이 방식으로 해결할 수 있는 것인지 모르면 사실 공부가 되지 않은 건데, 빨리 해치우고 다음으로 넘어가야 한다는 마음에 급급했던 것 같다.
결국 그런 구멍 뚫린 공부 방식 때문에 웹도, 알고리즘도 탄탄히 공부하지 못했음을 정글에 와서 일주일간 뼈저리게 느꼈다.
swjungle이 타 부트캠프와 차별점으로 강조한 것이 바로 CS기초에 집중하는 커리큘럼이다. 훌륭한 소프트웨어 개발자가 되기 위해서는 기본기가 가장 중요하기 때문이다. 나의 부족했던 공부방식을 깨닫고 정글의 핵심을 되새겨보니, 이런 기본기를 놓치는 공부방식이 나 같은 개발자 지망생이 빠지기 쉬우면서도 치명적인 나쁜 습관이라는 생각이 들었다.
공부한 범위를 제대로 이해하지 못한 채 넘어가는 일은 이제 절대 없어야겠다. 다른 사람에게 설명해 줄 수 있을 정도로 이해해야하고, 그러지 못했다면 최소한 지금 내가 어느 부분을 이해했고, 어느 부분을 제대로 이해하지 못했는지 알고 있어야 한다! 그래야 틈나는 대로 그 부분을 더 공부해서 완전히 이해할 수 있다.
한 번 이해한 내용이라도 기록해두지 않으면 까먹기 쉽다. 또 언어로 정리하지 않은 지식은 이해했다고 생각했더라도 사실 제대로 이해하지 못했을 수 있다.
벨로그도 팠으니, 앞으로는 공부한 내용은 벨로그에 꾸준히 올려서 다시 찾아보기 쉽도록 해야겠다.
여태까지의 공부방식이 잘못되었었다는 사실을 생각하면 부끄럽지만,
앞으로 정글에서 새로운 마음으로 개발자에게 필수적인 공부자세와 기초지식을 다져야겠다고 생각하니 설레기도 한다. 장병규 대표님께서 하셨던 말씀 중에, "지식을 묻기보다 지혜를 습득하려고 노력하라"는 말씀이 인상적이었다. 배워야할 지식이 끝없이 나오는 개발자에게 정말 중요한 것은 어떻게 배워야할 지를 아는 지혜, 즉 올바른 공부자세인 것 같다.
이 곳에서 배운 자세로 사회에 나가서도 끝없이 공부해나가며 새로운 지식을 쌓을 줄 아는 개발자가 되어야겠다.