본문 바로가기
프로그래밍

[프로그래밍 공부법] 프로그래밍 실력을 올려주는 3가지 공부법

by Couldi 2021. 11. 2.
반응형

프로그래밍을 강의로 공부하라고 하면 많은 사람들이 강의'만' 보면 되는줄 안다. 하지만 그렇게 하면 강의가 다루는 영역에 대해서는 잘알겠지만, 강의가 다루지 않는 부분에 대한 작업을 할 때면 어디서부터 뭘 해야할지 갈길을 잃어버리게 된다.

 

앞서 말했지만 강의를 듣는것은 베이스캠프를 짓는 과정이며 베이스캠프를 지으면서 문제를 정의하고 해결하는 능력을 함께 길러야한다. 문제를 정의할 수 있어야 '구글링'이 가능해지고, 구글링을 통해 '해결'해보는 경험이 쌓여야, 개발을 하면서 만나게되는 언제 어디서 튀어나올지 모르는 문제에 여유있게 대처가 가능해진다.

 

오늘은 그러한 문제를 정의하고 해결하는 능력을 길러주는 공부법 3가지를 소개한다. 이미 활용하고 있는 사람들이 많아 뭘 거창하게 넘버링까지 해서 이야기하나 싶겠지만...

 

1.  공식문서를 읽어보기

항상 프로그래밍을 공부하다가 언어에 대한 궁금증, 프레임워크에 대한 궁금증 등이 생기면, 공식문서를 살펴보는 습관을 들이길 바란다. 공식문서에서 어떤 단어로 어떻게 정의를 내리고 있는지 살펴보고, 그 내용을 기반으로 다시 구글링을 해가며 문제를 해결해 나가는 습관을 들이면 된다. 공식문서를 처음부터 끝까지 다 읽을 필요는 없다. 

비유하자면 모르는 단어가 생겼을때 사전을 찾아본다는 느낌이랄까. 그런 느낌으로 공식문서를 자주 보는 습관을 들이면, 공식문서에서 어느정도 답을 찾는 능력이 생기고, 추후 어떤 언어, 어떤 프레임워크를 공부하더라도 비슷한 경험을 토대로 답을 구해낼수 있는 능력이 생긴다.

단순히 언어 말고도 사람들이 만드는 패키지들을 사용할때도 그 패키지의 공식문서가 학습의 시작점이 된다. 패키지의 공식문서대로 따라 기능을 구현해보고, 다른 사람들이 패키지를 활용하는 방법 등은 추가적으로 구글링해 살펴보다 보면, 패키지를 이해하고 자유자재로 사용하는 능력이 길러진다.

 

2.  질문 하는 습관을 가지기

프로그래밍의 초보들이 잘 못하는 것 중에 하나가 질문이다. 왜 안되는지, 왜 이렇게 하는지 궁금한 건 많지만 어디서 부터 뭘, 어떻게 물어봐야 할지 감조차 잡지 못한다. 그래서 '강의'를 추천하는 거다. '강의'를 기반으로 공부를 하면 혼자 공부할때보다 궁금한 사항을 특정 지을 수 있다. '몇강 어디서 뭐라고 하고 이런 기능을 구현했는데, 지금 해보니까 잘안되네요. 어떤 부분이 문제일까요?' 이정도만 질문이 정리가 되도 다른 사람에게 물어볼 수 있다.

하지만, 질문하는 습관을 가지라는건 다른 사람에게 물어서 문제를 해결하라는 의미가 아니다. 문제를 정의하는 능력을 길러보라는 거다. 내가 겪은 에러가 정의되고 원인을 어느정도 파악할줄 알아야 구글링도 가능해진다. 에러 메세지를 잘읽어보고, 어떻게 구글링을 해야할지, 어떻게 물어봐야할지 곰곰히 생각해서 질문을 정제하는 능력을 기르자.

질문이 정확하면, 답을 구하는 능력도 정확해진다.

그렇게 질문이 정제되고 나면 질문을 통해 다른 사람들과 원활한 소통이 가능해지고, 소통하는 과정에서 질문과 관련된 또 다른 정보를 얻게 되는 등의 다양한 이득이 생긴다.

물론, 이 부분은 나만 잘 모르는 거 같다는 생각에 다른 사람에게 질문하기 꺼려하는 사람들도 많다. 낯가림이 심해 물어보는게 부담스러울 수도 있다. 이해한다. 하지만 내가 모르는 내용은 다른 사람도 모른다고 생각하는 편이 마음이 편하다.

