HyperAI초신경

그들은 모두 요추 디스크를 가지고 있는데, 프로그래머들이 왜 눈에 띄는 걸까?

7년 전
정보
Sparanoid
特色图像

Super Neuro에서

스티브 잡스는 유명한 말을 남겼습니다. "우리나라 사람이라면 누구나 프로그래밍을 할 줄 알아야 합니다. 프로그래밍은 생각하는 법을 가르쳐 줍니다."

여기서의 아이디어는 모든 사람에게 프로그래머의 일을 하라고 요구하는 것이 아니라, 프로그래머처럼 문제를 생각하고 해결하라는 것입니다.미국과 이탈리아 등 서구 국가에서는 프로그래밍이 초등학교, 중등학교, 심지어 유치원의 커리큘럼에 포함되었습니다. 2014년에 오바마는 사람들이 프로그래밍을 배우고 프로그래밍적 사고를 키우도록 격려하기 위해 직접 코드를 작성했습니다.

일부 주니어 프로그래머를 포함한 많은 사람들이 복잡한 문제에 직면합니다. 우리는 역사적 경험에서 시작하여 무작위로 다양한 해결책을 시도하는 데 익숙합니다. 성공하느냐 실패하느냐는 우리에게 충분한 경험이 있는지에 달려 있습니다. 그들은 프레임워크 관점에서 문제에 대한 해결책을 찾는 경우가 거의 없습니다.

이렇게 되면 문제 해결 과정이 시간 소모적이고 노동 집약적이 될 수 있으며, 최종적인 효과도 좋지 않을 수 있습니다.

HackerRank는 2018년 개발자 기술 보고서에서 기술의 중요성을 강조하지 않더라도 프레임워크 사고방식이나 크고 복잡한 문제를 분해하는 능력이 프로그래밍 언어에 능숙한 것보다 더 중요하다고 언급했습니다.

문제 해결에 경험이 있거나 능숙한 많은 프로그래머의 장점은 이러한 프레임워크적 사고방식에 있는데, 이는 프로그래머적 사고방식 또는 프로그래밍적 사고방식으로도 이해될 수 있습니다. 이런 사고방식은 프로그래밍할 때 적용할 수 있을 뿐만 아니라, 모든 사람이 프로그래밍에서 문제를 해결하는 데에도 도움이 될 수 있습니다.

프로그래머는 무슨 생각을 하고 있을까?

그들은 모두 요추 디스크를 가지고 있는데, 프로그래머들이 왜 눈에 띄는 걸까?

팀 페리스의 책 "4시간 요리사"가 여러분에게 영감을 줄 수 있겠지만, 이 책의 중국어 번역본은 아직 없는 것 같습니다. 이 저자는 유명한 효율성 전문가이며 TED에서 몇 가지 고전적인 연설을 한 적이 있습니다. 그는 또한 사람들이 효율적으로 생활할 수 있도록 돕기 위해 "주 4시간의 피트니스"와 "주 4시간의 일"이라는 책을 썼습니다.

또한, V. 안톤 스프라우의 "프로그래머처럼 생각하라"(영어 제목: 프로그래머처럼 생각하라)는 중국어 번역이 있어서 읽기가 더 편리합니다.

그들은 모두 요추 디스크를 가지고 있는데, 프로그래머들이 왜 눈에 띄는 걸까?

프로그래밍적 사고방식에 대한 설명은 다음과 같습니다. 프로그래밍적 사고방식은 다음과 같은 측면에서 이해할 수 있습니다.

1. 문제를 이해하세요

문제가 어려운 이유는 그것을 충분히 이해하지 못하기 때문입니다. 유명한 물리학자 리차드 파인만은 이렇게 말했습니다."뭔가를 간단한 용어로 설명할 수 없다면, 당신은 그것을 이해하지 못한 것입니다."

그러니 문제를 해결할 때는 먼저 문제를 이해한 다음, 간단한 언어로 설명할 수 있을 때까지 노력해야 합니다.

그들은 모두 요추 디스크를 가지고 있는데, 프로그래머들이 왜 눈에 띄는 걸까?

많은 프로그래머가 이런 경험을 했습니다. 다른 사람에게 문제를 설명하는 과정에서 이전에는 알아차리지 못했던 논리적 허점을 항상 발견하게 되고, 이런 발견이 문제를 해결하는 데 도움이 될 수도 있습니다.

2. 계획을 세우세요

즉, 문제를 해결하기 위한 단계를 공식화하고, 문제 해결 단계를 충분히 생각하지 않고 맹목적으로 실행하지 마십시오.

프로그래머에게 이는 프로그래밍을 할 때 그저 코드를 작성하는 데 그치지 않고, 먼저 생각을 명확히 하고, 문제를 분석하고, 정보를 처리하고, X를 입력하여 Y를 출력하는 데 필요한 단계를 개발해야 한다는 것을 의미합니다.

3. 문제를 분석하세요

즉시 해결할 수 없거나 비교적 복잡한 문제에 직면했을 때, 가장 좋은 방법은 해당 문제를 여러 개의 하위 문제로 분해한 다음 가장 간단한 문제부터 해결하는 것입니다. 이러한 하위 문제들을 풀고 나면, 그것들을 서로 연결하면 큰 문제가 원활하게 해결될 것입니다.

예를 들어, 초보 프로그래머가 10개의 숫자 중에서 세 번째로 큰 숫자를 찾는 프로그램을 작성하라는 요청을 받았습니다. 이 프로그램은 몇 가지 기본적인 프로그래밍 언어만 필요로 하지만, 프로그래밍을 처음 접하는 사람에게는 여전히 어려울 수 있습니다.

