프로그래머가 되기가 왜 그렇게 어려운가요?

WBOY
풀어 주다: 2016-07-25 08:47:58
원래의
1046명이 탐색했습니다.
어떤 사람들은 평범한 사람처럼 보이는 엔지니어가 모두 실제로는 학습 프로그램 개발 과정에서 견디고, 우울하고, 트라우마를 겪은 소시오패스라고 말합니다.
학습 프로그램을 개발하는 과정에서 인터넷에서 '애로사항에 대한 이야기'를 자주 접하고, 주변의 미래가 밝은 엔지니어 친구들의 학습 과정을 공유하는 이야기도 늘 듣는다. 사람마다 같은 이야기가 들려오는데, 그것은 마치 늑대의 울음소리처럼 계속해서 멀리서 들려왔다.
저는 최근 Viking Code School 블로그에서 Erik Trautman의 글 "Why Learning to Code is So Damn Hard"를 읽었습니다. 이 글은 코딩 학습 과정을 4단계로 나누고 영향을 미치는 두 가지 핵심 요소를 설명했습니다. 각 단계의 형성, "데이터 밀도" 및 "지식 폭"을 최종적으로 이 그림으로 정리했습니다.
이 기사는 매우 흥미롭고 제가 들어본 "엔지니어"와 매우 일치합니다. History"에 대해 설명하기 때문에 이 4단계를 모두에게 소개하기로 결정했습니다. 프로그램 초보자들은 돌아올 수 없는 이 길에 들어가기 전에 눈을 크게 뜨고 신중하게 계획을 세우고, 앞으로 무엇이 기다리고 있는지 명확히 이해하고, 잘 해내길 바랍니다. .완전히 정신적으로 준비하세요!
다음으로 Erik Trautman이 프로그램 작성 시작부터 엔지니어가 되기까지 거쳐야 하는 4가지 단계를 소개하겠습니다.
엔지니어가 되고 싶다면 이 A를 준비하세요. 필수 합격 경로
프로그램 작성을 배우는 최종 목표가 이 업계에서 생계를 유지하는 것이라고 가정해 보겠습니다. 즉, 관련 분야에서 일하거나 사업을 시작하는 것이 완전한 준비인지 여부에 달려 있습니다. 당신의 자신감(Confidence)과 역량(Capability) 분포 차트는 다음과 같습니다:
점점 더 많은 지식과 기술을 습득할수록 자신감도 그에 따라 증가하거나 감소하며 마침내 현재의 수준에 도달하게 됩니다. 유능하고 자신감이 있습니다. Job Ready 이전에는 4단계로 나눌 수 있습니다.
첫 번째 단계: 손을 잡고 마음을 맞대고 신혼여행
프로그램 개발 세계에 막 입문한 친구들은 항상 큰 꿈과 야망을 탓할 수는 없겠지만, 한편으로는 어렸을 때부터 "프로그램 작성은 어렵다", "컴퓨터 과학은 매우 어렵다"는 소문을 많이 들었습니다. 처음에는 많은 사람들이 사회 과학을 공부하는 것을 두려워했습니다(...사회 과학 전문가에게 공격적이지 않음). 반면에 "모두 프로그래밍" 운동은 시장에 매우 성공적이었습니다. 프로그램 개발을 이해하기 쉽고 시작하기 쉽게 만드는 Codecademy, Treehouse, Code School과 같은 온라인 플랫폼이나 MIT의 Scratch 언어, Google의 Blockly와 같은 프로그래밍 언어 도구는 누구나 프로그램을 작성할 수 있고 쉽게 시작할 수 있다는 환상을 성공적으로 만들어냈습니다. 이 직업으로 생계를 유지하세요.
갑자기 우리의 문제는 더 이상 '어려움'이 아니라 '하늘만큼 높은 기대'와 '지구만큼 큰 꿈'입니다.
가장 중요한 것은 위에서 언급한 도구와 플랫폼이 정말 유용하다는 점입니다. 프로그램 개발 경험이 없는 초보자도 변수, 조건문, 프로그램 구문을 단계별로 이해할 수 있도록 도와줍니다. 끝까지 합격하고 프로그래밍 언어의 기본 논리와 구문을 익히면 성취감도 크며, '나도 할 수 있겠구나'라는 자신감이 생기기 시작합니다. "프로그램을 작성할 때 내가 할 수 있는 일은 그것뿐이다." 기본적으로 나는 "엔지니어"가 되는 것과 멀지 않다고 느낀다.
이번 무대는 다양한 온라인 도구와 온라인 교육을 통해 손끝으로 지시하고 컴퓨터가 정확하게 실행하는 짜릿한 즐거움과 성취감을 느낄 수 있습니다. 당신은 프로그래밍 언어에 감탄하게 될 것입니다. 그들의 능력이 향상되고 자신감이 크게 높아지는 "밀월 기간"에 있습니다. 앞으로 인생은 풍요로워지겠지만 잔인하게 말씀드리고 싶습니다.
이 여행은 이제 막 시작되었습니다.
두 번째 단계: 혼란의 절벽
대부분의 커플/신혼부부가 그렇듯이 신혼여행도 끝나가고, '사랑에 빠지는 것이 그렇게 간단한 일이 아니다'라는 사실을 서서히 깨닫게 될 것입니다.
숙제의 난이도가 높아질수록(핵심은 프로그램 코드의 길이도 늘어난다는 점) 프로그램 오류 경고가 자주 나타나며 디버깅이 시작됩니다. 그리고 가장 큰 문제는 오류가 발생하면 오류가 무엇인지, 어떤 질문을 해야 할지 전혀 알 수 없다는 점입니다. 이 단계에서는 마치 도중에 갑자기 절벽에 부딪혀 갈 길이 없는 것처럼 학습 진행이 정체되기 시작합니다. 이전 지식에 대해 혼란을 느끼기 시작하고 자신감을 잃기 시작합니다.
일반적으로 이 단계는 기본 온라인 교육을 마친 후에 진행됩니다. 개인 홈페이지(포트폴리오 홈페이지)를 예로 들어보겠습니다. W3 School 플랫폼에서는 HTML, CSS, JavaScript 등 웹 페이지 제작과 관련된 일련의 프로그램 교육을 제공하여 초보자도 단원별로 구문과 기능을 배울 수 있습니다. 각 유닛에는 또한 다음과 같은 기능이 있습니다. 예제에서는 사용법을 보여주므로 매우 간단해 보입니다! 모든 것을 배우고 나면 자신만의 웹 사이트를 구축할 준비가 된 것입니다. 텍스트 편집기를 열고... 단 두 줄만 작성한 후에는 작동이 멈춥니다.
이것은 반드시 통과해야 하는 특히 좌절스러운 단계입니다. 프로그래머가 되고 싶다면 이 단계를 통과하고 용감하게 절벽에서 뛰어내려 날개를 펴고 높이 날아야 합니다. 물론 이 단계에서 떨어져서 죽는 병아리의 숫자는 매우 많습니다.)
그러나 셀 수 없이 많은 버그를 제거하고 마침내 여러 개의 작은 프로젝트를 완료하더라도 너무 기뻐하지 마세요. 앞으로의 길은 여전히 ​​멀고 더 어렵습니다! 이 업계에 진출하려는 사람들에게 있어 이 업계에 본격적으로 진출할지 여부를 결정하는 전환점은 일반적으로 "혼란의 절벽"입니다. 프로그램 작성에 모든 시간과 에너지를 투자하면 가장 좌절스러운 단계에 들어서게 됩니다. 감기의 세 번째 단계.
밀접하게 연결된 1단계(허니문 단계)와 2단계(혼란의 절벽) 사이에 왜 이렇게 차이가 많이 나는지 궁금하시죠? 당신도 위의 두 단계를 거치고 있다면, 단계 전환의 이유는 전적으로 당신이 남들보다 멍청하거나 남들보다 열심히 일하지 않기 때문이 아니라, "자원 밀도" 이유의 변화.
요인 1: 자원 밀도
첫 번째 단계에서 언급했듯이 경험도 없고 기반도 없는 프로그램 작성을 배우기 시작하면 당신이 사용하는 수많은 자원과 도구가 있습니다. 그것. 구글에 가서 "코딩 배우기"를 검색하면 프로그래밍 학습 플랫폼, 텍스트 교육, 비디오 교육, 체험 토크 등이 많이 있어 매우 친절하고 따뜻한 느낌을 받을 수 있습니다. 손을 잡고 마음을 잇는 것." 당연한 일이죠.
그러나 두 번째 단계에서는 이러한 교육 리소스의 수가 크게 줄어들 것입니다. 이제 막 초보자를 떠난 프로그램 학습자는 내 말이 사실임을 확인할 수 있습니다. 처음에 초보자가 직면하는 장애물은 교재와 교과서에 언급될 "일반적인 일반적인 문제"입니다. 나중에는 숙제의 어려움과 개인적인 필요로 인해 문제가 점차 더 복잡해집니다. 스택 오버플로 또는 일부 프로그래머는 블로그에서 문제 해결에 대한 단서를 확인하세요. 당신이 직면한 문제가 인터넷에서 어떤 단서도 찾을 수 없을 정도로 어려워질 때까지, 당신은 다음 단계로 들어가게 됩니다.
세 번째 단계: 절망의 모래톱
세 번째 단계로 진입하는 열쇠를 이해하려면 각 단계의 변화에 ​​영향을 미치는 또 다른 중요한 요소인 지식의 폭을 이해해야 합니다.
요인 2: 지식 범위
"지식 폭"은 각 단계를 통과하는 데 필요한 지식 영역의 범위입니다. 처음에는 흡수해야 할 지식이 매우 집중되어 있습니다. 어떤 프로그래밍 언어를 사용하든, 어떤 함수를 사용하든 먼저 변수 유형, 선언 구문, 루프, 조건 판단 등을 배워야 합니다. 이때 물어보세요. 당신을 가르치는 엔지니어. 당신은 모두 똑같습니다. 왜냐하면 이것이 "알아야 할 중요한 것"이기 때문입니다.
그러나 기본 기술을 익힌 후에는 객체 지향 학습을 시작하거나 알고리즘의 효율성에 중점을 두는 등 필요한 지식 영역이 갑자기 많이 확장됩니다. 그리고 모든 지원서에는 더 많은 변화가 필요할 수 있습니다... 저를 믿으십시오. 이것은 몇 가지 MOOC 과정을 통해 절약할 수 있는 것이 아닙니다.
이 기간 동안 전능하신 Google은 당신이 이해하지 못하는 것만 더 많이 던질 것이며 관련 단서는 전혀 없을 것입니다! 가장 나쁜 점은 자신이 모르는 것이 무엇인지 전혀 모른다는 것입니다. (당신은 당신이 모르는 것을 모르는 것입니다.) 그 결과, “배움은 결코 끝낼 수 없고, 배우면 알수록 이해하기 어려워진다”는 무력감이 압도했고, 세 번째이자 가장 어려운 단계인 “절망의 모래톱”에 들어섰다.
이름에서 알 수 있듯이 이 단계는 사막을 건너는 것과 같습니다. 매우 길고 외로운 여정이며, 빠져나오는 데 얼마나 시간이 걸릴지 알 수 없는 절망감을 느끼게 합니다. 그것. 끝없는 사막 속에서 나는 오랫동안 정보를 찾아 헤매었지만 아무것도 찾을 수 없었다. 또한 신기루(잘못된 정보나 겉으로 보기에 가능한 해결책)에 이끌려 갔다. 때로는 낙담하고 어지러움을 느끼기도 했습니다. 여기에는 노출과 갈증, 절망으로 죽은 전도유망한 젊은이들도 셀 수 없이 많습니다.
하지만 절망의 모래톱을 견디는 한 다음에는 훨씬 더 편안해질 것입니다! 충분한 경험이 축적되면 프로그램 오류가 크게 줄어들고, 일정 수준의 지식에 도달하면 문제의 방향을 정확하게 파악하고 핵심에 도달할 수 있게 되어 업무 효율성이 높아집니다. 향상되고 지식의 폭이 점차 집중될 것입니다. 온몸에 지친 몸을 이끌고 마침내 이 사막을 빠져나오면 마지막 단계에 진입한 것입니다.
네 번째 단계: 트라우마 후 회복기
수천만 명의 시체를 밟고 사막을 성공적으로 건너고 나면 자신감이 생기기 시작하고, 구글 실력도 향상됩니다. 신의 수준이라고도 할 수 있다. 이때쯤에는 Hacker News 뉴스와 매우 어려운 MOOC 과정도 문제가 되지 않습니다. 전문적으로 사용할 특정 프로그래밍 언어와 프레임워크도 선택했으며 정상적으로 작동할 수 있는 애플리케이션을 만들 수 있습니다.
하지만 마음속엔 늘 막연한 불안감이 자리잡고 있습니다. 프로그램을 '사용'할 수 있다고 생각하지만 사실은 엔지니어라는 타이틀 아래 이 분야에 발을 들인 것이 엉망입니다. 당신은 취업에 필요한 모든 자격을 갖추고 있는 것처럼 보이지만, 면접관이 당신의 취약한 컴퓨터 지식을 발견할까봐 항상 두려워하고 있습니다... 당신은 '외상 후 회복기'를 겪고 있습니다.
혼란의 절벽을 뛰어넘고, 절망의 모래톱을 넘어, 배워야 할 것을 배우고, 해야 할 일을 하며 진정한 엔지니어가 되었어야 하는데, 늘 자신의 자격이 형편없고 부족하다고 느낀다. 여러분의 기반은 불안정합니다. 비록 제가 각 프로젝트를 성공적으로 구축하고 자신감이 높아졌음에도 불구하고, 제 마음속으로는 "전문 엔지니어"와 아직 갈 길이 멀다는 것을 늘 한탄합니다... 이 모든 것이 원인입니다. "사기꾼 증후군"!
이 외상후 회복 기간 동안 자신에 대해 의심을 품게 될 수도 있지만 이러한 효율성 향상과 자신감 회복의 물결에 맞춰 계속 열심히 노력하는 한 능력과 자신감이 일정 수준에 도달할 수 있습니다. level... 축하합니다. 취업 준비가 되셨습니다!
LAMP Brothers의 원본 PHP 튜토리얼 CD/"Essential PHP in Detail"을 무료로 받으십시오. 자세한 내용은 공식 웹사이트 고객 서비스(http:/)에 문의하세요. /www.lampbrother.net



원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