
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
21世纪是程序员的世纪。对程序员的需求比大部分岗位的需求都要高。那么程序员需要掌握哪些技能呢?程序员的大脑跟一般人有什么不同呢?菜鸟和专家程序员的大脑又有什么不同呢?如何才能提高程序员的能力呢?《JavaScript应用编程》作者通过引用神经科学的若干研究给出了他的答案。
关于软件开发者的大脑,神经科学能告诉我们什么呢?达内长沙IT培训的答案是:很多。
软件开发是美国增长最快的岗位之一,据预计2014到2024年间的增长率将达17%(比同期预测7%的一般工作增长率要快很多)。
为了做好劳动力储备以应对此需求,大家开始考虑如何对编程技能进行分类。特定类型的人会不会更有可能在编程的角色取得成功呢?
在这个主题上目前好没有太多的科学研究。这是个问题,因为在争取学校对计算机科学课程提供更多支持的努力当中,政府在尝试利用现有的核心技能学分制对计算机科学进行分类,比如肯塔基就把计算机科学当作外语来计算学分,这引起了争议,现在已经被撤销了。
关于软件开发,达内长沙IT培训认为需要以下核心技能:
分析——开发者必须分析需求然后做出满足这些需求的解决方案。
创造力——软件开发者必须能够设计软件组件和系统,并且让这些东西共同满足需求。
沟通——软件开发者必须能写出易于理解的软件,给软件写文档,并就软件功能与同事及潜在用户进行沟通。
人际技巧——软件开发者频繁地以小组的方式一起工作,需要跟若干其他开发者就系统展开协作,要跟经理或者客户进行沟通,还要跟视觉设计师进行交流等……
学习——技术的变化之快令人眼花缭乱。软件开发者必须成为专家级的学习者,要能够适应不熟悉的框架,并且迅速形成生产力。
面向细节——开发者必须考虑周到,既要考虑快乐路径或者说理想情况下的用户交互,又要照顾到连接失败、预期之外的输入等情况
面向大局——开发者必须能够把控好应用的整体架构:确保不同组成部分拼凑到一起能够运作和交互。
数学与抽象——软件开发者必须对抽象和计算模型感到舒服。功能代表了一切,数学公式、网络通信、屏幕显示,还要处理用户输入。
逻辑——开发者必须能读写可能很复杂的逻辑,对切换和流控制进行处理。
考虑到沟通和人际技巧对于软件开发者来说是重要技能,再考虑到事实上“语言”也属于“编程语言”的一部分,所以在对计算机科学专业的学生在阅读代码过程中进行fMRI(功能核共振成像)研究时,发现他们的大脑语言中心被自己活也就不足为奇了。
研究发现,大脑跟语言处理、工作记忆以及注意力相关的特别区域被激活了。而尽管阅读代码涉及到数学、迭代以及条件分支,但是大脑通常跟数学和逻辑相关的区域并没有被激活。
这样看来肯塔基政府(把计算机语言认定为外语)的做法似乎并不出格。但是我们是不是就可以认定这些就是软件开发所需的大脑的唯一,或者主要区域了呢?还不能。
这项研究只是研究了源代码阅读,并没有衡量开发者在编写代码时大脑被激活的区域。而且它也只是考察了计算机科学专业的学生,而没有去看看成功的、专业的软件开发者是什么情况。这些是很重要的。