ทำไมปริญญาวิทยาศาสตร์คอมพิวเตอร์ถึงมีความสำคัญกับโปรแกรมเมอร์มืออาชีพ? [ปิด]


63

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

ในการปรับตัวในโลกปัจจุบันจิตใจที่รวดเร็วการสื่อสารที่แข็งแกร่ง OO และทักษะการออกแบบขั้นพื้นฐานช่วยให้นักพัฒนาสามารถเขียนซอฟต์แวร์ที่ลูกค้าจะยอมรับได้ ทักษะเหล่านี้มีอยู่ในโปรแกรม cs เท่านั้น ในใจของฉันการอ่านหนังสือ C # 500 หน้าโดย Wrox นำเสนอชุดทักษะที่เป็นประโยชน์มากกว่า 4 ปีของหลักสูตร comp sci math blaster หลายคนไม่เห็นด้วย แล้วทำไมวิทยาศาสตร์คอมพิวเตอร์ถึงมีความสำคัญ?


59
วิทยาศาสตร์คอมพิวเตอร์ไม่ได้เกี่ยวกับคอมพิวเตอร์มากไปกว่าดาราศาสตร์ก็เป็นเรื่องเกี่ยวกับกล้องโทรทรรศน์ - Edsger Dijkstra
Eric Lippert

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

10
มันสำคัญเมื่อคุณไม่มี
Aditya P

2
ฉันมี 2.8 ด้วยค่าเฉลี่ยค่อนข้างดี แต่เราส่วนใหญ่สอน C / Java และเว็บบางสิ่งไม่มี C # อย่างไรก็ตามฉันคิดว่า CS เป็น "สิ่งที่ดีที่สุดถัดไป" เนื่องจากหลักสูตร CS 4 ปีไม่ใช่เรื่องง่ายและมันแสดงให้เห็นว่าคุณสามารถทำงานอย่างหนักเพื่อให้ได้ปริญญา ทำไมมันถึงสำคัญล่ะ? มันทำให้คุณได้งาน!

1
@ luis.espinal ฉันตั้งคำถามสถิติเหล่านั้น ฉันสงสัยว่า 70% ของรหัสทั้งหมดอยู่ใน C (คิดว่า Fortran เงียบ ๆ , COBOL, PL1 และ Rexx เงียบดีอยู่ดี) ส่วนใหญ่แน่นอน แต่ส่วนใหญ่ฉันไม่เชื่อ มีอุปกรณ์ฝังตัวอยู่มากมาย แต่จำนวนของอุปกรณ์ฝังตัวไม่ได้พูดอะไรเกี่ยวกับแหล่งต้นฉบับ เมื่อมันถูกเขียนขึ้นสำหรับอุปกรณ์เฉพาะแรกมันดีสำหรับอุปกรณ์ที่ตามมาทั้งหมดของอุปกรณ์เดียวกัน และสันนิษฐานได้ว่ามีการนำกลับมาใช้ใหม่จำนวนมากสำหรับตราสารอนุพันธ์ที่ใกล้ชิดไม่ว่าจะเป็นในบรรทัดเดียวกันของการแก้ไขในภายหลังหรือในสายที่แตกต่างจากตระกูลผลิตภัณฑ์เดียวกัน
JustinC

คำตอบ:


133

ทำไมต้องเรียนสาขาวิทยาศาสตร์คอมพิวเตอร์:

  • ฉันทำงานร่วมกับนักพัฒนาซอฟต์แวร์ที่จัดเก็บรายการหลายพันรายการไว้ใน HashTable จากนั้นทำซ้ำผ่านค่าเท่านั้น เขาไม่เคยเข้าถึงแฮช เห็นได้ชัดว่าเขาไม่ทราบว่า HashTable ทำงานอย่างไรหรือทำไมคุณต้องใช้ระดับปริญญา CS อาจช่วยได้
  • เมื่อทำงานกับนิพจน์ทั่วไปดูเหมือนว่าง่ายกว่าสำหรับผู้ที่รับรู้ทฤษฎีออโตมาตะพื้นฐานและภาษาทางการเพื่อให้เหตุผลเกี่ยวกับสิ่งที่เกิดขึ้นและแก้ไขปัญหาการแสดงออก - ระดับ CS อาจช่วยได้
  • นักพัฒนาที่สดใหม่จากโรงเรียนอาจสามารถแยกแยะปัญหาในกรอบความคิดต่างๆ (OO, functional, logical) ได้ทันทีในขณะที่ผู้พัฒนาที่ไม่ใช่ปริญญาต้องการประสบการณ์ก่อนที่พวกเขาจะสามารถทำสิ่งเดียวกันได้
  • โรงเรียนสอนความซับซ้อนในการคำนวณ นักพัฒนาที่ไม่ใช่ปริญญาอาจรู้สึกว่ามีอะไรที่ดีที่สุด แต่บางครั้งความเข้าใจอย่างเป็นทางการก็เป็นสิ่งที่ดีโดยเฉพาะอย่างยิ่งเมื่ออธิบายผลลัพธ์ให้กับเพื่อนร่วมงาน
  • การศึกษาระดับปริญญานำเสนอความรู้เบื้องต้นเกี่ยวกับเครื่องจักรหลายรุ่น - ฮาร์ดแวร์ระบบปฏิบัติการโครงสร้างข้อมูลทั่วไประบบเครือข่าย VMs ด้วยโมเดลเหล่านี้ที่อยู่ในใจของคุณคุณจะสามารถพัฒนาลางสังหรณ์ที่มีปัญหาได้ง่ายขึ้นเมื่อมีบางอย่างผิดปกติ อีกครั้งนักพัฒนาที่ไม่ใช่ปริญญาสร้างโมเดลเดียวกัน แต่ต้องใช้เวลา
  • คำแนะนำจากผู้เชี่ยวชาญผ่านระเบียบวินัยใด ๆ ที่อาจช่วยให้ผู้เรียนหลีกเลี่ยงการสิ้นสุดและหัวข้อที่ไม่ได้รับ การอ่านนั้นยอดเยี่ยม แต่มันก็ไม่สามารถทดแทนอาจารย์ที่เก่งได้

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

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


4
+1 - นี่สมเหตุสมผลแล้ว คำแนะนำจากผู้เชี่ยวชาญอาจช่วยฉันด้วยวิธีที่ฉันไม่รู้จัก ฉันยังสงสัยว่าการศึกษาทั่วไป 4 ปีสำคัญกว่าประสบการณ์ในอุตสาหกรรม 4 ปีหรือไม่สมมติว่านักพัฒนาทั้งสองมีแรงจูงใจในการเรียนรู้เท่ากัน มีบางระดับของวินัยที่ฉันรู้สึกว่าฉันไม่ได้มีมาก่อนระดับที่แน่นอนสำหรับบางสิ่งบางอย่าง
P.Brian.Mackey

4
การเรียนรู้คำศัพท์ที่เหมาะสมและการใช้เวลากับคนอื่น ๆ ที่เรียนรู้เนื้อหาเดียวกันก็เป็นประโยชน์เช่นกันที่ไปพร้อมกับกระดาษราคาแพง
พะยอม

65
ในทางกลับกันฉันเคยเห็นคนที่มีปริญญาที่ยังคงล้มเหลวในรายการนี้มากที่สุด :)
Joel Gauvreau

1
พวกเขาอาจเคยได้ยินทฤษฎีกราฟด้วยเช่นกัน ซึ่งอาจทำให้แอปพลิเคชันการแบ่งพาร์ติชันเป็นไคลเอนต์และเซิร์ฟเวอร์เครือข่าย DAG และต้นไม้ง่ายขึ้นเล็กน้อย
ทิม Williscroft

3
@JustinC - การยืนยันของคุณ "ผู้ถือปริญญามีแนวโน้มที่จะปกป้องพวกเขาด้วยเหตุผลใดก็ตามเพราะพวกเขามีพวกเขา" เป็นหนึ่งในเหตุผลพื้นฐานที่ฉันถามคำถาม ฉันได้เห็นการป้องกันไร้เหตุผลแบบมือแรกตาบอดนี้ ตรงกันข้ามยังถือเป็นจริง
P.Brian.Mackey

87

ใน 40 ปีที่ฉันคาดหวัง. NET และ C # จะไม่มีอะไรมากไปกว่ากองรหัสดั้งเดิมในระบบปฏิบัติการที่ล้าสมัย

แต่แนวคิดวิทยาศาสตร์คอมพิวเตอร์พื้นฐานจะมีชีวิตชีวาเช่นเดียวกับเมื่อ Shannon, von Neumann, Knuth, Dijkstra, Hoare และคนอื่น ๆ ขุดมันออกมาจากเหตุผลเชิงตรรกะและคณิตศาสตร์ ... มากกว่า 40 ปีที่ผ่านมา


28
+1 - จริงมาก แต่ใน 40 ปีฉันจะไม่ให้คำด่า
P.Brian.Mackey

3
@ P.Brian.Mackey: ฉันเดาว่าใน 10 ปี C # จะออกนอกถนนและใน 20 ปีจะเป็นความทรงจำที่มากขึ้นและใน 30 ปีจากนี้จะต้องใช้นักโบราณคดีรหัสผมสีเทา . คนที่ผูกตัวเองกับชุดเครื่องมือที่กำหนดทำให้ตัวเองเสื่อมเสีย ฉันโชคดีที่ได้อ่านเอกสารเก่า ๆ เกี่ยวกับซอฟต์แวร์ระบบตั้งแต่ปลายปี 1970 และต้นทศวรรษ 1980 ในบรรดาระบบซอฟต์แวร์นั้นมีอยู่น้อยมาก อาจจะ 1 หรือ 2 (Unix และ Lisp) แม้ว่าฐานการติดตั้งของวันนี้จะใหญ่กว่า แต่ฉันคาดหวังว่าจะมีสิ่งที่คล้ายกันเกิดขึ้น
พอลนาธาน

4
@ P.Brian.Mackey พูดในสิ่งที่คุณต้องการ แต่ฉันวางแผนที่จะเตะต่อไปใน 40 ปีและ 80 ปีนับจากนี้ถ้าฉันมีคำพูดในเรื่องนี้
Matthew Scharley

2
@ พอลนาธาน: เพื่อเพิ่มเติมประเด็นของคุณพื้นฐานที่สำคัญบางประการของการเขียนโปรแกรมทักทายตั้งแต่ทศวรรษที่ 1930 (เช่นen.wikipedia.org/wiki/Church%E2%80%93Turing_thesis ) ฉันสงสัยว่า / วิธีการที่เราจะเขียนรหัส 80 ปีนับจากนี้ :)
phooji

3
@phooji (โหลด "legacy-c-sharp-routines" ... ): P
Mark C

37

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

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

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


(*) ฉันมี B.Math ในวิชาคณิตศาสตร์ประยุกต์และวิทยาศาสตร์คอมพิวเตอร์จาก Waterloo


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

15
@ เอลฟิวเซอร์: แน่นอน; ตอนนี้คำถามที่น่าสนใจที่บางทีอาจมีประโยชน์ต่อการสนทนาครั้งนี้คือจุดประสงค์ของการศึกษาระดับอุดมศึกษาเพียงเพื่อการฝึกอบรมสำหรับงานเฉพาะหรือไม่? ฉันไม่เชื่อว่ามันเป็น มหาวิทยาลัยไม่ใช่โรงเรียนอาชีวศึกษา หน้าที่ของพวกเขาคือการสร้างความรู้ผ่านการวิจัยและเผยให้นักเรียนเห็นถึงจักรวาลแห่งความรู้ สิ่งนี้อาจให้ทักษะการงานแก่นักเรียนดูเหมือนว่าฉันจะเป็นผลข้างเคียงมากกว่าเป็นเป้าหมาย ที่วอเตอร์ลูเราได้รับการบอกกล่าวอย่างชัดเจนว่าเราจะได้รับการสอนทฤษฎีไม่ใช่การฝึกฝน
Eric Lippert

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

1
วันที่งานที่ดีที่สุดไม่ต้องการปริญญาอีกต่อไปคือวันที่มหาวิทยาลัยไม่มีนักเรียนที่จะสนับสนุนโครงการของพวกเขาอีกต่อไป
P.Brian.Mackey

Anders ใช้เขาบ่อยแค่ไหน)
Matthew Whited

22

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


4
ผมไม่ทราบว่าสิ่งที่บิต Twiddler จนกระทั่งผมอ่านCoders ในที่ทำงาน ฉันเดาว่าคุณจะรอดจากการเปลี่ยนกระบวนทัศน์หรือสองครั้งและกำลังพูดจากประสบการณ์ :)
Dave Neeley

3
ฉันไม่เห็นด้วย. เข้าถึงทรัพยากรที่สอนแนวคิดพื้นฐานทางออนไลน์ได้ง่าย (และเป็นรางวัลที่ได้รับความสามารถในการค้นหาด้วยตนเอง) ยกตัวอย่างเช่นAcademicearth.org/subjects/computer-scienceเป็นจุดเริ่มต้นที่ดี รายละเอียดข้อมูลเกี่ยวกับรูปแบบสถาปัตยกรรมใหม่เป็นอิสระที่มีอยู่สำหรับการศึกษาดูchromium.org/developers/design-documents/... บ่อยครั้งที่สื่อที่ให้บริการออนไลน์ฟรีนั้นดีกว่าและทันสมัยกว่าสิ่งที่คุณคาดหวังจากวิทยาลัยท้องถิ่น
Evan Plaice

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

