中国高校课件下载中心 》 教学资源 》 大学文库

《IT职业素养》课程教学资源(讲义)第十三章 职业拓展 13.2 培训的种类与选择

文档信息
资源类别:文库
文档格式:PDF
文档页数:3
文件大小:276.91KB
团购合买:点击进入团购
内容简介
《IT职业素养》课程教学资源(讲义)第十三章 职业拓展 13.2 培训的种类与选择
刷新页面文档预览

13.2培训的种类与选择13.2.1利用培训补足基础参考资料:基础的重要性小任是信通信息技术公司的骨千技术人员,在公司从事软件开发工作,由于小任在参加工作前曾经接受过最新程序设计技术的培训,小任的技术在公司中非常先进,公司领导决定采用小任的技术来设计公司的软件。年仅23岁的小任被任命为一个应用项目开发组的负责人,项目组虽然只有不到五个人,但是也是一个完整的项目小组。项目刚开始的时候,由于小任单身年轻,工作努力,经常加班到深夜,整个项目进展比较顺利。时间不久,小任年轻的一面就显示出来,作为一个程序设计人员,小任非常讨厌书写项目文档,虽然自己在开发软件方面没有问题,但是整个项目文档并不健全,一段时间以后,项目开始陷入混乱的局面,整个项目组之间缺乏有效沟通的载体;二是小任书写的代码不规范,没有按照标准的软件工程方法来书写,也缺乏注释,整个程序的可读性比较差,一段时间以后问题显得比较严重。一年后,公司不得已将小任所在的项目组解散,项目人员充实到其他部门中去,小任虽然还是公司的技术骨干,但是他只能自己来完成一些由个人能够完成的项目,主管领导经常需要检查他的代码,以提醒他在代码中加上注释。两年后,小任萌发了离开单位到深圳闯荡的想法,于是向领导提出要离开单位。小任原以为领导会竭力挽留,没有想到领导一口答应他的辞职请求。离开单位后,小任一时难以找到满意的工作,在社会飘荡了一年后,只好又硬着头皮回到了原单位,但是这个时候小任在单位的地位已经发生了非常大的变化,单位不再将小任作为业务骨干来培养。在经历了这么多以后,小任终于悟出一个道理:一个软件工程师,不仅是写写代码那么简单。从小任的经历我们可以看出IT行业技术变革发展快,人员升迁迅速,很多年轻人被委以重任,在行业中,像小任这样的人不在少数,虽然他们的技术很先进,但是他们的综合能力还有待于进一步提高。我国有很多精于编码的人,但在软件开发方面误区很大,很难形成有规模的软件开发力量和产品能力,不但比美国差距甚远,和一些亚洲国家相比也是颇有不如。这些问题不是在于中国程序员的智商和工作努力状况,也不是在于国家和民间对开发的投入程度,而是对技术,对程序开发,对项目设计方面的思想误区,这些误区,导致了软件行业的产品化能力不足,缺乏规模化和大型复用系统研发能力。有一些刚刚从学校毕业的学生,他们代码写的很漂亮,一些技术细节相当出众,也很有钻研精神,但是他们被一些错误的认识和观点左右,缺乏对系统,对程序的整体理解能力,对于这样的人,我们称他们为一个合格的codingfans,而不是程序员。现实情况是,很多像小任这样的codingfans在拿着吓人的工资,做着吓人的项目,项目的结局通常也很吓人。当今软件的发展,已经不是哪个单枪匹马能够设计大型软件的时代,更多的情况是需要很多人一起来完成某个项目。要做一个真正合格的程序员,至少应该具有以下素质。1.团队精神和协作能力。这是程序员应该具备的最基本的,也是最重要的安身立命之本。在第九章我们论述过团队的重要性,这里再次指出,由于现在项目变得非常巨大,即使再优秀的人,也不可能独立完成一个项目的开发,必须依靠团队的合作来完成。团队精神和协作能力是现在IT行业最

13.2 培训的种类与选择 13.2.1 利用培训补足基础 参考资料:基础的重要性 小任是信通信息技术公司的骨干技术人员,在公司从事软件开发工作,由于小任在参加 工作前曾经接受过最新程序设计技术的培训,小任的技术在公司中非常先进,公司领导决定 采用小任的技术来设计公司的软件。年仅 23 岁的小任被任命为一个应用项目开发组的负责 人,项目组虽然只有不到五个人,但是也是一个完整的项目小组。项目刚开始的时候,由于 小任单身年轻,工作努力,经常加班到深夜,整个项目进展比较顺利。 时间不久,小任年轻的一面就显示出来,作为一个程序设计人员,小任非常讨厌书写项 目文档,虽然自己在开发软件方面没有问题,但是整个项目文档并不健全,一段时间以后, 项目开始陷入混乱的局面,整个项目组之间缺乏有效沟通的载体;二是小任书写的代码不规 范,没有按照标准的软件工程方法来书写,也缺乏注释,整个程序的可读性比较差,一段时 间以后问题显得比较严重。 一年后,公司不得已将小任所在的项目组解散,项目人员充实到其他部门中去,小任虽 然还是公司的技术骨干,但是他只能自己来完成一些由个人能够完成的项目,主管领导经常 需要检查他的代码,以提醒他在代码中加上注释。 两年后,小任萌发了离开单位到深圳闯荡的想法,于是向领导提出要离开单位。小任原 以为领导会竭力挽留,没有想到领导一口答应他的辞职请求。离开单位后,小任一时难以找 到满意的工作,在社会飘荡了一年后,只好又硬着头皮回到了原单位,但是这个时候小任在 单位的地位已经发生了非常大的变化,单位不再将小任作为业务骨干来培养。在经历了这么 多以后,小任终于悟出一个道理:一个软件工程师,不仅是写写代码那么简单。 从小任的经历我们可以看出 IT 行业技术变革发展快,人员升迁迅速,很多年轻人被委 以重任,在行业中,像小任这样的人不在少数,虽然他们的技术很先进,但是他们的综合能 力还有待于进一步提高。 我国有很多精于编码的人,但在软件开发方面误区很大,很难形成有规模的软件开发力 量和产品能力,不但比美国差距甚远,和一些亚洲国家相比也是颇有不如。这些问题不是在 于中国程序员的智商和工作努力状况,也不是在于国家和民间对开发的投入程度,而是对技 术,对程序开发,对项目设计方面的思想误区,这些误区,导致了软件行业的产品化能力不 足,缺乏规模化和大型复用系统研发能力。 有一些刚刚从学校毕业的学生,他们代码写的很漂亮,一些技术细节相当出众,也很有 钻研精神,但是他们被一些错误的认识和观点左右,缺乏对系统,对程序的整体理解能力, 对于这样的人,我们称他们为一个合格的 coding fans,而不是程序员。现实情况是,很多像 小任这样的 coding fans 在拿着吓人的工资,做着吓人的项目,项目的结局通常也很吓人。 当今软件的发展,已经不是哪个单枪匹马能够设计大型软件的时代,更多的情况是需要很多 人一起来完成某个项目。要做一个真正合格的程序员,至少应该具有以下素质。 1.团队精神和协作能力。 这是程序员应该具备的最基本的,也是最重要的安身立命之本。在第九章我们论述过团 队的重要性,这里再次指出,由于现在项目变得非常巨大,即使再优秀的人,也不可能独立 完成一个项目的开发,必须依靠团队的合作来完成。团队精神和协作能力是现在 IT 行业最

