คุณมีคำแนะนำเกี่ยวกับการเรียนรู้วิธีคิดอย่างไร [ปิด]


22

ก่อนอื่นนี่ไม่ใช่คำถาม 'ทำให้ฉันเป็นโปรแกรมเมอร์ที่ดีกว่า' ถึงแม้ว่าผลลัพธ์ของการถามคำถามนี้อาจดูคล้ายกัน เมื่อวันที่ programmers.SE ฉันได้อ่านและเห็นได้รับเหล่านี้ปิดที่นี่ , ที่นี่ , ที่นี่ , ที่นี่และที่นี่

เราทุกคนรู้ว่ามีคำแนะนำทั่วไปมากมายที่จะฝึกฝนทักษะการเขียนโปรแกรมของคุณ (เช่นการอ่าน SO การอ่านหนังสือแนะนำบล็อกต่อไปนี้การเข้าร่วมในโครงการโอเพ่นซอร์สเป็นต้น) นี่ไม่ใช่สิ่งที่ฉันตามมา

ฉันยังรับทราบถึงผู้อ่านที่มีความกระตือรือร้นในเว็บไซต์นี้และหวังว่ามันจะเป็นประโยชน์กับฉันด้วยการให้คำตอบที่ดี จากการอ่านจดหมายโต้ตอบที่นี่ดูเหมือนจะมีคนจำนวนมากที่มีประสบการณ์ทำงานหรือทำงานด้านการเขียนโปรแกรมที่เกี่ยวข้อง และส่วนใหญ่ของคุณสามารถถ่ายทอดความคิดในลักษณะที่มีคารมคมคาย

ฉันเพิ่งพบความแตกต่างระหว่างคนที่มีความสามารถในการเขียนโปรแกรมและโปรแกรมเมอร์ที่สามารถจริงๆคิดว่า ฉันปฏิเสธที่จะเชื่อว่าเพื่อที่จะกลายเป็นโปรแกรมเมอร์ที่ยอดเยี่ยมเราเพียงส่งตัวเองไปตลอดชีวิตของพฤติกรรมเหมือนฟองน้ำ (เช่นดูดซับทุกอย่างที่เกี่ยวข้องกับสาขาของเราโดยการอ่านฟังดู ฯลฯ ) ฉันจะระบุด้วยว่าเพียงรู้แนวคิดการเขียนโปรแกรมทุกตัวที่ช่วยให้คุณแก้ปัญหา X ได้เร็วกว่าทุกคนที่อยู่รอบตัวคุณหากคุณไม่สามารถคิดได้คุณกำลัง จำกัด ตัวเองอย่างมหาศาล - คุณเป็นหุ่นยนต์ที่รวดเร็ว

ฉันชอบที่จะเชื่อว่ามีอีกหน้าหนึ่งของการเป็นโปรแกรมเมอร์ที่ยอดเยี่ยมซึ่งไม่เกี่ยวข้องกับจำนวนที่คุณรู้เกี่ยวกับการเขียนโปรแกรม แต่มันเป็นวิธีที่ดีที่คุณสามารถผสมผสานแนวคิดใหม่และนำไปใช้กับอาชีพการเขียนโปรแกรมหรืองานอดิเรกของคุณ ฉันไม่เคยเห็นใครเจาะลึกหรือพูดถึงเรื่องนี้ในแง่จิตใจและการเขียนโปรแกรมของมนุษย์ (ใช่เป็นไปได้ด้วยที่ฉันไม่ได้ดูหนักพอเช่นกัน - ขออภัยถ้าเป็นเช่นนั้น)

ดังนั้นสำหรับใครก็ตามที่ใช้เวลาคิดเกี่ยวกับสิ่งที่ฉันได้กล่าวถึงข้างต้น - หรืออาจเป็นเพราะทุกคนที่นี่เพราะฉันมีพัฒนาการด้านอาชีพ / อาชีพส่วนตัวอยู่เล็กน้อย - คุณมีข้อเสนอแนะอย่างไรในการเรียนรู้วิธีคิด นอกเหนือจากการอ่านตามปกติแล้วคุณได้ทำอะไรให้ดีกว่าคนอื่น ๆ ในสาขาของคุณ?


คุณควรคิดเหมือนฉันเพราะฉันยอดเยี่ยม
ChaosPandion

ทำยายาก ๆ อย่างสตีฟจ็อบส์
งาน

การเขียนโปรแกรมฟังก์ชั่นสอนให้คิด ทุกสิ่งทุกอย่างสอนให้ programm;)
Dario

คำตอบ:


13

