การเขียนโปรแกรมระดับวิทยาลัยและองค์กรแตกต่างกันอย่างไร [ปิด]


28

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

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


24
โรงเรียนไม่เคยมีเรื่องเกี่ยวกับการมอบทักษะที่จำเป็นในการหางานให้คุณ มันเกี่ยวกับการจัดหาเครื่องมือที่จำเป็นในการหางานให้คุณ ไม่มีอะไรทดแทนสำหรับประสบการณ์ในโลกแห่งความเป็นจริง แต่คุณยังต้องการโรงเรียน
Robert Harvey

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

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


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

คำตอบ:


32

มีความแตกต่างมากมายระหว่างการเขียนโปรแกรมในโรงเรียนและในโลกแห่งความจริง ผมไม่แน่ใจว่ามีสิ่งดังกล่าวเป็นการเขียนโปรแกรมขององค์กร

ขึ้นอยู่กับว่าคุณทำงานที่ไหนจริง ๆ จะมีความแตกต่างมากมาย จะมีความแตกต่างกันมากขึ้นอยู่กับงานในมือ

อย่างไรก็ตามยังมีปัญหาทั่วไปอยู่บ้าง

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

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

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

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


โดยการเขียนโปรแกรมองค์กรฉันหมายถึงสภาพแวดล้อมการเขียนโปรแกรมใน บริษัท คำตอบที่ดี btw :-)
vish213

3
คำตอบที่ดี @kriss ฉันจะเพิ่มว่ามันเป็นสิ่งสำคัญที่จะเรียนรู้ที่จะพูดในภาษาของลูกค้าไม่ใช่ใน "โปรแกรม" สิ่งนี้จะช่วยทั้งลูกค้าของคุณและคุณ
Paddy Landau

38

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

ในระดับจุลภาคงานก็ไม่ได้แตกต่างกัน ท้ายที่สุดแล้วถ้าหากมันแตกต่างกันมากเกินไปการเรียนในระดับวิทยาลัยจะไม่คุ้มค่าใด ๆ กับ บริษัท แต่มันก็เหมือนกับความแตกต่างระหว่างการอบ 12 คุกกี้และการอบ 12,000 คุกกี้ คุณสามารถทำได้ดีในอดีตและไร้เดียงสาอย่างสมบูรณ์ในตอนหลัง

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


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

26

คำถามนี้ตั้งอยู่บนสมมติฐานที่ไม่ถูกต้อง:

"คุณเปลี่ยนจากผู้เรียนเป็นมืออาชีพในด้านการเขียนโปรแกรมได้อย่างไร"

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

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


4
นั่นคือคำแนะนำที่ดีทั้งหมด แต่มันไม่ได้ตอบคำถามใช่ไหม?
Bryan Oakley

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

@Bevan นอกจากนี้ยังสามารถโต้แย้งได้ว่าเป็นความแตกต่างระหว่าง "โปรแกรมเมอร์" และ "นักพัฒนา" ไม่แน่ใจว่าฉันยืนอยู่ตรงไหน
Izkata

3
@Bevan: คำว่า "professional" นั้นคลุมเครืออย่างแท้จริง ความรู้สึกที่ระบุไว้ในรายการ Wiktionaryรวมถึง "ของที่เกี่ยวกับหรือตามมาตรฐานวิชาชีพ (ปกติสูง)" และ "ที่ดำเนินการเพื่อเงินโดยเฉพาะอย่างยิ่งการทำมาหากิน" การจ่ายเงินโดยอัตโนมัติทำให้คุณเป็นโปรแกรมเมอร์มืออาชีพในแง่หลังแม้ว่าจะไม่ได้พูดอะไรเกี่ยวกับอดีต
ruakh

12

คำตอบสั้น ๆ ใช่ - โลกธุรกิจค่อนข้างแตกต่างจากสภาพแวดล้อมของวิทยาลัยหลายแห่ง

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

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


4

ฉันจะได้รับประโยชน์จากการไปถึงระดับ C # ล่วงหน้าหรือไม่

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

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

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

คุณเปลี่ยนจากผู้เรียนเป็นมืออาชีพในด้านการเขียนโปรแกรมได้อย่างไร?

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

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

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

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


1

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


1

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

แต่สำหรับคำถามของคุณ

คุณเปลี่ยนจากผู้เรียนเป็นมืออาชีพในด้านการเขียนโปรแกรมได้อย่างไร?

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


1

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

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

สำหรับการเตรียมพร้อมสำหรับโลกธุรกิจนั้นมีสองวิธีที่ฉันขอแนะนำ a) รับการฝึกงานแม้แต่ผู้ที่มีรายได้น้อยหรือไม่มีค่าจ้างจะช่วยให้คุณดูคนอื่นได้ b) ด้วยแอปสโตร์ที่มีอยู่รอบตัวคุณคุณสามารถลองเขียนและเผยแพร่แอพไปยังร้าน Apple / Google / MS สิ่งนี้จะช่วยให้คุณเข้าใจเวิร์กโฟลว์ได้ดีขึ้นคุณค่าของการทดสอบความจำเป็นในการตั้งค่าสภาพแวดล้อมและเครื่องมือที่เหมาะสมและอีกมากมาย


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

0

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


-1

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

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

ในอุตสาหกรรมนี้ค่อนข้างบ่อย

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