그들은 모두 요추 디스크를 가지고 있는데, 프로그래머들이 왜 눈에 띄는 걸까?

이 시점에서는 세 번째로 큰 숫자를 직접 찾는 대신 문제를 분해해 볼 수 있습니다.

예를 들어, 먼저 10개의 숫자 중에서 가장 큰 숫자를 찾은 다음, 세 개의 숫자 중에서 가장 큰 숫자를 찾거나, 두 개의 숫자 중에서 가장 큰 숫자를 찾으세요. 그런 다음 이 그룹에서 가장 큰 숫자를 재배열하여 세 번째로 큰 숫자를 결정합니다.

큰 문제를 직접 답할 수 있는 가장 작은 단위로 분해한 다음, 이러한 하위 문제들을 연결하고 약간 확장하여 최종 답을 얻습니다.

4. 어려움에 직면하다

큰 문제를 여러 개의 하위 문제로 분해했는데, 하위 문제조차 해결할 수 없다면 어떻게 해야 할까요? 이때 두려움 때문에 물러서지 말고 계속해서 문제에 대한 해결책을 찾으세요.

디버깅: 솔루션의 각 단계를 다시 확인하여 솔루션에 버그가 있는지 확인하는 것을 의미합니다. 그렇다면 찾아서 해결하세요. 프로그래머 용어로 이 과정을 "디버깅"이라고 합니다.

그들은 모두 요추 디스크를 가지고 있는데, 프로그래머들이 왜 눈에 띄는 걸까?

재평가: 버그가 발견되지 않으면 다른 관점에서 문제를 다시 검토하여 문제를 해결할 수 있는 보다 일반적인 방법이 있는지 확인합니다. 여기서 재평가란 완전히 새로운 관점에서 해결책을 결정하는 것을 의미합니다.

코딩 챌린지 웹사이트인 코더바이트(Coderbyte)에서 종종 상위 3위 안에 드는 C. 조던 볼(C. Jordan Ball)은 이렇게 말했습니다. "때때로 우리는 문제의 세부 사항에 얽매여 일반적인 해결 방법을 무시합니다. 예를 들어, 1+2+3+…+n을 계산할 때 n(n+1)/2 공식을 사용하면 답을 빠르게 얻을 수 있고, 길고 심지어 틀린 덧셈 연산을 피할 수 있습니다."

역사적 사례를 연구하세요. 사실, 많은 문제는 이미 이전 사람들에 의해 답해지고 해결되었습니다. 이들의 사례를 연구하면 비슷한 문제나 새로운 문제를 해결하는 데 도움이 될 수 있습니다. 또한 연구 과정에서 문제에 대한 사고방식을 개선하는 데 도움이 되며, 이는 다른 문제를 해결하는 데 매우 유용합니다.

프로그래머적 사고를 키우는 방법은?

훌륭한 문제 해결자가 되고 싶다면, 가장 좋은 방법은 일상생활 속에서 문제 해결 사고력과 능력을 키우는 것입니다. 많은 것들이 서로 연결되어 있습니다. 문제 A를 해결하는 능력은 문제 B에도 적용될 수 있습니다.

다시 말해, 게임이나 여러분이 관심 있는 다른 것들을 통해 비용 부담 없이 문제 해결 능력을 훈련하고 문제 해결 사고방식을 키울 수 있습니다.

PayPal 창립자 피터 티엘은 종종 체스를 두면서 이런 종류의 사고방식을 키우고, 일론 머스크는 비디오 게임을 통해 이런 종류의 사고방식을 키웁니다. 또한, 링크트인 공동 창립자인 레이드 개럿 호프만과 페이스북 창립자인 마크 주커버그 등 유명 기업가들도 비디오 게임을 하면서 실질적인 문제에 대한 해결책을 찾았다고 말했습니다.

그들은 모두 요추 디스크를 가지고 있는데, 프로그래머들이 왜 눈에 띄는 걸까?

이러한 예를 든다고 해서 게임을 하면 성공할 수 있다는 것은 아닙니다. 다만 문제 해결 사고력을 키우는 게 어렵지 않고, 삶 속의 몇 가지 작은 문제들을 통해 이를 이룰 수 있다는 것을 말씀드리고 싶을 뿐입니다.

또한, 프로그래머이거나 프로그래밍에 관심이 있다면 Coderbyte의 프로그래밍 챌린지에 참여해 볼 수 있습니다. 이는 프로그래밍 사고력을 향상시키는 데 매우 도움이 됩니다.

문제에 직면하고 분석한 후 하나씩 해결하세요,그것은"프로그래밍 사고".

모든 프로그래머가 이런 식으로 생각할 것이라고는 말할 수 없지만, 이 방법은 실제로 매우 효과적입니다. 또한, 문제를 많이 겪을수록 문제를 해결하는 능력이 향상됩니다.

그들은 모두 요추 디스크를 가지고 있는데, 프로그래머들이 왜 눈에 띄는 걸까?

이러한 관점에서 볼 때, 시니어 프로그래머가 주니어 프로그래머보다 더 높은 급여를 받는 이유는 프로그래밍 기술이나 도구 때문이 아니라, 사고방식의 차이 때문일 수 있습니다. 많은 회사가 채용 시 업무 경험을 강조하는데, 이는 이 점에서도 중요한 요소입니다.