모든 교육이 그렇겠지만 프로그래밍 교육이 진행되다 보면 사람들이 어려움을 느끼는 부분이 대게 비슷하다. 즉, 내가 모르겠다면 다른 사람들도 모르고 있을 가능성이 크다는 것이다. 그러니 부담없이 물어봐라. 내가 모르면 다른 사람들도 모른다는 생각으로.

생각보다 많은 사람들이 당신의 질문에 감사의 눈빛을 보내줄지도 모른다.

 

3.  내 서비스 만들기

배운 것을 활용해 '내 서비스'를 만들려고 하는 순간, 공부의 질이 달라진다. 앞에 두가지 공부법이 베이스캠프를 효과적으로 짓는 법이 였다고 한다면, 이건 내 베이스캠프를 기반으로 성장해나가는 연습을 하는 과정이다. 다른 사람의 서비스가 아닌 '내 서비스'를 만든다고 하면 일단 만드는 서비스에 애착이 생긴다. 강의에서 다룬 내용을 활용하는건 물론이고 추가적인 기능도 고려해보게되고, 조금 모자라 보일지라도 생각대로 움직이게 만들고 싶고, 예쁘게 만들어보고 싶다.

그런 생각들은 공부를 하고자하는 원동력으로 작용되고, 앞의 두가지 공부법과 시너지를 일으켜 프로그래밍 공부 능력을 향상시킨다.

그렇게 자신이 만든 서비스가 한두개 늘어나다 보면, 중복되는 기술은 더 잘 이해하고 쉽게 작성할 수 있게되고, 낯선 기술을 사용하더라도 어떻게 공부하고 적용할지 충분히 연습해 봤기 때문에 새로운 걸 배우고 적용하는데 큰 어려움을 겪지않는다.

마땅한 서비스가 없다면? 시중에 괜찮은 서비스들이 많다. 단순해 보이는 녀석을 잡아 모조리 베끼겠다는 생각으로 만들어보자.

만드는 과정중에 조금 불편하다 생각되는 부분은 고쳐보고, 디자인 적으로 마음에 안들면 수정도 해보고 하다보면 그게 곧 내 서비스가 되어가며 분명 큰 도움이 될 것이다.

 


덧. 스터디를 찾아라.

혼자 공부하면 빨리가고, 함께 가면 멀리간다는 말이 있다. 이 말이 정말 잘 맞는 분야가 프로그래밍 아닐까 한다. 혼자 빠른 속도로 공부하면 진도를 빨리빼고 원하는 결과물을 빨리 만들 수 있겠지만, 자신의 열정이 시들해지는 순간 모든 것이 끝난다. 강의를 듣는 과정 중에도 수많은 에러가 당신의 열정을 위협할 것이고, 혼자 공부하는 상황이라면 순식간에 그 열정은 사그라들지 모른다. 하지만 함께 공부한다면 다른 사람들을 통해 자극을 받을 수도 있고, 도움을 받을 수도 있다. 조금 부족한 사람들 때문에 전체적으로 진도가 나가는 것이 느려질 가능성도 있지만, 그런 사람들이 어려워하는 부분을 도와가며 배울수 있는 부분도 많다. 다른 사람이랑 정기적으로 만나 공부하는 것이 부담스럽다면, 부담이 적은 온라인 스터디부터 시작해보는 것도 괜찮은 방법이다. 문제는 마땅한 스터디를 찾기 어렵다는데 있고, 스터디 구성원에 따라 스터디의 질이 천차만별이 될 수 있다는 점이다.

관련해서 여러 스터디를 만들고, 의지를 가지고 스터디에 참여하면 보장된 퀄리티의 학습경험을 가지게 해주고 싶으나 이 역시 쉬운 일은 아니다. 그래도 지금 나름 flutter를 학습해 앱을 개발하고자 하는 사람들을 위해 운영중인 스터디가 있다. 앞으로 이 스터디가 계속 성장해, 플러터를 공부하고자 하는 사람들이 가장 쉽고 확실하게 플러터에 입문할 수 있는 방법이 되길 바란다.

https://study.flearner.co/

 

플러터 스터디 : 플러너 2기 모집 🎉

Udemy에서 판매 중인 강의를 기반으로 함께 플러터를 공부할 플러너를 모집합니다! (진행 강의 : The Complete 2021 Flutter Development Bootcamp with Dart) 🙋🏻 혼자 꾸준히 공부하기가 어렵다면? 🙋🏻 열정

study.flearner.co

 

반응형

댓글