软件开发技术理念交流样本

软件开发技术理念交流样本
软件开发技术理念交流样本

第1章引言...................................................... 错误!未定义书签。第2章从事软件开发必须具备三个条件硬条件........................ 错误!未定义书签。

2.1 智力不宜太差.............................................. 错误!未定义书签。

2.2 要有良好的心态和学习习惯.................................. 错误!未定义书签。

2.3要善于总结和分析.......................................... 错误!未定义书签。第3章软件开发成长的五个阶段.................................... 错误!未定义书签。

3.1 面向技术点阶段............................................ 错误!未定义书签。

3.2 面向框架阶段.............................................. 错误!未定义书签。

3.3 面向团队阶段.............................................. 错误!未定义书签。

3.4 面向问题阶段.............................................. 错误!未定义书签。

3.5 面向发过程控制阶段........................................ 错误!未定义书签。

3.5.1 丰富的实践经验...................................... 错误!未定义书签。

3.5.2 成熟的思维模式...................................... 错误!未定义书签。

3.5.3 强劲的技术实力...................................... 错误!未定义书签。

3.5.4 有益的技术价值观.................................... 错误!未定义书签。第4章小结...................................................... 错误!未定义书签。

4.1 一个可执行的框架( 即以代码来表意的框架) .............. 错误!未定义书签。

4.2 一个合适的培训体系.................................... 错误!未定义书签。

4.3 一个自觉的跟踪指导体系................................ 错误!未定义书签。

4.4 正确的指导思想........................................ 错误!未定义书签。

第1章引言

从事软件开发已有些年头, 其间经历了各种各样的团队, 见识了不少开发的方式和现象, 这些经历或给人一些失败的教训或给人一些成功的经验, 历经数年的分析总结, 逐渐对”软件开发”的认识有了相当的深度, 平时总忙于各种锁事的处理, 没什么时间来整理, 现在越发感觉这些经验有必要整理出来, 因此特地根据原先写成的一些东西, 把它整理成文, 但愿这些教训或经验能给正从事软件开发的同行们一点启发, 或是当作一个故事看看。

作为软件开发的热爱者, 我是肯定软件开发的从业价值的, 至少在我看来这是一个不错的行业。但这个行业毕竟是一个重脑力劳动的行业, 如果没有良好的心态和良好的学习惯在这行立足是比较困难的。后面的章节将对成为一个优秀的软件开发者”需要的条件”及”经历的过程”作一些分析。

第2章从事软件开发必须具备三个条件硬条件

2.1 智力不宜太差

我不敢说做软件一定要有多聪明, 但如果反应力不太好, 我认为从事这行是比较困难的, 毕竟这是一个知识高速更新的行业, 需要不停的学习。如果接受、学习知识不能深入或是接受起来比较吃力是不太适合做软件开发的。

2.2 要有良好的心态和学习习惯

一般来说, 在绝大多公司做软件开发都要求有一定知识面, 一个人从学校出来时所学的知识远远不够。软件开发所需的知识表现为一个特点: 多熟悉或精通几个知识点是不足以体现出实力的提升, 往往需要日积月累掌握相当数量的知识点, 最后才能表现出实力。因此, 这就要求你必须不急不燥认真学习、实践相关的知识, 当这种积累达到一定程度的时候你就会明显感觉实力有所增强, 而这种实力增强的周期一般在半年到一年半, 如果一个人没有相当的毅力和良好的心态, 急于求成, 学习的时候东一下西一下往往不能见成效, 日子一久, 就会逐渐丧失对知识、对技术的追求热情, 最后不知不觉在竞争中被淘汰, 或是处于很平常的状态。因此良好的心态和学习习惯是从事软件开发的第二个必备条件。

2.3要善于总结和分析

软件开发所涉及的知识和方面是非常广泛的, 包括行业领域知识、技术知识、为人处

世等各方面的知识。软件行业的思想和门派也五花八门, 如果我们见风跟风见雨跟雨, 一般

是行不通的。其实无论软件开发涉及多广泛的知识, 但它始终跳不出一个基本出发点, 那就是: 它都是为了做好软件, 获得经济效益。因此, 在软件开发的过程中, 只要我们根据具体

情况, 认真分析问题、积累解决问题的有效手段, 一般来说在公司里生存都不会有太大的问题。这种积累越多, 你就会发现良性循环的效益越大。如果不分析总结你可能会陷入失败再

失败的恶性循环, 即使你参与了一个成功开发的案例, 往往也不知道之因此成功的原因, 到

哪天自己组织项目时还是感觉力不从心。对个人而言, 无论是成功或失败的案例都是很宝贵的, 失败的案例一般能提供给我们更多的教训, 让我们在以后的软件开发中遇到类似问题时

不再重蹈覆辙, 甚至你从这些失败中提炼出了很有价值的问题, 然后找到了很好的解决办法,

间接从失败中获得了经验。成功的案例直接就给你提供了很多有益的参考。因此成功和失败是辩证的, 关键是看我们如何吸收它所蕴含的财富。

第3章软件开发成长的五个阶段

