Computer >> 컴퓨터 >  >> 프로그래밍 >> 프로그래밍

코딩 독학 시 동기 유지하는 법: 포기하지 않는 10가지 실전 전략

이런 이야기, 낯설지 않으신가요?

코딩을 배우기로 결심했습니다! 새로운 커리어를 찾은 설렘에 마음이 가득 차서, Udemy 강의에 빠르게 등록하고 freeCodeCamp도 가입합니다.

낙관적이고 의욕 넘치는 마음으로 그날 저녁부터 앉아서 학습 자료를 살펴보기 시작합니다.

그 후 몇 주 동안 밤늦게까지 코딩을 공부하고, 다음 날 아침 일찍 일어나 출근하는 패턴에 빠져듭니다. 하지만 점점 개념들이 헷갈리기 시작하고, 물어볼 사람도 곁에 없습니다.

소중한 여가 시간을 희생했고, TV로 푹 쉬며 긴장을 풀어본 지도 오래됐습니다. 친구들과의 모임에 빠지는 것도 꽤 힘듭니다.

두세 달쯤 지나자 늦은밤 공부와 수면 부족이 몸을 무겁게 짓누르기 시작합니다. 6개월 안에는 새 직장을 구하는 것과 거리가 멀다는 냉정한 사실을 깨닫고, 그 생각만으로도 크게 좌절합니다.

결국 잠시 쉬어가기로 합니다. 번아웃이 왔고, 솔직히 지쳐 있으니까요. 그 '잠시'의 휴식은 몇 달씩 계속 이어집니다.

그해 말이 되어서야, 튜토리얼을 연 지 한참 됐다는 걸 깨닫습니다. 한숨을 쉬며, 언젠가 좋아하는 일을 하는 꿈을 마음 한구석에 밀어둡니다.

아마 내년엔 되겠지.

코딩하면서 동기를 유지하는 방법

이 이야기가 본인의 이야기와 비슷하게 들리시나요? 혼자 코딩을 배워보려 한다면, 위 이야기의 고민들을 잘 알고 있을 겁니다.

코딩이든 어떤 기술이든 스스로 배우는 것은 선생님이 있는 교실에서 배우는 것과 완전히 다릅니다. 필수 수업도, 시험도, 성적도, 낙제에 대한 두려움도 없으니 동기를 유지할 장치가 없습니다.

혼자 코딩을 배울 때는 스스로 동기를 만들어내야 합니다.

그렇다면 어떻게 해야 할까요? 어떻게 하면 포기하지 않고 끝까지 배워나갈 수 있을까요?

쉽지 않지만 충분히 가능합니다. 이 글에서는 코딩을 배우는 동안 동기를 유지하는 데 활용할 수 있는 팁과 전략을 소개합니다.

먼저 다룰 내용을 간단히 정리하면 다음과 같습니다:

  1. 명확한 최종 목표를 세운다
  2. 목표를 현실적으로 설정한다
  3. 속도보다 꾸준함을 선택한다
  4. 의지력 근육을 단련한다
  5. 번아웃을 피하고 휴식을 취한다
  6. 가면 증후군에 무너지지 않는다
  7. 동료 커뮤니티를 찾는다
  8. 지역 밋업에 참여한다
  9. 타인과 비교하지 않는다
  10. 호기심을 유지하고 재미있게 즐긴다!

이 팁들이 도움이 되길 바랍니다!

#1. 명확한 최종 목표를 세우세요

당연하게 들릴 수 있지만, 시작할 때 구체적인 목표를 머릿속에 확실히 갖고 있어야 합니다. 몇 분이라도 시간을 내어 진짜 나의 1순위 목표가 무엇인지 생각해 보세요. 가장 중요한 것이 무엇인가요?

가족을 경제적으로 부양하기 위해 웹 개발자 정규직에 취업하는 것일 수도 있습니다. 어디서든 살 수 있는 유연한 커리어를 갖는 것일 수도 있고, 상사 없이 스스로 일하는 것일 수도 있습니다.

무엇보다 중요한 것은 나만의 '이유(why)'를 아는 것입니다. 아침에 눈을 뜨게 하고, 계속 나아가고 싶게 만드는 단 하나의 목표는 무엇인가요?

목표를 정했다면, 자주 눈에 들어오는 곳에 적어두세요.

네, 좀 유치하게 들린다는 건 압니다. 하지만 목표와 여가 시간을 희생하는 이유를 계속 상기시켜주는 데 큰 도움이 됩니다.