2
(ต่อ) หากคุณกำลังพูดถึงซอฟต์แวร์ปรับกระบวนทัศน์ ... อะไรคือกระบวนทัศน์เปลี่ยน? OOP ไม่ใช่เรื่องใหม่ไม่มีการเขียนโปรแกรมแบบใช้งานได้ ฐานข้อมูลมีมานานแล้ว จำนวนจุดลอยตัวได้รับมาตรฐานตั้งแต่ปี 1985 (IEEE 754) การเปลี่ยนแปลงครั้งใหญ่เพียงครั้งเดียวที่ฉันเห็นคือการเปลี่ยนไปสู่ระบบประมวลผลแบบกระจาย (ระบบเครือข่ายที่ใหญ่โตและขยายขนาดและโปรแกรมที่ใช้ประโยชน์จากแพลตฟอร์มฮาร์ดแวร์หลัก ๆ หลายแห่ง) และการเปลี่ยนไปใช้ชุดอักขระสากลที่เป็นมาตรฐาน (UTF-8) ทั้งสองอย่างนั้นไม่ได้ครอบคลุมในคอมโพสิตจริงๆ
Evan Plaice

2
@Mud และ Evan: ฉันเดาว่าคุณพลาดส่วน "แน่นอนมีข้อยกเว้นกฎ" ของการโพสต์ของฉัน ฉันสมมติว่าคุณทั้งคู่ยังเด็กและไม่มีภาระผูกพัน พลังนั้นจะเปลี่ยนไปตามอายุของคุณ ฉันอยู่ในทุ่งมากว่าสามสิบปีแล้ว ฉันได้ดูโปรแกรมเมอร์จำนวนมากที่สอนตนเองออกมาหลังจากความเครียดจากการเลี้ยงดูครอบครัวเข้ามาในภาพและระยะเวลาที่ต้องเรียนรู้พื้นฐานเกี่ยวกับวิธีการของตัวเองเป็นศูนย์ ฉันชอบที่จะมีบทสนทนาเดียวกันนี้เมื่อคุณทั้งคู่อายุ 40 ปีขึ้นไป
bit-twiddler

14

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

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


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

12

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

1 - เนื่องจากวิศวกรไม่ใช่ส่วนหน้าสำหรับการสรรหา

ทรัพยากรมนุษย์คนคือ และในขณะที่ฉันนึกภาพผู้คนมากมายกลอกตาฉันพูดว่า "ขอบคุณพระเจ้า!" มีความสำคัญยิ่งกว่า - คุณปล่อยให้วิศวกรจัดทำสิ่งต่างๆ (หรือทำลายสิ่งต่างๆ) หรือคุณจัดเรียงเรซูเม่ต่อ 1,000 ครั้งและทำการสัมภาษณ์ 1,000 ครั้ง?

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

2 - เพราะการมีระบบบางอย่างเกี่ยวกับการเรียนรู้เกี่ยวกับ CS นั้นดีกว่าไม่มีเลย

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

และฉันดีใจที่มันอยู่ในสภาพแวดล้อมที่มีคนจ่ายเงินให้อธิบายสิ่งต่าง ๆ ให้ฉันเมื่อโครงการหนังสือ / เว็บไซต์ / รอบตัวไม่ชัดเจน

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

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

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

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


12

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


+1 - ฮ่า ๆ ฉันไม่สามารถโต้เถียงกับเรื่องนี้มาก แม้ว่าฉันรักคณิตศาสตร์แบบแยก มีศาสตราจารย์ที่ยอดเยี่ยมที่ทำความประทับใจโยดามากมาย
P.Brian.Mackey

10

สำหรับผมแล้วมันเป็นคำถามของความคิด

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

ตัวอย่างทั่วไปคือปัญหา "พนักงานขายเดินทาง"ที่คุณรู้ว่ามัน 1) NP-complete สำหรับรุ่นทั่วไปดังนั้นคุณต้องลองความเป็นไปได้ทั้งหมด แต่ 2) ว่าถ้าคุณรู้เพิ่มเติมเกี่ยวกับปัญหาคุณสามารถประมาณภายใน ข้อ จำกัด บางอย่างหรือบอกว่าคุณรู้ว่าเครื่องปรับอากาศนั้นยาวกว่า AB + BC เสมอ (ซึ่งเป็นเรื่องจริงสำหรับระยะทาง แต่ไม่ใช่สำหรับราคา) ทำให้คุณสามารถแก้ไขได้ในเวลาที่น้อยลง

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


9

จริงๆ? ว้าว.

ดังนั้นคุณกำลังบอกฉันว่าทักษะ C # และ OOP นั้นเพียงพอและคุณสามารถกำหนดอัลกอริทึมของคุณเองสำหรับการเรียงลำดับแบบสุ่มและถอดรหัสความแตกต่างที่ละเอียดกว่าของวิธีจัดการกับปัญหาที่สมบูรณ์ในชีวิตจริง

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

เพื่อนคุณจะไม่ทราบด้วยซ้ำว่าคอนเทนเนอร์ C # ใดที่จะใช้ถ้าโครงสร้างข้อมูลหรือทักษะอัลกอริทึมของคุณไม่ถึงเครื่องหมาย

ให้เติบโตขึ้นตอนนี้