คำแนะนำของฉันเกี่ยวกับการเรียนรู้วิธีคิด:

  • เรียนรู้ภาษาใหม่ ทั้งภาษาธรรมชาติและการเขียนโปรแกรม มีภาษาใหม่ให้เรียนรู้เสมอ การคิดนั้นใช้ภาษาน้อยลง ทุกภาษามี "มุมมอง" ในการคิดที่แตกต่างกัน คุณรู้ภาษามากขึ้น "เครื่องมือทางจิต" แนวคิดมุมมองและนามธรรมที่มากขึ้นมีให้สำหรับคุณ

"ภาษากำหนดรูปแบบที่เราคิดและกำหนดสิ่งที่เราคิดได้" - Benjamin Lee Whorf

และที่สำคัญกว่าภาษากำหนดสิ่งที่เราไม่สามารถคิดได้

  • อ่านตะกละตะกลาม อ่านอย่างกว้าง ๆ ไม่เพียง แต่เกี่ยวกับการเขียนโปรแกรม แต่ประวัติศาสตร์สังคมวิทยาชีววิทยาศิลปะและอื่น ๆ ขยายมุมมองของคุณ รับข้อมูลเชิงลึกที่สดใหม่ คุณไม่ได้เป็นเพียงสิ่งที่คุณกิน - คุณเป็นสิ่งที่คุณอ่าน ความคิดใหม่เกี่ยวกับการรวมความคิดที่แตกต่างกันสองแบบ (ดูเหมือน) มารวมกันมากกว่าความคิดสร้างสรรค์อันศักดิ์สิทธิ์จากที่ใดก็ตาม

"โอกาสสนับสนุนใจที่เตรียมไว้" - หลุยส์ปาสเตอร์

  • ความนอบน้อม คุณต้องรู้มากเพื่อที่จะเข้าใจว่าคุณรู้อะไรน้อย ความอ่อนน้อมถ่อมตนช่วยให้จิตใจของคุณเปิดกว้างสำหรับวิธีคิดใหม่
  • ถามทำไม อย่าพอใจกับวิธีการ
  • เรียนรู้คณิตศาสตร์ เครื่องมือที่ทรงพลังจริง ๆ ชนิดของภาษาเพื่อทำงานกับตรรกะและนามธรรม การศึกษาวิชาคณิตศาสตร์ทำให้สมองของคุณแข็งแรง จิตเทียบเท่ากับ "กำลังไปยิม"

ฉันไม่แน่ใจในภาษาธรรมชาติ การเรียนรู้มีคุณค่า แต่สำหรับการคิด ในบริบทของการเขียนโปรแกรม คุณค่าของคำสำหรับการคิดบางครั้งคุยเกินจริง - เราสามารถมีความคิดที่เราไม่สามารถแสดงออกได้อย่างง่ายดายด้วยคำพูดดังนั้นเราจึงไม่ขึ้นอยู่กับคำในการคิด นอกจากนี้คำศัพท์ที่เกี่ยวข้องมากที่สุด (ศัพท์แสงสำหรับคณิตศาสตร์และสาขาเทคนิคอื่น ๆ ) มีการใช้ร่วมกันอย่างมากระหว่างภาษา
Steve314

6

จากประสบการณ์ของฉันมันมีสองสิ่ง:

  1. ความหลงใหลถ้าคุณมีความสนใจในงานฝีมือคุณจะได้เรียนรู้ปรับตัวและมีความรวดเร็วในการคิดนอกกรอบมากกว่าโปรแกรมเมอร์จำนวนมากที่อยู่ในสายงานเช่นเดียวกับงาน (บางเครื่องไม่มีคอมพิวเตอร์ที่บ้าน)
  2. บางคนเพิ่งเกิดมาพร้อมกับความสามารถในการแก้ปัญหาทางเทคนิค บางคนมีความสามารถในการแยกแยะทางออกที่ยืดหยุ่น

นอกเหนือจากนี้ทุกคนมีความแตกต่างในวิธีคิดเกี่ยวกับการเขียนโปรแกรมหรือเรียนรู้ทักษะการเขียนโปรแกรมใหม่ ฉันแนะนำให้คุณลองทำสิ่งใหม่ ๆ และรักษาสิ่งที่ดีสำหรับคุณ


จุดที่ดีโดยเฉพาะอย่างยิ่งจุดที่สอง
Orbling

5

คุณมีคำแนะนำเกี่ยวกับการเรียนรู้วิธีคิดอย่างไร

การปฏิบัติ การปฏิบัติ การปฏิบัติ

กิจกรรมทางจิตอย่างจริงจัง (เช่นการคิด) เป็นเหมือนการออกกำลังกาย ยิ่งคุณทำมากเท่าไหร่คุณก็ยิ่งทำมากเท่านั้น (อันที่จริงแล้วการออกกำลังกายนั้นเกี่ยวข้องกับกิจกรรมทางจิตด้วยเช่นกันนักกีฬายอดนิยมไม่เพียง แต่มีกล้ามเนื้อในที่ที่เหมาะสม ... )

