ฉันสนใจทฤษฎีของภาษาโปรแกรมและจะสมัครปริญญาเอกในหัวข้อนี้ แต่ฉันต้องการทราบเพิ่มเติมเกี่ยวกับอาชีพหลังจบการศึกษาระดับบัณฑิตศึกษา นอกเหนือจากการเป็นอาจารย์ แต่ฉันสามารถรับอาชีพใดได้บ้าง
ฉันสนใจทฤษฎีของภาษาโปรแกรมและจะสมัครปริญญาเอกในหัวข้อนี้ แต่ฉันต้องการทราบเพิ่มเติมเกี่ยวกับอาชีพหลังจบการศึกษาระดับบัณฑิตศึกษา นอกเหนือจากการเป็นอาจารย์ แต่ฉันสามารถรับอาชีพใดได้บ้าง
คำตอบ:
หากคุณเป็นมืออาชีพในการเขียนโปรแกรมภาษาและทฤษฎีออโตมาตะคุณควรมีโอกาสทางอุตสาหกรรมมากพอในฐานะผู้พัฒนาคอมไพเลอร์หรือผู้เชี่ยวชาญด้านการเพิ่มประสิทธิภาพแบ็กเอนด์
ภาษาที่ใหม่กว่ากำลังจะเกิดขึ้นตลอดเวลาและภาษาที่มีอยู่กำลังได้รับการปรับปรุงหรือกำหนดเป้าหมายแพลตฟอร์มใหม่ ยกตัวอย่างเช่น C ++ กำลังย้ายไปที่ C ++ 0x พวกฮาร์ดแวร์กำลังเปลี่ยนจาก Verilog ไปเป็น SystemVerilog และ ARM ถูกนำมาใช้มากขึ้นในอุปกรณ์ของผู้บริโภค ทั้งหมดนี้เป็นโอกาสที่ดีสำหรับนักพัฒนาคอมไพเลอร์
สุดท้ายนี้ไม่ใช่อย่างน้อยนักพัฒนาคอมไพเลอร์ที่สามารถใช้ประโยชน์จากสถาปัตยกรรมแบบมัลติคอร์จะเป็นผู้ครองพักแรมในอีกหลายปีข้างหน้า
Michael Feathers เคยเขียนว่าเขาพบว่าคนส่วนใหญ่ที่เกี่ยวข้องในการเขียนโปรแกรมอยู่ในระดับตั้งแต่นักวิทยาศาสตร์ถึงวิศวกร
นักวิทยาศาสตร์ได้รับความบันเทิงจากการเรียนรู้และความเข้าใจในขณะที่วิศวกรชอบที่จะสร้างสิ่งต่าง ๆ และดูการทำงาน
ในตอนท้ายของวิศวกรสุดขีดคุณจะต้องมีคนพ่นรหัสใหม่หรือแฮ็กอย่างต่อเนื่องเพื่อให้ทุกอย่างดำเนินไปได้ พวกเขามักจะมองข้ามภาพรวม ในขณะที่นักวิทยาศาสตร์สุดขั้วกลายเป็นนักบินอวกาศสถาปนิกด้วยหัวของพวกเขาในกรอบที่มีขนาดใหญ่และมีเมฆมากและไม่เคยส่งรหัสทำงานมาตลอดชีวิตของพวกเขา โปรแกรมเมอร์ที่ดีที่สุดอยู่ตรงกลาง
ฉันเคยคิดว่าฉันเป็นโปรแกรมเมอร์เนื่องจากฉันชอบอ่านหนังสือและใช้เวลาหลายชั่วโมง ไม่กี่งานต่อมาฉันรู้ว่าจริง ๆ แล้วฉันมีปัญหาในการส่งเนื่องจากฉันมักจะค้นหาวิธีที่ดีกว่าหรือ "วิธีที่เหมาะสม" ในการทำสิ่งต่าง ๆ ปรากฎว่าฉันอยู่ด้านนักวิทยาศาสตร์มากเกินไปที่จะมีประสิทธิภาพอย่างน้อยในงานพัฒนา "ปกติ"
ฉันคิดว่าคุณเกิดมาพร้อมความชอบอย่างใดอย่างหนึ่ง (ฉันได้อ่านเรื่องราวเกี่ยวกับบุคลิกภาพหลายอย่างเมื่อเร็ว ๆ นี้โดยเฉพาะตัวบ่งชี้ชนิดของ Myers-Briggsและมีลางสังหรณ์ว่าสิ่งนี้อาจเกี่ยวข้องกับ S / N ฟังก์ชั่นสำหรับผู้ที่สนใจ ฉันพยายามบังคับตัวเองให้ทำงานได้มากขึ้นและเป็น "ผู้กระทำ" มากขึ้น แต่ฉันก็รู้สึกเหนื่อยหน่าย
ประเด็นของฉันที่มีต่อคำถามเดิมคือถ้าคุณเดินไปในระดับปริญญาเอกคุณอาจมีแนวโน้มที่จะชอบสิ่งเชิงทฤษฎีมากกว่า "การสร้างสิ่งที่ใช้ประโยชน์ได้" ไม่มีอะไรผิดปกติกับเรื่องนี้ แต่ฉันคิดว่าตัวเลือกอาชีพดังกล่าวมักจะล็อคคุณในอาชีพทางวิทยาศาสตร์ / การศึกษา คุณไม่สามารถคาดหวังได้ว่าจะสามารถทำงานตรงจากปริญญาเอกไปยังที่ปรึกษาที่ได้รับค่าตอบแทนสูง สิ่งที่คุณเรียนรู้จากการทำงานใน "โลกแห่งความจริง" นั้นแตกต่างจากการฝึกฝนที่ดีที่สุดจากหนังสือ
อีกทางเลือกหนึ่งคือการเริ่มต้นธุรกิจของคุณเองหลังจากปริญญาเอกและพัฒนา (หรือจ้างคนเพื่อพัฒนา) แอปพลิเคชันที่อิงตามทฤษฎีที่คุณค้นพบในขณะทำการวิจัย
ฉันกำลังคิดเกี่ยวกับการทำปริญญาเอกเป็นเวลาสองสามปีแล้ว (ปัจจุบันทำงานในระดับปริญญาโทติดตามวิทยานิพนธ์) และจำนวนสิ่งหนึ่งที่ฉันได้รับการบอกเล่าจากผู้ถือระดับปริญญาเอกในสถาบันการศึกษาและอุตสาหกรรมดังต่อไปนี้:
อย่าได้รับปริญญาเอกเพราะเงินหรือโอกาสในการทำงานเพียงได้รับถ้าคุณสนุกกับสิ่งที่คุณกำลังทำและต้องการใช้เวลาเรียนหลายปีในเชิงลึก
Fanantic23ครอบคลุมด้านอาชีพของสิ่งต่าง ๆ ค่อนข้างดี แต่มีงานไม่มากสำหรับปริญญาเอกดังนั้นคุณต้องแน่ใจว่าคุณต้องการใช้เวลาในการเรียนรู้บางสิ่งด้วยเหตุผลอื่นนอกเหนือจากเงินก่อนเข้าเรียนหลักสูตรปริญญาเอก .
อย่าไปเรียนปริญญาเอกหากคุณคาดหวังว่าจะได้งานวิชาการหรือถ้าคุณไม่รังเกียจที่จะเสียเวลาหลายปีเพื่อที่จะได้เป็นวิศวกรเหมือนที่คุณเคยมีมาก่อน
ไม่ใช่เพื่อกีดกันคุณ แต่คนส่วนใหญ่ที่มีปริญญาเอกใน CS และโดยเฉพาะในหัวข้อเช่นภาษาการเขียนโปรแกรมไม่ได้จบลงด้วยการเป็นอาจารย์ มีงานวิจัยไม่เพียงพอที่จะไปรอบ ๆ
งานวิจัยในอุตสาหกรรมมีน้อยและหาได้ง่ายกว่างานวิจัยในสถาบันการศึกษาเนื่องจากพวกเขาจ่ายเงินได้ดีกว่าและไม่มีข้อกำหนดการสอน
คิดแบบนี้: ถ้าคุณดูจำนวนเอกสารวิทยาศาสตร์ PL ที่ตีพิมพ์ต่อปีและสมมติว่านักศึกษาปริญญาเอกหนึ่งคนต่อกระดาษไม่ใช่คนเหล่านี้ทุกคนที่จะเป็นอาจารย์
ฉันทำปริญญาเอกสาขาวิศวกรรมซอฟต์แวร์ที่มหาวิทยาลัยเชียงใหม่ซึ่ง PL เป็นหนึ่งในสาขาที่แข็งแกร่งที่สุด (เราเป็นโปรแกรมอันดับ 3 ใน PL) เพื่อความรู้ที่ดีที่สุดของฉันจากทุกคนที่จบการศึกษาระดับปริญญาเอกใน PL เพียงสองคนก็จบลงด้วยตำแหน่งทางวิชาการ ทุกคนมีงานทำในฐานะวิศวกรซอฟต์แวร์ ฉันรู้หนึ่งที่ทำงานกับสิ่งที่เกี่ยวข้องกับ PL แต่คนอื่น ๆ เป็นคนทั่วไป
ติดต่อฉันเป็นการส่วนตัวถ้าคุณต้องการให้ฉันติดต่อกับคนที่ทำวิจัย PL ที่สามารถบอกคุณเกี่ยวกับประสบการณ์ได้
ฉันคาดหวังว่าคุณสามารถทำงานกับหนึ่งในห้องปฏิบัติการวิจัยที่ทำงานเกี่ยวกับภาษาการเขียนโปรแกรม Microsoft และ IBM มีพวกเขาเช่นเดียวกับ บริษัท อื่น ๆ ไม่ต้องพูดถึงร้านค้าที่พัฒนาหรือใช้ภาษา
คุณควรพูดคุยกับอาจารย์เก่าของคุณก่อนที่จะเริ่มปริญญาเอก
โดยทั่วไปแล้วปริญญาเอกจะทำงานในห้องปฏิบัติการวิจัยหรือเป็นอาจารย์ รายได้ตลอดชีวิตมักต่ำกว่าระดับ MS อย่างมาก
ทฤษฎีของการเขียนโปรแกรมภาษาอาจจะทำให้คุณเขียนคอมไพเลอร์
นอกจากนี้สิ่งเหล่านี้ไม่ยากที่จะค้นพบโดยการอ่าน - ฉันสงสัยว่าคุณพร้อมสำหรับปริญญาเอกหากคุณกำลังถามคำถามนี้
ฉันสนใจที่จะศึกษาว่าอาชีพ / หลักสูตรเดียวกัน (วิทยานิพนธ์ระดับบัณฑิตศึกษาของฉันเกี่ยวข้องกับการออกแบบคอมไพเลอร์และฉันยังสอนชั้นเรียนเกี่ยวกับ "การเปรียบเทียบภาษาโปรแกรม" ซึ่งแนวคิดทั้งสองเกี่ยวข้องกับ "ทฤษฎีภาษาโปรแกรม")
แต่มันเป็นงานอดิเรกมากกว่าที่เป็นอาชีพที่ "จ่ายเงิน"
นอกจากนี้ยังมีปัญหาที่ทฤษฎีภาษาการเขียนโปรแกรมใช้คณิตศาสตร์จำนวนมาก แต่มันยากที่จะนำไปใช้ในทางปฏิบัติ
หากคุณมีหลักสูตรนั้นแล้วคุณจะสมัครอย่างไร
ตัวอย่างสร้าง Java Compiler ของคุณเองทำให้มันเร็วกว่าของเดิมเพิ่มบางสิ่งและขาย ตัวอย่าง: "HotSpot"
หรือคอมไพเลอร์ "Java / C # ทำงานในเครื่องปิ้งขนมปัง" และขายมัน ;-)
การเรียนการสอนแนวคิดที่เกี่ยวข้องใน Collegue / มหาวิทยาลัยเช่น Automatons การออกแบบคอมไพเลอร์การเปรียบเทียบภาษาโปรแกรมและอื่น ๆ
นอกจากนี้คุณยังสามารถสร้างการเริ่มต้นเล็ก ๆ เต็มเวลาหรืออิสระ / นอกเวลาในขณะที่มีงานโปรแกรมเมอร์มาตรฐานที่ชำระค่าใช้จ่าย (พยายามและล้มเหลว) : -s
มีหลาย บริษัท ที่อาจผลิตผลิตภัณฑ์ซอฟต์แวร์ที่ต้องการทักษะเฉพาะจริง ๆ
(ส่วนใหญ่การออกแบบภาษาการเขียนโปรแกรมและคอมไพเลอร์ที่ตรงกันสำหรับเครื่องเสมือน / กายภาพเฉพาะตัวแยกวิเคราะห์ XML ของตัวเอง ฯลฯ )
แต่ดูเหมือนว่าพวกเขาส่วนใหญ่ต้องการจ้างนักพัฒนาราคาถูกทั่วไปมากกว่าผู้พัฒนาที่มีความเชี่ยวชาญ ...
ปริญญาเอกใน CS โดยมุ่งเน้นไปที่ทฤษฎีภาษาโปรแกรมสามารถที่ดินงานนอกสถาบันการศึกษาของคุณ แต่ส่วนใหญ่ยังคงอยู่ในขอบเขตของการวิจัย Microsoft (ผ่าน MS Research หรือ Microsoft), Google, Amazon, Ericsson, HP, IBM Research, Oracle น่าจะเป็นนายจ้าง
หากคุณขยายโอกาสในการทำงานนอกเหนือจากการทำวิทยานิพนธ์ในอนาคต กลุ่มการจ้างงานจะพิจารณาคุณในเชิงลึกของการศึกษาด้วย
และนั่นเป็นเพียงในภาคการค้า ถ้าคุณดูที่ DoE และห้องทดลองหลายแห่ง (Laurence Livermole, Sandia ฯลฯ ) หรือกระทรวงหรือผู้รับเหมาทางทหารเช่น Raytheon, Dynamics ทั่วไป (นายจ้างของฉัน) หรือ Lockheed Martin มีตำแหน่งว่างสำหรับนักวิทยาศาสตร์และนักวิจัย NSA ต้องการจ้างคุณเช่นกัน
โอกาสที่ไม่ใช่ทางวิชาการสำหรับผู้ที่สำเร็จการศึกษาระดับปริญญาเอกด้านวิทยาศาสตร์นั้นมีน้อย (มากน้อยกว่า) ที่ต้องมีระดับ BS หรือ MS แต่พวกเขายังมีความอุดมสมบูรณ์ได้รับค่าตอบแทนและผลตอบแทนที่เหมาะสม
โชคดี.
มีงานว่างมากมาย:
C # /. NET ที่ Microsoft
Java ที่ Oracle
Perl6 (ฉันจะไม่ได้รับค่าจ้างเท่าไหร่)
ActionScript ที่ Adobe