看重的能力,公司经常进行相关的培训,在学院教育中,大多数软件专业开始引进拓展训练来增强学生的团队协作能力。2.文档习惯。说高水平程序员从来不写文档的肯定是没有开发经验的人,良好的文档是正规研发流程中非常重要的环节,作为代码程序员,30%的工作时间用来写技术文档是很正常的,而作为高级程序员和系统分析员,这个比例还要高很多。缺乏文档,一个软件系统就缺乏生命力,在未来的查错、升级以及模块复用时都会遇到极大的麻烦。3,规范化、标准化的代码编写习惯,一些外国知名软件公司对代码的变量命名、代码内注释格式甚至嵌套中行缩进的长度和函数间的空行数学都有明确规定,良好的编写习惯,不但有助于代码的移植和纠错,也有助于不同技术人员之间的协作。4.需求理解能力。程序员需要清楚一个模块的需求,很多人写程序往往只关注一个功能需求,他们把性能指标全部归结到硬件、操作系统和开发环境上,而忽视了本身代码的性能考虑。有人曾经放言说写一个广告交换程序很简单,这种人从来不知道在百万甚至千万数量级的访问情况下性能指标是如何实现的,对于这样的程序员,你给他深蓝那套系统,他也做不出太极链的并访能力。性能需求指标中,稳定性、并访支撑能力以及安全性都很重要,作为程序员需要评估该模块在系统运营中所处的环境、将要受到的负荷压力以及各种潜在的危险和恶意攻击的可能性。就这一点,一个成熟的程序员至少需要2到3年的项目研发和跟踪经验才有可能有心得。5.复用性、模块化思维能力。复用性设计、模块化思维就是要程序员在完成任何一个功能模块或函数的时候,要多想一些,不要局限在完成当前任务的简单思路上,想想看该模块是否可以脱离这个系统存在,是否可以通过简单的修改参数的方式在其他系统和应用环境下直接引用,这样就能极大避免重复性的开发工作。一些好的程序模块代码,即便是70年代写成的,掌到现在放到一些系统里作为功能模块都能运行的很好。6.测试习惯。对一些商业化正规化的开发而言,专职的测试工程师是不可少的,但是并不是说有了专职的测试工程师程序员就可以不进行自测:软件研发作为一项工程而言,一个很重要的特点就是问题发现的越早,解决的代价就越低,程序员在每段代码,每个子模块完成后进行认真测试,就可以尽量将一些潜在的问题最早的发现和解决,这样对整体系统建设的效率和可靠性就有了最大保证。7.学习和总结的能力。程序员是一个很容易被淘汰,很容易落伍的职业,因为一种技术可能仅仅在三两年内具有领先性,程序员如果想安身立命,就必须不断跟进新技术,学习新技能,具备以上全部素质的人,应当说是合格的程序员了,请注意以上各种素质都不是由IQ决定的,都是需要在工作中根据实际经验获取。具有一定实际工作经验以后,再次接受培训就更有的放失,能够更有效的提高自己。13.2.2高级要求作为高级程序员,或更高级的系统分析员,是对一个程序项目的设计者而言,除了应该具备上述全部素质之外,还需要具备以下素质:1.需求分析能力