23
ง่ายๆที่นั่นเสือ
whatsisname

23
"ประดิษฐ์อัลกอริทึมของคุณเองสำหรับการเรียงลำดับแบบสุ่มและถอดรหัสความแตกต่างที่ละเอียดของวิธีการจัดการกับปัญหาที่เกิดขึ้นจริงในชีวิตจริง" ฉันไม่สามารถเครียดพอว่างานในชีวิตประจำวันของฉันเป็นอย่างไรประกอบด้วยกิจกรรมเหล่านี้ .... /
sarcasm

4
สิ่งที่ฉันพูดคือ 95% ของคนที่ฉันทำงานด้วยและทำงานด้วยในอดีตใช้เวลาใกล้กับอัลกอริธึมการคิดเวลา 0 ครั้ง ฉันใช้เวลาส่วนใหญ่ในการสร้างรหัสให้กระชับและอ่านง่ายขึ้น ใช้เวลาน้อยมากกับ "ความแตกต่างที่ละเอียดกว่า" ในความเป็นจริงฉันคิดว่ามันน่าสนใจที่จะใช้เวลาอย่างน้อยเรียงลำดับขั้นตอนการทำงานบนไวท์บอร์ด ... สิ่งที่ฉันทำเองเท่านั้น คุณคุยเรื่อง NP กับเพื่อนร่วมงานเป็นประจำหรือไม่ คุณทำงานในสายงานใดที่คุณต้องการเขียนเรียงลำดับแบบกำหนดเองแทนที่จะใช้ภาษาโปรแกรมการทำงาน
P.Brian.Mackey

3
@ P.Brian.Mackey: การพัฒนาซอฟต์แวร์เป็นอาชีพที่ได้รับความนิยม นักพัฒนาซอฟต์แวร์จำนวนเท่าใดที่ทำงานให้กับองค์กรของคุณที่มีอายุเกิน 50 ปี? ในฐานะนักพัฒนาซอฟต์แวร์อายุปริญญา CS สามารถหมายถึงความแตกต่างระหว่างการมีงานและการว่างงาน ในขณะที่ฉันจบการศึกษาระดับปริญญาตรีและสูงกว่าในสาขาวิทยาศาสตร์คอมพิวเตอร์ฉันได้รับการฝึกอบรมครั้งแรกในสาขานี้จากโรงเรียนเทคนิคทหารเรือและกระทรวงกลาโหมในช่วงอายุเจ็ดสิบปลาย ทุกคนที่ฉันรับใช้ซึ่งไม่ได้สนใจที่จะสำเร็จปริญญาตรีหลังจากออกจากกองทัพไม่ได้อยู่ในสนามอีกต่อไป
bit-twiddler

7
ทำไมทุกคนถึงยอมรับยอมรับสมมติฐานที่ว่าหลักสูตรวิทยาลัย CS อย่างเป็นทางการจำเป็นต้องมีความรู้เกี่ยวกับแนวคิด CS อาจเป็นเพราะความล้มเหลวของการใช้เหตุผลแบบอนุมาน ฉันเดาว่าพวกเขาต้องการหลักสูตร CS เพิ่มเติม
quentin-starin

6

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

คลาสที่ไม่ได้เป็นแค่อัลกอริธึมและปุยน่ารัก

  • คอมไพเลอร์
  • ระบบปฏิบัติการ
  • VHDL / ระบบฝังตัว
  • ประกอบและตัวควบคุมไมโคร
  • วิศวกรรมซอฟต์แวร์

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


คำจำกัดความของ "coder" และ "โปรแกรมเมอร์" คืออะไร? สำหรับฉันแล้วสิ่งเหล่านี้อาจเหมือนกันและตรงกันข้ามกับ "นักวิทยาศาสตร์คอมพิวเตอร์"
ทำเครื่องหมาย C

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

คำจำกัดความของคุณของ "code monkey" และ "programmer" คืออะไร? โปรแกรมเมอร์สามารถคิดหาวิธีในการแก้ปัญหาที่รหัสเงินไม่สามารถทำได้
Coyote21

ความหลงใหลไม่ได้รับรางวัลในระดับหนึ่ง เป็นเพียงส่วนหนึ่งของสิ่งที่คุณเป็น
P.Brian.Mackey

@ P.Brian บางครั้งมันก็เกิดขึ้นอย่างนั้นแม้ว่าความปรารถนาของคุณจะได้รับปริญญา
Jeff Langemeier

4

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

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

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


หนึ่งในโปรแกรมเมอร์ที่ดีที่สุดคือนักเศรษฐศาสตร์ที่ทำงานเฉพาะใน Excel / VBA และ R เขาได้ทำสิ่งที่น่าอัศจรรย์ใน excel
พะยอม

