이글을 보고 여태까지 스스로 했던 개발 공부 방식을 되돌아 보게 되었다.
특히 가슴에 큰 대못을 찔렸던 부분은 다음과 같다.
사람은 목적이 있을 때와 목적이 없을 때는 사고하는 뇌 구조가 다릅니다. 그렇기에 내가 특정한 목적이 있을 때 공부했던 것들은 정말로 빠르게 내 지식이 됩니다.
'그런 부분들만 골라내서 일부만 학습을 하는게 효과가 있는지 모르겠다. 나는 처음부터 다 알고 놓치는게 없이 깊이 알고 싶다. 그래야만 다음으로 넘어갈 수 있다.'
라고 하는 문제의 유혹에 빠지지 마세요.
띄엄 띄엄 공부하는 것은 전혀 아무런 문제가 되지 않습니다. 오히려 한 번에 다 이해를 해야만 넘어가겠다고 하는 생각 자체가 개발 실력을 키우는 데 굉장히 큰 방해 요소가 됩니다.
최근까지도 개발공부를 했던 나의 방식이 전면 부정? 당하는거 같아서 충격 반, 부끄러움 반을 느꼈다. 돌이켜 보면, 수험생활 부터 그랬던거 같다.
고딩때 수능 공부를 할때부터, 공부를 한다고 하면 두꺼운 이론 책 한권을 사서 처음 부터 끝까지 하나도 빠짐없이 정독을하고,
그다음에야 문제풀이에 들어가야 실력이 향상된다고 생각했다.
물론 수능은 언어,수리,영어,탐구영역의 문제해결능력을 보는 것이기 때문에, 학문을 공부하는 방식으로 접근하는게 맞을수도 있다.
하지만 개발은 다르지 않은가. 개발은 학문이 아니다. 애초에 나는 왜 개발자가 되려했나.
나는 개발자 == 창조자, 즉 자기가 만들고 싶은 것은 무엇이든 만들 수 있는, 무에서 유를 창조하려는 사람들이라고 생각했고, 나 또한 그런 사람이 되고 싶었기에 물리과에서 컴공과로 전과를 하고, 개발공부를 한것이 아닌가.
그리고 그때는 이론부터 파고든게 아니라
'나만의 공학용 계산기 만들어보자, 모바일 게임순위 사이트를 만들어서 광고를 붙여 수익창출을 해보자든가' 등의
건설적이든 않든 간에 어떠한 목적을 가지고 구현에 초점을 두며 개발공부를 했었다.
그리고 그때는 확실히 개발실력이 지수적인 그래프를 그리며 늘었던거 같다.
그런데 왜 요즘은 오히려 이론부터 마스터하고 개발을 들어가야지 라는 생각을 하고있나.
사실 스스로 돌아보니 답은 나와있었다. 머리가 커질수록 오히려 두려웠기 때문이다.
암것도 모르는 처음에야 원하는대로 하나하나식 만들어지는게 재밋고 모르는 것 투성이라 배우는 재미가 있었다.
하지만 지금은 (여전히 모르는 것은 많지만) 알면 알수록 배워야 할게, 배울 수 있는것들이 너무 많이 보였다.
예전에는 그냥 돌아가기만 하면된다는 마인드로 구현에 초점을 뒀다면, 이제는 6개월동안의 it기업에 인턴생활과 2개의 협업 프로젝트를 진행 해보면서
디자인패턴, 클린아키텍처, 비즈니스 로직과 view의 분리, 협업에서의 객체지향적 개발의 실전방식, 트렐로, 팀즈, 노션, 슬랙, 피그마 , erdCloud, aws 등등 무수히많은 협업툴 등 많은것을 배웠고 이용해 봤지만,
오히려 배울수록 나 자신이 너무 부족함이 느껴졌고, 언제 이런것들을 마스터해서 완숙미를 가질 수 있을까, 그렇게 되기에는 너무 오랜시간이 걸리지않을까란 생각이 들었다.
처음에는 시간이라는 인풋이 너무 많이 들어갈까봐 귀찮아서 안하는 거라 생각했는데, 더 깊이들어가면 사실은 인풋이 들어가도 이해를 못할까봐, 나의 한계일까봐, 개발자로서의 나의 역량을 체감할까봐 지레짐작으로 두려워서 정작 개발은 하지않고 이론공부만 파고들면서 도피했던거 같다.
그리되면 이제는 새로운 개념과 구현방식에 대해 알게 되어도 '아 새로운 거네? 재밋겠다! 바로 적용해봐야지!' 라는 생각보단 '아, 또 뭐 새로운거 나왔네, 뭐라는지 봐도 바로 모르겠는데, 하.. 젠장 언제 또 공부하냐.. 할 거 많은데..' 라는 부정적인 생각이 먼저 언습해오는거 같다....
개발자가 새로운 지식에 두려움을 갖는 순간 끝이라던데, 시작도 제대로 못한 개발자인채로 끝나는게 아닐까 싶은 생각도 들었다.
그렇게 항상 저딴 쓸데없는 스트레스를 받으며 개발 공부를 하던 중 테오님의 개발공부론을 보게 된 것이다.
글에 달린 댓글처럼, 정말 저 글을 쓰기위해 노력과 고민을 많이한 흔적이 내용에 그대로 드러났다고 생각한다.
그리고 개발실력을 늘리기위한 구체적인 방법론도 제시해주고 있었다.
나는 이글을 토대로 내 개발공부 방식을 바꿔보기로 하였다.
당연히 이 글이 무슨 마법처럼 내 고민을 해결해 주지는 않을 것이다.
당장 공부를 시작하면 나는 또 다시 새로운 지식에대한 스트레스를 받을 것이다.
하지만 이제는 어렴풋이 안다.
한번에 모든 문제를 해결하려는 것은 사실 망상에 불과하다는 것을.
꾸준히 한다면 결국 바뀔수 밖에 없다는 것을.
그래서 앞으로는 velog도 지식을 습득하고 깨달을 때 마다 반드시 기록할 것이다.
진리는 뻔하고 단순하지만 명쾌합니다.
이 글이 새로운 인사이트가 되지는 않을지언정 "그래! 나도 이렇게 일단 한번 해보자!" 하는 마음을 가지고 당장은 이게 맞는 공부법이라고 믿고 한번 해보시길 바랍니다.
화이팅입니다!
테오님 글의 마지막 문단이다.
덕분에 나도, 일단 한번 해볼 '용기'를 가지고 나아가 보기로 하였다.