카테고리 없음

SYNC 5기 6주차 - 내가 깨달은 효율적인 ABAP 공부법

firststepsaperp 2024. 8. 11. 20:42

오늘은 뛰어난 개발자가 되기 위해 공부하는 과정에서, 투자시간 대비 실력을 빠르게 향상시킬 수 있는 효율적인 공부법에 대해 말씀드리고자 합니다.

물론 개인의 실력수준, 성향 등에 따라 차이가 있기 때문에 모두에게 적용되는 '정답'은 절대 아니고 그저 제가 공부하면서 개인적으로 느끼고 깨달은 효율적인 공부법입니다.

결론부터 말씀드리면, '부딪히며 스스로 해내는 공부'가 효율적인 공부법입니다. 수업시간에 들은 내용을 최대한 복기해내며, 이것저것 눌러보며, 정말 모르겠으면 구글링을 해보며 원하는 시스템을 구현해내도록 하는 것입니다.

수업시간 때 한 필기나, '답지'와 같은 강사님의 코드나 교재에 답으로 적힌 코드를 보고 따라하는 것은 최대한 뒤로 미뤄야 한다고 생각합니다.

답을 보고 따라하면 투자시간 대비 실력이 느리게 향상된다고 생각합니다. 저는 많이 느꼈습니다. 처음에 저는 완벽하게 공부를 하고 싶다는 생각에, 교재의 답지부분을 피고, 진행단계에서 버튼 하나하나 의미를 이해하려하고, 조금이라도 헷갈리는 영단어가 있으면 모두 검색하는 등 꼼꼼히 공부했습니다.

그런데 매일 8시간의 수업을 진행하는 양과, 한계가 있는 체력 때문에 그렇게 복습을 하다보니 복습 시 진도가 빠르게 나가지 못했고, 정작 '본론' 부분은 흐지부지 복습하고 잠드는 경우가 늘어나더라고요. 복습 시 더 핵심적이고 중요한 것, 실무에 더 도움될 능력을 기르기 위한 복습을 하는 게 좋다고 생각합니다. 단어 하나하나 완벽하게 숙지하고 버튼 누르는 경로도 완벽히 정리를 해놓아서 나쁠 건 없지만, 버릴 거는 버리면서 해야 핵심적이고 중요한 것을 잘 복습해낼 수 있다고 생각합니다.

그렇게 몇 주 지나고 보니, 처음에는 비슷한 실력을 가졌던 동기가 수업실습시간에 저보다 훨씬 뛰어난 모습을 보이는 걸 확인했습니다. 저는 복습할 때처럼 교재 답지와 강사님 코드를 보며, '이것이 모범답안을 이해하며 공부하는 정석의 공부법대로 하는 거다.'라고 생각하며 매우 느리게 복습을 하고 있었는데, 동기는 교재나 강사님 코드를 참고하지도 않은 채 스스로 수업내용을 최대한 복기해내며 코드와 로직을 비교적 짧은 시간 내에 다 짜내더라고요. 그리고 남은 시간 동안에는 강사님이나 다른 동기한테 질문하며 디테일한 부분까지 다듬는 거를 봤습니다.

사실 제가 오늘 말씀드리고 소개하는 효율적인 공부법은, 방금 말한 동기를 보고 그날 학원이 끝난 후 동기한테 질문하고 듣게 된 공부법입니다. 수업내용을 최대한 복기해내며, 머리를 쥐어짜며 이것저것 누르며 공부하라는 동기의 말을 듣고 그날부터 바로 실행해봤죠.

그렇게 공부를 하며, 잘하는 사람은 10분 만에 해결할만한 내용을, 저는 집에서 노트북 앞에 앉아 2시간 정도 고민한 끝에 깨달았지만, 저는 이것이 제일 빠르고 효율적인 공부법이라는 것을 깨달았습니다. 공부의 질이 달랐다고 느꼈기 때문에 그렇게 깨달았습니다.