ดังนั้นคุณจะฝึกการคิดอย่างมีประสิทธิภาพได้อย่างไร

(ที่นี่ฉันสรุปจากสิ่งอื่น ... )

ฉันคิดว่าคุณจะระบุปัญหาการคิดที่คุณพบว่าเป็นเรื่องยาก (แต่ไม่ใช่เป็นไปไม่ได้) และพยายามที่จะแก้ปัญหา (ลองคิดดูผ่าน) และชอบพวกเขามากขึ้น


ฉันสนับสนุนสิ่งนี้ เมื่อใดก็ตามที่ฉันทำสิ่งที่ซ้ำ ๆ ซึ่งไม่ต้องคิดทำฉันก็คิดถึงเรื่องอื่น ฉันมักจะทำสิ่งนี้เมื่อทำสิ่งซ้ำ ๆ ที่ฉันควรคิดถึงเช่นการขับรถ แต่อย่างใดฉันก็รู้สึกว่าฉันขับได้ดีขึ้นเมื่อฉันไม่ได้คิดถึงมัน
Earlz

1
@Earlz - ฉันไม่เข้าใจประเด็นของคุณ หากคุณกำลังทำบางสิ่งซ้ำซากคุณไม่จำเป็นต้องคิด ฉันกำลังพูดถึงการฝึกแก้ปัญหาที่ต้องใช้ความคิด
สตีเฟ่นซี

ประสบการณ์สำคัญกว่าทุกอย่าง (คำแถลงทั่วไปฉันรู้) แต่คุณเรียนรู้ด้วยเวลาฉันหมายความว่าคุณเจอปัญหาบ่อยแค่ไหนที่จะนำคุณไปสู่การแก้ไขปัญหาบ่อยครั้งเพียงแค่วิ่งเข้ามาอีกครั้งและดูแลมันในไม่กี่นาที นอกจากนี้ยังเป็นวิธีที่คุณเข้าถึงปัญหาอย่ามุ่งเน้นไปที่การติดอยู่เสมอเน้นสิ่งที่ฉันยังไม่ได้ลองตั้งแต่ที่ง่ายที่สุดไปจนถึงซับซ้อนที่สุด
farinspace

การปฏิบัติโดยเจตนา คุณต้องเรียนรู้บางอย่างจากการทำซ้ำแต่ละครั้ง

4

คุณอาจสนใจสองสิ่งต่อไปนี้:

การไหล

MihályCsíkszentmihályiการฮังการีศาสตราจารย์ทางจิตวิทยานำแนวคิดของการไหล

การไหลคือสภาพจิตใจของการปฏิบัติงานที่บุคคลในกิจกรรมเต็มไปด้วยความรู้สึกมุ่งเน้นที่มีพลังการมีส่วนร่วมอย่างเต็มที่และความสำเร็จในกระบวนการของกิจกรรม

ผมโชคดีพอที่จะสามารถที่จะใส่ในการไหลในชีวิตประจำวันโดยใช้เทคนิคเก่าที่ผมเรียนรู้จากใบสมัครของฉันของGTDซึ่งเป็นดำเนินการต่อไป

ฉันสามารถบอกคุณได้ว่ามันสร้างความแตกต่างอย่างแท้จริง เมื่อฉันไหลฉันผลิตคุณภาพสูงกว่าและเร็วกว่าตอนที่ฉันไม่อยู่ในสถานะนั้น ฉันมุ่งเน้นไปที่สิ่งที่ฉันทำอย่างเต็มที่และดังนั้นฉันจึงคิดอย่างมีประสิทธิภาพมากขึ้น

สัมมาสติ

ฉันถามคำถามเกี่ยวกับการทำสมาธิเมื่อไม่นานมานี้เพราะฉันกังวลกับความจริงที่ว่าการทำสมาธิสามารถลดความสามารถในการเขียนโปรแกรมของฉัน (และความคิดสร้างสรรค์)

ฉันเพิ่งเริ่มการฝึกอบรมวิธีJon Kabat-Zinnดังนั้นมันเร็วเกินไปที่ฉันจะได้แบ่งปันประสบการณ์มากมายกับคุณ แต่จากช่วงเวลาที่ฉันเรียนรู้จนถึงตอนนี้ฉันสามารถบอกคุณได้ว่านี่อาจเป็นสิ่งที่คุณต้องการจะทำ


+1 แม้ว่าฉันเกลียดที่มีหนังสือและ "ทฤษฎี" ทั้งหมดเกี่ยวกับสิ่งที่ทำให้เกิดความรู้สึกร่วมกันกับปัญหา แต่ GTD มีขาแน่นอน
Orbling

