프로그래밍 기술에 대해 더 확신을 가질 수있는 방법은 무엇입니까? [닫은]


37

프로그래밍은 나에게 외계인이 아니다. 내가 12 살일 때 마크 업 (HTML, 이제 제발 웃지 말아주세요)을 시작하고 13 살일 때 약간의 베이직 (이 시점에서는 순서도, 의사 코드에 대해 많이 알고있었습니다)에 들어갔습니다. 고등학교의 생물학 때문에 C, Java 등과 같은 언어에 대한 "실제"프로그래밍 지식이 누락되었습니다. 나는 UG BE (BS와 유사하지만 더 이론적으로)를 위해 CS를 채택했습니다. 나는 혼자서 C & C ++을 배웠다. (내 교수는 완전히 고통 받았고 수업은 코드 농담으로 가득 차 있었다 (누가 학교에서 그것을 배웠기 때문에 수업에주의를 기울이지 않았으며 수업하지 않았다) 저와 같은 저 필사자들도 수업에주의를 기울여야합니다.)) 훌륭한 추가 또는 곱셈 프로그램 (지금은 더 친절한 정원사)

나의 주된 문제는 내가 항상 부족한 프로그래밍 기술에 의해 교착 상태에 빠졌고 코드 농담에 사로 잡혔다는 것입니다 (나를 믿으십시오. 질문) 그리고 때때로 상기 무능력에 대해 우울 해졌다. 대부분의 사람들은 프로그래밍이 반드시 언어에 관한 것이 아니라 사람이 가지고있는 마음의 상태와 그들이 문제 / 문제를 해결하기 위해 사용하는 기술에 있다고 말합니다. 나는 그러한 정서에 동의하지만, 그런 "마음의 상태"를 얻을 수 있고, 그런 경우 "프로그래밍 / 코딩"에 접근해야하는 경우, 그리고 "Zen"을 달성하기 위해 가장 정해진 방법과 단계가 있다면 코딩의 ". 어떻게합니까? 또한 일부 성도가이 다운 된 $ #! ^을 멘토링하고 싶더라도 아프지 않을 것입니다.

추신 : 나는 시간을 투자 할 가치가 있다고 생각하는 모든 사람에게 영원히 감사 할 것이며 보너스로 첫 번째 소프트웨어를 따를 것입니다. (내가 배송을하면, 즉)

TL; DR : "프로그래밍 / 코딩"을 실제로 배운 적이 없으며, 시도해도 문제를 해결할 수 없습니다. 도와 줘요!


22
스스로를 억누르지 마십시오. 아무도 자궁 프로그래밍에서 나오지 않았습니다. 코드를 많이 쓸수록 코드에 대해 더 많이 생각하게됩니다. 그것으로 재미있게 보내십시오.
Steven Evers

9
"Hm, 버그는 아마도 컴파일러가 아닌 내 코드에있을 것"이라고 생각한다면 프로그래머 (대부분의 프로그래머와 마찬가지로)처럼 생각하는 것입니다.
gablin

5
@ SnOrfus : Jon Skeet를 제외하고 아무도 없습니다;)
back2dos

4
한 멍청한 놈에서 다른 멍청한 사람으로 : 연습이 핵심입니다!
Chani

1
@Snorfus 나는 내기 몇 사람이했다! : P
Mark C

답변:


26

가장 좋은 방법은 단순히 더 많은 시간을 소비하는 것입니다 (10000 시간 규칙 검색). 하고 싶은 일을 찾아서 끝내십시오. 당신의 현재 능력을 넘어선 것이지만, 아직 충분한 시간이 걸리지 않는 것을 선택하십시오. 당신이 그것을 정말로 즐긴다면, 당신이 정말로 잘 될 때까지 이것을 반복하는 것을 알게 될 것입니다. 당신이 그것을 즐기지 않는다면, 아마도 당신에게 옳지 않은 것입니다. 그래도 자신에게 도전 해보십시오. 아마 그것을 즐길 것입니다.


