一、
1. 扎实的基础。数据结构、离散数学、编译原理,这些是所有计算机科学的基础,如果不掌握他们,很难写出高水平的程序。据我的观察,学计算机专业的人比学其他专业的人更能写出高质量的软件。程序人人都会写,但当你发现写到一定程度很难再提高的时候,就应该想想是不是要回过头来学学这些最基本的理论。不要一开始就去学OOP,即使你再精通OOP,遇到一些基本算法的时候可能也会束手无策。
2. 丰富的想象力。不要拘泥于固定的思维方式,遇到问题的时候要多想几种解决问题的方案,试试别人从没想过的方法。丰富的想象力是建立在丰富的知识的基础上,除计算机以外,多涉猎其他的学科,比如天文、物理、数学等等。另外,多看科幻电影也是一个很好的途径。
3. 最简单的是最好的。这也许是所有科学都遵循的一条准则,如此复杂的质能互换原理在爱因斯坦眼里不过是一个简单得不能再简单的公式:E=mc2。简单的方法更容易被人理解,更容易实现,也更容易维护。遇到问题时要优先考虑最简单的方案,只有简单方案不能满足要求时再考虑复杂的方案。
4. 不钻牛角尖。当你遇到障碍的时候,不妨暂时远离电脑,看看窗外的风景,听听轻音乐,和朋友聊聊天。当我遇到难题的时候会去玩游戏,而且是那种极暴力的打斗类游戏,当负责游戏的那部分大脑细胞极度亢奋的时候,负责编程的那部分大脑细胞就得到了充分的休息。当重新开始工作的时候,我会发现那些难题现在竟然可以迎刃而解。
5. 对答案的渴求。人类自然科学的发展史就是一个渴求得到答案的过程,即使只能知道答案的一小部分也值得我们去付出。只要你坚定信念,一定要找到问题的答案,你才会付出精力去探索,即使最后没有得到答案,在过程中你也会学到很多东西。
6. 多与别人交流。三人行必有我师,也许在一次和别人不经意的谈话中,就可以迸出灵感的火花。多上上网,看看别人对同一问题的看法,会给你很大的启发。
7. 良好的编程风格。注意养成良好的习惯,代码的缩进编排,变量的命名规则要始终保持一致。大家都知道如何排除代码中错误,却往往忽视了对注释的排错。注释是程序的一个重要组成部分,它可以使你的代码更容易理解,而如果代码已经清楚地表达了你的思想,就不必再加注释了,如果注释和代码不一致,那就更加糟糕。
8. 韧性和毅力。这也许是"高手"和一般程序员最大的区别。A good programming is 99% sweat and 1% coffee。高手们并不是天才,他们是在无数个日日夜夜中磨练出来的。成功能给我们带来无比的喜悦,但过程却是无比的枯燥乏味。你不妨做个测试,找个 10000以内的素数表,把它们全都抄下来,然后再检查三遍,如果能够不间断地完成这一工作,你就可以满足这一条。
二、
什么是研发能力
当提到一个软件工程师有很高的研发水平时,我们通常会想到:这个人可能精通C/C++、JAVA、数据库编程、网络编程……等等,软件人员的研发能力就是指精通语言和编程吗?绝对不是!精通这些语言和工具仅仅意味着掌握了一些知识。能力不等同于知识。能力是指掌握了解决问题的正确方法。研发能力就是指掌握了分析、判断、解决、预测技术问题的方法。
“知识无用论”最适合描述IT行业技术日新月异的变化情况。也有人讲,做IT行业的人也是吃青春饭的,趁着年轻,尚能不断地学习新的语言和工具,年纪大了,便没有时间和精力跟上技术的变化。
这真是技术人员的命运吗?当我们这么想的时候,我们就是还没有真正领悟研发的真谛。当我们仰视国外公司的研发力量时,我们常常自卑地感慨:他们的高级研发人员经验真丰富。他们甚至使用过磁芯存储器和打孔纸带。然而,他们关于磁芯存储器和打孔纸带的经验在今天还有用吗?他们关于BASIC、FORTRAN语言的经验于今天还有用吗?没用,这些经验统统都没有用了。但是随着研发经历的增长,他们的研发能力都在与日俱增。正是这些研发能力使得他们可以被称为高级研发人员,使得他们能够在技术日新月异的IT行业不断研发新的产品。
那么什么是研发能力呢?
研发能力的5个层次
正如知识结构不是一个平面一样,研发能力结构也不是一个平面。研发能力包含以下5个层次:
会 对知识点的一般性的、孤立的掌握。这基本上还处于仅仅掌握工具的阶段。大学生或者职业高中生,学过C语言,并做了几个小项目后,可以说会C语言。这时,只要有详细的设计,会C语言的就可以把设计变成代码。会C语言只是结构中的低层次,在网络研发中心,要会的东西很多:网络socket编程,VC++编程,数据库编程,ASP编程,TCPIP基础知识,路由基础知识,广域网基础知识,测试设备知识,PowerPC基础知识,FPGA基础知识……随着我们研发领域的不断扩大,要会的东西也在不断扩大,比如现在我们就需要了解VoIP原理、协议,今后要会的东西将成指数级增长。当然,并不是一个人要什么都会,百科全书式的人物已经没有了。一般一个产品的推出都需要相当多的人员共同配合才能完成。注意到这一点非常重要,下面要讲的能力的各个层次的培养以及综合素质的培养都与此有关系。
熟练 在这个层次上,意味着能够快速而有效地完成既定设计。软件代码讲究简洁高效、并且错误率低,可维护性、可移植性好;硬件设计讲究板子稳定、成功率高、成本低;测试讲究快速构架各种复杂的应用环境。我们经常看到这样的论调,说中国人最适合做软件开发,同时我们又悲哀地感慨印度软件业的发达。这是什么原因呢?其实说中国人最适合做软件的论调是不对的,难道中国人的脑细胞都是由0和1构成的吗?更准确的说法是:现在的中国年轻人在现在的教育环境下,最容易在技术上达到熟练这个层次。难道不是吗?从小学一年级开始,每个学生都要把所学的每个汉字、每个拼音字母抄写数十遍,直到熟练为止,数学的考试也是要求精确到小数点后多少位。中国人是很聪明的,学会了一样东西后,很快就能熟练了。
分析总结 从“熟练”到“分析总结”是一个很大的变化。分析是从杂乱无章的表面现象中整理出事物的条理,并抓住事物的主要矛盾。软件移植最需要分析能力。移植前,要仔细分析软件的结构,整理出软件的流程框架和主要数据结构,并抓住主要部分,找出移植的关键点。对于新技术、新任务,都要运用分析能力,整理出头绪,抓住关键点。最需要用到分析能力的阶段是:一是学习新技术,新方法时,用华罗庚的话说,就是要把书由厚读到薄,读到薄了,就意味着抓住关键点了;二是需求分析阶段,在这个阶段同样需要学习很多新知识、新概念,要运用分析能力,从众多的信息中整理出自己所需要的东西;三是项目总结阶段,回顾并分析一下所走过的研发历程,总结经验和教训。总结要做到由此及彼,由表及里,由特殊现象到普遍规律,要做到归类、归纳、抽象、概括。
全面规划 从“分析总结”到“全面规划”是一个质的飞跃。对开发工作而言,“全面规划”就是“全面规划”。手工作坊式的研发不会感觉到全面规划的重要性。而这正是手工作坊与正规研发机构的关键区别,也是我们中国软件业不如印度软件业的关键点。我们很多研发人员非常愿意用我国改革开放初期的方法――“摸着石头过河”――来做研发。要防止这种倾向的蔓延,要想提高研发能力,要提高研发产品的质量,大家就必须要有壮士断腕的决心来抛弃这个方法。这个方法用多了,不仅影响研发产品的质量和进度,而且更为重要的是,必然会培养思维的惰性,使研发人员不是用大脑在干活而是用手在干活。“摸着石头过河”的方法有时是有用的,我们要非常清楚,什么时候是有用的,这种用法的前提又是什么?绝对不能滥用这种方法。只有两种情况下,可以“摸着石头过河”,一是研究关键技术,二是在用户也不清楚需求时,做原型系统以确定需求。研究关键技术时,不要求对系统做全面的考虑,只需要在关键点上做一些试验,试验完成后,绝对不能把未经全面仔细考虑的试验系统扩充为整个系统,仍旧需要做全面规划。原型系统的开发也是同样的道理,为确认需求这样一个目的建造的原型系统绝对不能扩建为要满足各种指标要求的产品系统。事实上,即使在研究关键技术,做各种试验,以及做原型系统时,也是要求先做全面规划的。只有先设计好了各种试验方案,才能确认关键技术的正确性。
趋势运筹 这是更进一层的质的飞跃。不仅了解一方面的技术,还要了解不同技术间的因果关系和相互作用,也需要了解市场需求的变迁。
能力的培养
“会”, “熟练”能力的培养
这里没有什么窍门,一句话,勤学多练,别无他法。不要认为老师授课或者看书才是学习。学习有多种形式,向书本学习,向实践学习,向他人学习。在这两个阶段,重点还是学习知识。
“分析总结”,“全面规划”能力的提高
IT行业知识变化迅速,在熟练掌握基本知识的基础上,要从学习知识提高到学习正确的做事方法。要掌握“方法论”。分析总结能力、全面规划能力和趋势运筹能力都是在不断融会贯通知识的基础上掌握方法论而形成的。
一般来说,分析总结能力还是比较容易培养的,关键在于勤于分析,勤于总结。不偷懒,不要幻想走捷径。不要问题一来,不认真分析,就眉毛胡子一把抓。避免这一点,就能逐渐提高分析总结能力。要特别注意需求分析阶段和项目总结阶段。这两个阶段容易被研发人员所忽视,被认为与技术关系不大,因此不愿意花过多的时间去思考,这对于提高分析总结能力是极为不利的。
能力培养的顺序
不要在每个层次做横向培养,这样会变成一个知识工人。比如说,做了一年的X25程序之后,想做做路由协议;或者做了两年路由协议之后,想做做帧中继。很多人都想这样每年都做一些不同的技术,这样学习到更多的知识。这种学习的愿望是好的,但行动却是错误的。IT技术日新月异,即使是在路由器、交换机或者网络安全这样专门的产品领域,技术也在不断发展。没有人能够在技术知识这个层次上能够精通每一个方面,我做不到这一点,大学里的教授做不到一点,科学院的院士更做不到这一点。当熟练掌握了一个领域的技术知识之后,必须努力使自己的能力提高一个层次,而不能在一个平面的层次上扩展。否则,每当进入一个新的知识领域,你会显得与新手毫无二致。重要的是,要在立体的层次上提高自己。当然,提高自己的能力,并不意味着不去关注其他相关领域的技术。恰恰相反,由于能力层次提高了,对新知识领域的了解会更多。因为提高了能力,会很容易抓住新知识领域的关键点。从这里,我们也可以看到,研发能力的提高既不是在一个平面上发展,也不是直接不断提高层次,而是螺旋上升发展的。熟练某一个方面的技术之后,开始提高分析总结能力,有了分析总结能力,就能很快了解其他方面知识的关键原理。
http://lzth.iteye.com/blog/611959
分享到:
相关推荐
通过纵向调查,调查了日本初中学生的学习习惯变化与学习成绩之间的相关性。 参加者是就读于私立初中的学生(N = 170)。 三年两次,每年两次进行问卷调查。 此外,还收集了常规考试和模拟考试的结果。 结果表明,...
在当代教育体系中,培养小学生良好的学习习惯被视为教育过程中的关键环节。良好的学习习惯不仅是学习的基础,更是保障小学生在学业上取得成功的基石。通过PPT课件《培养小学生良好的学习习惯》的系统阐述,教育工作...
在当今社会,良好的学习习惯对于小学生来说是开启知识大门的金钥匙,而良好的学习习惯往往在小学阶段就已经开始萌芽和养成。因此,通过主题班会这样的形式来教育小学生形成有益的学习习惯,不仅有助于提高他们的学习...
本研究聚焦于互联网时代小学生学习习惯的特征及其培养,旨在探讨如何在这一新环境下有效地引导学生形成良好的学习习惯。 一、互联网时代小学生学习习惯的特征 1. 自主性增强:互联网赋予了学生自主选择学习内容和...
在互联网时代,小学生的学习习惯正经历着前所未有的变革。随着技术的发展,小学生接触网络的机会越来越多,这不仅改变了他们的学习方式,也对他们的学习习惯产生了深远影响。本文将深入探讨这一现象,分析互联网时代...
在当今社会,教育对于个人成长的重要性不言而喻,尤其是对于正处于关键成长期的小学生来说,良好的学习习惯养成和家庭教育指导显得尤为重要。本次讲座以“小学生学习习惯养成和家庭教育指导”为主题,深入探讨了如何...
在当今这个知识爆炸的时代,掌握良好的学习习惯对于个人的学术和职业发展具有不可估量的价值。对于英语学习者来说,养成一系列稳定的学习模式对于提高学习效率、掌握语言技能尤为重要。本文将深入探讨在英语作文学习...
【小学生学习习惯培养方案】 小学阶段是孩子们形成各种习惯的关键时期,良好的学习习惯对他们的未来学习和发展至关重要。这个方案旨在通过一系列系统性的措施,帮助小学生建立高效、规范的学习习惯,从而提升教学...
在当今社会,教育孩子学会学习,形成良好的学习习惯,已成为家长和教师们面临的重要任务。良好的学习习惯不仅能够提高孩子在校的学习效率,更能为其将来的发展奠定坚实的基础。本文将深入探讨小学生学习习惯的培养,...
在当前教育体系下,小学生处于形成学习习惯的关键时期,这对于他们的未来学习和全面发展具有不可估量的深远影响。然而,这一时期的小学生常出现注意力不集中、拖延、自私霸道等问题,这些不良习惯的形成与个体的主观...
在当今世界,英语已成为国际交流的重要工具,而英语学习习惯的培养成为基础教育中不容忽视的一环。尤其是在小学阶段,习惯的养成对学生未来的学习态度和成效具有深远的影响。本篇文章将深入探讨小学英语学习习惯的...
少先队作为中国少年儿童的群众组织,其在培养少年儿童良好的学习习惯、自我管理能力等方面发挥着重要作用。一场以“养成良好的学习习惯”为主题的队会活动,是对学生进行这方面教育的有效形式。 活动伊始,以各小队...
【小学生学习习惯培养的重要性】 小学阶段是孩子们形成基础学习习惯的关键时期,这直接影响到他们后续的学习成效和终身学习的能力。教育家叶圣陶强调,教育的本质在于培养良好的学习习惯。良好的学习习惯能激发学生...
小学阶段是孩子成长的关键时期,此时养成良好的学习习惯对于他们未来的学习乃至整个人生都有着深远的影响。这份"小学养成良好的学习习惯主题班会PPT教案"旨在帮助教师和家长引导孩子们建立有效的学习习惯,以促进...
【标题】与【描述】提及的是关于小学生自主学习习惯养成教育的案例分析,主要探讨了如何帮助小学生建立良好的学习习惯,以提升学习效果。【标签】提示这是一个文档类的内容。 在小学阶段,孩子的身心发展迅速,是...
标题中的“开题报告农村中学生数学学习习惯养成的研究”是一个教育学研究的主题,主要探讨的是在农村中学环境中,如何培养学生的数学学习习惯。这个课题的重要性在于,良好的学习习惯是提高学习效率、提升学业成绩的...
【小学生数学良好学习习惯培养的研究课题实施计划方案】 一、课题背景与意义 数学学习习惯在学生的学术生涯中起着至关重要的作用,因为它们能够稳定地影响学生的学习行为和方式,进而决定其后续学习的效果。尤其...
【标题】: "优秀资料(2021-2022年收藏)小学数学课题《小学生良好的数学学习习惯的培养策略》结题报告汇编.doc" 【描述】: "教育精品资料" 【标签】: "教育精品资料" 【部分内容】: 详细介绍了《小学生良好的...
小学低年级培养良好的学习习惯ppt课件PPT学习教案.pptx