@sal การเขียนสิ่งต่าง ๆ ใน Excel และ R ไม่จำเป็นต้องมีปริญญา CS การเขียน Excel หรือ R น่าจะ
Alnitak

@alnitak - การเขียน Excel หรือ R ไม่จำเป็นต้องมีปริญญา CS เช่นกัน นั่นเป็นประเด็นของการตอบรับและการขายของฉัน
JohnFx

@ JohnFX: ฉันจบการศึกษาด้วยเกียรตินิยมละตินจากหนึ่งในยี่สิบโปรแกรม CS ในสหรัฐอเมริกาและข้อมูลประจำตัวนั้นยังคงทำให้ฉันผ่านพ้นไปได้ด้วยดี (ฉันยังถือ MSCS จากโรงเรียนที่มีชื่อเสียงอีกแห่งหนึ่ง) ฉันเริ่มออกจากสนามในฐานะผู้ดำเนินการคอมพิวเตอร์และโปรแกรมเมอร์โดยตรงจากโรงเรียนมัธยม ฉันได้รับระบบคอมพิวเตอร์เริ่มต้นและการฝึกอบรมการพัฒนาซอฟต์แวร์จากกองทัพเรือสหรัฐฯและสำนักงานความมั่นคงแห่งชาติ ดังนั้นฉันทำงานในสาขาที่ไม่มี BSCS เป็นเวลาหลายปี ทั้งหมดที่ฉันสามารถพูดได้คือมันเหมือนสวรรค์ที่แยกจากกันเมื่อฉันสำเร็จ BSCS ของฉัน
bit-twiddler

@ bit-twiddler - นั่นหมายถึงการสนับสนุนหรือโต้แย้งคำตอบของฉัน? ดูเหมือนว่าจะสนับสนุนการยืนยันครั้งสุดท้ายของฉันว่ามันสำคัญถ้าคุณจบการศึกษาระดับปริญญาโทหรือปริญญาเอก
JohnFx

4

สำหรับฉันและเพื่อนร่วมงานหลายคนของฉันมันไม่ได้ (เราไม่มีคนมีองศา CS)


3

ตกลงแล้วเกี่ยวกับ

หากคุณผ่านวิชาต่อไปนี้:

a. สถาปัตยกรรมคอมพิวเตอร์และองค์กร

b. วิศวกรรมซอฟต์แวร์

c.DBMS

d. พื้นฐานอิเล็กทรอนิกส์

อี วงจรอิเล็กทรอนิกส์พื้นฐานดิจิตอล

f.Microprocessor

g.Compiler Design

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

อ่านสิ่งนี้เพื่ออ่านเกี่ยวกับความสำคัญของวิชาไฟฟ้าและอิเล็กทรอนิกส์


3

ฉันมีปริญญาวิทยาศาสตร์คอมพิวเตอร์ มันยอดเยี่ยมมากสำหรับการเปิดประตูรับงาน เท่าที่ช่วยฉันในสาขาอาชีพของการเขียนโปรแกรม C # .NET (แพลตฟอร์มและภาษาที่ได้รับความนิยมมากที่สุดในพื้นที่ที่ฉันทำงานถ้าไม่ใช่รัฐในอเมริกาทั้งหมดที่ใช้ระบบปฏิบัติการที่เป็นที่นิยมที่สุดในโลก ) ไม่ค่อยมีประโยชน์

รหัส 70% + เขียนด้วยภาษา C (เนื่องจากมีอุปกรณ์ฝังตัวมากกว่าแอพพลิเคชั่นระดับสูง) จากการค้นหางานที่ได้รับความนิยมเช่นลูกเต๋าหรือดัชนี TIOBE Java เป็นภาษาการเขียนโปรแกรมที่ได้รับความนิยมมากที่สุดสำหรับองค์กร (เนื่องจากมีเซิร์ฟเวอร์แบ็กเอนด์ Unix / Linux มากกว่าเซิร์ฟเวอร์ Windows) มีสมาร์ทโฟนและแท็บเล็ตมากขึ้น ในอนาคต) ใช้งาน Linux หรือ Mac OS บางรุ่นซึ่งแตกต่างจาก Windows ซึ่งตั้งโปรแกรมไว้ที่ C # หรือ. NET

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

คุณคิดว่ามันถูกโปรแกรมใน C # หรือไม่?

หากคุณเชื่ออย่างแท้จริงว่า. NET หรือ C # เป็นแพลตฟอร์มที่ได้รับความนิยมมากที่สุดในโลกคุณอาจต้องการกลับไปที่โรงเรียน CS ของคุณและขอเงินคืน

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

อาจเป็นเพราะมีจำนวนมากเกี่ยวกับการเขียนโปรแกรมมากกว่าการพัฒนาเว็บเพจและแอพพลิเคชั่นระดับองค์กรแบบไดนามิก? สำหรับสิ่งที่คุณไม่จำเป็นต้องมีระดับ BS, พอเพียง AA - ฉันรู้เพราะฉันเริ่มต้นอาชีพการเขียนโปรแกรมของฉันด้วยระดับ AA และช้า แต่แน่นอนทำงานต่อ CS และจากนั้นก็ทำงานผ่านผู้สำเร็จการศึกษาในขณะที่ทำงานเต็มเวลาในฐานะนักพัฒนา .

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

คนที่ได้รับปริญญา CS และให้ความสนใจกับมันรู้เรื่องนี้ ทำไมคุณไม่ทำ

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

OO เกิดขึ้นเพราะ CS และคนส่วนใหญ่ที่คิดว่าพวกเขาทำ OO ไม่สามารถทำได้ดี เพียงมองออกไปข้างนอกและดูสถานะของซอฟต์แวร์ที่มีเส็งเคร็ง (โดยเฉพาะใน Java และ. NET ไม่ต้องพูดถึง PHP) พื้นหลัง CS ที่มั่นคง (หรือระดับปริญญาโทในสาขาวิศวกรรม) ไม่รับประกันความเข้าใจที่ดีของ OO และทักษะการวิเคราะห์ แต่โดยทั่วไปจะช่วย OTH การไม่มีพื้นฐานพื้นหลัง CS มักเป็นธงแดงเมื่อพูดถึง OO และทักษะการวิเคราะห์ เรามีหลักฐานเชิงประจักษ์เพียงพอในอุตสาหกรรมเพื่อสนับสนุนข้อเรียกร้องนี้

ทักษะเหล่านี้มีอยู่ในโปรแกรม cs เท่านั้น

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

ในใจของฉันการอ่านหนังสือ C # 500 หน้าโดย Wrox นำเสนอชุดทักษะที่เป็นประโยชน์มากกว่า 4 ปีของหลักสูตร comp sci math blaster

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

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

หลายคนไม่เห็นด้วย

น่าแปลกที่ไม่ใช่

แล้วทำไมวิทยาศาสตร์คอมพิวเตอร์ถึงมีความสำคัญ?

คุณคิดว่าใครมากับ google, hadoop, Cassandra หรือเอ็นจิ้นฐานข้อมูลประสิทธิภาพสูง คุณคิดว่าใครเขียนเคอร์เนล Windows OS คุณคิดว่าใครเป็นผู้เขียนโปรแกรมเครื่องมือที่คุณใช้ในการพัฒนา C # ของคุณ

สิ่งหนึ่งที่ฉันแน่ใจก็คือเครื่องมือที่คุณใช้ในการพัฒนา C # มี CS คนหนึ่งอยู่เบื้องหลัง

ไม่ว่าคุณต้องการระดับ CS หรือไม่ขึ้นอยู่กับประเภทของงานที่คุณทำประเภทของงานที่คุณต้องการประเภทงานที่คุณสามารถทำได้

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

คุณมีปริญญา CS อย่างไรที่คุณไม่รู้ว่าเป็นปริศนา


TIOBE เป็นอึสำหรับการกำหนดจำนวนภาษาการเขียนโปรแกรมที่ใช้ เป็นการวัดว่าภาษาใดภาษาหนึ่งได้รับความนิยมบนอินเทอร์เน็ต (ในแง่ของจำนวนการอ้างอิง) ไม่ใช่ในส่วนของบรรทัดของโค้ดที่เขียน
Billy ONeal

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

เมื่อดำเนินการนอกเหนือจากตัวบ่งชี้อื่น ๆ (เช่นการค้นหางานและการพัฒนาประเภทผลิตภัณฑ์) จะช่วยในการประเมินแนวโน้มในการใช้เทคโนโลยี กล่าวอีกนัยหนึ่งมันมีประโยชน์หรือไร้ประโยชน์ขึ้นอยู่กับสิ่งที่คุณใช้สำหรับวิธีที่คุณใช้และตัวบ่งชี้อื่น ๆ ที่รวมเข้าด้วยกัน
luis.espinal

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

1

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

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


1

ฉันเห็นด้วยกับจุดThorbjørn Ravn Andersen เกี่ยวกับความคิด นั่นคือสิ่งสำคัญที่คุณพัฒนาด้วยหลักสูตร CS ที่ดี

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


มีวิชาอื่น ๆ ที่วิชาเอก CS และวิศวกรรมคอมพิวเตอร์เท่านั้นที่มีแนวโน้มที่จะเรียนรู้เช่นองค์กรคอมพิวเตอร์และสถาปัตยกรรมคอมพิวเตอร์ การเรียนรู้วิธีสร้างคอมพิวเตอร์จากลอจิกแบบต่อเนื่องและเชิงตรรกะทำให้ผู้พัฒนาซอฟต์แวร์ดีขึ้นเพราะให้ข้อมูลเชิงลึกเกี่ยวกับสิ่งที่เกิดขึ้นภายในคอมพิวเตอร์ นอกจากนี้โปรแกรมเมอร์คนแรกที่ทำงานกับหน่วยประมวลผลใหม่จำเป็นต้องเข้าใจแนวคิดเช่นหน่วยความจำแบบลำดับชั้นและ I / O, ท่อ, แคชที่เชื่อมโยงบล็อกชุดหน่วยควบคุม (microcoded และเดินสาย) และความแตกต่างระหว่างการประมวลผลสเกลาร์และเวกเตอร์
bit-twiddler

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

@bit เห็นด้วย ใช่คำตอบของฉันค่อนข้างกะล่อน มันตั้งใจจะเป็นอย่างนั้นด้วยเหตุผล
George Marian

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

@JustinC: หนึ่งเรียนรู้วิธีการทำงานในห้องแล็บ (ระดับช่างเทคนิค) หนึ่งเรียนรู้ว่าทำไมสิ่งต่าง ๆ จึงทำงานในองค์กรคอมพิวเตอร์ระดับสูงและหลักสูตรสถาปัตยกรรม (ระดับวิศวกร) หากคุณซื้อหนังสือเรียนระดับสูงสองสามเล่มเกี่ยวกับสถาปัตยกรรมคอมพิวเตอร์และการจัดระเบียบคอมพิวเตอร์คุณจะเห็นว่าฉันหมายถึงอะไร
bit-twiddler

1

การเขียน

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

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

การอ่าน

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

คณิตศาสตร์

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


1

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

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


1

มันคือทั้งหมดที่อยู่ในความสามารถในการมีชีวิตอยู่แทน

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

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

แน่นอนว่าคนที่จบปริญญาวิทยาศาสตร์คอมพิวเตอร์นั้นไม่ใช่ผู้สมัครที่ดีกว่าเสมอไป มีบุคคลที่ไม่เหมือนใครที่ถูกพาไปที่กระแส แต่ (ด้วยเหตุผลแปลก ๆ ) ปฏิเสธที่จะดื่มจากมัน


0

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


1
คุณไม่สามารถตั้งสมมติฐานว่าใครบางคนจะไม่สนใจ 'มองหาเทคโนโลยีอื่น ๆ เพียงเพราะพวกเขาไม่มีระดับ CS นี่คือการเข้าใจผิด
Steven Striga

0

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


0

สำหรับการหางานโดยใช้ภาษาโอเพนซอร์ซมันไม่ได้หมายความว่าหมอบ บริษัท ส่วนใหญ่รับสมัครตามความสามารถมากกว่าคุณสมบัติและภาษาเช่น PHP มีชื่อเสียงในด้านงานอดิเรกที่ผู้คนสามารถมีความสามารถโดยไม่ต้องศึกษา CS ครั้งเดียวที่จะช่วยถ้าคุณกำลังหางานโดยใช้ภาษา. Net เนื่องจากผู้เล่นส่วนใหญ่จะไม่ต้องการใช้ใบขับขี่หลายพันใบเพื่อยุ่งกับช่วงวันหยุดสุดสัปดาห์ดังนั้นบางคนที่กำลังมองหางานแรกใน C # อาจมีเพียง ประสบการณ์ 2-3 ปี

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

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


0

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

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

(จากนักพัฒนาซอฟต์แวร์ที่ศึกษา HHRR บางอย่าง)


0

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


0

วิศวกรรมซอฟต์แวร์ในปัจจุบันเป็นวิทยาศาสตร์เชิงทดลองที่ไม่ใช้คณิตศาสตร์

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

เกี่ยวข้องกับการจัดการกับเลเยอร์ของกรอบงานและ abstractions ที่รั่วไหลมากแค่ไหน? กำลังพยายามระบุว่า API จริง ๆ ทำอะไร - แทนที่จะบอกว่าเอกสารหมายถึงอะไร การทดสอบและการตัดสินใจทดสอบมีเท่าใด

สำหรับหลักสูตรฟิสิกส์หรือเคมีนั้นเป็นการฝึกฝนที่ดีกว่าการจดจำ Knuth


0

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

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


0

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

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

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


-1

สำหรับโปรแกรมเมอร์ ... มันไม่มากนัก (นอกจากจะเปิดประตูให้สัมภาษณ์อย่างที่คุณพูด)

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

// ข้อสงวนสิทธิ์: ปริญญาของฉันอยู่ในระดับไอทีดังนั้นฉันต้องกลับไปที่หลักสูตรอื่น ๆ ทั้งหมดเพื่อทำงานในสายงานของฉัน


-1

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

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