จะเป็นโปรแกรมเมอร์ที่ประสบความสำเร็จได้อย่างไรโดยไม่ต้องจบปริญญา CS [ปิด]


46

การปฏิเสธความรับผิดชอบ (โปรดอ่านก่อนที่จะกระโดดเพื่อตอบ):

ฉันเห็นคำถามจำนวนหนึ่งคล้ายกับคำถามที่ฉันถามดังนั้นนี่คือคำถามที่คล้ายกัน

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

การศึกษาระดับปริญญา CS มีประโยชน์ต่อโปรแกรมเมอร์ที่มีอายุมากกว่าหรือไม่

https://softwareengineering.stackexchange.com/questions/80024/importance-of-certifications-for-java-programmer-without-bs-degree

https://softwareengineering.stackexchange.com/questions/81591/in-the-absense-of-a-cs-degree-how-can-i-fill-in-the-gaps-so-to-speak

ความสำคัญของการศึกษาระดับปริญญา CS เมื่อสมัครงานพัฒนา?

ให้ฉันชัดเจนฉันไม่ได้ถามสิ่งต่อไปนี้:

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

บริบทเล็กน้อย:

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

ก่อนอื่นฉันโชคดีอย่างไม่น่าเชื่อ ฉันได้รับโอกาสในการทำงานหลายครั้ง (โครงการแบ็กเอนด์ PHP / MySQL จำนวนมากและแอพ WP7 จำนวนมากใน XAML / C #) ซึ่งฉันได้เรียนรู้ทุกอย่างที่ฉันรู้เกี่ยวกับการพัฒนาซอฟต์แวร์ งานการพัฒนาซอฟต์แวร์เกือบทั้งหมดที่ฉันเคยมีคืองานที่ฉันไม่มีคุณสมบัติที่ถูกต้อง (และฉันได้บอกกับนายจ้างของฉันก่อนที่พวกเขาจะจ้างฉัน) ฉันไม่ต้องการที่จะให้ตัวเองเครดิตที่มันไม่ได้เกิด แต่ฉันจะบอกว่าจะทำยังไงกับความอ่อนน้อมถ่อมตนที่สมบูรณ์แบบเจียมเนื้อเจียมตัว

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

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

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

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

อย่างไรก็ตามโปรแกรมวิทยาการคอมพิวเตอร์ที่ UW เป็นมาก , มาก , มาก , มากในการแข่งขัน

ดังนั้นฉันจึงไม่แปลกใจเมื่อฉันถูกปฏิเสธโดยโปรแกรม สองครั้ง กระแทกแดกดันหน้าต่างครึ่งชั่วโมงเดียวกับที่ฉันได้รับความสุภาพเสมอแม้จะมีการปฏิเสธการแจ้งเตือนทางอีเมลฉันได้รับโทรศัพท์จาก Amazon ที่ให้ฉันฝึกงานภาคฤดูร้อน4ในฐานะ SDE

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

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

คณิตศาสตร์

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

* DEEP BREATH * ... ขออภัยนี่นานกว่าที่ฉันคาดไว้

นี่คือสาระสำคัญคือคำถามของฉัน:

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

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

นี่คือขั้นตอนที่ฉันทำไปแล้ว:

  1. ถามชุมชนการพัฒนา (โพสต์นี้)
  2. ติดตามผู้ให้คำปรึกษากับนักพัฒนาที่มีประสบการณ์ซึ่งแบ่งปันเส้นทางอาชีพที่คล้ายกันกับฉัน
  3. กำหนดเป้าหมาย "การเรียนรู้" ในระยะสั้นและระยะยาวและหัวข้อถัดไปของหลักสูตรการศึกษา
  4. เขียนรหัสต่อไปและทำงานในโครงการที่ฉันหลงใหล

หากคุณได้รับมาไกลขนาดนี้คุณสมควรได้รับคุกกี้ :) ฉันขอขอบคุณที่คุณแบกกับฉัน

ดังนั้น ... ชุมชนการพัฒนานักพัฒนาที่มีประสบการณ์เพื่อนนักเรียนที่อยู่ในเรือลำเดียวกันกับฉันคุณจะมีคำแนะนำอะไร?