10000 시간의 규칙 제안은 공정한 것 같습니다. 정말 흥미롭지 만 어떤 언어를 선택해야하는지 어느 것이 여전히 관련성이 있으며 새로운 언어와 동일한 유연성을 제공합니다 (예 : 모든 개념에 대해 깊이있는 Java를 배우면 Scala, Processing, Clojure, 등 꽤 쉽게).
Ameen

11
Ameen : 다른 언어에 대해서는 걱정하지 마십시오. 하나를 배우십시오. Java에 10,000 시간을 투자 한 후 나중에 진행하십시오. 인생은 길고 많은 언어가 있습니다. 모든 언어를 배우지는 못할 것입니다. 새로운 것이 항상 발명되었습니다. 지금 한 가지를 배우십시오. 그 후 미래에 대해 걱정하십시오.
S.Lott

2
모호한 방식으로 "더 많은 시간을 소비"하는 것은 효과적이지 않습니다.
Rein Henrichs

1
또한 좋은 전략은 객체 지향 프로그래밍 언어를 배우고 기능적 프로그래밍 언어를 배우는 것입니다. 정적으로 입력 된 언어와 동적으로 입력 된 언어를 배우십시오. 당신은 잘 다듬어 진 개발자가 될 것입니다.
Chiron

1
@BSeven "10 년 후의 프로그래밍 배우기"에 관한 Peter Norvig의 에세이를 확인해야하며, 프로그래밍에 익숙하지 않은 몇 가지 주요 문제에 대해 많은 정보를 제공합니다.
Ameen

16

물건을 배송하십시오 . 유일한 방법입니다. 작업을 완료하십시오. 직장, 자신의 프로젝트, 오픈 소스 프로젝트. 물건 운송을 시작하십시오. 그것들은 버그 수정이나 최소한의 시장 기능과 같은 매우 작은 일이 될 수 있습니다. 그냥 물건을 출하 시작 . 성공보다 더 만족 스럽거나 자신감을주는 것은 없습니다.

편집 : Ship It을 읽어야 합니다. 훌륭합니다.

다시 수정 : 배송 이외의 작업은 경험이 실패한 것입니다. 나는 주요 경험으로 물건을 배송하지 않은 사람들 (그리고 배송하지 않은 것에 대한 변명을 찾는)을 가진 많은 "고급"개발자들을 보았습니다. 실제 예술가가 배송 합니다.


12

'문제', '부적절한', '교살 된', '제한된 X 기술', '숨겨진', '우울 린', '무능력', 한 문장에서 모두 자신을 향한 지시는 과거에도 여전히 상처를 입지 않은 상처를 알려줍니다. 당신. 이를 극복 할 수있는 방법을 찾으면 프로그래밍이나 그러한 예술 / 공예를 쉽게 익힐 수 있습니다. 아마도 다른 사람들의 회복력에 대해 읽는 것이 도움이 될 것입니다. 모든 사람은 자신의 삶에서 고통스러운 시간을 겪습니다. 그러한 상처 / 상처가 치유되지 않으면 그들의 성공은 이루어지지 않았을 것입니다. 상처를 먼저 치료하십시오. 프로그래밍은 나중에 기다릴 수 있습니다.

프로그래밍 기술에 관해서는, 새로운 언어를 배우고 이미 그 언어로 프로그래밍하는 다른 사람들처럼 생각하기 시작하는 방법은 먼저, 그 언어와 관련된 손을 댈 수있는 모든 것을 읽으십시오. 그런 다음 충분히 읽었을 때 작은 프로그램을 작성하십시오.


2
이 같은 맥락에서, 같은 문제를 겪은 사람과 그와 그의 문제를 둘러싼 커뮤니티가 만나고 싶다면 이 해커 뉴스 스레드읽으십시오 .
웨스 베이커

