我們教授編程的方式統統不對

csdn程序人生 發佈 2020-01-17T06:49:08+00:00

優秀的工程師都懂得如何與他人合作與交流,但是,我們培訓了太多獨來獨往的程式設計師...作者| Nathan Esquenazi譯者 | 彎月,責編 | 郭芮出品 | CSDN以下為譯文:科技行業所有的重大突破都離不開多人的共同努力。

優秀的工程師都懂得如何與他人合作與交流,但是,我們培訓了太多獨來獨往的程式設計師......

作者 | Nathan Esquenazi

譯者 | 彎月,責編 | 郭芮

出品 | CSDN(ID:CSDNnews)

以下為譯文:

科技行業所有的重大突破都離不開多人的共同努力。

為了將某個功能添加到 iPhone 應用,前端工程師、用戶體驗設計師和圖形設計師團隊必須與網絡安全專家、後端開發人員以及 iOS 開發人員合作。也就是說,如今優秀的工程師都懂得如何與他人合作與交流。但是,我們仍然培訓了太多傾向於單獨工作的程式設計師。

從在教室上課的第一天起,計算機科學專業的學生就把個人的成功看得比團隊榮譽更重要,大多數作業都是學生單獨完成並提交的。雖然文科專業的學生會研究交流方法,商科和醫學等專業課程需要大量的團隊工作,但許多計算機科學課程都過於重視技術成果,而忽略了所謂的「軟技能」,例如協作和交流等。我們很少花時間解決衝突和進行批判性思考。

計算機科學課程的學生得分大都會呈現正態曲線的分布,因此這會變相鼓勵同學彼此間的競爭,某一個學生獲得高分就可能意味著另一個學生的得分降低了,有人發現這種方法會尤其會對女生造成特別的影響。

計算機科學的教授嚴重不足,導致許多課程都採用了「競爭式招生」模式,這也加大了入門課程的學習難度,學生們不得不努力競爭才能繼續攻讀這個專業。

即使學生想一起做作業,他們也會被嚴格的政策勸退,因為這些政策認為合作是作弊行為。然而,以「結對編程」(兩個程式設計師在同一台計算機上一起工作)的方式學習的學生取得的成績更高,創建的項目更強大,而且更加滿意他們的計算機科學課程。

結對編程為女生帶來的好處尤為明顯:一項研究發現,某項入門課程採用了結對編程的方式,結果獲得高分的女生比計算機科學專業的女生高出了36.8%,而且他們對自己的解決方案更有信心,更加享受編程的過程。另一項研究發現,結對編程的女性的自信心提高了24%,而男性則提高了15%。

對於那些在成長的過程中,未能在家或在學校學習過計算機課的學生來說,參與、社交關係和積極學習等涉及合作的學習帶來的受益最顯著。如果協作學習在編程教育中不那麼罕見的話,也許該領域的多樣性有可能得到改善:計算機和數學行業中,女性僅占25%,黑人占8.4%,拉丁裔占7.5%。在許多頂級公司中,這些數字還要更難看,黑人和拉丁裔通常只占員工的3%-6%。

與此同時,老闆們總覺得新員工雖然是熟練的程式設計師,但缺乏合作能力。儘管絕大多數老闆對基本「軟技能」的重視程度甚至超過了大學的專業,而且招聘經理在招聘計算機科學專業的學生時,也認為溝通和解決問題的能力是前五大需要考慮的因素。

我們在矽谷的個人主義文化中看到了這種教育的結果,工程師們在團隊內部爭奪權力,甚至因為擔心失去自己的工作而拒絕同事們的意見。代碼審查本來是討論問題的好機會,結果卻成了知識競賽。當新來的團隊成員有疑問時,他們得到的答案是「去查文檔」,或者去閱讀手冊中的小字。接受別人的幫助被視為弱者的行為,而給予幫助則被當成浪費時間。如果編程人員無法進行頭腦風暴,或者不能給同事提供指導,那麼這個行業終將走向失敗。

矽谷花費了數年的時間討論如何找到夢寐以求的「10倍工程師」(他們的工作效率是普通工程師的10倍)。然而,工程經理知道,如果想成為一名出色的工程師,除了編寫大量的代碼,還有很多方面需要加強。出色的工程師了解他們的同事,能夠與人建立共識,並可以疊代其他人的工作。從根本上說,他們能夠閱讀和消化別人的代碼,這與從頭編寫新代碼完全不同,而大學生很少有機會進行這樣的實踐。一門心思單獨寫代碼的大學課程缺少很多專業工程師的職責教育。

當程式設計師傾向於靠一己之力解決問題時,我們不能責怪他們,因為這就是他們接受到的訓練和教導方式。

當我們告訴每位學生唯有個人的成敗舉足輕重時,就意味著我們把他們培養成了技術稱職、缺乏合作精神的程式設計師。我們需要培養出不把自己看成「獨行狼」的程式設計師。科技行業更加需要這樣的人才。

原文:https://medium.com/bloomberg-opinion/were-teaching-coding-all-wrong-cd7e1d7fbbdb

作者:Nathan Esquenazi,創業企業家,CodePath.org的聯合創始人兼首席技術官。

本文為 CSDN 翻譯,轉載請註明來源出處。

關鍵字: