การสอนด้วยตนเองมีความสำคัญในด้านการเขียนโปรแกรมอย่างไร [ปิด]


74

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

คำถามนี่คือ: การศึกษาการเขียนโปรแกรมด้วยตัวเองมีความสำคัญขนาดไหน?


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

5
คุณสังเกตเห็นว่าตอนนี้คุณมีประสบการณ์มากกว่าที่คุณเคยเป็นเมื่อหนึ่งปีก่อน - จริง ๆ แล้วฉันพนันเมื่อหนึ่งปีก่อนคุณไม่รู้ว่าคุณจะเรียนรู้ได้มากแค่ไหน! ฉันพบว่าสิ่งนี้เกิดขึ้นทุก 2-5 ปีฉันมองย้อนกลับไป "ว้าวฉันผิดทุกอย่างและไม่รู้ด้วยซ้ำว่าเป็นไปได้ที่จะทำได้ดีกว่า" การเรียนรู้ด้วยตนเองมีความสำคัญตลอดเวลาหากคุณต้องการที่จะดีพอสมควร นอกจากนี้ฉันไม่ต้องการทำงานกับคนที่ไม่สามารถเรียนรู้วิธีนี้ได้
Bill K

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

คำตอบ:


100

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

นี่คือสิ่งที่เกี่ยวกับวิทยาลัย: หลักสูตรวิทยาศาสตร์คอมพิวเตอร์สอนทฤษฎีไม่ใช่เทคโนโลยี พวกเขาจะสอนคุณถึงความแตกต่างระหว่างตารางแฮชกับ B-tree และพื้นฐานของการทำงานของระบบปฏิบัติการ โดยทั่วไปแล้วพวกเขาจะไม่สอนภาษาคอมพิวเตอร์ระบบปฏิบัติการหรือเทคโนโลยีอื่นที่เกินระดับตื้น

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

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

ฉันเรียนจบวิทยาลัยในปี 1987 ฉันไปทำงานเป็นโปรแกรมเมอร์ C ที่มีความเชี่ยวชาญในโปรแกรม DOS, NetBIOS และโปรแกรม "ยุติและพักอาศัย" ในปีที่ผ่านมาฉันมีน้อยถ้ามีการฝึกอบรมจริง ดูโฆษณางาน ... ไม่เรียกร้องทักษะเหล่านั้นมากนัก! เหตุผลเดียวที่ฉันสามารถทำงานในวันนี้คือเพราะฉันใช้เวลาหลายปีในการเรียนรู้อย่างต่อเนื่อง หากต้องการประสบความสำเร็จในฐานะวิศวกรคุณต้องมีนิสัยแห่งการเรียนรู้ นรกฉันจะไปไกลกว่านั้น: คุณต้องมีความรักในการเรียนรู้ คุณต้องเป็นคนที่ยุ่งกับ WebGL หรือ Android หรือ iOS เพราะมันดูสนุก หากคุณเป็นคนประเภทนั้นและรักษานิสัยการเรียนรู้คุณจะไปไกลในอุตสาหกรรม


3
นี้. ทฤษฎีก็มีความสำคัญมากเช่นกันและยากที่จะเรียนรู้ด้วยตนเอง ฉันไม่เห็นด้วยกับการฝึกอบรมของ บริษัท แม้ว่าสาขาของเราเป็นที่ต้องการอย่างมากในทุกวันนี้และ บริษัท ต่าง ๆ กำลังประสบปัญหาในการหาคนเก่ง (อย่างน้อยก็ในพื้นที่ของฉัน)
user606723

+1 ฉันเคยสังเกต 'TSRs ใน C' ที่เก่าแก่มากในห้องสมุดโรงเรียนของฉันย้อนกลับไปในปี 2004 สงสัยว่ามันยังอยู่ที่นั่นหรือไม่
Jesvin Jose

