1、程序员岗前培训手册北京应用技术大学目录(CONTENTS)前言面试是双向选取软件公司研发技术岗位扫描与岗位职责如何迅速融入技术团队(程序员入岗注意事项)先进程序员应具备品质与习惯谈谈学习办法外包软件、商品软件、项目软件简介前言 同窗们通过在北京应用技术大学两年学习,都满怀憧憬地向往程序人生开始,也对即将走上工作岗位和环境布满了期待,期待通过程序来证明自我价值。程序员,相信在诸多同窗眼中是一种有趣、特别、高薪、布满艰辛而又非常神秘职业,由于手下那一行行跳动代码不但实现了生动功能,同步也表达着程序员对人生理解和追求。当程序员实现了一种独到创意之后准备熄灯休息时,天已蒙蒙亮.当程序员看着顾客纯熟地操
2、作自己软件解决一种个复杂事件时,脸上那写满成就微笑.确在这个行业里浮现了太多英雄人物和公司,而每一种英雄事迹和成就都足以让咱们热血沸腾、摩拳擦掌 在同窗们即将步入程序员岗位之前,需要对软件研发有关职位职责范畴与工作特点有所理解,掌握某些入职基本技巧和注意事项,检查自己技能与行为习惯,有放矢,提高面试和就业成功率。入职后能尽快地融入到技术团队,近而迅速成长,成为团队技术骨干和最先进职工。在工作中养成积极而良好行为习惯和职业素养,为自己职业发展创造一种良好开端。 本手册从面试、技术岗位职责、如何迅速融入技术团队、先进程序员品质与习惯、学习办法、外包软件/商业软件/项目软件简介等几种方面阐述了同窗们
3、在踏入工作岗位之前应当理解知识和注意事项。面试是双向选取普通同窗都会误以为面试时应聘者处在弱势,要接受招聘者挑选,从而从心理上承受很大压力,而影响自己正常发挥和才干展示。其实大可不必,由于面试是双向,选人和择业是平等。况且当前市面上用人单位或招聘岗位也是良莠不齐,甚至尚有某些骗子公司,这就规定同窗们在应聘时擦亮眼睛,注意辨别。固然大多数公司都是良性,她们要么是已具规模,各部门及岗位功能分工很明确,她们会依照业务发展或作为人才储备而有针对性招聘有关技术人员,而有公司也许是刚刚成立,业务与核心技术尚未形成,她们需要招聘到能为她们提供解决方案或创意技术人员,因此对于这些类型公司,她们对人才渴求也都不
4、亚于同窗们对工作岗位渴求,若是聘到一种先进技术人员对业务或项目推动将会使公司获得更大利益,或者使公司发展少走弯路甚至能变化一种公司命运。相反,如果招不到适当人才或者使用一种较差技术人才,不但不能推动项目进展,还要耗费几种月培养时间和费用,甚至阻碍业务开拓甚至项目搁浅。因此当同窗们想得到一种工作岗位同步,也要看到公司更需要一种先进员工,两者是平等。在面试时,同窗们在一种非常平和心态下,充分发挥,尽量地展示自己已经掌握技能,展示学习能力和发展潜能;另一方面也要尽量地提前理解公司背景和业务以及应聘岗位职能,从而加以辨别和选取。一旦本次面试不能成功,表白要么岗位不适合你,要么你不适合岗位,或者由于你本
5、次体现不佳,这都是很正常,一定不要有挫败感,要及时总结面试时体现方式以及沟通技巧,若感觉自己确可以胜任该岗位,只是由于自己临场发挥不佳而没有展示出自己实际水平,也可及时和招聘公司联系,经询问确认对方没有找到适当人选状况下,表白诚意,祈求复试机会。总之,若本次失败,一定不要影响下一次面试,要积极总结,为一下次面试作准备。正常运营公司因业务不断发展,人才需要不断更新、补充和储备,因此她们始终都需要人才,况且公司每次组织招聘都会耗费一大笔费用,也但愿可以找到适当人才,因此公司面试时普通不会出太吊钻问题来为难你,同窗们也不要过度紧张。另一方面,同窗们在坚信“天生我才必有用”同步,也要对的看待当前就业形
6、势,对第一份工作也不要过于抱负化,要摆正心态,坚持从基层做起,先就业再择业,职场上“骑驴找马”也未必不是一种现实理性选取。总之,面试是双向性,是招聘单位与同窗们互相展示、互相结识、互相挑选一次沟通过程。同窗们 在求职过程中,要对的看待面试,放下思想包袱,充分注重,充分准备,从容应对。软件公司研发技术岗位扫描与岗位职责普通中小型软件公司设立技术岗位有:研发总监、项目经理、需求分析人员、系统架构与分析人员、数据库设计人员、程序员、项目助理与文档专人、测试人员、技术支持(售前/售后)、美工或网站前台人员等,这些职位工作联系非常密切,依照公司规模大小,以上职位可由一人或多人兼任,例如一种小型软件公司也
7、许只有一种人完毕软件总体设计、架构、编码、测试、文档等工作。这些岗位职责范畴大体是:研发总监:全面负责研发及技术部门整体工作。项目经理:在整个项目开发过程中组织项目所需各项资源,对项目范畴、项目质量、项目时间以及项目成本进行管理与控制。依照项目范畴、质量、时间与成本综合因素考虑,进行项目总体规划与阶段筹划,保证项目组目的明确且理解一致;在项目生命周期各个阶段,跟踪、检查项目构成员工作质量;保证项目在预算成本范畴内按规定质量和进度达到项目目的。需求分析人员:项当前期与客户方打交道最多人,对于客户来说,她可以代表整个项目组,对于项目构成员来说她意见可以代表客户方意见,项目组内所有与客户需求有关事情
8、必须得到她承认。她工作重要是:1、 在项当前期依照需求调研筹划对客户进行需求调研。2、 收集整顿客户需求,负责编写顾客需求阐明书。3、 代表项目组与顾客沟通与项目需求关于所有事项。4、 代表客户与项目构成员沟通项目需求关于所有事项。5、 负责顾客需求阐明书得到顾客承认与签字。6、 负责将完毕项目模块给客户做演示,并收集对完毕模块意见。7、 完毕需求变更阐明书,并得到顾客承认与签字。8、 协助项目组关于人员对需求进行理解。系统架构与分析人员:是项目总体设计师,组织构建新产品开发与集成、新技术体系等,也可以理解为技术总监。是在技术上对所有重要事情做出决定人。系统架构在整个软件开发过程中都起着非常重
9、要作用,并随着开发进程推动而其职责或关注点不断地变化。 1、在需求阶段,负责理解和管理非功能性系统需求,例如软件可维护性、性能、复用性、可靠性、有效性和可测试性等。审查客户和市场人员所提出需求,确认开发团队所提出设计;组织开发团队成员和开发过程定义;协助需求分析师完毕顾客需求阐明书、需求变更阐明书等。2、在设计阶段,负责对整个软件架构、核心模块、接口设计。对系统进行分析与建模,完毕系统架构阐明书、系统概要设计阐明书、系统详细设计阐明书。3、编码阶段,成为程序员顾问,负责重点代码检查,并且经常性地要举办某些技术研讨会、技术培训班等;4、测试及实行阶段,随着软件开始测试、集成和交付,集成和测试支持
10、将成为工作重点;数据库设计人员:依照系统架构阐明书负责进行数据库选型与建模。由于数据库是整个系统运营核心,数据库设计好差直接影响着整个系统开发效率和系统运营优劣。她是项目组中唯一能对数据库进行直接操作人,对数据库构造每一次改动都要得到她承认。重要职责:1、依照数据库建模成果,绘制数据库关系图。进行数据库建库以及数据库进行初始化操作。2、对数据库进行维护、备份、恢复、同步。3、负责客户数据导入导出。4、依照系统详细设计阐明书编写相应视图、存储过程、函数、触发器等。5、对项目组其他成员进行SQL方面指引。6、为测试建立有关测试数据。程序员:负责系统最后代码实现。重要职责:1、参加需求调研、项目可行
11、性分析、技术可行性分析和需求分析。2、协助完毕系统详细设计阐明书,并依照系统详细设计阐明书进行编码实现;3、对自己代码进行复查,并进行简朴测试。4、撰写有关技术实现或功能描述文档。5、负责向项目经理及时反馈软件开发中状况,并依照实际状况提出改进建议。6、参加软件开发和维护过程中重大技术问题解决。 项目助理或文档专人:协助项目经理在项目寻常管理和数据分析方面工作,进行与项目关于协调工作,编写项目进度报表,参加组织项目协调会,组织项目非技术文档编写、传递与归档,以及与市场人员或其她部门寻常沟通,协助项目资源协调工作。跟踪项目进展。项目或软件包打包、发布以及授权锁制作等工作。测试员:负责实行软件测试
12、。测试是整个项目系统中非常重要一种环节,项目质量保证,她重要工作就是找到项目中存在不合理、不合格部份,并规定项目其他成员按其给定项目质量完毕项目。保证了系统功能实现与否与功能设计和需求定义一致。重要职责:1、依照软件项目规范编写测试筹划,设计测试数据和测试用例。2、采用适当测试办法实行软件测试,形成各阶段测试报告,并对软件问题进行跟踪分析和反馈,推动测试中发现问题及时合理地解决。3、完毕对产品集成测试与系统测试,对产品功能、性能及其她方面测试负责。4、协助程序员进行软件代码检查,提出对软件进一步改进规定。技术支持人员:重要负责软件产品或项目在技术层面上与客户交流,依照工作重点分为售前支持和售后
13、支持。l 售前支持:是销售人员和开发人员桥梁,协调销售人员、顾客、开发人员关系,制作产品功能演示PPT文档或多媒体资料,将公司技术实力向顾客展示,技术标书撰写,定期采集、分析和整顿顾客需求,配合销售制定产品销售方略,从技术上支持市场销售业务等。l 售后支持:负责编写顾客手册、操作手册,制作系统操作视频教程等多媒体培训教材;负责系统实行(涉及系统安装、顾客培训、系统试运营等),协助顾客进行“顾客确认测试”和编写确认测试报告;通过电话、网络、及时通讯等各种渠道解答顾客在使用中问题,提供售后服务。收集、整顿顾客建议等。美工或网站前台人员:负责完毕软件设计师安排功能界面设计和简朴网站设计。1、负责对项
14、目整体色彩调配。2、向系统分析师提出项目美化建议。3、为BS 项目提供一套或几套CSS样式表及HTML构造表4、为CS项目提供符合项目内容静态、动态图片。5、并为程序员提供界面指引。如何迅速融入技术团队程序员入岗注意事项 同窗们刚刚结束学校集体生活,面对新工作环境、新领导、新同事、新任务、新制度、新生活节奏,诸多变化需要你尽快适应,诸多事情需要你独挡一面,而又有许多事情需要你与同事通力协作来完毕如下是新程序员入职后尽快融入技术团队应注意事项:1、 认真学习公司发展背景与历程、主营业务以及规章制度。进入公司前也许对公司已有了某些理解,入职后,有关人力资源管理部门会组织培训,解读公司文化,简介公司
15、发展背景、重要职能部门以及重要业务特点,学习公司考勤、人事、办公等管理规定和规章制度。有些新入职程序员或技术人员,以为这些不含技术成分没有必要花精力去学习,其实这种结识是错误,公司文化及各种制度是整个公司灵魂,是公司正常经营活动保障和员工行为一种商定,新职工只有对公司发展背景和经营状态有充分理解,接受公司文化,高度认同公司核心价值观,严格遵守各种规章制度,才干自觉地规范自己行为习惯,在工作学习中才有积极性,遇到工作压力时也能坦然地接受,不会有抵触心理,从而能更快地推动自己工作。2、 积极学习业务知识、类库及既有程序资源,把握学习技术方向。程序员入职后,若有一种成熟开发团队,普通都会有一种老职工
16、来带领学习,这一阶段重要有三个方面学习任务,第一是公司业务知识,由于程序员只有对业务知识熟悉了,才干更好理解和把握功能需求,例如做通信方面软件,你要学习某些通信行业知识;若做财务软件,你要理解某些财务知识。第二,既有类库是公司开发部门积累程序资源,学习和使用它可以规范统一程序风格,提高开发速度,掌握并能使用这些资源,可使你尽快与老职工有程序上共同语言。第三,学习并加强在此领域编程技能,由于在学校学习是通用知识,掌握是一种知识导入与学习办法,那么在公司应用方面也许规定你某一种方面很精通,例如网站前台、数据库、图形解决、多媒体、网络编程等某些方面技能需要强化。案例:小张(男)和小胡(女)是同一种大
17、学毕业应届生,在4月份同步进入公司做技术支持,当时两人工资都是每月1500元,而两年后今天小胡已是研发部一种程序员,工资是每月4300元,并且是公司重点培养对象之一。小张当前还是在做技术支持,工资是每月2600元,她们两人可以说是起点相似,但两年发展却让她们有了明显差距,小胡比较爱学习,工作非常踏实,对业务知识也掌握得非常精通,并且在做技术支持工作时候,业余时间学习编程,由于做技术支持与程序员交流比较多,小胡抓住了这个学习编程机会,但她从不在公司上班时间学习程序,在做技术支持工作时,她上班时间钻研业务知识、软件需求、学习程序实现思想,业余时间练习代码。在做技术支持一年后,她通过了研发部考核,进
18、入研发部开始做编程。而小张与她对比就不同了,她只是做好本质工作,没有潜心学习,对业务知识、软件知识只是普通理解,工作上很业绩平平,总体上不出众也没出大差错。工资涨得固然也慢,小张和小胡起点相似,但小胡比较积极学习,很明显她们两个在职场上差距就拉开了。3、 展示进步,创新思考,体现价值。入职之初,通过积极学习与适应,应当说进步是非常快,要及时总结,并把工作学习总结和进步限度及时向主管报告(口头、邮件、书面),阶段工作总结应涉及如下几点:已经完毕工作、技术上进步、业务上进步、从学生到职工心态上转变、八小时之外学习状态等。这样一方面可以疏理一下知识构造,把握自己学习阶段,一方面让主管依照你知识构造和
19、技能状态有针对性地给你分派适当任务。此外在工作当中也要注重思考,对工作进行恰当改进,并提出改进意见,这样能更快是体现出你进步和工作价值。4、 积极参加团队活动,适应团队文化,创造与团队成员和谐而积极协作氛围。能尽快适应团队文化,与同事和谐沟通是任何岗位都需要职业素质,只是在研发团队里要显得尤为重要,由于研发工作重要与特殊性,若在软件商品化和产品化开发阶段,不良沟通协作也许导致项目流产。此外,某些程序员写程序久了都会很注重与机器或代码交流,有不容易与新职工交流,有她们因有大量工作任务而顾不上,有是由于她们有太多思想与创意,和一种新来职工没有共同语言,有是人为设立“技术壁垒”(因紧张新职工威胁到自
20、己岗位,而不肯传授某些知识)。那么新职工一定不要由于她们没有积极与你交流而放弃交流,或者以为自己被冷落而与逐渐远离团队,而是要在恰当时间与她们积极交流,积极向她们请教,积极参加团队集体活动,创造与同事交流合伙良好氛围。要尽量地为团队多做贡献,不要由于多干某些工作或多加一点班,就有不良情绪,从而影响正常沟通与交流。此外,在研发团队里沟通与协作,还体当前代码上,自己设计功能模块与否能为别人提供良好阐明和程序接口。总之,与同事和谐高兴协作,尽快融入研发团队,是新入职程序员技术迅速进步和稳定职位重要因素。5、 对的面对工作压力,学会释放“厌职”情绪。许多同窗进入一种新工作环境,面对是诸多新事物,感觉工
21、作节奏太快,工作压力太大。其实新职工有工作压力也是正常,从职业生涯发展角度来看,这种工作压力是非常必要。同窗们在进入公司后,要敢于接受工作压力,把这种压力作为进入初职锻炼良好机会,树立良好心态,不要逃避,更不要产生“厌职”情绪,公司还正在培养你,你却选取退缩而自炒“鱿鱼”。工作中要学会积极与同窗沟通,注意工作办法,释放和减轻压力。其实我发现某些新职工说工作压力大,做事不顺心,仔细分析之后可以发现她们感觉工作压力大与“不合群”有很大关系。有些同窗到公司后,一坐下就是八小时,语言和行为与同事格格不入导致她不敢言语不敢行动,下班时间到了,其实她不是工作学习自身累,她们感到更累是“心”。这些新职工在工
22、作中总是但愿别人积极接近自己,自己却不会积极与人交流,时间长了,同事觉得她“不爱说话”,也就逐渐放弃了与她交往,这时她又会感到被排挤,感到孤单,心理压力就会增大。此外技术上单打独斗,不能运用别人资源,因而完毕相似工作,付出努力和压力就要比其她同事大得多。因此新职工在入职之初,一定要对的看待工作上正常工作压力,学会与团队成员和谐相处,创造一种“如鱼得水”工作氛围,那么真正技术上压力都不会成为问题。如果公司还没有成熟开发团队,需要你一种人承担开发项目,着手组建开发团队,那么就规定你充分一切时间,运用网络资源,有技术难点及时到网络上谋求协助,同步与有关部门人员密切合伙,保持动态及时沟通,及时报告工作
23、进度,争取尽快拟出解决方案或产品。先进程序员应具备品质与习惯l 善于理解与把握需求 程序员劳动成果就是满足需求程序,那么在动手写代码之前,只有完整地理解一种模块需求才干做出好程序,先进程序员在分析需求基本上,应当能抓住问题核心技术,从而可以建立适当数据模型,尽量在代码中少走“弯路”。l 善于学习与总结固然善于学习,是对任何行业任何职业最主线规定,对于程序员,这种规定就更加高了。其实研发部门招聘程序员,其实并不一定注重你当前能做什么,而更注重是你学习能力、你编程潜力,由于程序员是很容易被裁减,很容易落伍职业,一种技术也许仅仅在三两年内具备领先性,若你不能跟进新技术,不学习新技能,那么不断浮现新技
24、术会使你显得非常笨拙。善于总结,也是学习能力一种体现,每次完毕一种研发任务,完毕一段代码,都应当有目跟踪该程序应用状况和顾客反馈,随时总结,找到自己局限性,这样逐渐提高,才干成长起来。 l 规范化编码习惯养成良好编码习惯,例如:变量命名清晰,语句嵌套明确,函数具备独立功能,恰当注释等等,由于这些不但有助于代码移植和纠错,也有助于不同人员之间协作。l 良好文档习惯良好文档是正规研发流程中非常重要环节,作为代码程序员,30工作时间写技术文档是很正常,而作为高档程序员和系统分析员,这个比例还要高诸多。缺少文档,一种软件系统就缺少生命力,在将来查错,升级以及模块复用时就都会遇到极大麻烦。l 代码复用性
25、,模块化思维能力复用性设计,模块化思维就是要程序员在完毕任何一种功能模块或函数时候,要多想某些,不要局限在完毕当前任务简朴思路上,想想看该模块与否可以脱离这个系统存在,与否可以通过简朴修改参数方式在其她系统和应用环境下直接引用,这样就能极大避免重复性开发工作,如果一种软件研发单位和工作组可以在每一次研发过程中都考虑到这些问题,那么程序员就不会在重复性工作中耽误太多时间,就会有更多时间和精力投入到创新代码工作中去。l 团队精神与沟通协作能力这是程序员应当具备最基本,也是最重要安身立命之本。软件或项目各模块功能需求理解精确,一种功能实现修定,与否会影响其她模块等,没有充分及时协作对一种项目来说几乎
26、是不可想象。我做了几年开发,感觉沟通真太重要了,其实软件研发过程中最重要不是技术问题,而是管理中沟通问题,例如初级程序员或许是碍于面子或其她因素,不懂问题也不想问,总是把问题掖着藏着,而高档程序员又不理解初级程序员开发任务总是完不成,其实也许是高档程序员不理解初级程序员真正困难,或者没有把要实现逻辑和思路解说清晰。合伙起来总会有某些不透彻,要么一种问题讨论多次依然是问题没有成果,要么是有些问题主线不反映,人们都掖着藏着,报喜不报忧,待到问题暴露已无法挽回,严重阻碍了项目进度。因此我最佳建议就是,高档程序员应当把问题讲到明白为止, 初级程序员应当把问题问到明白为止,并且不但仅是口头上讲明白、听明
27、白,还一定要形成文字,当前网络非常以便,公司都会有公司邮箱,把问题讨论过程通过mail形式记录保存,明确确认,这样障碍才干去除,项目才干得以顺利进展。案例1:陈某是北京某重点大学自动化专业毕业生,编程基本知识非常夯实,在学校学习期间也有许多代码积累,从技术上说应当是很有潜力,但她性格有点孤僻,不太容易与同事沟通,当时录取她时公司是看在她编程基本较好,觉得在研发部人们多带动她,应当会好些。进公司有两个多月了,一次在做某油田项目中负责其中一种小模块开发,在开发过程中我经常询问她有没什么问题,她每次均有些含糊地说没有。可当项目交付时候,发现她做某一功能与当时功能定义不符,客户就抓住这一点说与合同中需
28、求描述不符,由此延期支付28万余款,使该项目后期维护起来非常被动。而导致这一成果就是陈某在做程序时有问题自己绕过去了,没有及时与项目构成员交流,而独自采用了她熟悉一种解决办法。项目报告会刚结束,人事部门就告知陈某交接工作,到财务结算工资.文摘:下面这故事请按一下九层我始终和我同事们分享。是读者中一篇文章:这是全市最忙一部电梯,上下班高峰时期,和公共汽车差不多,人挨着人。上电梯前和公司人力资源总监相遇,说笑间,电梯来了,咱们随人群一拥而进。每个人转转身子,做一小小调节,找到了一种相对融洽关系。这时,一只胳膊从人逢中穿过来,出当前我鼻子前头。我扭头望去,一种小伙子隔着好几种人,伸手企图按电钮。她够
29、得很辛苦,好几种人刚刚站踏实身子不得不前挺后撅,发生了一阵小小骚动。那个人力资源总监问道:“你要去哪一层?”“九层。”有人抬起一种手指头立即帮她按好了。没有谢谢。下午在楼道里又遇到那个人力资源总监。“还记得早上电梯里那个要去九层小伙子吗?”她问我。“记得呀,是来应聘吧?”九层,人力资源部所在地。“没错,挺好小伙子,可我没要她。”“为什么?”“缺少合伙精神。”她露出一副专业HR神情,“开口祈求合法协助对她来说是件很困难事情,得到协助也不懂得感激。这种人很难让别人与她合伙。”我点头称是。如果那个小伙子坦然而自信地说一句“请按一下九层”,成果会如何呢?人们不但不会反感她打扰,并且协助她人还会心生助人
30、高兴,最后她也能得到想要工作。这个故事表白,良好沟通不但仅体当前礼貌地说声“请”、“谢谢”,而是一种职工可以创造高兴、高效、和谐工作氛围素质和习惯。l 时刻修定自己结识和行为与公司核心价值观(短期目的、长期目的)保持一致公司或研发团队在什么时段做什么样项目,或者依照项目进度筹划,在什么时间做什么功能模块,作为程序员要高度地与这些目的保持一致,不要在核心时刻“掉链子”,这是最重要。案例: 小张是公司里转正不久程序员,很聪颖,对新技术接受不久,缺陷就是非常贪玩,对项目组事缺少积极性和责任心,平时工作中主管已经提示过她多次要注意工作责任心,但她都不太放在心上,对事依然是敷衍。一次在做上海铁通项目中,
31、小张负责项目中一种模块,当软件架构出来后来,需要出差上海为客户现场演示和进一步确认需求,由于合同还没有正式签下来,因此此行技术交流对公司能不能签下这个项目至关重要,公司派由我和小张在内项目组4人出差上海,临行前咱们多次开会研究方案,保证拿下这个项目,下午到了上海之后约好第二天上午与客户会面,合法人们为第二天交流捏一把汗,积极准备时候,小张却说是第一次到上海,规定先去外滩看夜景,在得到项目组否定之后,小张竟一种人偷偷到外滩看夜景至到深夜才回到宾馆。第二天技术交流会上,小张负责模块问题最多,虽然最后整个项目交流还算成功,公司总算签下了这个项目,但小张也被辞退了。因素很简朴,小张始终没有把公司事放在
32、心上,项目组出差第一目的是与客户交流好,拿下项目,而小张出差上海第一目的是看一下外滩。因此象小张这样技术上不论有多么出众,但总在公司核心时刻“掉链子”,被公司辞退也是早晚事。就在写此案例前几天,在地铁上我偶遇小张,谈话中得知她被辞退后半年内又经历了一家公司。而此刻她又在匆匆地找工作。谈谈学习办法说起学习办法,其实每个人均有自己学习办法,也许这种办法对我来说有用,但不见得就对所有人有用。因此,不要盲目跟着别人学习办法学习,要思考属于自己学习办法。但如下几种原则是要遵守:l 坚持学习。一方面要有毅力,对编程狂热也可以在一定限度上起到协助。学习编程应当说要经历好奇困难容易郁闷成就感困惑轻松几种阶段循
33、回,不论哪个阶段都需要每天学习,坚持每天都要进步,不能半途而废,培养一种坚持克服困难毅力。案例:记得开发团队里有一种基本不是太好程序员,刚入职两个多月,体现普通,有一天早上她眉飞色舞地在讲述昨天电视中一种情节,我听到后就说了一句:“你还好意思说你看电视?”。她立即明白了,就没说什么。从此她进步是可以说是突飞猛进,代码质量和工作效率明显上了一种台阶,对项目推动也是有目共睹。几种月后一次公司庆典上,她被评为“进步最快员工奖”,奖金3000元。奖后在她给我Mail中发现了这句话:“你说我看电视那句话变化了我学习状态.我当前是马桶上、公交车上都在看书或笔记。”l 坚持实践。当你学到了一种新技术或知识时
34、,多实践是巩固学习一种最佳最有效办法。这个实践不是照著书上例子做一遍,而是依照自己能力,给自己出题,然后去完毕它。只有这样,你才干发现自己局限性,同步又增长了编程经验。要成为合格程序员,光会写代码是远远不够,更重要是在实践中思考创新。实践多少决定着“高手”和普通程序员界线,高手们并不是天才,她们是在无数个日日夜夜中磨炼出来。成功能给咱们带来无比喜悦,但实践过程却是无比枯燥乏味。l 掌握编程思想。学一门语言,不能仅仅是语言,还要注重语言背后思想办法,获得提出问题,分析问题,解决问题能力,不是为编程而学习,由于编程语言和咱们寻常所说语言同样,寻常所说语言是一种思想表达,而编程语言是一种功能实现。要
35、学习它是如何来解决某一问题,为什么要这样去做,她总是要符合客观事实,存在某种逻辑,数据组织,信息传递,然后看该怎么样用编程语言来表达自己想法。l 多问、多总结、多记笔记。“三人行必有我师”,也许在一次和别人不经意谈话中,就可以迸出灵感火花。知名互换苹果理论说是:“你有一种苹果,我有一种苹果,当咱们互相互换苹果后,咱们依然互得一种苹果;你有一种想法,我有一种想法,当咱们互相互换想法,咱们则互得两个想法”。遇到问题,上网查看某些技术论坛,看看别人对同一问题看法,会给你很大启发。在这个网络时代,资料处处均有,无论什么先进技术,你可以问身边高手,问网上同仁,只要查到资料,快学上几天慢一两个月也能学会,
36、学会后总结出技术要点记下来,可写在本子上也可写在Blog上,编程技能提高靠是代码积累,把所有自己代码保存起来,并附有恰当笔记,这样,到用届时才干信手拈来,才干获得踏踏实实进步。因此当前已没有写不出程序了,写不出不是由于不够聪颖,而是由于你没有耐心和找 BUG 细心。l 不钻“牛角尖”,只抓重要问题,某些不影响工作难点只要会用就行,这也体现了OOP思想,你只要懂得一种技术能完毕什么功能就可以,至于它是如何实现可暂时放一放,有时回过头来再看就不是什么难点了。当你遇到技术障碍时候,不妨暂时远离电脑,看看窗外风景,听听轻音乐,和朋友聊聊天。当重新开始工作时候,我会发现那些难题当前居然可以迎刃而解。外包
37、软件、商品软件、项目软件操作模式简介软件外包就是某些发达国家软件公司将她们某些非核心软件项目通过外包形式交给人力资源成本相对较低国家公司开发,以达到减少软件开发成本目。由于软件开发成本中70%是人力资源成本,因此,减少人力资源成本将有效地减少软件开发成本。软件外包已经成为发达国家软件公司减少成本一种重要手段。软件外包大幅度增长为人力资源成本相对较低印度和中华人民共和国带来了新发展机会。公司与公司之间外包就是:公司(A)为了专注核心竞争力业务和减少软件项目成本,将软件项目中所有或某些工作发包给提供公司(B)完毕;商业软件商业软件(又叫“商品软件”)就是由商业公司在调研大多数行业顾客需求上开发软件
38、,该软件基本上能满足这些顾客需求,并且它功能不会因个别或少数顾客规定而改动。随着互联网兴起和软件授权销售方式普及,商品软件销售可软件公司直销、代理销售、专业下载网站销售等各种渠道,软件授权允许销售模式往往是依照使用商品软件顾客数和安装该软件计算机数来收取允许费用。项目软件就是软件公司专门为某个客户开发软件系统,该系统由委托开发客户配合调研需求,“量体裁衣”,在核心阶段双方可派技术人员互相“渗入”,密切合伙,共同完毕系统开发和实行以及运营。项目软件与外包软件操作模式有相似性也有不同性。产品经理与项目经理简朴地说,产品经理是做对的事,其所领导产品与否符合市场需求,与否能给公司带来利润。而项目经理是把事情做对的,把事情作得完美,在时间,成本和资源约束条件下完毕目的。项目经理要对某个产品进行开发管理,负责开发进度,开发过程中协调等关于开发方面问题,她最大目的是时间第一、立项目的达到第一。并不会很尊重产品自身市场需求以及业务逻辑问题。而产品经理是横向管理,也就是说她将负责某个产品或者某个产品线从商业筹划市场竞争开发需求推广方案渠道方略等各个方面。产品经理一种产品线从头到尾重要参加人。