นอกจากนี้ ... โปรดจำไว้ว่าฉันปฏิเสธความรับผิดชอบที่ด้านบนของโพสต์นี้เกี่ยวกับสิ่งที่ฉันไม่ได้ถาม

ปรับปรุง:

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

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

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

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


(1) - ฉันทำงานกับรุ่นก่อนหน้าของเว็บไซต์นี้และในขณะที่เราไม่ได้มีความชัดเจน 
      การสนทนาเกี่ยวกับเรื่องนี้ฉันรู้สึกว่าฉันไม่สามารถทำได้ดีเลย 
      หลักฐานจากข้อเท็จจริงที่ว่าพวกเขาได้เปลี่ยนเว็บไซต์ของพวกเขาอย่างสิ้นเชิง)
(2) - ประการแรกใช่มันเป็นผลิตภัณฑ์จริง (แม้ว่าฉันจะเขียนโพสต์นี้ใน Chrome ... ) และ
      มันเตะตูด ประการที่สองฉันเป็นนักพัฒนาฝึกหัดระดับมัธยมปลายในการทดสอบเขียนหลักฐาน
      โค้ดแนวคิดสำหรับคุณสมบัติใหม่บางอย่างสำหรับ IE8 ... ดังนั้นจึงเป็นเมื่อไม่นานมานี้
(3) - ในขณะที่ทำการโพสต์นี้ฉันเป็นผู้พัฒนาที่เขียนแอพนี้ฉันไม่ได้อยู่อีกต่อไป
      รับผิดชอบมันเป็นรหัสฐาน
(4) - การฝึกงานของฉันจะเริ่มในเดือนมิถุนายน 2555 และฉันจะทำงานในเว็บสโตร์ 
      ทีม.

17
โลกต้องการโปรแกรมเมอร์มากขึ้นด้วยระดับคณิตศาสตร์ Nuff กล่าวว่า.
Pieter B

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

16
เริ่มต้นด้วยการแก้ไขคำถามนี้และลดลงครึ่งหนึ่ง
JeffO

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

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

คำตอบ:


17

ตกลงฉันคิดว่ามันล่อลวงเกินไปที่จะไม่ตอบคำถามของคุณดังนั้นที่นี่ฉัน ...


บางสิ่งเกี่ยวกับฉันก่อน


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

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

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

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

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


ข้อสังเกตเล็กน้อย (จากประสบการณ์ของฉัน)


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

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

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

  • คณิตศาสตร์เป็นวิทยาศาสตร์ (และวิทยาศาสตร์ที่ฉันเคารพ)

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


ดังนั้นสิ่งที่จะกลายเป็นโปรแกรมเมอร์ที่ดีจริงๆ?


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