3
+1은 설명서 및 자습서를 읽어 볼 것을 제안합니다. 그리고 첫 번째 부분은 많은 상처가 치유되지 않는다는 데 동의합니다. (이 사이트에서 심리학자는 무엇을하고 있습니까?) 그러나 불행히도 일부 상처는 다른 상처만큼 쉽게 치료할 수 없습니다. 그러나 나는 그들과 계약을 맺었고, 솔직히 그들은 예전처럼 고통스럽지 않습니다. 그리고 유휴 상태가되면 그런 부정적인 생각을하게 될 뿐이며, 그렇게하는 유일한 방법은 코딩 등을 계속 사용하는 것입니다. 귀하의 제안에 감사드립니다. 내 친구가 당신의 심령술에 저를 매료 시켰습니다.
Ameen

@Wes Baker : 해커 뉴스 스레드에 대해 대단히 감사합니다. 나는 OP의 생각과 관련이있을 수있다 (물론 그렇게 나쁘지는 않았지만). 나는 (운영체제, 컴퓨터 아키텍처, 알고리즘, 데이터 구조, 컴퓨터 네트워크, 암호화, 데이터웨어 하우징 등에 대해 상당히 잘 알고있다.) 내가 말했듯이 나는 이론적 POV 에서이 주제를 모두 알고 실제로 실제로 수행하지는 않았습니다. 분명히 그 스레드를 훑어 볼 것입니다. Tyvm!
Ameen

@Ameen '모든 것'으로, 나는 문서와 튜토리얼에 제한되지 않습니다. 다른 사람이 작성한 코드, 사용 된 관용구, 오류, 예외 등 다른 사람이 직면 한 코드 및 솔루션 등. 나는 어떤 방법으로도 심리학 자나 심리학자가 아닙니다.
vpit3833

9

실제로 진행해야 할 몇 가지 사항 :

인내 : 좋은 프로그래머가 되려면 시간이 걸린다. A - 당신이 좋은 코드를 작성하기 전에 나쁜 코드를 많이 작성해야 많은 나쁜 코드를. 고맙게도이 사이트와 같은 리소스가 있습니다. 프로그래밍 학습에 계속 노력하는 한 간단한 게임과 유틸리티를 한 번에 모을 수 있습니다!

목표 : 스스로 목표를 설정하십시오. 2 주 후에 C ++에서 STL을 사용하는 방법을 배우십시오. 당신이 얼마나 잘 참조하십시오. 더 오래 걸리면 얼마나 오래 걸리는지 추적하면 앞으로 더 잘할 수 있습니다. 나는 동료로부터이 비법을 배웠다. 그는 현재까지 거의 모든 작업에 소요되는 시간을 추정 할 수있었습니다. 이를 통해 개인 프로젝트에 소요되는 시간을 파악하고 통제 불능 상태에서 벗어날 수 있습니다 (범위 관리).

호기심 : 관심과 참여가 필요합니다. 솔루션을 찾고자하는 문제로 접근하지 않는 사람이 아니라면 처음에는 프로그래밍을 시작하기가 어려울 수 있으며 디버깅은 악몽이 될 수 있습니다. 그러나 반드시 그럴 필요는 없습니다. 문제가 있으면 이와 같은 사이트에서 Google에 오류를 문의하십시오. 무언가를 구현하는 방법을 알 수 없다면 물어보십시오! 기꺼이 도와 줄 사람들이 항상 있습니다!

자신감 : 하고 싶은 일에 자신감을 갖고 질문을 할만큼 자신감을 가지십시오. 누군가가 당신에게 무언가를하는 다른 방법을 보여 주면, 방어 적이거나 자신이 잘못했다고 생각하지 마십시오. 문제를 해결하기 위해 다른 접근법을 배우면서 생각하십시오!

무엇보다 긍정적 인 전망을 유지하고 많은 튜토리얼을 읽고 많은 질문을하면 행복한 프로그래머가 될 것입니다! 내가해야 할 또 다른 조언은 자신감을 가질 때까지 언어를 고르는 것입니다. 다양한 언어를 배울 시간이 많이 있지만 처음 시작할 때는 한 언어로만 작업하십시오.

행운을 빕니다! 그리고 이것은 재미있을 것입니다 기억하십시오! = D