从我本人及身边朋友的成长经历来看, 我认为成为一个优秀的软件开发人员, 应该要经历以下五个阶段的发展。否则, 即使能在竞争中左右逢源, 处处钻空子生存下去, 起码这种生存方式不是所有人都能做到的, 生存起来也不会很踏实。我不否认”天生一人必有一路”的说法, 但我认为既然你有意在软件开发这行做下去, 就应该认认真真的去做, 不要总想着拉帮结伙, 去获取人际斗争的渔人之利, 这对个人和这个行业都不好, 甚至对这个国家的软件发展都不利。我比较主张走实力之路, 因此以下的观点也基于这个立足点, 也就是说这些观点并不适合追求”非实力”型的人员, 但参考参考也无妨。

3.1 面向技术点阶段

我认为一个初入这个行业的程序员, 由于知识技能与见识的不足, 接受一些思想是比较

困难的, 如果这个时候过多

..的关注一些思想, 到头来可能会成为一个只能夸夸其谈而无实际用处的”吹水派”, 到哪里做砸哪里的项目。这个时候, 一般由于资历、经验的不足在团队中难以成为核心成员, 即使你能做到”思想层面”, 也没有机会去实践。因此这个阶段的程序员, 最好是踏踏实实把一些常见的技术点认真消化、深入理解、深入实践, 为以后的发展积累良好的基础。对技术点的积累, 你既要兼顾工作中的需要也要兼顾将来的发展, 既不能完全被所在的环境束缚于一隅, 也不能背离现实而一味追求知识面的扩张。你必须明白一个道理, 只有工作相对愉快的前提下你才能有更高的学习效率, 因此, 首先把”工作上需要的技能”解决的情况下, 才进行知识技能的扩张。

其次, 在这个阶段的程序员, 因为技能的不足, 一般会认为技能是最重要的, 而忽略对业务的理解。其实, 做好软件”技能”与”业务”都是相当重要的, 缺一不可。技术的强势有时能够降低对业务的理解要求, 同样, 业务的强势有时也能够降低对技术的要求, 有的时候很多东西本身就很难定性它是属于”业务问题”还是”技术问题”, 因此总是去争论”业务”与”技术”的优劣是比较狭隘的。虽然我深知”业务”的重要性, 但我个人认为, 这个

阶段的程序员”相对忽略

....”对业务的理解是能够理解的, 因为这个时候的程序员面临的最大问题一般技能不足。技能不解决, 即使熟悉了业务也一样做不好, 而且这个阶段的程序员,

我认为还达不到会花很多精力关注业务的程度, 因此对这个阶段的程序员, 一些经验丰富的主力程序员, 或是项目Leader有认真指导其工作的义务( 注意是义务而不是权力) 。但现实中的很多Leader或是经验丰富的程序员往往出于个人水平的不足, 无法给予相应的指导,

或是由于利益关系不愿意指导, 这就是现实。这个阶段的程序员要有面对这种矛盾的心理准备, 尽一切办法渡过这个难关, 尽量处理好”业务”与”技术”的关系, 能够经过加强对业

务的理解来”适当弥补

....”技术上的不足, 或是找到其它更好的方法来处理这些问题。其实, 我不是很主张这个阶段的程序把主要精力花在业务上, 还有一个更重要的因素, 这个因素”可能”甚至是”一定”会给公司的发展带来难以处理的”后遗症”, 这对公司长远的发展来说, 几乎是百害而无一益。但仅对个人的生存而言”重业务轻技术”未必不好, 特别是对那些”管理不善, 人员流动频繁的公司”或是”业务含金量很高的行业(如银行、保险等)”, 走”业务线路”也可能迎来好的”钱途”, 不过这种情况并不适合多数人。关于这个话题, 我暂时就不再这里阐述了。

另外, 知识技能的积累发展, 一般也有一个过程, 我把这个过程归纳为”想到(理论水平)能做到(可能水平)做到(极限实战水平)熟练做到(常态水平)”。对于很多常见的知识只有达到”常态水平”才有实际意义, 因此在学习、实践的过程中要注意体会、总结知识的应用特性, 把那些需要达到常态水平的知识提炼出来, 加强理解和运用, 力争达到熟练状态, 甚至”幻化自如”的境界。

这里, 我想提醒大家一句: 我们学习技术应站在表演者的角度去学习, 而不是观众的角

度去学习, 表演者是需要真枪实弹上阵的, 是要对后果负责的, 而观众只是听听, 看看, 说说, 当当评论家而矣, 一般不需要对后果承担责任。我个人认为这种意识相当重要, 它能让你对事情负责、对公司负责、对自己负责、对过去负责、对现在负责、对未来负责。我强调这种责任心, 绝不是简单的”文字游戏”, 而是切身体会到: 多角度、多方位去想想自己的责任与前途, 在进行学习的时候, 就会有更加明确的指导思想, 知道事情的轻重缓急, 更加合理的安排学习内容和进度。

最后, 关于学习方法, 我想强调一点: 俗话说”学海无涯”, 特别是软件开发这行, 也能够算得上”博大精深”, 我个人认为, 应该以”如何能更有效的掌握知识, 就如何去做”为主要指导思想, 这样才能加速知识的学习进度。比如说, 对你所在的环境而言, 你向别人请教, 能比你自己去研究更有效, 你就应该优先考虑向别人请教, 而不是放不下面子, 自己

相关主题
相关文档
最新文档