1
@Orbling: โอ้ฉันเห็นด้วยกับคุณโดยสิ้นเชิง แต่เหมือนในหนังสือส่วนใหญ่มีเรื่องไร้สาระและคุณค่า อึและคุณค่าคืออะไรขึ้นอยู่กับว่าใครกำลังอ่านหนังสือ ปัญหาของ GTD คือมันมีประสิทธิภาพมากมันสามารถบดขยี้คุณได้ถ้าคุณไม่ใช้เวลาในการลดอินพุตของคุณแทนที่จะจดจ่อกับการจัดการมันโดยไม่คำนึงถึงขนาดของมัน นั่นคือความผิดพลาดของฉัน;)

ปัญหาที่ฉันมีในชีวิตของฉันก็คือมีการป้อนข้อมูลมากและทำมากที่ฉันจะไม่มีเวลาที่จะใช้ขั้นตอนดังกล่าว แม้ว่าฉันจะเห็นคุณค่าในนั้นแน่นอน
Orbling

1
@Orbling: ฉันคิดว่านั่นคือกุญแจ การกรองอินพุตของคุณเป็นเทคนิคการเพิ่มประสิทธิภาพขั้นสูงสุดบน Covey หรือ GTD มันต้องมีความแข็งแกร่งทางจิตใจ

ฉันคิดว่ามันต้องการคนเพิ่มเติมเพื่อทำงานที่คุณกรองออกมาได้สำเร็จฮ่า ๆ
Orbling

2

ฉันเชื่อเสมอว่าวิศวกรที่ดีเกิดมาไม่ได้สร้างขึ้นมา

คุณต้องการความคิดที่ตั้งไว้มันเป็นตรรกะวิเคราะห์หักทอนจิตใจรวมกับความดื้อรั้นและความอยากรู้อยากเห็นที่จำเป็นเพื่อให้ได้ภาพรวมและมุมมองเชิงโครงสร้างของปัญหาในลักษณะที่มีประสิทธิภาพและเดินจาก A ถึง B อย่างรวดเร็ว การแก้ไขปัญหา.

มีงานวิจัยมากมายที่ชี้ให้เห็นว่าทักษะนี้ได้รับการสนับสนุนอย่างมากจากการสัมผัสกับสิ่งต่าง ๆ เป็นอย่างดีในช่วงต้นดนตรีช่วยได้เช่นกัน หลังจากเวลาผ่านไประยะหนึ่งแผนที่จิตของคุณก็ค่อนข้างยาก ไม่ได้อยู่ในแง่ของสิ่งที่คุณคิด แต่วิธีการที่คุณคิด

คุณสามารถเรียนรู้วิธีคิดในฐานะผู้ใหญ่ได้ไหม? แน่นอนว่าคุณสามารถสอนเทคนิคในการแยกแยะปัญหาต่าง ๆ ได้ แต่หลังจากนั้นคุณมีอัลกอริธึมที่จะติดตามคุณสามารถกลายเป็น "หุ่นยนต์เร็ว" ได้อย่างที่คุณต้องการ ความเข้าใจที่เข้าใจง่ายน่าจะเป็นมา แต่กำเนิด

สิ่งนี้ไม่ได้ จำกัด อยู่แค่อาชีพของเราเท่านั้นชุดทักษะมากมายถูกครอบงำด้วยทักษะโดยธรรมชาติแทนที่จะตอบสนองที่ได้มา ผู้คนอาจไม่ต้องการที่จะเป็นจริง แต่เป็นไปได้มากที่สุด


2

ค้นหาฟอรัมออนไลน์ในสิ่งที่คุณหลงใหล สิ่งที่มีชุมชนบางอย่าง ไม่ใช่การเขียนโปรแกรมโดยเฉพาะ - ฟอรัมการเขียนโปรแกรมมักจะเน้นการแก้ปัญหามากกว่าการอภิปรายเชิง ยืนหยัด ปกป้องมัน ใช้อาร์กิวเมนต์ คุณสามารถบล็อกได้ แต่การมีคู่ต่อสู้ดีกว่า ประเด็นก็คือการสื่อสารที่มีความหมายและเป็นลายลักษณ์อักษรเกี่ยวกับบางสิ่งบางอย่างกับใครบางคน ที่ที่คุณแลกเปลี่ยนข้อความที่ค่อนข้างใหญ่กว่า

คุณจะได้เรียนรู้ที่จะสื่อสารความคิดของคุณและโต้แย้งพวกเขา เนื่องจากคุณจะต้องปกป้องมุมมองของคุณคุณจะต้องสนับสนุนพวกเขาด้วยข้อเท็จจริง คุณจะต้องคิดถึงบางสิ่งบางอย่างบอกตำแหน่งของคุณและสนับสนุนมัน อาจจะเปลี่ยน