통찰력있는 의견을 보내 주셔서 감사합니다. 내 문제 중 하나는 항상 (종종) 너무 높은 목표를 세웠다는 사실이었습니다. 내 잠재 의식은 "한 번, 두 번 부끄러워하는"접근 방식을 취했을 수도 있고 아마도 그것을 바로 잡으려는 시도를 막고있을 수도 있습니다. 나는 항상 호기심이 많았지 만 멘토가 없기 때문에 호기심을 무시하게되었습니다. 그리고 SE는 시간이 지남에 따라 더 멋지게 보입니다. 저는이 훌륭한 리소스를 잘 읽고 적절한 프로그래머가되는 목표를 달성 할 것입니다. 고마워, 나는 당신의 게시물이 나에게 얼마나 의미가 있는지 진지하게 말할 수 없습니다.
Ameen

기꺼이 도와 드리겠습니다! = D
bryanegr 2

최선의 목표 : 선박 코드!

7

개발에서 "역설이 많을수록 당신이 모르는 것을 더 많이 알고있다"는 역설이 사실 인 것 같습니다.

사려 깊고 정직한 사람이라면이 사실을 받아들이고 그것을 다루는 법을 배워야합니다.

질문에 의해 암시 된 의미에서 자신감은 특정 기술이나 방법론과는 전혀 관련이없는 매우 개인적인 일입니다.

좀 더 얕게 말하면, http://www.kalzumeus.com/2011/10/28/dont-call-yourself-a-programmer/에 설명 된 감정은 (섹션 : 당신과 함께하는 군중)은 항상 나를 도와주었습니다.

기술에 대한 자신감을 쌓는 대신에 한 일에 대해 더 자신감을 갖는 법을 배우는 것이 좋습니다. 가장 좋은 방법은 모든 코드에 대해 반복 가능한 테스트를 작성하는 것입니다. 그것은 당신의 정신에 놀라운 일을 할 것입니다.


4

WhiteFang34가 완전히 맞습니다. 생물 학자 자신으로서, 프로그래밍을 배우는 유일한 방법은 프로그래밍을 시작하는 것입니다. 몇 권의 책을 읽고 Google과 SO를 항상 보유하고 있으며 "그냥해라". 당신의 프로그램은 처음에는 매우 기본적이고, 잘못 코딩되고 버그가 있으며, 시간이 지남에 따라 더 나아질 것입니다. 프로그래밍 클래스를 수강 할 시간이 없지만 코딩하는 데 많은 시간을 소비합니다 (재미가 있기 때문에).

하고 싶은 일에 대해 더 많이 생각할 수있는 언어를 선택하십시오. c는 그 좋은 예가 아닙니다. Java 또는 C #과 같은 고급 언어를 사용하면 더 많은 일을 할 수 있으므로 점점 더 많은 노력을 기울일 수 있습니다.

(물론, 당신이 전문 프로그래머로서의 경력을 추구하지 않는다고 가정하면, 나는 학교로 돌아가라고 말할 것입니다 ...)

행운을 빈다

추신 : 아, 그리고 당신은 게으름, 조바심 및 hubris가 많이 필요합니다

http://c2.com/cgi/wiki?LazinessImpatienceHubris


4

재미있는 것은 :

프로그래머의 마음 은 컴퓨터, 프로그래밍 언어,
디자인 패턴 또는 알고리즘에 관한 것이 아닙니다.

실제 세계의 미묘함, 사물 간의 상호 작용을 이해하는 것입니다. 추상적 사고 능력 . 능력 물건을 발견 하고 기억 을. 그것은 필연적으로 좋은 문제 해결로 이어집니다.

구현, 코드 자체는 그 이후에만
발생합니다. 마음 안에 주어진 문제를 성공적으로 해결 한 후에 .


4

자신감은 기술에 대해 느끼려고 시도하는 것이 아닙니다. 자신감은 실제 기술과 거의 (부정적으로 부정적) 상관 관계가 있습니다. 현재 기술 수준에 대해 어떻게 생각하든 상관없이 전문가 (또는 소중한 취미) 기술을 향상시키기 위해 노력해야합니다.