ตามคำถามของคุณ


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

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

  • การออกแบบลอจิกของระบบดิจิตอล (บางสิ่งในระดับต่ำวงจรและ / หรือ / xors / ฯลฯ - ดูเหมือนจะไม่เกี่ยวข้องเกินไป แต่ยังศึกษาจริง ๆ )
  • สถาปัตยกรรมคอมพิวเตอร์ (พร้อมกับการเขียนโปรแกรม Assembly คุณอาจไม่เคยใช้มันมาก่อน แต่คุณไม่สามารถบอกได้ว่ามันจะเปลี่ยนทัศนคติของคุณในฐานะโปรแกรมเมอร์อย่างไร)
  • โครงสร้างข้อมูล (จากรายการที่เชื่อมโยงไปถึงแผนผังที่ซับซ้อนเป็นต้นอย่างที่ดูเหมือนว่าไม่ช้าก็เร็วคุณจะต้องมีภูมิหลังที่ดีในเรื่องนี้การใช้โซลูชันสำเร็จรูปที่คุณไม่เข้าใจไม่ใช่สิ่งที่เป็นโปรแกรมเมอร์ที่ดี จะทำ)
  • คอมไพเลอร์ (อ๋อคอมไพเลอร์! คุณจะเคยเขียนคอมไพเลอร์หรือเปล่าอาจจะไม่ใช่ แต่ถ้าคุณไม่สามารถเขียนมันได้
  • ระบบปฏิบัติการ (เหมือนด้านบน)
  • เครือข่ายคอมพิวเตอร์
  • ปัญญาประดิษฐ์และระบบผู้เชี่ยวชาญ (คุณมักจะไม่เขียนโค้ดใน Prolog ด้วย แต่ก็ยังเป็นหนึ่งในสิ่งที่อาจทำให้สมองของคุณเข้ารหัสและทำให้มันเห็นสิ่งต่าง ๆ จากมุมมองที่ต่างไปจากเดิมอย่างสิ้นเชิง)
  • ฉันจะจัดเรียงทักษะเหล่านี้ตามลำดับความสำคัญมากที่สุดได้อย่างไร

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

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

ตัวอย่างเช่นถ้าคุณต้องการที่จะทำบางสิ่งบางอย่างที่เกี่ยวข้องกับเว็บแน่นอนผมอยากแนะนำให้คุณไปสำหรับ: PHP / MySQL / HTML / CSS / JavaScript (+ jQuery / AJAX) แต่นั่นเป็นเพียงฉัน บางคนอาจชอบ (หรือดูอนาคตเพิ่มเติม) Ruby / Railsมากกว่าใน PHP

ผมยกตัวอย่างเช่นในขณะนี้กำลังหลักในการเขียนโปรแกรมObjective-C / โกโก้ ฉันจะแนะนำให้คุณติดตามเรื่องนี้ไหม? ไม่อย่างแน่นอน. นั่นคือ: หากคุณไม่ได้อยู่ใน Mac หรือต้องการอาชีพที่ขายซอฟต์แวร์ที่เกี่ยวข้องกับ Mac / iPhone ถ้าคุณอยู่ในการพัฒนา Windows การใช้C # / .NET Frameworkอาจเป็นทางเลือกที่ดีที่สุดของคุณ (ถ้าคุณต้องการทราบว่าฉันเป็นส่วนใหญ่เพียงแค่ดูในโปรไฟล์ StackOverflow ของฉัน )

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

ศึกษามากมาย (หนังสืออินเทอร์เน็ตรหัสของผู้อื่นไม่ว่าอะไรก็ตาม) และเขียนรหัสให้มากที่สุด

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


เพียงแค่. 2 เซ็นต์ที่เป็นมิตรของฉัน ... :-)

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


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

@ PaulHazen คุณยินดีจริงๆ! ดีใจที่ได้ช่วย (ถ้าฉันทำ) ... (ตอนนี้สำหรับคำตอบของฉันมากมาย ... argh ... ระบบรับรู้โดยอัตโนมัติว่าเป็นโพสต์ "community wiki" และฉันพยายามจะหา ผู้ดำเนินรายการจะกลับสู่สถานะเริ่มต้น: เรียบง่าย - แม้ว่าจะได้รับการแก้ไขอีกครั้ง - คำตอบ)
Dr.Kameleon

กว่าที่ meta ( meta.programmers.stackexchange.com/questions/3513/ ...... ) ฉันขอแนะนำให้พวกเขาย้ายมันไปยังจุดหมายปลายทางที่เหมาะสมกว่า ตามคำถามที่พบบ่อยอย่างเป็นทางการคำถามนี้ไม่เหมาะสำหรับฟอรัมนี้ อย่างไรก็ตามการสังเกตการใช้โปรแกรมเมอร์อย่างแท้จริงฉันรู้สึกว่ามันเหมาะสมที่จะอยู่ที่นี่ ผู้ดำเนินรายการสามารถตัดสินใจได้ดีที่สุด เพื่อสรุปความคิดของฉันเกี่ยวกับการย้ายมัน: ตามสิ่งที่โปรแกรมเมอร์ถูกควรจะเป็นมันไม่ได้อยู่ที่นี่ แต่ตามสิ่งที่โปรแกรมเมอร์คือมันเหมาะอย่างสมบูรณ์
พอล Hazen

@ PaulHazen ดีอย่างน้อยสำหรับฉัน (แม้ว่าฉันไม่เคยมีความเชี่ยวชาญในเรื่อง SO) แต่ดูเหมือนว่าเหมาะสมอย่างยิ่ง
Dr.Kameleon

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

18

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

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

ฉันจะจัดเรียงทักษะเหล่านี้ตามลำดับความสำคัญมากที่สุดได้อย่างไร

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

การศึกษาของ CS จะเข้ามาในรูปภาพถ้าคุณสนใจที่จะเข้าใจว่าฐานข้อมูล [กระจาย], เว็บเซิร์ฟเวอร์, คอมไพเลอร์และล่าม, ระบบปฏิบัติการ, โปรโตคอลเครือข่าย ฯลฯ ทำงานอย่างไรภายใต้ประทุนและสนใจสร้างระบบดังกล่าวด้วยตัวเอง

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

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

[เพิ่ม: เลือกมหาวิทยาลัยที่มีโปรแกรม CS ที่คุณต้องการติดตามเลือกหลักสูตรในหัวข้อที่คุณสนใจและผ่านหลักสูตรด้วยตัวคุณเอง: การบ้านการสอบ ฯลฯ หลักสูตรส่วนใหญ่เผยแพร่สไลด์บรรยายและการมอบหมาย / การสอบจากปีก่อนหน้า .]

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

UPDATE 2 - ประสบการณ์ [ยาว]: ฉันสำเร็จการศึกษาระดับปริญญาโทที่คณะ EE: สองปีแรกเป็นหลักสูตรทั่วไป (ฟิสิกส์, วิศวกรรมไฟฟ้า, อะนาล็อกและดิจิตอลอิเล็กทรอนิกส์, และพีชคณิตเชิงเส้นจำนวนมาก, คณิตศาสตร์ไม่ต่อเนื่อง, จริง, เวกเตอร์และ การวิเคราะห์ที่ซับซ้อนประยุกต์) สิ่งนี้มีค่ามากโดยเฉพาะ ส่วน EE และอุปกรณ์อิเล็กทรอนิกส์ - มันทำให้ฉันสามารถทำงานในโครงการ HW-SW แบบผสมและการร่วมมือกับนักออกแบบ HW นั้นน่าตื่นเต้นมาก ฉันไม่ได้มีส่วนร่วมในการออกแบบ HW แต่ฉันสามารถติดตามนักออกแบบ HW "ตรวจแก้จุดบกพร่อง" แผนผังไดอะแกรมของเขาและถามคำถามที่สมเหตุสมผล (เราไม่แน่ใจว่าข้อผิดพลาดอยู่ใน SW หรือ HW - เปิดออกเป็น HW: -)]

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

รายละเอียดอื่น ๆ การใช้งาน SW (เช่นการนำ Dijkstra) มาใช้สำหรับฉัน [เนื่องจากฉันได้รับการเขียนโค้ดที่ดีในโรงเรียนมัธยม] การออกกำลังกายที่ไม่มีจุดหมายในการดีบักและสนับสนุน ZERO เพื่อทำความเข้าใจแนวคิด

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

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

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


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

@PaulHazen ดูการแก้ไขใหม่ (เริ่มต้นที่ UPDATE2 - ไม่พอดีกับช่องแสดงความคิดเห็น;))
zvrba

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

1
พยายามที่จะคาดการณ์อุตสาหกรรมเป็นเกมที่สูญเสียล่วงหน้า [เช่นฉันไม่แน่ใจว่าทุกคนสามารถเดาได้ว่า Twitter - (เกือบ) IRC clone สำหรับเว็บ - จะกลายเป็นแฟชั่น มันยังคงเป็นปริศนาสำหรับฉันที่พวกเขาตั้งใจจะทำเงินในระยะยาว] คุณต้องเลือกเชิงรุกเกี่ยวกับชนิดของงานที่คุณต้องการทำและค้นหาสิ่งที่จะได้รับ อย่างไร? ค้นหาคนที่ทำงานอยู่ในอุตสาหกรรมเป้าหมายของคุณ (y | ies) แล้วพูดคุยกับพวกเขา
zvrba

1
@Paul แนวคิดมีความสำคัญ แต่รายละเอียด (ปกติ) ไม่ใช่ คุณสามารถดูรายละเอียดเมื่อคุณต้องการ แต่คุณต้องเรียนรู้ภาพใหญ่เพื่อรู้ว่ามีบางสิ่งที่คุ้มค่าในการค้นหาในพื้นที่ในสถานที่แรก
Donal Fellows

7

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

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

นอกจากนี้ฉันมองหาคนที่เข้าใจว่ากลุ่มคนที่ทำงานร่วมกันและสื่อสารกันนั้นมีค่ามากกว่าผลรวมของปัจเจกบุคคล ที่ต้องมีวุฒิภาวะและความอ่อนน้อมถ่อมตนและความสามารถในการให้และขอความช่วยเหลือ

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

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


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

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

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

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

7

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

คำตอบ 1

หากคุณเรียนรู้สิ่งใหม่จากการเรียน จากนั้นคุณสามารถอคติบอกว่าคุณได้รับนี้ผ่านการศึกษาระดับปริญญา CS

A1 ทำไม

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

A1 ประสบการณ์

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

โลกของฉันขยายตัวเนื่องจากการได้รับปริญญาโทด้านคอมพิวเตอร์ โลกของฉันยังขยายตัวจากการทำงานอย่างมืออาชีพ

ฉันจะจัดเรียงทักษะเหล่านี้ตามลำดับความสำคัญมากที่สุดได้อย่างไร

คำตอบ 2

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

A2 ทำไม

ขอบเขตของความสำคัญนั้นขึ้นอยู่กับบริบท หากปราศจากบริบทความสามารถของทักษะนั้นยากที่จะจำแนก

A2 ประสบการณ์

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

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

คำตอบ 3

ผลักดันตัวเองเกินจุดแตกหักและเมื่อคุณหยุดให้ตัวเองทำลายอีกครั้ง

ฉันหมายถึงอะไร

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

A3 ทำไม

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

A3 ประสบการณ์

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

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


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

และการปรับปรุงที่ดี รักษาความศรัทธาฉันจะไม่ลืมที่จะทำเครื่องหมายคำตอบเช่นเมื่อเวลานั้นมาถึง
พอล Hazen

1
คุณช่วยทำความสะอาดคำตอบของคุณหน่อยได้ไหม? คุณมีส่วนหัวที่ซ้ำกันสองส่วนโดยมีเนื้อหาที่แตกต่างกัน แต่คล้ายคลึงกันอยู่ข้างใต้
พอล Hazen

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

โอ้ ... นั่นคือสิ่งที่ทำให้ฉันสับสนคุณสามารถเพิ่มหัวเรื่องหรือใช้ข้อความ ** ตัวหนา ** เพื่อทำเครื่องหมายหัวข้อย่อยได้หรือไม่? ฉันคิดว่ามันคงเป็นไปในการปรับปรุงความชัดเจน
Paul Hazen

4

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

เพียงแค่ดูที่ข้อกำหนดของระดับแล้วค้นหาหลักสูตรสำหรับแต่ละชั้นเรียน

ฉันจะจัดเรียงทักษะเหล่านี้ตามลำดับความสำคัญมากที่สุดได้อย่างไร

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

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

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

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


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

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

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

3

ทำไมคุณถึงคิดว่าการศึกษาระดับปริญญาลูกค้าเป็นสิ่งสำคัญที่จะเป็นโปรแกรมเมอร์ที่ประสบความสำเร็จ ?

สิ่งที่คุณต้องการเพื่อให้โปรแกรมเมอร์ประสบความสำเร็จคือ:

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

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

ดูเหมือนว่าคุณได้เข้าสู่อุตสาหกรรมแล้วและแน่นอนว่าคุณจะมีทั้งความปรารถนาและความรู้

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

ตัวอย่างจากคนที่ฉันทำงานด้วย

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


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

2

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

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

หากต้องการพยายามตอบคำถามของคุณ:

เรียน? เลือกคลาส CS เชิงทฤษฎีมากกว่าคลาสการเขียนโค้ด ค้นหาคลาส CS / คณิตศาสตร์ที่ไม่ใช่บางคลาสเช่น ปรัชญามันจะช่วยให้คุณโดดเด่นจากฝูงชน

จัดลำดับความสำคัญ? เรียนรู้สิ่งใหม่ ๆ (ไม่ใช่แค่ชั้นเรียนที่ง่ายที่คุณรู้แล้วครึ่งหนึ่ง)

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

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


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