거창하게 디자인된 포스터일 필요는 없습니다. 포스트잇 한 장이나 종이 조각이면 충분합니다. 인스타그램에서 @girlknowstech로 활동하는 Marie는 포스트보드로 심플한 동기 부여 포스터를 직접 만들어, 컴퓨터 위 벽에 걸어두고 항상 볼 수 있게 했습니다.

당신이 코딩을 배우는 최종 목표는 무엇인가요?

#2. 목표를 현실적으로 설정하세요

동기를 유지한다는 것은 본질적으로 너무 크게 좌절해서 아예 포기해버리는 일을 막는 것입니다.

무언가를 잘하게 되는 과정에서 가장 큰 함정 중 하나는 비현실적인 기대입니다. 왜 그럴까요?

좌절감은 대체로 기대와 현실이 맞지 않을 때 생기기 때문입니다.

완전 초보에서 6주 또는 12주 만에 프로페셔널 웹 개발자가 될 수 있다고 믿고 코딩 공부에 뛰어든다면, 실패를 자초할 가능성이 높습니다.

몇 달 배우고 취업에 성공하는 게 불가능하다는 말은 아니지만, 정말정말 어렵습니다.

(그리고 저는 "X주 만에 코딩 마스터!"류의 마케팅을 크게 신뢰하지 않습니다. 대개 뭔가를 팔려는 경우가 많거든요. 하지만 그건 또 다른 이야기입니다 🙂)

개인적으로는 취업 준비를 할 수 있을 만큼 실력이 갖춰지기까지 1~2년은 걸릴 수 있다고 봅니다. 물론 개인의 상황에 따라 많이 달라집니다. 파트타임이든 풀타임이든 일을 하고 있거나 육아 중이라면, 고등학생이나 당장 일이 없는 사람보다 시간이 훨씬 적을 수밖에 없습니다.

새로운 개념을 얼마나 빨리 습득하는지에 따라서도 달라집니다. 이건 사람마다 다른 부분입니다.

결국 중요한 것은, 모두 각자의 속도로 나아간다는 사실을 아는 것입니다. 자신의 진행 상황을 잘 살피고, 비현실적인 기대로 스스로 실패를 자초하지 않도록 하세요.

#3. 속도보다 꾸준함을 선택하세요

같은 맥락에서, 다소 진부하게 들리는 격언 "천 리 길도 한 걸음부터" 혹은 "느리고 꾸준한 자가 경주에서 이긴다"는 말은 참으로 옳습니다.

처음 시작할 때는 조급한 마음에 매일 몇 시간씩 코딩 공부와 연습에 몰두하고 싶어집니다.

하지만 앞선 팁에서 말했듯, 그건 다소 비현실적인 기대일 수 있고, 결국 번아웃되어 포기하게 될 수 있습니다.

매일 또는 매주 현실적으로 지속 가능한 학습 시간이 얼마인지 파악하고, 그 시간을 지키는 편이 훨씬 오래 갑니다.

하루 30분이라도 일주일 내내 하면 주당 3.5시간입니다. 한 달이면 약 14시간, 1년이면 거의 200시간에 달합니다!

작은 노력이라도 꾸준함과 결합하면 큰 성취로 이어질 수 있습니다.

양치와 치실을 예로 들어볼까요? 하루 4~5분 정도밖에 안 드는, 아주 짧은 시간입니다.

하지만 매일 하는 것과 안 하는 것의 차이는 건강한 치아와 치아가 없는 삶의 차이입니다.

바로 이것이 최대한 빨리 가려는 것보다 꾸준함이 더 중요한 이유입니다.

#4. 의지력 근육을 단련하세요

의지력이 실제 근육 같은 것이라는 개념을 들어보신 적 있나요?

저는 최근 집안일(네, 신나죠, 알아요)을 통해 이를 단련하는 법을 배웠습니다.

저희 집에서는 남편과 집안일을 분담했는데, 주방에서 남편이 그날 사용한 설거지를 씻어 식기 건조대에 올려두고 밤새 말립니다.

다음 날 아침, 저는 아침 차가 우러나는 동안 가장 먼저 그 식기를 정리합니다. 몇 분밖에 안 걸리는 일이지만, 정말 하기 싫었습니다. 좀 지루한 집안일이니까요.

그래도 제 책임이라는 걸 알았기에, 계속 스스로에게 강요하며 했습니다.