หลังจากนั้นใช้ความสามารถในการวิเคราะห์ปัญหาและสังเคราะห์ความคิดเห็นและนำไปใช้กับสิ่งใด แม้แต่การเขียนโปรแกรม


ฉันควรจะพูดว่านั่นเป็นวิธีหนึ่งในการฝึกคิด มันไม่ได้เป็นเพียงคนเดียว
Domchi

2

สิ่งหนึ่งที่ฉันคิดคือต้องเห็นว่ามันเป็นระบบและทุกระบบมีความสัมพันธ์กัน ทุก ๆ คนในจักรวาล มนุษย์, ดาวเคราะห์, กาแลคซี, พืช, แสงแดด, การสังเคราะห์ด้วยแสง, แมลง, หิน, มหาสมุทร, ระบบโต้ตอบทั้งหมด ในทำนองเดียวกันในเวลาวัฏจักร: การเกิดการเจริญเติบโตการสลายตัวการตายของแมลงคนอารยธรรมเทือกเขาระบบดาว การต่อสู้ที่ไม่มีที่สิ้นสุดสำหรับพลังงาน ระบบทั้งหมด

นี่คือการศึกษาชีวิตและธรรมชาติในความหมายที่ยิ่งใหญ่ของการศึกษา ดูทุกสิ่งที่เกี่ยวข้องดูการโต้ตอบทั้งหมด จดจ่อกับเรื่องนี้เมื่อคุณดูพระอาทิตย์ตกและสัมผัสกับความลึกของแรงโน้มถ่วงที่หมุนตัวเรารอบดวงอาทิตย์ดึงเราลงไปที่พื้นผิวของดาวเคราะห์และแสงอาทิตย์ที่ไหลรินที่แดงก่อนที่จะเข้าสู่เรตินาของคุณที่ 300,000,000 เมตรต่อวินาที ในสมองเจ้าคณะของคุณ

เมื่อคุณเริ่มนึกถึงว่าทุกอย่างเกี่ยวข้องกันอย่างไรราคาของแรงงานทองคำและทาสและพายุทั่วมหาสมุทรแปซิฟิกและอุตสาหกรรมเชิงซ้อนในญี่ปุ่นล้วนเกี่ยวข้องกันและคุณใช้เวลาจริง ๆ ใช้เวลานั่งและ คิดเกี่ยวกับสิ่งนี้แล้วความคิดของคุณ "กล้ามเนื้อ" จะงอและเติบโตจริงๆ

ตอนนี้สิ่งต่างๆมากมายจะอยู่ต่ำกว่าระดับของความหมาย แต่อย่าให้สิ่งนั้นหยุดคุณ สมองของคุณทรงพลังกว่าคอมพิวเตอร์ที่ทรงพลังที่สุด ผลักดันมัน ฉันคิดว่ามันเป็นไปไม่ได้ที่จะโอเวอร์คล็อกได้

ฉันนึกถึงภาพขาวดำที่แสดงให้เห็นว่าอัลเบิร์ตไอน์สไตน์นั่งเล่นบนเก้าอี้สนามหญ้าบนชายหาดมองไปที่ทะเล คำบรรยายใต้ภาพกล่าวว่า "นี่คือ Albert Einstein นั่งอยู่กับสมองของเขา"

ความท้าทายต่อไปคือการสามารถสื่อสารความซับซ้อนและการพึ่งพาซึ่งกันและกันของทุกสิ่งในลักษณะที่เรียบง่าย สิ่งนี้จะทำให้คุณทำอะไรจนกว่าคุณจะแก่มาก


2

วิธีหนึ่งคือการปฏิบัติโดยเจตนา

การทำซ้ำ ๆ อย่างง่าย ๆ ไม่ได้นำไปสู่การได้มาซึ่งทักษะใด ๆ - คุณต้องไตร่ตรองเพื่อประเมินผลการปฏิบัติงานของคุณ

ภาพประกอบ: ญาติสนิทของฉันทำการแข่งขันกีฬายิงปืนพก ในระหว่างการฝึกสมาธิมีสมาธิมากมายในการทบทวนทุกช็อตโดยเน้นไปที่ขั้นตอนที่ถูกต้อง ตอบโต้อย่างสังหรณ์ใจไม่เน้นไปที่ภาพที่ไม่ดีเพราะการเล่นซ้ำ (การซ้อม) ความผิดพลาดเป็นการตอกย้ำมัน

เพียงยิงไป 100 นัดในระยะที่ไม่ทำอะไรเลย การฝึกยิงอย่างระมัดระวัง 20 นัดจะช่วยเสริมนิสัยที่ดีและนำไปสู่ประสิทธิภาพที่ดีขึ้น