3
ทฤษฎีมีความสำคัญ แต่การเรียนรู้ด้วยตัวเองง่ายกว่าที่เคยเป็นมาเนื่องจากวิดีโอในชั้นเรียนของมหาวิทยาลัยหลายแห่งเปิดให้บริการทางออนไลน์ ฉันกล้าพูดว่าคน ๆ หนึ่งอาจเรียนรู้เพิ่มเติมจากการดูการบรรยายของอาจารย์ที่ยอดเยี่ยมทางออนไลน์ได้มากกว่าที่จะมาจากการบรรยายทางร่างกายในระดับปานกลาง
Jeanne Pindar

@ Burnap ที่เจ็ด: "หลักสูตรวิทยาศาสตร์คอมพิวเตอร์สอนทฤษฎีไม่ใช่เทคโนโลยี" - นั่นไม่จริง ที่มหาวิทยาลัยของฉัน (KIT, Germany) เราต้องเรียนรู้ Java (และทำโครงการเล็ก ๆ ) รวมทั้งแบบฝึกหัดใน C การเตรียมตัวสำหรับ ICPC (การแข่งขันอย่าง TopCoder) ที่เราเรียนรู้วิธีแก้ปัญหาอย่างรวดเร็วใน C ++ คือ ที่นำเสนอ เราต้องสร้างโครงการที่ค่อนข้างใหญ่ (กลุ่มหนึ่งสร้างแอพพลิเคชั่นสำหรับโทรศัพท์ windows ซึ่งสามารถกระจายอำนาจโดยอัตโนมัติสร้างเครือข่ายมือถือหากเน็ตล่มเพราะภัยธรรมชาติ) เรายังได้รับการแนะนำใน Scala / Haskell
Martin Thoma

1
แต่มันเป็นความจริงที่คุณควรทำโครงการด้วยตัวเองเสมอ มหาวิทยาลัยมีเพียงจุดเริ่มต้นมากมาย ฉันเดาว่าถ้าคุณไม่อยากรู้อยากเห็นถ้าคุณไม่อยากลองบางอย่างคุณไม่ควรทำงานเป็นโปรแกรมเมอร์ (เป็นงานเต็มเวลา)
Martin Thoma

29

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

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


8
มีการศึกษาอย่างเป็นทางการและด้วยตนเอง แต่คุณกำลังออกจากการเป็นที่ปรึกษาในที่ทำงานซึ่งเป็นวิธีที่ดีที่สุดในการยืดทักษะของคุณและเรียนรู้วิธีการสร้างซอฟต์แวร์จริง ๆ
JeffO

1
“ อย่างไรก็ตามที่ถูกกล่าวว่าการศึกษาที่เป็นทางการก็มีความสำคัญมากเช่นกันหากคุณต้องการเข้าสู่สายอาชีพนั้นพร้อมที่จะรับตำแหน่งในการทำงาน” ... ประโยคนี้ไม่ชัดเจน "ท่าทางที่ใช้งานอยู่" ใน "กำลังงาน" หรือไม่ จริงๆ? มันหมายความว่ายังไง?
blesh

@blesh ตกลง เปลี่ยนถ้อยคำ
Johnny Rotten

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

11

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

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


6

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


4

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


1
-1: ฉันยอมรับว่าการเรียนรู้ด้วยตนเองเป็นทักษะที่ขาดไม่ได้ แต่เพียงแค่บอกว่ามันไม่ได้ทำให้เป็นเช่นนั้น
Jim G.

1
+1 ไม่เห็นด้วยกับการลงคะแนน ฉันจะพูดแบบเดียวกันและมันก็ขึ้นอยู่กับประสบการณ์ของฉันด้วย
CodeART

1
@ จิม - เหตุผลที่ไร้สาระอย่างยิ่งที่คุณมี ฉันควรทำ WTF อย่างนั้นหรือ "ฉันเห็นด้วย แต่ -1 เพราะคุณพูด" O_o
Edward Strange

@CrazyEddie: เพียงแค่พูดอะไรบางอย่างที่เป็นจริงโดยไม่ให้เหตุผลสนับสนุนบางอย่างไม่มีประโยชน์ในฟอรัมเช่นนี้
Jim G.

@Jim - การตรวจสอบคำตอบของคุณเป็นพื้นฐานทำให้ฉันต้องตอบว่า "คนที่อาศัยอยู่ในเรือนกระจกไม่ควรขว้างก้อนหิน"
Edward Strange

