zoukankan      html  css  js  c++  java
  • 职业程序员培养之道

    职业程序员培养之道

    软件开发是以人为核心的过程,对人的依赖性远高于传统的
    硬件生产企业,为了保持开发能力的稳定性,一方面需要定
    义软件过程,以过程为枢纽将人、技术、工具衔接起来,另
    一方面也要加强人才的培养,使人的工作能力能够稳定、提
    高人员的自治性。随着社会需求的膨胀,对程序员的需求量
    、对熟练的程序员的需求量在剧增,然而对程序员的培养问
    题却成了一个盲点,学生在学校里学习的是关于软件开发的
    基础知识,软件企业需要的是熟练的能够快速开发出产品的
    程序员,需要程序员具有很强的实用知识,因而出现了明显
    的学校教育与实际需求脱节的问题。企业反映新毕业的学生
    知识老化、动手能力太差、缺乏实用理论知识、缺少工程管
    理知识等问题。尽管社会上有各种各样的专业程序员培训班
    ,但是距离企业的实际需求仍然有较大的差距。在企业中培
    养一名合格的程序员一般需要个月到半年时间,对企业来讲
    ,这个周期就显得太长了,所以一般的企业不愿要新毕业的
    学生,企业希望程序员能够“来则战之,战则胜之”。无论
    如何,对程序员来讲总是要面临一个成长的过程,希望学校
    或者培训班来解决这个问题很难,因为程序员不是标准件,
    程序员不是教育出来的,是在实践中干出来的,最终还是要
    在实践中来培养程序员,这是任何软件企业必须承受的,因
    此,对软件企业来讲需要有一套机制,一套办法来培养程序
    员。那么,我们需要从哪些方面来培养程序员呢?大体来讲
    ,包括以下几个方面:精神、能力、理论基础、工作方法、
    工作习惯。、精神软件开发是一项智力劳动,需要开发人员
    很投入的工作,因而需要开发人员能够热爱软件开发,有工
    作热情,有投入的精神。如果一个程序员缺少一种投入的精
    神,他不可能在最需要他投入精力的时候来工作。有的人很
    聪明,但是他对软件开发没有兴趣,或者他工作很不专心,
    杂事很多,工作效率很低,别人天能干完的,他需要天甚至
    天才能干完,而且还漏洞百出,这样的程序员需要尽早识别出
    来,尽早转换工作。现在的工作环境对程序员的诱惑很多,
    比如游戏、、各种新闻等等,这些诱惑使不能很好处理这些
    关系的程序员浏览忘返,浪费了大量的时间,降低了工作效
    率。程序员的业绩很大程度上不是取决于其智商,而是取决
    于其情商。、能力程序员最主要的能力可以概括为点:良好
    的逻辑思维能力、良好的沟通能力与良好的学习能力。良好
    的逻辑思维能力软件的开发过程是解决复杂业务逻辑的过程
    ,是简化复杂逻辑的过程,是用精确来实现模糊的过程,开
    发人员需要具有良好的逻辑思维能力才能胜任。现实空间是
    模糊的,数字空间是精确的,在现实世界中很简单的问题,
    在数字空间中来模拟时,就变成了一个复杂的问题。它要求
    程序员能够全面、准确、简洁地把握问题、分析问题、解决
    问题。在笔者接触过的很多程序员新手中,很少有程序员能
    将下列的题目解答的完全正确:画出解答下面问题的程序流
    程图:输入三个整数,作为三角形的三个边,判断是否构成
    :等边、等腰、直角、锐角、钝角三角形。这个题目的逻辑
    很简单,需要的处理的逻辑包括:输入的合法性判断:输入
    的是否是正整数是否构成三角形:任意边之和大于第三边是
    否构成等腰或等边三角形是否构成钝角、直角、锐角三角形
    答题者常见的错误有:%%序号%常见的错误没有判断输入的
    合法性没有判断是否构成三角形判断为其中一种结论时就结
    束了,没有考虑到:等边三角形也是锐角三角形,等腰三角
    形可以是钝角也可以是直角或锐角程序内部逻辑复杂上边的
    题目是一个很简单的程序,但是类似的逻辑问题在实际的软
    件开发中是经常用到的,需要程序员能够对各种情况进行仔
    细的分析、归纳、总结,如果在这样的问题上出错是很难成
    为出色的程序员的。沟通能力现在的软件越来越庞大,根本
    不是单兵作战能解决的,需要多人来协同工作,比如一套简
    单的进销存系统可能就要产生万行代码,按每人天生产行代
    码来估算,也需要人年,再加上分析、测试等的时间,需要
    人年才能完成,因此就需要开发人员具有很好的沟通能力。
    作为程序员要善于沟通,习惯沟通。程序员在交流问题时,
    往往在描述问题是什么时要花费大量的时间。这种现象在项
    目组中是经常出现的:在给一个程序员布置任务时,讲清楚
    任务比他完成这项任务花费的时间还要多,而有的程序员自
    己心里明白,但是说不清楚,或者干脆就不说,这些情况都
    会降低整个团队的工作效率。学习能力软件的新技术发展很
    快,开发人员必须能够不断的跟踪、学习新技术,要有很好
    的学习能力。只有善于学习的人,才能够不断进步,在实践
    中快速成长。真正优秀的程序员一定是掌握了很好的学习方
    法的程序员,否则现在是优秀的程序员,年后可能就被淘汰
    了。
  • 相关阅读:
    译文高效的JavaScript.
    JavaScript 全半角转换
    js表单验证
    Js事件大全
    Javascript下的urlencode编码解码方法decodeURIComponent()
    加速Javascript:DOM操作优化
    javascript验证日期的函数
    javascript里面的小数计算出现近似值的解决办法
    【busybox】busybox使用总结 01
    Assemble 汇编语言的种类
  • 原文地址:https://www.cnblogs.com/shihao/p/1401062.html
Copyright © 2011-2022 走看看