看重的能力,公司经常进行相关的培训,在学院教育中,大多数软件专业开始引进拓展训练, 来增强学生的团队协作能力。 2.文档习惯。 说高水平程序员从来不写文档的肯定是没有开发经验的人,良好的文档是正规研发流程 中非常重要的环节,作为代码程序员,30%的工作时间用来写技术文档是很正常的,而作为 高级程序员和系统分析员,这个比例还要高很多。缺乏文档,一个软件系统就缺乏生命力, 在未来的查错、升级以及模块复用时都会遇到极大的麻烦。 3,规范化、标准化的代码编写习惯, 一些外国知名软件公司对代码的变量命名、代码内注释格式甚至嵌套中行缩进的长度和 函数间的空行数字都有明确规定,良好的编写习惯,不但有助于代码的移植和纠错,也有助 于不同技术人员之间的协作。 4.需求理解能力。 程序员需要清楚一个模块的需求,很多人写程序往往只关注一个功能需求,他们把性能 指标全部归结到硬件、操作系统和开发环境上,而忽视了本身代码的性能考虑。有人曾经放 言说写一个广告交换程序很简单,这种人从来不知道在百万甚至千万数量级的访问情况下性 能指标是如何实现的,对于这样的程序员,你给他深蓝那套系统,他也做不出太极链的并访 能力。性能需求指标中,稳定性、并访支撑能力以及安全性都很重要,作为程序员需要评估 该模块在系统运营中所处的环境、将要受到的负荷压力以及各种潜在的危险和恶意攻击的可 能性。就这一点,一个成熟的程序员至少需要 2 到 3 年的项目研发和跟踪经验才有可能有心 得。 5.复用性、模块化思维能力。 复用性设计、模块化思维就是要程序员在完成任何一个功能模块或函数的时候,要多想 一些,不要局限在完成当前任务的简单思路上,想想看该模块是否可以脱离这个系统存在, 是否可以通过简单的修改参数的方式在其他系统和应用环境下直接引用,这样就能极大避免 重复性的开发工作。一些好的程序模块代码,即便是 70 年代写成的,拿到现在放到一些系 统里作为功能模块都能运行的很好。 6.测试习惯。 对一些商业化正规化的开发而言,专职的测试工程师是不可少的,但是并不是说有了专 职的测试工程师程序员就可以不进行自测;软件研发作为一项工程而言,一个很重要的特点 就是问题发现的越早,解决的代价就越低,程序员在每段代码,每个子模块完成后进行认真 测试,就可以尽量将一些潜在的问题最早的发现和解决,这样对整体系统建设的效率和可靠 性就有了最大保证。 7.学习和总结的能力。 程序员是一个很容易被淘汰,很容易落伍的职业,因为一种技术可能仅仅在三两年内具 有领先性,程序员如果想安身立命,就必须不断跟进新技术,学习新技能。 具备以上全部素质的人,应当说是合格的程序员了,请注意以上各种素质都不是由 IQ 决定的,都是需要在工作中根据实际经验获取。具有一定实际工作经验以后,再次接受培训 就更有的放矢,能够更有效的提高自己。 13.2.2 高级要求 作为高级程序员,或更高级的系统分析员,是对一个程序项目的设计者而言,除了应该 具备上述全部素质之外,还需要具备以下素质: 1.需求分析能力

一般而言,进行研发任务,也许是客户提出需求,也许是市场和营销部门提出需求,对于项目组织者和规划者,必须能够清醒认识到这些需求的存在,在完成需求分析报告的时候适当的提出,同时要完整、清晰的体现到设计说明书里,以便于程序员编码时不会失去这些准则。2.项目设计方法和流程处理能力。程序设计者必须能够掌握不少于两至三种项目设计方法(比如自项向下的设计方法,比如快速原型法等),并能够根据项目需求和资源搭配来选择合适的设计方法进行项目整体设计。设计方法上选择不当,就会耽误研发周期,浪费研发资源,甚至影响研发效果。一个程序设计者还需要把很多功夫用在流程图的设计和处理上,他需要做数据流图以确立数据词典;他需要加工逻辑流图以形成整体的系统处理流程。一个流程有问题的系统,就算代码多漂亮,每个模块多精致,也不会成为一个好的系统。当然,做好流程分析并选择好项目设计方法,都需要在需求分析能力上具有足够的把握。3.复用设计和模块化分解能力。将一个大型的,错综复杂的应用系统分解成一些相对独立的,具有高度复用性的,并能仅仅依靠几个参数完成数据联系的模块组合,是作为高级程序员和系统分析员一项最重要的工作,合适的项目设计方法,清晰的流程图,是实现这一目标的重要保证。4.整体项目评估能力。作为系统设计人员,必须能够从全局出发,对项目自有整体认识,比如公司资源配置是否合理到位,比如工程进度安排是否能最大化体现效率义不至于无法按期完成。评估项目整体和各个模块的工作量,评估项目所需的资源,评估项目可能遇到的困难,都需要大量经验积累,换言之,这是一种不断总结才能达到的境界。5.团队组织管理能力。完成一个项目工程,需要团队齐心协力,作为项目设计者或研发主管,就应当有能力最大化发挥团队整体力量,技术管理由于其专业性质,不同于一般的人事管理,因为这里面涉及了一些技术性指标和因素。一个代码水平高的人,未必能成为一个合格的项目研发主管,这方面能力欠缺往往是容易被忽视的。综上可以看到,作为一个主管研发的负责人,一个项目设计者,所需要具备的素质和能力并不是程序代码编写能力,当然一般情况下,一个程序员通过不断总结提高达到了这种素质的时候,他所具有的代码编写能力也已经相当不简单了,但是请注意这里面的因果关系,一个高水平的项目设计者通常已经是代码编写相当优秀的人,但是并不是一个编写代码优秀的程序员就可以胜任项目设计工作,这里面存在的也不是智商和课本上的问题,而是在于一个程序员在积累经验、逐步提升的时候没有意识到应当思考哪方面的东西,没有有意识的就项目的组织和复用设计进行瑞摩,没有经常性的文档习惯和总结习惯,如果不改变这些,那么我们合格的项目设计者还是非常欠缺。因此,工作以后要继续接受培训,很多人参加工作以后,由于各种原因,就不愿意再回去学习,而国外一些机制,能够保障学习和工作交替进行,不断提高个人能力。随着国内经济模式向精细化转变发展,在学习中工作,在工作中学习,成为社会主流

