나는 그것이 이상하게 들린다는 것을 안다. 문제는 코딩을 배울 수 있는 리소스가 너무 많아서 길을 잃거나 압도당하는 느낌이 들 수 있다는 것입니다. 그러나 다른 언어를 배우는 것처럼 코딩 교육에 접근하면 작업에 유용한 프레임워크를 제공할 것입니다.
프레임워크를 사용하면 학습 진행 상황을 구조화할 수 있습니다. 이렇게 하면 방향, 경로의 이정표, 끝에 도달할 목적지가 제공됩니다.
이 기술의 주요 이점 중 하나는 초급에서 고급까지의 경로를 단계로 나누는 것입니다. 이러한 단계를 구분하면 현재 하고 있는 일을 더 잘 이해하는 데 도움이 됩니다.
예를 들어, 현재 플레이하고 있는 레벨을 알고 있다면 그 지식이 기대치를 설정합니다. 아직 초심자라면 중급이나 고급 기술을 쉽게 습득할 수 있을 거라고 생각하지 마세요. 현실적인 기대를 하면 지나치게 낙담하거나 그만두는 일을 방지하는 데 도움이 됩니다.
좋은 소리? 재미있는 운동으로 시작해 보겠습니다.
최종 목표는 무엇인가요?
언어를 배울 때 목표는 단순히 단어 목록과 무작위 구를 배우는 것이 아닙니다. 새로운 단어를 배우기 위해 언어를 배우려고 하는 사람은 거의 없습니다. 항상 어떤 종류의 실제 응용 프로그램을 염두에 두고 있습니다. 당신은 결국 그것으로 유용한 무언가를 할 수 있기를 원합니다. 그렇죠? 특정 최종 목표를 염두에 두고 있을 수도 있습니다. 누군가와 유창한 대화를 나누거나, 그 나라를 여행하거나, 그 언어로 된 책을 읽는 것일 수 있습니다.
코딩 학습도 이와 같아야 합니다. '코딩 배우기'가 아닌 궁극적인 목표가 있어야 합니다. 새로운 정규직 일자리를 찾거나 모바일 앱을 판매하거나 혼자 일할 수 있습니다. 그 목표는 어려워도 계속 배울 수 있는 동기를 줄 것입니다. 프로그래밍의 세계를 탐색할 때 진정한 북쪽이 될 것입니다.
잠시 이 기사를 읽는 것을 멈추고 코딩을 배우는 것이 궁극적인 목표가 무엇인지 잠시 생각해 보십시오. 왜 이런 짓을하는? 이 길을 시작하게 된 초기 동기는 무엇입니까? 종이에 목표를 적으세요. 컴퓨터 옆이나 욕실 거울처럼 매일 볼 수 있는 곳에 두십시오. 그 메모를 읽으면 여행을 시작하기로 선택한 이유가 생각날 것입니다. 핵심 이유를 기억하면 포기하지 않도록 격려할 수 있습니다.
목표가 떨어졌나요? 좋은. 이 기사를 읽은 후 아래에 의견을 남겨 귀하의 목표가 무엇인지 공유하십시오. 우리는 항상 서로의 이야기를 들으면서 격려를 받을 수 있으며 여러분의 이야기도 듣고 싶습니다.
이제 코딩에 능숙해지도록 합시다!
모국어가 가장 어렵습니다
한 번에 한 가지만 배우는 데 집중
세상에 많은 구어가 있는 것처럼(사실상 6,000개 이상!) — 선택할 수 있는 많은 프로그래밍 언어가 있습니다. 이제 막 시작하는 경우 Python, Ruby, JavaScript, React 및 Java를 한 번에 배우려고 하지 않는 것이 좋습니다. 그것은 엄청나게 비현실적일 것입니다. 중국어, 스페인어, 독일어, 포르투갈어를 동시에 배우려고 하지 않겠습니까?
배울 모국어를 선택하려는 경우 스트레스를 받지 말고 — 하나를 선택하여 적절한 수준의 숙련도까지 배우십시오. 이 첫 번째 언어는 단지 언어를 배우는 것이 아니라 프로그래밍이 작동하는 방식도 배우고 있기 때문에 가장 배우기 어려울 것입니다. 한 가지 언어를 잘하면 제2 및 제3 언어를 배우는 것이 더 쉬울 것입니다.
모든 프로그래밍 언어에는 공통 원칙이 있습니다. 그리고 이러한 원칙을 배우고 나면 새로운 구문과 어휘를 배우는 것이 더 중요합니다. 분명히 언어마다 고유한 특성이 있습니다. 하지만 프로그래밍 학습의 기초를 다지고 나면 나중에 추가 기술을 습득하는 것이 훨씬 더 쉬울 것입니다.
모국어를 선택했으므로 이제 여정의 첫 번째 단계부터 시작하겠습니다.
초보자 레벨
안녕하세요, 여러분!
외국어로 말하는 법을 가장 먼저 배우는 것은 무엇입니까? 일반적으로 가장 기본적인 인사말인 "안녕하세요"입니다. 우연히 "Hello, world!"를 출력하는 방법을 배우는 것이 아닙니다. 프로그래밍 언어로 수행하는 방법을 가장 먼저 배우는 경우가 많습니다.
인사말을 배운 후에는 단어와 기본 문법을 외우게 됩니다. 프로그래밍에서는 변수 유형, 메서드, 구문 및 프로젝트 파일 구조와 같은 개념을 배웁니다. 함수를 수동으로 배우고 겉보기에 사소한 구문 오류에 갇히는 것은 그다지 재미있지 않을 수 있습니다. 그러나 이러한 구성 요소를 마스터하면 계속해서 발전할 수 있는 기술을 얻을 수 있습니다.
이 시작 단계에서는 아마도 많은 실수를 하게 될 것입니다. 아니요, 당신은 많은 실수를 할 것입니다. 하지만 완전히 괜찮아! 여기서 요점은 사용하기 전에 무언가를 완벽하게 배우지 않는다는 것입니다. 사실, 실수를 하는 것은 좋은 일입니다. 왜냐하면 그 실수로부터 배울 수 있기 때문입니다. 시도하지 않은 잘못된 일을 하는 것을 너무 두려워한다면 자신의 학습 과정을 방해하게 될 것입니다. 여기서 핵심은 실수를 하고 배우고 있는 새로운 것을 실험하는 것입니다.
실험할 수 있는 한 가지 방법은 다음과 같습니다.
언어를 배우기 위해 코딩 튜토리얼을 진행 중이라면 평소처럼 수업을 따르세요. 하지만 잠시 시간을 내어 혼자만의 시간을 갖고 편집기에서 코드를 가지고 놀아보세요. 작업 중인 코드를 깨뜨릴 수 있는지 확인하고 어떻게, 왜 깨지는지 이해하십시오. 그런 다음 처음부터 직접 코드를 다시 작성해 보세요. 막힐 때만 강의 노트를 다시 살펴보세요.
이와 같은 실험에는 시간과 에너지의 선행 투자가 필요하지만 장기적으로 성과가 있을 것입니다. 코딩 개념을 가지고 놀면서 무엇이 그것들을 틱하게 만드는지 알아내고, 이것은 그 기술이 당신의 두뇌에 더 잘 붙는 데 도움이 될 것입니다. 기술 수준에 관계없이 새로운 아이디어에 접근하는 방법의 본질적인 부분으로 만들 수 있습니다. (전문가의 길로 실험을 하는 이 기술은 Michael Simmons의 최근 게시물의 주제였습니다.)
중급
조각 맞추기
외국어의 경우 여기에서 일이 더 재미있어지기 시작합니다. — 더 많이 알수록 새로운 언어로 더 많은 일을 할 수 있습니다. 대화 기술을 개발하고 해당 언어로 읽고 듣는 내용을 상당 부분 이해할 수 있습니다. 온라인 언어 학습 리소스 덕분에 해당 언어의 원어민과 친구가 될 수도 있습니다.
프로그래밍에서 중급 수준은 언어의 원리와 그 언어로 할 수 있는 일에 대해 더 많이 이해하기 시작했음을 의미합니다. 여전히 기본 , 즉 책 읽기, 튜토리얼 살펴보기, 실험하기를 계속해야 합니다. 그러나 시간이 지남에 따라 계속 개선할 수 있는 프레임워크를 구축하기 시작했습니다. 또한 GitHub와 같은 커뮤니티에서 더 숙련된 다른 개발자와 상호 작용하는 방법을 배울 수 있습니다. 사실, 다른 사람들이 어떻게 프로그래밍하는지 연구하는 것은 당신에게 엄청난 도움이 될 수 있습니다.
예를 들어 관심 있는 다양한 GitHub 리포지토리를 살펴보고 다른 개발자가 특정 문제를 해결하는 방법을 확인할 수 있습니다. 특정 리포지토리를 연구하면 문제에 대한 가능한 수정 사항을 발견하고 풀 리퀘스트를 제출하려고 할 수도 있습니다. 소유자가 귀하의 요청을 수락하지 않더라도 코드 작업에 대한 약간의 경험을 얻을 수 있습니다. 계속 시도하고 계속 배우십시오.
Stack Overflow, Facebook 그룹 및 Slack 채널과 같은 온라인 포럼에서 다른 프로그래머의 도움과 지원을 받을 수도 있습니다. 버그를 파악하고 올바른 방향으로 안내하는 데 기꺼이 도움을 주는 사람들이 많이 있습니다. 전 세계적으로 코딩 방법을 배우는 사람들로 구성된 커뮤니티가 있습니다!
슬럼프를 겪다
이제 여러분에게 나쁜 소식을 전해야 합니다... 여러분의 학습의 어느 시점에서 여러분은 정체기를 느낄 것입니다. 더 이상 학습 곡선의 가파른 편에 있지는 않겠지만, 끝이 보이지 않는 거리가 훨씬 더 많다고 느낄 수 있습니다. 솔직히 말해서, 짜증납니다.
그러나 절망하지 마십시오! 이 슬럼프는 새로운 기술을 습득할 때 정상적인 부분입니다. 처음에는 엄청난 발전을 이루며 빠르게 기술을 습득하고 있음을 느낄 것입니다. 그러나 점점 더 좋아질수록 중급 및 고급 기술은 더 고급이기 때문에 배우기가 더 어렵습니다. 모든 기술을 마스터하는 것은 숙련된 초보자가 되는 것보다 항상 훨씬 더 많은 시간이 걸립니다.
이 슬럼프에 빠진 것 같다면 포기하지 마십시오. 인내심을 갖고 기술을 계속 발전시키는 데 더 많은 시간이 걸린다는 것을 이해하십시오. 지치지 않으려고 노력하고, 탁월하고 완벽하기 위해 자신에게 너무 많은 압력을 가하지 마십시오. 무엇보다도 지금이 실생활과 온라인에서 강력한 지원 네트워크를 갖는 것이 도움이 될 수 있는 때입니다. 당신과 같은 배를 타고 있을 수 있는 다른 사람들에게 연락하고 이야기와 격려를 교환하십시오.
고급 레벨
"이봐, 내가 실제로 좀 잘하는 것 같아!"
외국어를 배울 때 능숙해지는 것은 대부분의 사람들이 도달하려고 애쓰는 목적지입니다. 능숙하다는 것은 원하는 언어로 어떤 생각이나 느낌이든 표현할 수 있다는 자신감이 있다는 의미입니다. 당신은 이 단계에서 거의 유창합니다!
코딩 언어나 기술의 숙련도 수준에 도달하면 정말 기분이 좋습니다. 때때로 사기꾼 증후군으로 어려움을 겪을 수 있지만 전반적으로 자신의 기술과 프로그래머로서의 가치에 대해 더 자신감을 갖게 될 것입니다. 고객이나 상사가 당신에게 던지는 거의 모든 것을 칠 수 있습니다. 어떻게 해야 하는지 정확히 알지 못하더라도 시간이 지나면서 조사하고(예:Google) 솔루션을 찾을 수 있는 도구가 있다는 것을 알고 있습니다.
그러나 지금은 월계관에 안주할 때가 아닙니다. 프로그래밍은 끊임없이 변화하는 분야이며 빠르게 움직입니다. 계속해서 기술을 연마해야 합니다. 중단하면 어렵게 얻은 숙련도가 쇠퇴하기 시작하기 때문입니다. 안주하고 정체되는 것은 결국 프로그래머로서의 경력에 죽음의 전령이 될 것입니다. 하지만 좋은 소식은 이 시기에 당신이 학습에 능숙해졌다는 것입니다. 새로운 언어, 프레임워크 또는 도구를 배워야 하는 데 예전만큼 오래 걸리지는 않을 것입니다. 그리고 그 과정을 즐길 수도 있습니다!
당신의 궁극적인 목표는 무엇입니까? 아래에 댓글을 남겨주세요...
프로그래밍을 배우는 방법에 대한 이 기사를 재미있게 읽으셨기를 바랍니다. 위에서 말했듯이 프로그래밍 목표가 무엇이며 현재 무엇을 배우고 있는지 듣고 싶습니다.