เช่นเดียวกับการเขียนโปรแกรม - คิดเกี่ยวกับสิ่งที่คุณทำ อย่าทำมันเป็นรายเดือนรายสัปดาห์หรือรายวัน - ทำทันทีโดยการกระทำโดยการกระทำ

  • เหตุใดข้อบกพร่องนั้นจึงเกิดขึ้นในรหัสของฉัน
  • ฉันจะหลีกเลี่ยงการสร้างข้อบกพร่องนั้นได้อย่างไร
  • ฉันจะพบวิธีแก้ปัญหาได้เร็วขึ้นได้อย่างไร
  • ข้อสันนิษฐานของฉันผิด
  • ฉันขอความช่วยเหลือได้เร็วพอหรือไม่? เร็วเกินไป?
  • ฉันเคยทำผิดพลาดมาก่อนหรือไม่?
  • ข้อบกพร่องนี้แยกได้หรือเป็นส่วนหนึ่งของรูปแบบหรือไม่
  • มีข้อบกพร่องในการออกแบบหรือไม่?
  • ถ้าเป็นเช่นนั้นฉันสามารถทำอะไรกับมันได้หรือไม่?

และอื่น ๆ ...


จุดที่ดีอีกครั้งทั้งหมดนี้มาพร้อมกับเวลา / ประสบการณ์
farinspace

1
@farinspace เฉพาะเมื่อคุณใช้เวลาในการประเมินและเรียนรู้หลังจากการทำซ้ำแต่ละครั้ง

1

ไปกระตุ้นสิ่งที่คุณรักจนกว่าคุณจะพบกับความได้เปรียบ

หายใจเข้าลึก ๆ,

ก้าวข้าม ...

...

... บอกคนอื่น ๆ ในสิ่งที่คุณได้พบ


1

ดังนั้นคุณต้องคิด

คำแนะนำที่ดีเยี่ยมส่วนใหญ่จากโปสเตอร์อื่น ๆ เกี่ยวกับวิธีคิดหรือวิธีการเรียนรู้ที่จะคิด: การไหล, สติ, คณิตศาสตร์, ความรัก, การฝึกฝน ... ดังนั้นฉันจะไม่ไปที่นั่น

แต่ก็ไม่เกี่ยวกับสาเหตุ จุดประสงค์คืออะไร?

โดยส่วนตัวฉันมาทำความเข้าใจก่อนที่คุณจะคิดว่าคุณต้องรู้ว่าทำไม
สิ่งเดียวที่ดีที่สุดที่ต้องทำคือการฟังและมอง (ฉันใช้ทั้งสองเป็นหน่วยคุณไม่สามารถแยกพวกเขา)

วิธีเดียวที่จะพัฒนาโปรแกรมให้ดีขึ้นไม่ว่าจะเป็นการรวบรวมความต้องการเปลี่ยนข้อกำหนดเหล่านั้นให้เป็นข้อกำหนดของระบบโดยละเอียดจับคู่สิ่งนี้กับเอกสารการออกแบบการใช้รหัสการดีบั๊กสำหรับชีวิตรักของคุณไม่ว่าคุณจะข้ามขั้นตอนใดก็ตาม ไม่ว่าคุณจะมีเวลาห้านาทีในการหาทางออกหรือ 20 ปีคุณต้องฟังและมอง

ฟังสิ่งที่ผู้ใช้ต้องการฟังสิ่งที่ผู้ใช้บอกคุณเกิดขึ้นฟังผู้สนับสนุนบอกคุณว่าพวกเขาเห็น ฟัง. ฟังแม้ว่ามันจะไม่สมเหตุสมผลก็ตาม ฟังแม้ว่าคุณจะมั่นใจว่าพวกเขาผิด ฟังและไม่ตัดสิน

มองหาเบาะแสไม่ใช่โดยการค้นหา แต่เปิดตาของคุณ ดูความเป็นจริง คุณไม่สามารถเริ่มค้นหาคำตอบก่อนที่คุณจะดูที่เกิดเหตุ คุณไม่สามารถหาคำตอบได้จนกว่าคุณจะพิสูจน์ข้อบกพร่อง