고민 끝에 알아냈으니 기억에도 너무 잘 남았고, 그 과정에서 시행착오를 겪으며 눌러본 다른 버튼이나 기능들에 대해서도 덤으로 공부가 됐습니다. 주변의 버튼이나 기능들을 다 누르게 되고 계속 보며 고민하다 보니, 전체적인 흐름을 보는 능력도 생기는 거 같았습니다. 또한, 이렇게 스스로 부딪히며 수업 때 했던 것을 다시 실습하는 것은 '본론'에 가까운, 그러니까 핵심적이고 중요한 것들을 공부하는 공부법이 된다고 생각합니다. 내가 구현하고자 하는 시스템을 구현해내는 것에 집중하기 바쁘지, 책을 보며 누르는 버튼 하나하나에 경로를 완벽히 숙지하고 영단어 뜻을 하나하나 다 찾지는 않게 되는 것을 느꼈습니다. 앞으로도 더 고민하고 다듬으며 공부법을 발전시켜야 되지만, 지금까지는 이 방법으로 복습을 하니 수업을 잘 따라가고 있습니다. 제가 말을 일목요연하게 하는 능력이 부족해서 주저리주저리 말이 많았는데, 다시 보기 쉽게 정리를 해보겠습니다.

*추천하는 공부법
(1) 강의를 집중해 들으며 공부한다. 꼼꼼히 필기도 하며 듣는다.

(2) 복습을 진행하는데, 수업시간에 진행한 실습을 적어놓은 거 보지 않고 최대한 수업내용 복기해보며 다시 실습해본다.

(3) 정 기억이 나지 않으면 구글링한다.

(4) 하루 8시간 수업분량 기준으로 그렇게 최소 1시간(길면 길수록 좋다고 생각합니다)은 해본 후, 그 다음에 수업내용 필기를 보거나 강사님 코드를 참고하여 마무리한다.

 

*추천하지 않는 공부법 (이전에 내가 하던 완벽주의식 공부법)

(1) 교재 답지를 펴고, 모든 영단어 하나하나 해석해나가며 답지 따라서 실습 진행한다.

(2) 강사님 코드 등 모범 답안을 보고, 정독하며 이해하려고 노력한다.

 

SYNC 교육과정에서 한 챕터가 끝날 때마다 자체적으로 시험을 보는데, 시험 때는 평소 수업시간과 다르게, 다른 사람들의 코드를 볼 수 없습니다. 그렇기 때문에 강제적으로 위에서 정리해드린 '추천하는 공부법'과 비슷한 스타일로 시험을 치르게 되는데, 그래서 그런지 늘 시험이 끝나면, 완벽히 해내지 못했어도 이전에 알지 못했던 거를 깨닫고 배우는 느낌을 받았었습니다. 성장했다는 느낌도 들었고요. 공부도 '시험' 볼 때와 비슷하게 해야 한다고 생각합니다. 그러면 '답지'가 존재하지 않는 회사에서 업무를 진행할 때도 도움이 될, 문제해결능력과 구글링 능력을 기를 수 있다고 생각합니다. 

 

또 이전에 인상 깊게 봤던 영상이 하나 생각 나는데, 한국 축구 리그인 K리그에서 활약했던 김호남 선수의 유튜브 채널에 있는 '성공하는 축구선수의 마인드와 성공하지 못하는 축구선수의 마인드'를 비교해줬던 영상입니다. '자동차 운전'을 예로 들어줬는데, 성공하지 못하는 축구선수는 완벽히 자동차 조작법을 익히고, 길을 완벽히 숙지한 후 운전을 하는 '완벽주의'적 성격이라면, 성공하는 축구선수는, 어느정도의 준비만 마친 후 일단 시동을 걸고 출발하여 직접 시행착오를 겪으며 운전실력을 키운다고 했습니다. 비유가 맞는지 모르겠지만, 제가 추천하는 공부법과 추천하지 않는 공부법도 이와 비슷한 맥락이라고 생각합니다.

 

※이후 2024년 8~9월에 추가적으로 조언 받고, 깨달은 공부법 : 디버깅해보기, 내가 했던 질문 복기하기, 다시 코드에 주석 달며 써보기.

 

※이후 2024년 9월에 강사님께 들었던 추가적인 좋은 말씀(공부법 관련) :

개념 100% 이해하고 실습? NO.

개념 0% 이해하고 실습부터? NO.

원래 계속 왔다갔다 하는 거다.