그런데 흥미로운 점은, 시간이 지날수록 식기를 정리하는 일을 시작하는 게 점점 쉬워졌다는 겁니다!

물론 처음보다 더 즐겨진 건 아닙니다. 여전히 지루하죠.

하지만 싫던 집안일이 하나의 습관이 된 겁니다.

이게 의지력이 근육이라는 것과 무슨 관계일까요?

운동을 전혀 안 하던 근육을 갑자기 단련하기 시작하면, 처음에는 운동이 당연히 굉장히 힘듭니다.

하지만 시간이 지나면 운동이 실제로 근육을 키우고 몸을 단단하게 만들어, 운동 자체가 점점 쉬워집니다. (웨이트 트레이너가 계속 중량을 늘리는 것도 근육에 새로운 자극을 주기 위해서입니다.)

설거지 정리를 처음 시작했을 때, 그 일을 할 의지력은 아주 약했습니다. 그때는 차라리 안 하는 게 나았죠.

하지만 시간이 지나며 계속 스스로 강요하다 보니, 그 일을 위한 '근육'을 단련하고 일상 속 새로운 습관을 만들어낸 겁니다.

한동안 지나자 그 습관이 뇌에 깊이 새겨져서, 미루는 것보다 그냥 해버리는 게 오히려 더 쉬워졌습니다!

성공적으로 코더가 되려면, 코딩 공부에 시간을 쓰는 의지력 근육을 키워야 합니다.

코딩은 정말 재미있을 수 있지만, 인생의 다른 더 재미있는 일들을 제쳐두고 일부러 앉아서 코드를 짜야 하는 순간은 가끔 괴롭습니다.

하지만 자신을 단련하는 시간이 길어질수록, 그 일은 점점 쉬워진다는 것만 기억하세요.

현실적이고 구체적인 목표를 세우고, 학습 시간의 꾸준함을 추구하며, 코딩하려는 의지가 시간이 지날수록 강해진다는 걸 이해한다면, 중간에 포기할 가능성이 훨씬 줄어듭니다.

#5. 번아웃을 피하고 휴식을 취하세요

밤과 주말에 무언가를 이루려고 할 때, 과로는 흔히 유혹처럼 다가옵니다.

프로그래머 커뮤니티가 활발한 인스타그램에서도, 코딩을 위해 몇 시까지 밤샜는지, 혹은 몇 시에 일어났는지 자랑스럽게 올리는 사람들을 종종 볼 수 있습니다.

단기적으로는 통할 수 있지만, 장기적으로는 결코 좋지 않습니다.

제 경험으로도, 프리랜서 웹 개발로 거의 풀타임에 가까운 시간을 일하고, 남는 시간에 이 웹사이트 작업을 했습니다.

어느 시점에는 하루 종일 일한 뒤, 밤 12시나 새벽 1시까지 튜토리얼이나 글을 쓰곤 했습니다.

주말 내내 밤낮없이 웹사이트 작업을 하다가, 일요일 저녁이 되자 그냥 완전히 방이 나버린 적이 있습니다.

다음 날 하루 종일 일해야 한다는 생각이 더욱 힘들게 느껴졌습니다.

그때 깨달았습니다. 아마 제 스스로를 번아웃시켰구나. 그리고 정말로 쉬고 재충전할 시간이 필요하다는 걸요.

그래서 그 주에 마감이 없던 하루, 소파에 드러누워 하루 종일 책을 읽었습니다. 정말 황홀한 시간이었죠. 하루가 끝났을 때 몸도 마음도 홀가분하게 쉬었다는 느낌이 들었습니다!

코딩 학습 여정에서 반드시 일만 하는 시간이 아니라, 가능하다면 쉬는 시간도 따로 마련하세요. 장기적으로 진행 상황에 큰 도움이 됩니다.

#6. 가면 증후군에 무너지지 마세요

아, 무서운 가면 증후군(impostor syndrome). 초보자를 괴롭히는 대표적인 문제입니다. 더 숙련된 프로그래머조차 '나는 역시 부족하다'는 감각을 쉽게 떨쳐내지 못할 때가 있습니다.

전에도 말했지만, 제가 처음 웹 개발 일을 시작했을 때 '가짜라는 게 들통날까 봐' 완전히 겁에 질려 있었습니다. 첫 직장에서의 2년 내내 그 감정이 거의 상시였습니다.

