优秀的工程师都懂得如何与他人合作与交流,但是,我们培训了太多独来独往的程序员......

作者 | 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 翻译,转载请注明来源出处。

热 文 推 荐 

☞苹果官网以旧换新价格暴跌;戴威退出 ofo 法人代表及高管;TensorFlow 2.1.0 发布| 极客头条

☞软件开发需要学好数学吗?

☞12306 出招抢票软件,技术黄牛生意要“黄”?

☞铁打的春晚,流水的互联网公司

☞达摩院 2020 预测:模块化降低芯片设计门槛 | 问底中国 IT 技术演进

☞千万不要和程序员一起合租!

☞在调查过基于模型的强化学习方法后,我们得到这些结论

☞漫话:如何给女朋友解释为什么一到年底,部分网站就会出现日期混乱的现象?

你点的每个“在看”,我都认真当成了喜欢

我们教授编程的方式统统不对!相关推荐

  1. Node.js流,这样的打开方式对不对!

    Node.js流,这样的打开方式对不对! 俗话说的好:"人往高处走,水往低处流":古语有云:"落花有意,流水无情".(吃瓜群众:what?你特么这是要弄啥哩!二 ...

  2. 在C语言中以编程的方式获取函数名

    在C语言中以编程的方式获取函数名 仅仅为了获取函数名,就在函数体中嵌入硬编码的字符串,这种方法单调乏味还易导致错误,不如看一下怎样使用新的C99特性,在程序运行时获取函数名吧. 对象反射库.调试工具及 ...

  3. 数据库相关概念与编程使用方式

    数据库相关概念与编程使用方式 CSDN主页:jcLee95 邮箱:291148484@163.com 1. 数据库基本术语 1.1 数据库(DB) 是一个长期存储在计算机内的.有组织的.可共享的.统一 ...

  4. ASP.NET以编程的方式动态的添加Css引用

    使用的类 HtmlLink HtmlLink类的作用是:以编程的方式访问服务器上的html元素 注意:head必须为服务器控件 ,即 <head id="head1" run ...

  5. 以编程的方式向窗体添加控件以及对内容高亮显示

    using System; using System.Drawing; using System.Windows.Forms;namespace HighLIght {public partial c ...

  6. stm32的三种编程下载方式

    stm32的三种编程下载方式:参见FreedomXura旭日的博客: 网址http://blog.chinaunix.net/uid-20788517-id-263475.html

  7. 通过客户端编程的方式调用webservice

    通过客户端编程的方式调用webservice其实与通过jdk调用webservice的方式其实是一样的.在4种调用webservice的方式中推荐使用 通过jdk来调用webservice的那一种方式 ...

  8. 2022年高考普通高等数学第五题流程图答案,用少儿编程的方式怎么实现?其实很简单

    2022年高考普通高等数学第五题流程图答案,用少儿编程的方式怎么实现?其实很简单的. 我们先来看一下这次高考的数学题(这样的流程程序题,基本每年都会有): 我们先看一下使用图形化少儿编程软件:scra ...

  9. 一个函数的自白:从函数的角度看编程的方式

    以下内容转载自 https://mp.weixin.qq.com/s?__biz=MzA5MzY4NTQwMA==&mid=2651002566&idx=1&sn=76b652 ...

最新文章

  1. SDWebImage中文说明
  2. C语言Huffman Encode霍夫曼编码的算法(附完整源码)
  3. spring 基于xml方式配置aop
  4. (一)深入浅出TCPIP之理解TCP报文格式和交互流程
  5. html 切换主题,html切换主题实现方案
  6. linuxPci驱动获取指定设备bus、device以及devfn数据方式
  7. gitbash登录码云报错_手把手教你入门git仓库和关联码云
  8. Windows 2003安全事件ID分析(1)
  9. .ssh文件夹在哪里_【TOOLS】本地利用ssh远程连接服务器并启用远程服务器的jupyter lab并配置好anaconda的环境...
  10. c语言 修改文件权限666,chmod 777 修改权限
  11. 从零开始学WEB前端——JavaScript数据类型
  12. 默认页面设置html5,PHICOMM默认登录入口管理页面
  13. 照度/感光度(Lux)
  14. BackTrack3 硬盘安装教程
  15. win2003服务器允许下载.exe文件的方法
  16. 学会感恩,停停走走才能学有所思
  17. openldap安装
  18. 安卓木马demo_小demo 旋转木马
  19. 混合整数求解(MIP)入门技巧02——大M法
  20. 微信屏蔽js分享、复制链接,禁止微信外打开网站

热门文章

  1. 《Hadoop权威指南》读书笔记1
  2. NoSQL和Redis简介及Redis在Windows下的安装和使用教程
  3. A Dicey Problem 骰子难题(Uva 810)
  4. (爱加密系列教程十二) 如何防止jd-gui查看代码
  5. C++ + Irrlicht整一个东东?
  6. 力扣--48旋转图像(中等)
  7. pytorch项目代码总结
  8. C++容器,迭代器,容器的适配器
  9. Python命令行解析工具argparse
  10. Flutter进阶—质感设计之持久底部面板