@PaulHazen - หากคุณต้องการทราบว่า 'ทำไม' จากนั้นเลือกวิชาปรัชญา :-) แต่อย่างจริงจังฉันทำหลักสูตร CS ทางทฤษฎี 4 ปีที่ไม่มีหลักสูตร C เพราะ 'นั่นคือสิ่งที่คุณสามารถสอนตัวเอง' เพื่อให้เบาขึ้นฉันเลือกชั้นเรียนปรัชญาขนาดเล็กหนึ่งภาคการศึกษาแล้วทำอีกครั้ง เช่นเดียวกับการท้าทายมันเป็นกลุ่มคนที่ยอดเยี่ยมและความคิดที่สดชื่น และคำถามของคุณแสดงให้เห็นอย่างชัดเจนว่าคุณมีทักษะการเขียนที่จำเป็นสำหรับวิชาคณิตศาสตร์ / CS ใด ๆ
jqa

1

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

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

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

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

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


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

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

1

ก่อนอื่นขอให้ฉันดูที่ข้อตกลง "รัดกุม แต่ละเอียด" ใกล้ถึงจุดสิ้นสุดของบทประพันธ์ที่ยิ่งใหญ่ของคุณ ลงเพื่อธุรกิจ:

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

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

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

ฉันจะจัดเรียงทักษะเหล่านี้ตามลำดับความสำคัญมากที่สุดได้อย่างไร

เรียนรู้สิ่งที่คุณรัก

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

เรียนรู้ที่จะเรียนรู้และผลักดันตัวเอง

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

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

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

  1. คลาส CS ที่ไม่ใช่วิชาเอก

    เช่นเดียวกับคุณแผนก CS ที่ UW ปฏิเสธฉัน ... แม้ว่าฉันคิดว่าฉันปล่อยให้พวกเขาทำมันเป็นครั้งที่สามก่อนที่ฉันจะรู้สึก ฉันเรียนวิชาเอกสารสนเทศและการสอนวิชาคณิตศาสตร์ประยุกต์ แต่ผมก็ยังเอาทั้งที่ไม่ใช่ที่สำคัญการติดตามลูกค้า นั่นคือ CSE 373, 410, 413, 415 และ 417 ดังนั้นฉันเชื่อว่าคุณควรทำตามความปรารถนาของคุณก่อน ฉันพาฉันไปที่ชั้นเรียนเหล่านั้น และฉันคิดว่าคุณจะได้รับการศึกษาแบบองค์รวมที่ครอบคลุมกับพวกเขาแม้ว่ามันอาจจะเป็นเรื่องเล็กน้อยในแง่มุมทางทฤษฎีของสิ่งต่าง ๆ

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

    เรียกใช้การสอบถาม DARS (อาจเป็นลิงก์ UWNetID-only เท่านั้น) และดูว่าสิ่งใดอยู่ ผมใช้ในการทำเช่นนี้สำหรับสาขาวิชาต่างๆnauseum โฆษณา

  2. คลาส AMATH

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

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

  3. สร้างบางสิ่งบางอย่าง!

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

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

  4. หางาน

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


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

-2

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

ค้นหาสิ่งที่มีน้อยคนที่มักจะเป็นสิ่งที่น่าเบื่อน่าเบื่อหรือยากที่จะเรียนรู้และเรียนรู้ได้ดีหมกมุ่นอยู่กับมัน บางพื้นที่ที่ฉันเคยได้ยินคือ Unix back end stuff (ไม่ใช่ Linux แม้ว่า Linux ไม่ได้อยู่ในความต้องการ), Flash (ฉันไม่รู้เกี่ยวกับ flash มากพอที่จะจำได้ว่ามันคืออะไร แต่ฉันรู้จักคนที่ย้าย รู้อย่างรวดเร็วและเขาบอกว่ายังมีตลาดสำหรับสิ่งนี้ส่วนใหญ่เป็นเพราะคนบอกว่ามันกำลังจะตายและจะไม่เรียนรู้) คุณอาจต้องเรียนสองสามครั้งเพื่อเริ่มต้น แต่ถ้าคุณรู้จักสิ่งของของคุณและมีผลงานที่น่าประทับใจมีธุรกิจที่นั่นที่คุณต้องการ!


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