เราจะปรับปรุงการศึกษาและการฝึกอบรมโปรแกรมเมอร์โดยรวมได้อย่างไร [ปิด]


13

เมื่อสัปดาห์ที่แล้วฉันเพิ่งดูบทสัมภาษณ์ที่น่าอัศจรรย์นี้โดย Kevin Rose แห่ง Phillip Rosedale แห่ง Second Life

และพวกเขามีการสนทนาที่น่าอัศจรรย์เกี่ยวกับวิธีการค้นหาจ้างและระบุโปรแกรมเมอร์ที่ดีและยากที่จะหาคนดี

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

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

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

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

ลองดูที่ The Joel 12 Steps

การทดสอบโจเอล

คุณใช้การควบคุมแหล่งที่มาหรือไม่?

คุณสามารถสร้างบิลด์ในขั้นตอนเดียวได้หรือไม่?

คุณสร้างงานสร้างรายวันหรือไม่?

คุณมีฐานข้อมูลบั๊กหรือไม่

คุณแก้ไขข้อบกพร่องก่อนที่จะเขียนรหัสใหม่หรือไม่?

คุณมีตารางที่ทันสมัยหรือไม่?

คุณมีสเป็คหรือไม่?

โปรแกรมเมอร์มีสภาพการทำงานที่เงียบหรือไม่?

คุณใช้เครื่องมือเงินที่ดีที่สุดที่สามารถซื้อได้หรือไม่?

คุณมีผู้ทดสอบหรือไม่

ผู้สมัครใหม่เขียนรหัสในระหว่างการสัมภาษณ์หรือไม่?

คุณทำการทดสอบการใช้งานในห้องโถงหรือไม่?

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

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

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

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

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

ดังนั้นสิ่งนี้ทำให้ฉันคิดว่าเราต้องคิดใหม่ทั้งหมดเกี่ยวกับวิธีการฝึกอบรมให้ความรู้และจัดการโปรแกรมเมอร์

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

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

ดังนั้นประเด็นของคำถามนี้คือจุดประกายให้เราเรียนรู้และจัดการได้ดีกว่ามาก

เราจะสร้างวัฒนธรรมการเรียนรู้ใหม่ที่ไม่ดูถูกผู้คนที่ไม่มีประสบการณ์การงานที่เหมือนกันได้อย่างไร

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

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

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

ขอขอบคุณ...


+1: ฉันคิดว่ามันคือ Carl Franklin จาก. NET Rocks ที่ครั้งหนึ่งเคยสังเกตว่าอุตสาหกรรมการเขียนโปรแกรม "แย่มากที่ฝึกงาน" ฉันหวังว่าฉันได้อ้างคำพูดนี้อย่างถูกต้อง แต่ฉันหนึ่งเห็นด้วยกับความรู้สึกนี้โดยสิ้นเชิง ฉันไม่รู้จริง ๆ ว่าผู้สมัครระดับเริ่มต้นทำงานในตำแหน่งเหล่านี้ได้อย่างไร
Jim G.

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

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

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

คุณมีลิงค์ไปสัมภาษณ์หรือไม่ youtube.com/watch?v=irF-V9RUuXo อันนี้ไหม
Lukasz Madon

คำตอบ:


13

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

1) หยุดเห็นงานกระโดดเลวและสนับสนุน เปลี่ยน บริษัท ทุก ๆ ปี โปรแกรมเมอร์ได้สัมผัสกับเทคโนโลยีวิธีการและธุรกิจที่แตกต่างกันมากมายในระหว่างการประกอบอาชีพ ธุรกิจได้รับไอเดียใหม่ ๆ อย่างต่อเนื่อง

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

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

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

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

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

ณ จุดนี้ฉันคิดว่าหัวของฉันกำลังจะระเบิดดังนั้นฉันจะสรุป

เป็นคำถามที่ดีมาก! ฉันหวังเป็นอย่างยิ่งว่าจะได้อ่านคำตอบเพิ่มเติม


3
+1 สำหรับคะแนน 2 และส่วนใหญ่ 5 เป็นช่วงเวลาที่เปิดเผยเมื่อคุณตระหนักว่านายจ้างของคุณต้องการคุณมากกว่าที่คุณต้องการ
Carl Norum

@ คาร์ลนั่นคือความรู้สึกที่ยอดเยี่ยมอย่างแท้จริง

+1 สำหรับคำถามที่ยอดเยี่ยม เห็นด้วยอย่างสิ้นเชิง. ฉันเห็นด้วยกับคะแนน 2 และ 3 ทั้งหมด
KeesDijk

ฉันไม่เห็นแนวโน้มที่จะมีการเปลี่ยนสินค้าในอนาคตอันใกล้ แนวโน้มในร้านค้าซอฟต์แวร์ขององค์กรส่วนใหญ่มีต่อการเพิ่มบทบาทของบทบาท (aka pigeonholing)
bit-twiddler

1
แต่เศรษฐกิจสามารถผลักดันให้เราอยู่ในงานที่เราไม่มีอิสระหรือทางเลือกมากนัก
crosenblum

1

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

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

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


0

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

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

สองสอนเหมือนรูปแบบสาขาอาชีพของเรายังไม่โตพอ เรามีสิ่งต่าง ๆ มากมายที่เราคิดว่าเป็นวิธีที่จะไป แต่เราไม่สามารถเห็นด้วยกับพวกเขาจริงๆ (คิดว่า TDD, BDD, Agile vs Waterfall, จำนวนเอกสารที่จำเป็น, Java หรือ. Net) ในใจของฉันนี้เกิดจากการพูดคุยโดยไม่มีบริบทและความเชี่ยวชาญมาก คุณไม่สามารถเลือกได้อย่างถูกต้องโดยไม่รู้ว่าคำถามถูกถามในบริบทใดและคุณไม่สามารถเลือกได้อย่างถูกต้องหากคุณรู้เพียงตัวเลือกเดียว เมื่อคุณนำสิ่งนี้กลับไปสู่การศึกษาดูเหมือนเป็นไปไม่ได้ที่จะแก้ไข คุณไม่สามารถคาดหวังให้ใครรู้บริบทที่เป็นไปได้ทั้งหมดและแนวทางแก้ไขที่เป็นไปได้ทั้งหมด แต่ด้วยรูปแบบพวกเขาในขณะนี้การแก้ปัญหาทั่วไปและบริบทการใช้และบริบทเมื่อการแก้ปัญหาแบ่ง IMHO นี่คือวิธีที่เราต้องสอน

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

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

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