3

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


3

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

ฉันใช้นักพัฒนารุ่นน้องที่ไม่มีประสบการณ์ซึ่งชอบสิ่งที่เขาทำมาก ๆ เขาเล่นกับรหัสในเวลาว่างของเขากับนักพัฒนาระดับกลางสามคนที่เพิ่งผ่านการเคลื่อนไหว: นักพัฒนารุ่นน้องนั้นจะยอดเยี่ยมในบางวันและคนอื่น ๆ จะ ไม่มีวันจะดีไปกว่านี้อีกแล้ว

หากคุณไม่ได้เรียนรู้สิ่งใหม่คุณเพียงแค่นั่งเฉยๆลืมสิ่งที่คุณรู้


2

พรสวรรค์เกินกำลัง

อย่างน้อย 10 ปีของการฝึกฝนก่อนที่จะมีใครเก่งในพื้นที่ใดก็ตาม ดังนั้นจึงเป็นสิ่งสำคัญที่จะเริ่มต้น

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

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

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

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

http://www.devlounge.net/strategy/the-talent-myth


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

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

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

@Dunk แล้วบางทีพวกเขากำลังหลงรักไม่ใช่พรสวรรค์
อเล็กซ์

: ฉันคิดว่ามันเป็นเรื่องง่ายมากที่จะมองเห็นความสามารถแม้ว่ามันจะดิบและไม่มีประสบการณ์ แต่ก็ไม่เคยได้รับ
Dunk

2

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

สิ่งที่คุณควรทำจริงๆคือเพียงเริ่มทำงานในโครงการ: สร้างสิ่งที่คุณต้องการมีอยู่ จากนั้นเข้าร่วมโครงการโอเพ่นซอร์สเพื่อทำงานกับสิ่งที่คุณต้องการให้ดียิ่งขึ้น การเรียนรู้มาฟรีแล้ว ...


2

คุณต้องเรียนรู้สิ่งใหม่ด้วยตัวคุณเอง - ไปที่ความอยากรู้อยากเห็นของคุณพาคุณไป

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

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

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

ด้านหมายเหตุ: ฉันใช้เวลาตลอดอาชีพของฉันตั้งแต่เริ่มเขียนโปรแกรมอายุประมาณ 15 ปี (Sheesh มากกว่า 25 ปี ... เกือบ 30 ปี) พบว่านอกเหนือจากการศึกษาในมหาวิทยาลัยของฉันแล้วหลักสูตรฝึกอบรมส่วนใหญ่ (คุณรู้ ... เรียนรู้ BLAH ใน 3 วันเต็มเวลา) ค่อนข้างไร้ประโยชน์ สิ่งเหล่านี้มักเป็นเพียงผิวเผินและเท่าที่มีการขนานนามว่า "รักษาทักษะของคุณ" มนต์ไปไม่เป็นประโยชน์สำหรับผู้ที่ต้องการได้รับรายละเอียดทางเทคนิคลึก การซื้อหนังสือโดยใช้อินเทอร์เน็ตเจาะลึกเข้าไปในวิชาคณิตศาสตร์ / ฟิสิกส์ / สถาปัตยกรรม / อะไรก็ตามที่ทำให้ฉันมีประโยชน์และมีค่า ในขั้นตอนเดียวฉันเป็นหนึ่งในประมาณ 10 คนในโลกที่มีความเชี่ยวชาญเฉพาะด้านในเรื่องใดเรื่องหนึ่ง - ความรู้ทั้งหมดนั้นได้รับจากการเรียนรู้ด้วยตนเองและการเรียนรู้ในที่ทำงาน

เวลาเดียวที่จะหยุดเรียนรู้คือเมื่อคุณอยู่ภายใต้กล่องไม้สน 6 ฟุต


2

มีคำอุปมาที่ดีเกี่ยวกับเรื่องนี้:

การแข่งขันชิงแชมป์โลกประจำปีที่จัดขึ้นที่บริติชโคลัมเบีย ผู้เข้ารอบสุดท้ายคือแคนาดาและนอร์เวย์

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

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

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

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

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