자신감이란 다른 사람들, 당신이 유능하다고 생각하는 사람들이 당신과 함께 일하거나 당신의 일을 본 후에 당신의 기술에 대해 느끼게되는 것입니다.


3

매우 간단합니다 : 관심이 있으십시오 ! 당신은 이미있는 것처럼 보이므로, 멋진 일이라고 생각되는 것을 찾은 다음, 필요한 자원을 사용하고, 필요한 방식으로 프로젝트를 구성하기 위해 필요한 질문을하고 원하는. 헹구고 반복하십시오. 흥미롭고 재미 있기 때문에 많은 노력을 기울이지 않고도 멋진 프로그래머가 될 수 있습니다.

또한 물건을 알아내는 것과 많은 질문을하는 것 사이의 균형을 잘 잡습니다. 처음에는 특히 다른 사람들이 당신이 잘못 가고있는 곳을 알려주고 학습 곡선의 첫 부분을 넘어서게하는 데 큰 도움이됩니다. 거기서부터 스스로 알아 내고 잠시 후에 갇 히면 그것에 대해 질문하십시오. 내가 자주하는 일은 SO에 질문을 게시 한 다음 프로세스에서 때때로 SO를 확인하여 답을 찾으십시오. 때로는 답을 먼저 찾거나 때로는 나를 먼저 찾습니다.

HTML5 + JavaScript + canvas 태그를 사용하여 그래픽을 만드는 것이 정말 재미있을 수 있지만 어떤 기술에 대해 걱정하지 마십시오. 설정하기가 쉽고 보상이 즉각적이며 공유 할 수 있기 때문입니다.


대단히 감사합니다. 나는 프로그래밍에 매우 관심이 있습니다 (머리에 문제를 해결합니다-물론 알고리즘, 순서도 등) 프로젝트에 대한 고집이 부족하고 계속 진행되어 붙어있을 때 도움을 요청하는 것 같습니다 막 다른 길에. (이 모든 것이 지금 끝났습니다 : SE 덕분에) 또한 HTML5 + JavaScript에 관심이 있습니다 (부분 페이지로드-Mashable은 멋진 방식으로 구현, SE에 대한 응답로드 등). 비록 그들이 배울 수있는 적절한 자원을 모릅니다. (W3C- 학교는 아마도 엉망입니다. W3Fools는 그렇게 말합니다!)
Ameen

3

보다 긍정적 인 학습자 태도로 프로그래밍에 접근하십시오. 아무도 모든 것을 알지 못합니다. 둘째, 프로그래밍에 관심이있는 이유를 알아보십시오.

  • 문제 해결
  • 새로운 것을 배우다
  • 컴퓨터를 당신의 의지에 구부리기
  • 다른 것...

프로그래밍에 대해 좋아하는 것을 알고 나면 그 방향으로 학습 노력에 집중할 수 있습니다. 나는 어설프게 / 문제 해결사입니다. 그것은 매우 실용적입니다. 알고리즘과 데이터 구조, 컴퓨터 과학 이론은 일반적으로 나를 잠들게했다.

내 배경은 당신과 비슷합니다. 10 살에 컴퓨터를 만들기 시작했습니다. 10 대 중반에 약간의 HTML / C ++를 사용하여 지루했습니다. 몇 년 동안 그만 두었습니다. 그래도 컴퓨터를 가지고 놀지 않았습니다.

저는 프로그래밍을 좋아합니다. 그래서 무엇이 바뀌 었습니까? 나는 동기를 찾았다. 나는 해결해야 할 많은 문제가있는 곳에서 일하기 시작했다. 복잡한 문제에 대한 영리하고 간단한 해결책을 찾으면 실제로 화상을 입을 수 있습니다.

