ใครจะได้รับรากฐานการเขียนโปรแกรมที่มั่นคงโดยไม่ต้องไปเรียนวิทยาลัย / มหาวิทยาลัย? [ปิด]


28

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

  1. การไปเรียนที่วิทยาลัยจะช่วยให้คุณได้กระดาษซึ่งจำเป็นต่อการลงจอดงานโดยเฉพาะอย่างยิ่งในช่วงเศรษฐกิจตกต่ำ

  2. การไปเรียนที่วิทยาลัยจะช่วยให้คุณมีพื้นฐานการเขียนโปรแกรมที่ดีสอนหลักการที่จำเป็นสำหรับคุณไม่ว่าคุณจะใช้ภาษา / เส้นทางใด

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

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

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

คุณคิดว่ารากฐานของฉันจะมั่นคงหรือยังขาดการเปรียบเทียบกับคนที่ไปเรียนวิทยาลัย?


2
มีโอกาสอย่างน้อยหนึ่งคนบนโลกใบนี้ที่สามารถ ยังไงก็ตามเหตุผลที่ 1 ยังคงเป็นประเด็น เมื่อทุกอย่างเท่าเทียมกัน "พวกเขา" ยังคงชอบคนที่มีการศึกษาที่เป็นทางการมากกว่า
งาน

1
ฉันสามารถบอกคุณสิ่งหนึ่งคุณจะไม่พบความหมายที่มั่นคงในมหาวิทยาลัย
Peter Turner


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

คำตอบ:


17

แน่นอนที่สุด ใช่มันเป็นไปได้ ฉันจะรู้ได้อย่างไร เพราะฉันทำมัน!

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

เคล็ดลับบางอย่าง:

  • เรียนรู้ด้วยการทำ! ต้องการทราบว่าต้นไม้ไบนารีทำงานอย่างไร ทำให้หนึ่ง
  • ทำได้โดยการเรียนรู้ กำหนดโครงการที่มีความทะเยอทะยานที่คุณจะต้องเรียนรู้สิ่งใหม่เพื่อที่จะทำให้สำเร็จ ข้อควรระวัง: ถ้าคุณตั้งโครงการด้วยตัวเองที่ยากเกินไปมันจะทำให้ท้อใจง่าย แต่ถ้าคุณตั้งโครงการที่ง่ายเกินไปคุณจะไม่ได้เรียนรู้มากนัก คุณกำลังมองหาเขตเนย
  • เริ่มด้วย C. ภาษาระดับสูงทำให้คุณขี้เกียจ ฉันไม่เคยเรียนรู้ C ถ้าฉันเรียนรู้หลามก่อน
  • Wikipedia ควรเป็นจุดแรกของคุณสำหรับแนวคิดใด ๆ ที่คุณต้องเรียนรู้
  • ไม่สำคัญว่าคุณจะไม่ทำโครงการเดียวให้เสร็จ (หลังจากทั้งหมดเสร็จสิ้นแล้ว) มันสำคัญมากที่คุณจะต้องเรียนรู้สิ่งใหม่ ไม่ได้หมายความว่าคุณไม่ควรพยายามทำโครงการให้เสร็จ มันอาจเป็นแรงกระตุ้นให้เห็นสิ่งที่คุณทำ ง่ายต่อการติดตามข้างไม่ต้องกังวลถ้าคุณทำ

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

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


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

@Echo มันคุ้มค่าหรือไม่
dan_waterworth

@ Dan_waterworth ฉันชอบที่จะคิดอย่างนั้น
Echo พูดว่า Reinstate Monica

ฉันคิดว่ามันสมเหตุสมผลมากกว่าที่จะเริ่มต้นด้วยภาษาการเขียนโปรแกรมระดับสูงโดยเฉพาะกับ Python แน่นอนว่ามันขึ้นอยู่กับประเภทของงานที่คุณต้องการจัดการเมื่อคุณเรียนรู้พื้นฐานเสร็จแล้ว: ถ้าคุณต้องการเขียนโปรแกรมระบบฮาร์ดคอร์ให้ไปตามเส้นทาง C หากคุณต้องการพัฒนาแอพพลิเคชั่นสำหรับผู้ใช้ ไม่ต้องกังวลกับ C และไปเพื่ออะไรที่เหมือนกับ Python
Zsolt Török

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

12

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


1
ตอนนี้ฉันมีวุฒิการศึกษาเศรษฐศาสตร์ระหว่างประเทศอยู่แล้ว
Daniel

1
ฉันมีเพื่อนที่มีปริญญาใน <noname> บางคนและเขาประสบความสำเร็จโปรแกรมเมอร์ Flash / PHP ฉันคิดว่ามันขึ้นอยู่กับคุณ ตัวอย่างเช่นฉันมีปริญญาในสาขาฟิสิกส์ แต่ฉันเป็นนักพัฒนาซอฟต์แวร์ สองปีที่แล้วฉันตัดสินใจที่จะได้รับปริญญาโทใน CS เพียงเพราะฉันต้องการมันไม่ใช่เพราะฉันต้องการมัน
Sorantis

5
การศึกษาระดับวิทยาลัยของฉันสอนให้ฉันเลือกภาษาคอมพิวเตอร์ใหม่ใน 1-2 วันจากบทเรียนออนไลน์ หากคุณสามารถทำสิ่งนั้นได้คุณจะได้เรียนรู้บทเรียนที่ยอดเยี่ยม
apoorv020

1
ใช่ แต่คุณต้องเป็นผู้รับผิดชอบอัตโนมัติ
dietbuddha

3
บางคนไม่จำเป็นต้องเรียนรู้วิธีเรียนรู้อย่างอิสระ
dan_waterworth

6

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

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

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


4

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


3

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

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

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


2

ในฐานะโปรแกรมเมอร์ฉันพบว่าฉันกำลังเล่นกับ API และภาษาที่ไม่เกี่ยวข้องกับการทำงานอยู่ตลอดเวลา (Ruby on Rails, Python, Node.js ฯลฯ ) ฉันทำสิ่งนี้เพื่อผลประโยชน์มากกว่างาน ฉันมีเพื่อนร่วมงาน 2 คน แต่หลังจากผ่านไป 10 ปีของการเขียนโปรแกรมใน Java / JEE ฉันพบว่าฉันพลาดทฤษฎีระดับ BS (Big O, Algorithms, Descrete Math และอื่น ๆ )

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

ตรวจสอบMIT เปิด Coursware ได้ฟรีและเป็นแหล่งข้อมูลที่ยอดเยี่ยมสำหรับการเติมช่องว่างของทฤษฎี CS / Math


2

ฉันเชื่อว่ามันเป็นเรื่องผิดเพี้ยนที่จะคิดว่าวิทยาลัย / มหาวิทยาลัยจะมีคำจำกัดความเป็นรากฐานการเขียนโปรแกรมที่ดี พวกเขาจะสอนทฤษฎีมากมายและหลายวิธีที่จะคิดเกี่ยวกับปัญหา ทั้งหมดนี้เป็นเรื่องดีและดี แต่การเปลี่ยนทฤษฏีนั้นเป็นการฝึกปฏิบัติเป็นชุดทักษะที่แตกต่างกัน

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

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

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


ตกลง. เกือบทั้งหมดของการเขียนโปรแกรมธุรกิจที่ฉันทำมีความคล้ายคลึงกับการทำงานในการค้าขายเหมือนช่างไม้ ฉันคิดว่าแทร็กการเขียนโปรแกรมฝึกหัด / คนเดินทาง / อาจารย์จะเป็นประโยชน์มากกว่ามหาวิทยาลัยในการเรียนรู้วิธีการเขียนโปรแกรม
cfeduke

2

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

ขณะนี้มีหลักสูตรการเขียนโปรแกรมบางส่วนที่มีประโยชน์ที่จะรู้ว่า "เครื่องรัฐ" คืออะไรหรือวิธีการใช้การค้นหา "Booyer-Moore" มีปัญหาบางอย่างที่เป็นประโยชน์ในการรู้จักคณิตศาสตร์จริงเช่นถ้าคุณกำลังทำงานกับการคำนวณทางการเงินหรือการจำลองทางฟิสิกส์

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