ตัวอย่างเดียวจากประสบการณ์ของฉัน(ในการแก้ไขข้อผิดพลาด แต่มันสามารถปรับให้เข้ากับอะไรก็ได้จริงๆ) สำหรับเหตุผลที่ชัดเจน (ทางกฎหมายและอื่น ๆ ) ฉันจะเก็บรายละเอียดฉ่ำจากนี้ ในระบบที่สำคัญด้านความปลอดภัยผู้ปฏิบัติงานรายงานข้อบกพร่องที่ร้ายแรง อุปกรณ์ติดตามทางภูมิศาสตร์บางอย่างสูญเสียการติดตามเมื่อ 'ไม่ควร' โดยมีผลกระทบต่อชีวิต (สิ่งนี้ 'ควร' เป็นความผิดพลาดที่แท้จริงและหยุดการสอบสวนของเรานานเกินไป) โชคดีที่แม้ว่ามันจะถูกค้นพบในอีกไม่กี่สัปดาห์ต่อมาโดยบังเอิญเนื่องจากมีระบบปฏิบัติการอื่นในพื้นที่ห่างไกลซึ่งผู้ปฏิบัติงานรายอื่นมาเพื่อพิสูจน์ว่าการติดตามไม่ได้หายไปในระบบนั้น นี่ทำให้เราคิดอีกครั้ง ผู้จำหน่ายซอฟต์แวร์หลักของเราไม่เชื่อเราในวินาทีเดียวดังนั้นเราจึงต้องออกไปและพิสูจน์เรื่องนี้ วิธีเดียวคือผ่านการตอนกิ่ง: การสร้างแบบจำลองเพื่อจำลองสถานการณ์การปฏิบัติงานที่แน่นอน เราต้องแสดงหลักฐานเพื่อให้ผู้จำหน่ายเชื่อเรา ในที่สุดการจำลองก็ให้ข้อมูลเกินความคาดหวังของเราและทำให้เราเข้าใจปัญหาทั้งหมด ใช้เวลาไม่นานในการแก้ไขหลังจากนั้น

วิธีเดียวที่เราผ่านไปจนจบก็คือการเชื่อมต่อระบบรีโมตระบบหนึ่งเข้ากับระบบอื่นที่ทำงานคล้ายกัน แต่ไม่ทำงานเหมือนกัน นั่นคือการมองหาเบาะแส (Look) สิ่งนี้เป็นไปได้โดยการไว้วางใจรายงานครั้งเดียวเท่านั้นและไม่ปล่อยให้มันเป็นความผิดพลาดแบบสุ่มในระบบ (ฟัง) แล้วฟังอีกครั้งรายงานฉบับที่สองที่ขัดแย้งครั้งแรก (ฟัง)

ดังนั้นเมื่อคุณมีเงื่อนงำที่ถูกต้อง (มีการฟังและมอง) กำหนดพื้นที่ปัญหาเข้าใจสาเหตุของปัญหาหรือหลักการสำคัญคุณสามารถคิดถึงวิธีแก้ปัญหาเพื่อทำความเข้าใจเพิ่มเติมก่อน (การทดลองและข้อผิดพลาดการจำลองการสาธิตการพิสูจน์แนวคิด จำลอง, อัลฟ่า, รุ่นเบต้า) และในที่สุดก็นำเสนอโซลูชั่นที่มั่นคง (ซึ่งบางครั้งสามารถปรับปรุงได้อีกหลังจากการใช้งานจริง)

เพื่อให้สามารถฟังและมองเช่นนั้นจะต้องเปิดใจไว้วางใจและอุทิศตนให้กับเป้าหมายของคุณอย่างแท้จริง นี่เป็นเชื้อเพลิงที่คุณต้องคิดหรือมากกว่านั้นสำหรับการคิดของคุณที่จะมุ่งเน้นไปที่เป้าหมายที่ถูกต้อง (บ่อยครั้งที่ปัญหาไม่สามารถคิดได้ แต่ขาดเป้าหมายที่กำหนดไว้อย่างดีในการออกกำลังกายจิตใจของคุณ)


+1 สำหรับคำตอบของคุณการศึกษาโดเมนปัญหาของคุณและการฟังผู้ใช้เป็นสิ่งจำเป็น แม้ว่า -1 สำหรับข้อคิดเห็น "ใช่ถูกต้อง" ดังนั้นจึงไม่มีการเปลี่ยนแปลง
Orbling

@Orbling: โอเคคุณพูดถูกนะ ลบความคิดเห็นแล้ว ฉันไม่คิดว่าพรสวรรค์ที่มีมา แต่กำเนิดนั้นถูกต้อง แต่ไม่จำเป็นต้องพูดถึง
asoundmove

ถ้าคุณมี -1 คำตอบของฉันแทนฉันจะทำเครื่องหมายของคุณทั้งหมดเหมือนเดิม แต่มันป้องกันไม่ให้มันอยู่ในนี้แก้ไขตอนนี้ ดีที่จะพูดถึงมันผิดถ้าคุณไม่เห็นด้วยกับสิ่งที่ฉันพูด
Orbling