마지막으로, 다른 사람이 어떻게 코드를 작성하는지 "올바른지"에 대해 걱정하지 마십시오. 그것이 원하는 것을하는 것이 옳습니다. 팀 작업을 시작하면 표준이 중요해집니다. 이것은 다른 사람들이 귀하의 작업을 해석하고 수정할 수 있어야하기 때문입니다. 디자인 표준은 새로운 프로그래머가 고려해야 할 것이 아닙니다.


3

새로운 것을 배울 때 항상 극복 할 관성이 있습니다. 내가 알고있는 호기심 많은 프로그래머들은 새로운 언어와 패러다임을 계속 배우려는 동기를 찾는 데 어려움을 겪고 있습니다. "X를 사용하려면 프로젝트가 필요합니다."라고 말할 것입니다. X를 배우기 위해. 실제로 몇몇 사람들은 그 프로젝트를 찾거나 발명 할 것입니다.

프로그래밍 경력은 평생 좌절감, 연구, 실험 및 풍차에 대한 기울기 과정이 될 것입니다. AI가 모든 것을 인수 할 때까지.

여전히 실제 과학을하고 있다면 어떤 종류의 프로젝트 나 필요를 상상할 수 있어야합니다. 예를 들어 인터넷의 여러 소스에서 가져온 데이터를 결합합니다. 이것은 자바 스크립트 나 R 또는 심지어 Excel / VBA를 배우는 데 영감을 줄 수 있습니다. 당신이 당신의 분야에서 다른 사람들을 위해 일부 점을 연결할 수 있다면, 당신은 인정받을 것입니다.

멘토를 사용하되 조심하십시오. 질문 권한.

그리고 "선 코딩"은 옥시 모론입니다.


3

프로그래밍 기술에 대해 자신감을 가지지 않을 것입니다.

기술을 설명하는 방식은 기술에 결코 만족하지 않는 사고 방식을 나타냅니다. C ++을 마스터 했습니까? 자바가 있습니다! 당신은 자바를 마스터? 병렬 프로그래밍이 있습니다. C ++ 및 Java에서 병렬 프로그래밍을 마스터 했습니까? SOA가 있습니다! OOD가 있습니다! 그리고 MVC! 고체! 기능 프로그래밍! 웹 프로그래밍! 클라우드 프로그래밍! 모바일 프로그래밍!

이 때문에 요점은 우울하지 않다. 당신은 당신의 기술에 대한 당신의 의심은 순수한 연료입니다. 만족할만한 수준의 프로그래밍 기술에 도달하지 못할 것입니다. 이 경우라면 앞으로 나아갈 것입니다. 어려운 부분은 목표가 없을지라도 그것을 깨닫고 반대하는 일을하는 것입니다. 더 오래 견딜 수 있으면 기술 수준이 높아집니다.


와우, 이것은 이것을 보는 완전히 새로운 방법입니다. 당신이 그것을 넣는 방식을 좋아하면 항상하고 싶은 것이있을 것입니다. 나는 나의 부정적인 것을 긍정적으로 바꾸어야한다. 고마워 감사합니다!
Ameen

3

예전과 같은 느낌이 들었고 실제로는 Exchange를 교환하는 데 도움이되었습니다.

나는 질문에 대한 답을 찾기 위해 StackOverflow를 사용하기 시작했으며 어느 날 대답을 알고있는 것을 보았습니다. 나는 답변을 게시하고 좋은 투표와 좋은 답변이라는 의견을 얻었으며 대답 할 수있는 다른 질문을 둘러 보도록 장려했습니다.

그것은 곧 나에게 중독이되어 대답 할 수없는 질문을 찾았고 시간이 지남에 따라 대답에 대한 자신감을 얻었습니다. 더 이상 "이것은 ...."또는 "이것은 ..."이라고 말할 필요는 없지만 대신 "이것은 ..."또는 "이것은 ..."

나는 퍼즐을 좋아하고 나에게는 질문이 미니 프로그래밍 퍼즐과 같았으며, 정답을 얻었을 때 긍정적 인 피드백을 얻는 이점이 추가되었습니다. 대답이 잘못되면 방금 삭제하고 같은 문제에 대한 다른 사람들의 솔루션에서 배웠습니다.

그래서 내 권장 사항은 SO로 가서 관심있는 태그의 질문을 탐색하고 답변을 찾을 수 있다고 생각하는 것입니다. 사람들이 당신에게 당신의 프로그래밍 답변에 당신의 프로그래밍 능력에 대한 자신감을주기 위해 도움이되고 / 좋아한다고 말하는 것만 큼 좋은 것은 없습니다 :)


물론해야합니다. 그러나 나의 자아가 시작되고 "당신은 다른 사람들이 일을하기에 충분하지 않습니다. 나는 그것이 어리석게 들린다는 것을 알고 있으며, 여기 사람들이 언급했듯이, 나는 단지 내 두뇌를 강조하는 것을 두려워 할 것입니다. 제안 해 주셔서 감사 드리며 매일 해결해야 할 흥미로운 질문에 대해 SE를 수색하는 새로운 습관을 고수하려고합니다. 시간을내어 바보 같은 질문에 답해 주셔서 감사합니다. 정말 감사!
Ameen

3

당신의 두뇌는 너무 열심히 일하는 것을 좋아하지 않습니다. 선택의 여지가 있지만 쉬운 탈출구를 선호합니다. 그렇기 때문에 너무 야심 찬 것을 배우려고 할 때, 너무 많은 것을 배우고, 너무 세밀하게 세밀하게 맞고, 너무 많은 야크 면도를 할 때 물건을 포기하는 것이 쉬운 이유입니다.

이 문제를 해결하기 위해 할 수있는 몇 가지가 있습니다. 우선 에너지입니다. 잘 쉬고 잘 먹었을 때 연습을 해보십시오. 그렇지 않으면 뇌가 말 그대로 복잡한 추상적 인 생각을하기에 충분한 연료를 얻지 못할 것입니다. 두 번째 요령은 관심 또는 중요성입니다. 만약 당신이 뇌를 쫓는 호랑이를 피하기 위해 maven을 아는 것이 필수적이라는 것을 당신의 뇌에 확신시킬 수 있다면, 당신의 뇌가 그것이 당신이 정말로 원하는 것으로가는 길에 의미없는 부수적 인 일이라고 생각할 때보 다 더 많이 배우고 유지할 것입니다. 중요한 세 번째 요소는 그것을 과장하지 않고 스트레칭하는 것입니다. 어떤 노력을 기울이면 성취에서 화제가 생기고, 달성 할 수없는 새로운 정신 경로를 형성하는 데 도움이 될 것입니다.

반복되는 연습에 대해서도 언급해야 할 것이 있습니다. 당신은 변이가 참신하기를 원하지만, 같은 행동을 취하고 그것들을 심어 넣기에 충분한 유사성을 원합니다.

한 가지 더 중요한 점은 소매를 감아 손을 더럽게해야한다는 것입니다. 시작하지 않은 범위에서 대체 접근 방식이나 이상적인 솔루션에 대해 많은 시간을 할애하는 것이 쉽습니다. 이것은 당신의 두뇌가 더 쉬운 탈출을 시도하는 예입니다. 언제 이런 일이 발생했는지 인식하고 시작하려고 시도하지 마십시오. 시험이나 실험조차도 좋습니다. 이것은 또한 두뇌가 과제를 완료하거나 더 나은 해결책을 찾는 것을 원하지 않게하는 부작용이 있습니다.


와우, 당신은 내가 본 것 중 가장 큰 범인을 못 박았습니다. 내 두뇌, 나는 항상 발이 식는 데 문제가 있었고, 대부분은 나 자신을 방해합니다. 중요한 일을 피하기 위해 항상 변명의 여지가 있습니다. 해커가되어 과거의 실패로 인해 엄청난 실패에 대해 걱정할 필요가 없습니다. 나는 전형적인 "예스맨"이되기 위해 내 인생을 해킹해야합니다. 내가 정말로 바꿔야 할 결함 중 일부를 지적 해 주셔서 감사합니다. 최대한 빨리 그 일을하고 싶습니다. 고마워, 나는 이것에 대해 충분히 감사 할 수 없다! 건배.
Ameen