제 실력에 대한 자신감이 생기기까지 거의 5년이 걸렸습니다. 그러니 가면 증후군을 느낀다고 낙담하지 마세요. 당신만 그런 게 절대 아닙니다!

코더들 사이에서 이런 두려움이 흔한 이유 중 하나는, 프로그래밍과 웹 개발 분야가 워낙 방대하기 때문이라고 생각합니다. 여러 프로그래밍 언어, 수많은 기술 스택, 몇 달마다 쏟아지는 새 프레임워크, 셀 수 없이 많은 도구들.

'알아야 한다'는 기술의 방대함에 쉽게 압도됩니다. 그러니 수많은 예비 개발자들이 가면 증후군으로 고생하는 게 당연합니다!

인내와 집중으로 가면 증후군을 극복하세요.

코딩에 관한 모든 것을 배우는 건 불가능합니다. 솔직히 아무도 모든 것을 알지 못합니다. 대부분의 프로그래머는 한두 개 언어의 전문가가 되고, 다른 언어들은 어느 정도 숙련되었거나 익숙한 정도에 그칩니다.

여러 언어를 배우는 것 자체가 나쁜 건 아니지만, 너무 자주 갈아타지 않도록 하세요. 에너지가 분산됩니다.

대신 하나의 메인 언어와 하나의 스택에 집중해서 그것을 잘하게 되세요.

시간이 지나 실력이 늘면 자신감도 함께 자랍니다. 게다가 가장 좋은 점은, 프로그래밍의 핵심 원리들을 자연스럽게 익히게 되어, 이후 다른 언어·프레임워크·도구를 훨씬 빠르게 배울 수 있다는 것입니다.

또 하나의 팁은 스스로에게 인내심을 갖는 것입니다(목표를 현실적으로 설정하는 것과 연결됩니다). 코딩 학습은 단거리 경주가 아니라 마라톤임을 이해하세요. 능숙해지기까지는 몇 년이 걸릴 수 있습니다.

그렇다고 프로그래밍을 잘 못하게 될 거란 뜻이 아닙니다. 다만 시간이 필요할 뿐입니다.

스스로와 자신의 성장 과정에 인내하고, 한두 가지 기술에 집중해 쌓아간다면, 가면 증후군과 싸울 준비가 훨씬 잘 되어 있을 겁니다.

#7. 동료 커뮤니티를 찾으세요

웹 개발을 배우는 사람들이 흔히 겪는 또 다른 어려움은 외로움입니다.

실제 교실에서 배우면 같은 것을 배우는 동급생이 있고, 질문할 수 있는 선생님도 있습니다.

하지만 온라인이나 책으로 코딩을 배우면 그런 특권이 없는 경우가 많습니다.

동료와 멘토를 찾는 건 쉽지 않지만, 활용할 수 있는 온라인 자원들이 있습니다. 아직 코딩 커뮤니티를 찾지 못했다면, 시간을 내어 꼭 살펴보시길 강력히 권합니다.

커뮤니티에 속하는 것만으로도 '혼자라는 느낌'에 큰 도움이 됩니다.

비슷한 경험을 가진 사람들, 나와 같은 문제로 고민하는 사람들의 이야기를 읽으면 엄청난 위로와 동기부여가 됩니다.

코딩 관련 동료 및 멘토를 찾을 수 있는 곳 몇 가지를 소개합니다:

  • Instagram: 모든 실력대의 프로그래머가 많이 활동합니다. 코딩 질문을 하기에 딱 좋은 곳은 아니지만, 다른 코더들이 무엇을 만들고 무엇으로 고민하는지 볼 수 있는 훌륭한 공간입니다. 저 역시 전 세계 코더 커뮤니티의 일원이라는 느낌을 받아 좋아합니다. 인기 있는 #100DaysOfCode 챌린지를 확인하거나 직접 참여해 보세요.
  • freeCodeCamp: 온라인 풀스택 부트캠프일 뿐 아니라, 학생들을 돕는 유용한 게시판과 페이스북 그룹도 운영합니다.
  • Dev.to: 프로그래머를 위한 활기찬 온라인 포럼으로, 토론과 글을 읽고 질문에 대한 도움을 받을 수 있습니다.

한 가지 조언드립니다. 이런 커뮤니티에 가입했다면, 도움만 요청하지 말고 다른 사람을 돕는 것도 함께 하세요.

도움을 받는 것도 좋지만, 이런 커뮤니티는 질문에 답하기 위해 시간과 에너지를 내주는 사람들이 있기에 작동합니다.