一般而言,进行研发任务,也许是客户提出需求,也许是市场和营销部门提出需求,对 于项目组织者和规划者,必须能够清醒认识到这些需求的存在,在完成需求分析报告的时候 适当的提出,同时要完整、清晰的体现到设计说明书里,以便于程序员编码时不会失去这些 准则。 2.项目设计方法和流程处理能力。 程序设计者必须能够掌握不少于两至三种项目设计方法(比如自顶向下的设计方法,比 如快速原型法等),并能够根据项目需求和资源搭配来选择合适的设计方法进行项目整体设 计。设计方法上选择不当,就会耽误研发周期,浪费研发资源,甚至影响研发效果。 一个程序设计者还需要把很多功夫用在流程图的设计和处理上,他需要做数据流图以确 立数据词典;他需要加工逻辑流图以形成整体的系统处理流程。一个流程有问题的系统,就 算代码多漂亮,每个模块多精致,也不会成为一个好的系统。当然,做好流程分析并选择好 项目设计方法,都需要在需求分析能力上具有足够的把握。 3.复用设计和模块化分解能力。 将一个大型的,错综复杂的应用系统分解成一些相对独立的,具有高度复用性的,并能 仅仅依靠几个参数完成数据联系的模块组合,是作为高级程序员和系统分析员一项最重要的 工作,合适的项目设计方法,清晰的流程图,是实现这一目标的重要保证。 4.整体项目评估能力。 作为系统设计人员,必须能够从全局出发,对项目有整体认识,比如公司资源配置是否 合理到位,比如工程进度安排是否能最大化体现效率又不至于无法按期完成。评估项目整体 和各个模块的工作量,评估项目所需的资源,评估项目可能遇到的困难,都需要大量经验积 累,换言之,这是一种不断总结才能达到的境界。 5.团队组织管理能力。 完成一个项目工程,需要团队齐心协力,作为项目设计者或研发主管,就应当有能力最 大化发挥团队整体力量,技术管理由于其专业性质,不同于一般的人事管理,因为这里面涉 及了一些技术性指标和因素。一个代码水平高的人,未必能成为一个合格的项目研发主管, 这方面能力欠缺往往是容易被忽视的。 综上可以看到,作为一个主管研发的负责人,一个项目设计者,所需要具备的素质和能 力并不是程序代码编写能力,当然一般情况下,一个程序员通过不断总结提高达到了这种素 质的时候,他所具有的代码编写能力也已经相当不简单了,但是请注意这里面的因果关系, 一个高水平的项目设计者通常已经是代码编写相当优秀的人,但是并不是一个编写代码优秀 的程序员就可以胜任项目设计工作,这里面存在的也不是智商和课本上的问题,而是在于一 个程序员在积累经验、逐步提升的时候没有意识到应当思考哪方面的东西,没有有意识的就 项目的组织和复用设计进行揣摩,没有经常性的文档习惯和总结习惯,如果不改变这些,那 么我们合格的项目设计者还是非常欠缺。 因此,工作以后要继续接受培训,很多人参加工作以后,由于各种原因,就不愿意再回 去学习,而国外一些机制,能够保障学习和工作交替进行,不断提高个人能力。随着国内经 济模式向精细化转变发展,在学习中工作,在工作中学习,成为社会主流

已到末页,全文结束
刷新页面下载完整文档
VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
相关文档