@Orbling, nah ฉันไม่อยากลงคะแนน -1 สำหรับใครก็ตามฉันอยากจะย้ายต่อไป ... มีเพียงสถานการณ์จำลองที่รุนแรงที่สุดเท่านั้นที่รับประกัน -1, เพียงแค่ไม่เห็นด้วยเท่านั้น
asoundmove

ฉันเห็นด้วยกับคุณในเว็บไซต์อื่น ๆ เนื่องจากพวกเขาถูก / ผิดในหลัก โปรแกรมเมอร์แตกต่างจากที่เหลือเนื่องจากเป็นอัตวิสัยดังนั้นการลงคะแนนจึงเป็นข้อตกลงที่ไม่เห็นด้วย ไม่ว่าคุณจะคิดว่ามันมีประโยชน์หรือไม่ช่วยเหลือก็ตาม ฉันลงคะแนนเพียงลบถ้าฉันไม่เห็นด้วยอย่างยิ่งกับใครบางคน ในขณะที่เขียนการลงคะแนน 2.6% ของฉันเป็นคะแนนโหวต ความคิดเห็นหลังจากทั้งหมดควรจะท้าทาย
Orbling

1

ฉันคิดว่าคุณต้องแยกความแตกต่างระหว่างความคิดประเภทต่าง ๆ

การคิดอย่างสร้างสรรค์ - ทำอย่างไรกับความคิดใหม่ ๆ นวัตกรรมการแก้ปัญหาและผลลัพธ์ที่ไม่คาดคิด มีทั้งวิทยาศาสตร์ที่อยู่เบื้องหลังสิ่งนี้มองหา Edward de Bono เทคนิคการสร้างสรรค์ ฯลฯ โปรแกรมเมอร์ไม่มากนักมองเข้าไปในพื้นที่นี้

การคิดวิเคราะห์ - โดยสิ่งนี้ฉันหมายถึงกระบวนการทางวิทยาศาสตร์ ดูอินพุต, เอาต์พุต, วัดสิ่งที่สำคัญ, มาถึงข้อสรุปเชิงตรรกะ นักพัฒนาส่วนใหญ่คุ้นเคยกับเทคนิคทางวิทยาศาสตร์ แต่ก็ไม่เคยใช้จริงๆ ทำเช่นนั้น!

การคิดเชิงวิพากษ์ - ฉันคิดว่านี่เป็นปรัชญามากกว่า ยืนดูภาพที่ใหญ่ขึ้นทบทวนสมมติฐานของคุณคุณทำในสิ่งที่คุณพูดว่าคุณค่าของคุณคืออะไร? ปรัชญาการศึกษามีกลุ่มนักเขียนและความคิดดีๆอยู่มากมาย


0

คณิตศาสตร์สอนวิธีคิดอย่างหนึ่ง แอพลิเคชันต้องใช้ความคิดสร้างสรรค์และประสบการณ์

ฉันปฏิเสธที่จะเชื่อว่าในการที่จะเป็นโปรแกรมเมอร์ที่ยอดเยี่ยมเราก็แค่ส่งตัวเราไปตลอดชีวิตที่มีพฤติกรรมเหมือนฟองน้ำ

ความเข้าใจที่ดี ข้อกำหนดของ "ความยิ่งใหญ่" ขึ้นอยู่กับคำจำกัดความส่วนบุคคลของคุณว่า "ความยิ่งใหญ่" ... และมีการเปลี่ยนแปลงอยู่ตลอดเวลา วันนี้ความสำเร็จของโครงการคือการสามารถรวบรวมแนวคิดได้อย่างรวดเร็วและไม่ต้องเจาะลึกลงไปในรายละเอียดทั้งหมด ความสำเร็จส่วนบุคคลอาจถูกกำหนดให้เป็น C # แบบเชี่ยวชาญเช่น Jon Skeet

อ่านของ coder ในที่ทำงาน ผู้เขียนโค้ดที่มีประสบการณ์มากกว่าที่ฉันพูดถึงในรายละเอียด


0

ทำงานเกี่ยวกับการใช้แนวคิดและแนวคิดจากพื้นที่ที่ไม่เกี่ยวข้อง สำหรับฉันแล้วความสามารถของ iPod ไม่ใช่วิศวกรรมที่อยู่เบื้องหลังการสร้างเครื่องเล่น MP3 ที่ยอดเยี่ยม แต่ช่วยแก้ปัญหาใหญ่โตที่วงการบันเทิงเพลงประสบกับเพลงละเมิดลิขสิทธิ์และรูปแบบการขายซีดี / อัลบั้ม งานอาจใช้สิ่งที่เขาเรียนรู้ที่พิกซ่าร์มากขึ้นในการจัดการกับอุตสาหกรรมภาพยนตร์ เขารู้ว่าปัญหาที่แท้จริงคืออะไร

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.