คุณสามารถจินตนาการได้ว่าเขาแปลกใจเมื่อรู้ว่าเขาแพ้

  • มันเกิดขึ้นได้อย่างไร? - เขาถามคนนอร์เวย์ - ทุกชั่วโมงฉันได้ยินคุณหยุดสิบนาที เช่นคุณประณามคุณจัดการที่จะตัดไม้มากกว่าที่ฉันทำ? มันเป็นไปไม่ได้.

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

ดังนั้นคุณควรศึกษาตลอดเวลาเพื่อให้คุณคมขวาน


1
  • เป็นสิ่งสำคัญมิฉะนั้นคุณจะอยู่ข้างหลัง

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


1

การเรียนรู้ด้วยตนเองมีความสำคัญมากด้วยเหตุผลสองประการ:

  • หลังจากการศึกษาของคุณ : ตามที่ระบุไว้แล้วในคำตอบอื่น ๆ การเรียนการสอนด้วยตนเองคือสิ่งที่คุณจะทำในชีวิตประจำวันของคุณในฐานะนักพัฒนา คุณไม่สามารถรู้ทุกสิ่งและ บริษัท ต่างก็รู้เรื่องนี้ สิ่งที่คุณต้องรู้คือการพัฒนาตัวเอง นักพัฒนาที่ดีที่สุดมีความสามารถในการเรียนรู้ภาษาใหม่เทคโนโลยีใหม่ได้อย่างรวดเร็วด้วยตนเอง
  • ระหว่างที่คุณเรียนระยะทางระหว่างหลักสูตรวิทยาลัยที่จะสอนคุณกับความเป็นจริงของงานที่คุณทำนั้นใหญ่มาก โดยเฉพาะฉันกำลังพูดถึงเกี่ยวกับการบำรุงรักษาและบำรุงรักษา ส่วนสำคัญของงานของผู้พัฒนาประกอบด้วยการบำรุงรักษารหัสดั้งเดิม (การแก้ไขข้อบกพร่องการปรับปรุงการเพิ่มคุณสมบัติ ฯลฯ ) คุณสามารถอ่านได้การสร้างซอฟต์แวร์ใหม่ล่าสุดเป็นส่วนสำคัญของงานเขียนโปรแกรมส่วนใหญ่หรือไม่? สำหรับรายละเอียดเพิ่มเติม
    เนื่องจากการบำรุงรักษารหัสมรดกเป็นสิ่งจำเป็นคุณจะต้องเขียนรหัสที่สามารถบำรุงรักษาได้ด้วยตัวเองและนี่ไม่ค่อยได้รับการสอนด้วยบทเรียนที่เป็นทางการ (ดูวิธีปรับปรุงการฝึกอบรมนักเรียนเกี่ยวกับการบำรุงรักษา)) หากคุณไม่ฝึกฝนการเรียนรู้ด้วยตนเองและอ่านหนังสือจำนวนมากระหว่างการศึกษาคุณไม่น่าจะได้รับทักษะที่จำเป็นซึ่งจะทำให้คุณเป็นนักพัฒนาซอฟต์แวร์ที่ดีกว่าคนทั่วไป
    อย่าพยายามเรียนรู้ภาษา / เทคโนโลยีมากมายระหว่างการเรียน แต่เรียนรู้วิธีปฏิบัติที่ดีและการเขียนโค้ดที่สะอาด ตัวอย่างเช่นคุณควรอ่าน "Clean Code" ของ Robert C. Martin มากกว่า "Java The Complete Reference" ของ Herbert Schildt ระหว่างการศึกษา

-1

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


-1

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


-1

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

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


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

ในช่วงเวลานั้นทุกคนกำลังดิ้นรนเพื่อทำความเข้าใจกับสิ่งที่โรงเรียนสอนและพวกเขากำลังสอนอย่างรวดเร็วซึ่งทุกคนไม่สามารถติดตามได้
Jie Liang

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

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

-3

เช่นเคยในวิชาคณิตศาสตร์และวิทยาศาสตร์คอมพิวเตอร์ - มี 2 มุมมอง: 1 จำเป็นและ 2 contitions เพียงพอ

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

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

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