2

고려해야 할 세 가지 : (물론 아닙니다.)

  1. 연습. 실패가 당신이 실천하고있는 지시에 지나지 않는다면 어떻게해야합니까? 처음 넘어 졌을 때 배우는 것을 포기했다면 여전히 기어 다니고있을 것입니다.
  2. 무엇을 하든지 함께 플레이하십시오. 놀이는 단순히 무언가를 시도하고 일어나는 일을 알아 차리는 것입니다. 좋은 / 나쁜 결과를 판단하지 말고 게임을하고 무슨 일이 일어나는지보십시오. 특정 결과에 첨부하는 것을 포기하고, 무언가를 시도하고 무슨 일이 일어나는지보십시오.
  3. 이런 식으로 생각한 세계에서 유일하게 프로그래머가 아닌 경우 어떻게해야합니까?

2

여기에 연습에 대한 많은 좋은 의견이 있습니다, 그것은 실제로 모든 차이를 만듭니다.

당신은 "코드 농담"에 대해 덜 걱정하고 그들의 조언이나 의견을 받아 들여야합니다. 만약 그들이 실에서 다루기가 어렵다면, 아마도 실생활에서도 다루기가 어려울 것이다. 그리고 실제로 사회적 불공평에 대해 걱정할 시간이있는 사람은 누구입니까?

결과적으로 프로그래밍 작업에 접근하는 수천 가지 방법이 있습니다. 많은 것들이 개인적인 취향으로 요약됩니다. 예를 들어, 테너 연산자로 코드를 읽는 것을 싫어합니다. 다른 사람들은 그들을 사랑합니다. 그들이 옳고 그른 것 같아요? 주제에 대해 많은 논쟁이 열릴 것이기는하지만 개인적으로 선호됩니다.

20 대신 25 줄을 사용하여 누군가 코드를 비방한다면 논리에서 실제 결함을 발견하지 않으면 무시하는 경향이 있습니다. 때로는 현실 세계에서, 우리는 단지 일을 끝내야 만합니다. (그리고 실제로 얼마나 복잡한 지에 대해 숨이 막히는 누군가의 말을 듣고 싶어하는 사람은 ... 어리 석고 우아해서 10 분 안에해야 할 코드를 만들 수있었습니다) . 당신은 추상적 인 것들까지 얼마나 멀리 떨어져 있는지에 대한 끝없는 철학적 토론에서 무언가를 배울 수 있습니까? 물론 ... 그러나 100 % 우아함을 느끼면 점점 희미 해집니다. 우리가 원하는 것처럼 항상 현실적이지는 않습니다. 내가 경력을 시작할 때 쓴 사람과 공유하기가 부끄러운 가장 우아한 코드 중 일부는 몇 주 동안 시간을 ​​절약 할 수있었습니다.

Joel Spolsky의 Duct Tape Programmer라는 훌륭한 블로그 게시물이 있습니다. 잘 읽었으며 IMO는 당신의 두려움 중 일부를 원근법에 넣습니다.

http://www.joelonsoftware.com/items/2009/09/23.html

나는 쓸모없는 코드를 작성하고 모범 사례를 무시한다고 말하지는 않지만 소금 한 알갱이로 랜티 프로그래머를 데려갑니다.


1

실제로 자신감이 부족한 이유를 스스로에게 물어보십시오. 동료가 생각하는 것에 관심이 있기 때문이라고 생각합니다. 그러나 진정으로 그것에 대해 선심을 가지려면 그러한 생각을 지우고 시간이 지남에 따라 자신을 비교해야합니다. 당신의 관심에 따라 안내를 받고 열심히 배우고 열심히 노력하면 정신과 학사 없이는 훌륭한 프로그래머가 될 수 있습니다.

그것은 당신이 정말로 필요로하는 확신이 아니며, 당신의 진로에서 소음이 적습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.