ฉันเป็นตัวของตัวเอง 100% และฉันไม่เคยมีปัญหาในการเรียนรู้เกี่ยวกับอัลกอริทึม ฉันทำงานเกี่ยวกับระบบการเงินและทำได้แม้ไม่มีทักษะทางคณิตศาสตร์เชิงทฤษฎี

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

คุณไม่จำเป็นต้องรู้ทุกอย่างในรายละเอียดนั่นคือสิ่งที่ Google, StackOverflow และ Wikipedia มีไว้ให้ :) คุณต้องรู้ว่ามีเครื่องมือและวิธีการต่าง ๆ ที่จะรู้ว่าพวกมันสามารถใช้งานได้และสามารถนำไปใช้กับสถานการณ์ของคุณได้ คุณต้องได้รับประสบการณ์การรู้ว่าเครื่องมือตัวไหนที่ดีที่สุดที่จะใช้ โดยพื้นฐานแล้วมักจะถูกทำลายในผู้เริ่มต้นเนื่องจากพวกเขาไม่มีประสบการณ์ว่าทำไมเครื่องมือบางอย่างจะมีประโยชน์ หากคุณมีประสบการณ์มากมายบางสิ่งก็จะ "คลิก" เข้าที่

บางสิ่งที่ฉันอยากจะแนะนำ:

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

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

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

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


ประมาณการของคุณประมาณ 90% ของการเขียนโปรแกรมที่ไม่มีเนื้อหาทางทฤษฎีที่แข็งแกร่งอาจเป็นเรื่องที่ถูกต้อง น่าเสียดายที่โปรแกรมเมอร์ส่วนใหญ่จะเข้ามาเป็นระยะ ๆ อีก 10% ดังนั้นจึงจำเป็น
Orbling

2

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

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

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

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

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


2

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

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


ฉันทำ. ในความเป็นจริงการศึกษาจำนวนมากของฉันนั้นใช้เวลาน้อยกว่า 2 ปี (ประมาณ 6 เดือน) แต่ฉันทำสัปดาห์ละ 60-70 ชั่วโมงเป็นประจำ
dan_waterworth

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

1

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


นี่เป็นปัญหาส่วนใหญ่ที่จ้างงานผ่านแผนกทรัพยากรบุคคล (HR) วิธีที่ดีที่สุดในการจัดการกับมันคือการสร้างเครือข่ายโซเชียลธุรกิจของผู้จัดการ IT ที่รู้จักคุณหรืออย่างน้อยก็ให้ลองทำขั้นตอน "กรอง" HR ในคำอื่น ๆ คนที่ไม่มีองศามีแนวโน้มที่จะมีจะดีกว่าที่ตลาดทักษะและบริการของพวกเขาเองมากกว่าที่จะใช้สำหรับตำแหน่งโฆษณา ผู้จัดการฝ่ายไอทีที่มีความสามารถส่วนใหญ่จะจ้างงานตามประวัติและชื่อเสียง (เช่นการอ้างอิงจากบุคคลที่พวกเขาไว้วางใจ) อย่าคาดหวังว่าจะได้งานรัฐบาล มันหายากทุกวันนี้
mctylr

1

หากคุณเล่นเกมตัวเลขผู้ที่มีวุฒิการศึกษาจะได้งานที่ดีขึ้นและจ่ายเงิน

ไม่ใช่ทุกคนที่ได้รับปริญญานั้นเรียนรู้ / จดจำอะไรเลย

คนส่วนใหญ่จะไม่ใช้เวลาในการเรียนรู้ทฤษฎี / พื้นหลัง / พื้นฐานมากเท่าที่ควรหากพวกเขาไปเรียนที่วิทยาลัย บางทีพ่อแม่ของคุณอาจสนับสนุนคุณตลอด 4 ปีแห่งการเรียนรู้ด้วยตนเอง ทุกคนต้องมีงานทำ

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


1

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


1

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

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

ฉันเชื่อ - และยังเชื่อว่าหลังจากช่วยเริ่มต้นวิชาเอก CS ในฐานะ TA - ทุกคนที่ไม่มีปัญญาอ่อนสามารถเรียนรู้การเขียนโค้ดในระดับ PHP / Java / C # มันไม่ได้เป็นการพูดพื้นฐานที่ยาก

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

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


0

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

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