여러분이 다른 사람을 도울 때, 이 공간들이 계속 작동하고 사람들을 돕는 데 한몫하는 겁니다!

#8. 지역 밋업에 참여하세요

온라인 코딩 커뮤니티를 찾는 것도 좋지만, 오프라인 네트워킹도 잊지 마세요!

지역에서 열리는 프로그래밍 관련 밋업이나 네트워킹 행사를 찾아보세요. 정기적으로 참석하면 얻는 이점이 많습니다.

온라인에서 만나는 것과 마찬가지로, 비슷한 상황에 있는 다른 코더들을 만나는 건 즐겁고 힘이 됩니다. 공통의 고민을 나누고, 서로 극복 전략을 공유할 수 있습니다.

게다가 웹 개발자를 채용하려는 많은 테크 기업들이 밋업에 참석하거나 공동 주최하기도 합니다. 담당자들과 대화를 나누다 보면, 결국 그 인연으로 취업 기회를 얻을 수도 있습니다.

결국 커뮤니티에 참여하는 것은 손해 볼 일이 없으며, 여러분에게 도움이 될 뿐입니다.

#9. 타인과 비교하지 마세요

코딩 커뮤니티에 더 깊이 관여하게 되면, 다른 코더들과 자신을 비교하지 않도록 꼭 기억하세요.

물론 다른 사람들이 무엇을 하고 이루는지 안 보는 건 불가능합니다. 하지만 (최대한) 모두를 따라잡아야 한다는 압박감을 느끼지 않도록 노력하세요.

다른 사람의 열정을 보고 그 에너지와 흥분을 내 여정에 이식하는 건 나쁘지 않습니다. 하지만 누군가 자신이 경험해보지 못한 것을 배우거나 한다는 이야기를 들을 때 기운이 빠지거나, 누군가 자신보다 앞서 있는 것 같으면 질투심이 든다면, 결국 그저 좌절감만 쌓일 수 있습니다.

모두의 상황이 다르고, 성장 속도도 다릅니다. 어떤 사람은 당신보다 시간이 많거나 특정 것을 더 빨리 배울 수 있습니다. 어떤 사람은 시간이 적거나 더 느리게 배웁니다. 누가 누구보다 낫지 않습니다.

결국 다른 사람이 빠르든 느리든(혹은 그렇게 보이든), 그것이 당신에게 직접적인 영향을 주지 않습니다.

쉽지 않겠지만, 남의 여정은 걱정하지 말고 오직 자신의 여정에만 집중하세요 🙂

#10. 호기심을 유지하고 재미있게 즐기세요!

우리 코더들의 가장 좋은 특징 중 하나는 사물이 작동하는 원리에 대해 호기심이 많다는 점입니다. 제가 프로그래밍과 컴퓨터를 사랑하는 이유 중 하나이기도 합니다!

배우는 동안 한 좁은 영역에 오래 집중하다 보면, 어떤 이유로든 지쳐버릴 수 있습니다.

가끔은 기어를 바꿔도 됩니다. JavaScript 튜토리얼을 파고들다 머리가 타들어 가는 느낌이 들면, 한 발 물러나서 무작위 사이드 프로젝트를 해보세요. 혹은 지금 공부하는 분야와 다른 프로그래밍 분야의 영상을 보거나 글을 읽어보세요.

가끔씩 변화를 주면 신선함을 유지하는 데 도움이 됩니다.

코딩으로 가능한 것은 정말 많습니다. CSS 애니메이션, 재미있는 API 연동, 그냥 심심풀이용 미니 앱 만들기까지.

재미로 만든 앱 중 하나가 'lorem ipsum' 생성기였습니다. 제가 모아둔 리스트에서 무작위로 단어와 문구를 골라주는 비교적 간단한 도구였는데, 세상에서 가장 복잡한 건 아니었지만 만들고 친구들에게 보여주는 게 정말 즐거웠습니다!

마치며

코딩을 배우는 건 정말 어려운 일입니다. 그 길 어딘가에 있다면, 존경을 보냅니다!

완전히 길을 잃은 것 같고, 절대 프로그래밍을 잘 못할 것 같은 느낌이 들어도, 시간이 지나면 반드시 실력이 따라옵니다.

이 팁들이 도움이 되길 진심으로 바랍니다. 혹시 여러분의 상황에 공감되는 팁이 있었나요? 아래 댓글로 자유롭게 남겨주세요!