软件工程是一门技艺 原因:理解不足以系统化 技能:为交付可以工作的软件 重要的原因:了解不足以将它写成可供别人直接运用并得到相同成果的格式 大多数程序员低于平均水平 工艺:一套高度重视技能的训练和传统 包括:学会.发扬.继承一种技能 绝对顺从权威是危险的 师傅不是用于称呼自己的,标准模糊 软件是一门新手艺,缺乏师傅 培养他人,达到甚至超越自己才华→师傅的潜力…
软件技能的概念 本书目的:尝试为软件开发的新颖方法整理出一份宣言 原因:定义泛化 从敏捷开发运动中学到的经验:理解支撑规则的底层因素 软件技能的愿景:价值的提取&希望的表达 价值体系: 1.基于反馈作出改变 2.注重实效而非教条 3.分享 4.敢于实验.证明错误 5.掌控自己的命运 6.对个体而非群体的关注 7.包容性 8.以技能为中心 9.同那些使用你要学习的技能为目标的人共处 软件学徒:一种态度,不断寻找更好的方法 学徒期:责任感,渐进的过程 熟练工:新的关注:从业者之间的关系→提供指导.保…
恒久学习:整个职业生涯,反馈回路,了解弱点 1.提高带宽:多维度.高效获取知识 博客.关注twitter动态.订阅邮件列表.加入本地用户组.技术大会.联系书的作者.在线教程 从信息的海洋中回到实际软件制作 2.不断实践:可以犯错的环境实践 指导者布置练习并评价 通过路数实践 较短的周期性反馈,社区中公开练习 稍难的练习,每周重做,解决方法的改变 3.质脆玩具:当成功所得经验与失败一样多,追寻失败 个人wiki记录所学 4.使用源码:代码是最终裁决者 工具箱:阅读别人的代码.阅读最新代码.尝试重构…
空杯心态:放下对技能水平的自鸣得意 1.入门语言:学习一门语言,从实际问题入手→形成反馈回路 构建学习沙箱 利用实际代码,进行学习测试 学习一门语言:与精通该语言的专家一起工作,即找人指导 阅读他人的代码,分享经验 第一门语言:框架 深入挖掘语言&学习迥然不同的方法解决问题的语言 语言规范,通读他人写的标准库,打补丁,得到自己的通用法 2.白色腰带:学习进度降低,尊重与好奇的态度 用不同范式的语言来实现某种编程范式编写的程序 3.释放激情:热情与好奇心,需适应团队动态 思想的多样性→集体智慧 4…
安排你的课程:靠自己去寻求建议,安排课程 1.阅读列表:维护一张列表,更新未读和已读 保存在公共空间 得出模式.趋势.缺口,决定下一步,得到建议 参考书目形成优先级队列 从宽泛的读起,指导者推荐 能使你旅途走的更远的书→下一步该读的书 结合自身状况,合适的时间 2.坚持阅读:重视书籍,而非博客 重视学习的如饥似渴,保持阅读的动力 随身携带一本书 3.钻研名著:合作的人引用经典名著 投入过多忽视日常技能,名著和现代的平衡 4.深入挖掘:简化复杂&项目分工 深入挖掘一些工具.技术.技艺 好处:真正解…
准确的自我评估:不是超出平庸,而是度量能力,做到更好,谦卑 1.只求最差:学期曲线趋平 更好团队→提供帮助+准确的自我评估 列举团队并排序 2.找人指导:学习前头的人,寻找师傅 加入社区,寻找活跃的老师 3.同道中人:比指导者少心理负担 社区健康度:对新思想的反应 4.密切交往:结对编程 学习日常工作习惯等编码之外的东西 5.打扫地面:主动完成简单无趣的任务…
漫漫长路:自定路线,想象十年后 1.技重于艺:重视客户的交付价值 客户的解决方案与个人内在标准的平衡 2.持续动力:金钱.乐趣.名声 列出五项最重要的动力 3.培养激情:博客.钻研名著.加入学习小组.重定路线 清晰的界限保护激情 准备三个用于讨论的积极想法 4.自定路线:适合你的道路 职业目标→步骤具体化→第一步 协同与老板愿景一致的机会 不断重新评估路线 列举目前工作之后可从事的三项工作,之后再三项,之后再三项,共27项 5.使用头衔:公司的头衔仅娱乐 描述自己.为自己写头衔 6.坚守阵地:坚…
<软件开发者路线图:从学徒到高手>[PDF]下载链接: https://u253469.ctfile.com/fs/253469-231196346 图书简介 作为一名软件开发者,你在奋力推进自己的职业生涯吗?面对今天日新月异和不断拓展的技术,取得成功需要的不仅仅是技术专长.为了增强专业性,你还需要一些软技能以及高效的学习技能.本书的全部内容都是关于如何修炼这些技能的.两位作者DaveHoover和Adewale Oshineye给出了数十种行为模式,来帮你提高主要的技能.本书中的模式凝结了多…
近年来,企业级软件开发市场暗流汹涌,呈现出多种态势.软件开发团队规模趋于小型化,工作方式趋于快捷化,超过半数的软件开发者在工作中会选择使用易用的软件开发工具.随着流程管理越来越受到企业的重视,流程开发亦成为近年来炽手可热的软件开发项目之一. 然而,以往的流程项目通常采用开源流程平台或纯代码开发,表面上减少了费用,实际总体成本更高,一般存在项目周期不可控,项目质量不可控,交付产品扩展性差,后期维护难度大等问题.如今,H3 BPM作为优秀的流程开发工具,为软件开发者提供了优秀的解决方案. 易学易用,…
我是小林,一名普通的软件工程师,从事BPM(业务流程管理)软件开发工作.我没有几十年的技术底蕴,无法像大牛们一样高谈阔论,品评BPM开发之道:也不是资深的流程管理专家,能与大家分析流程管理的时弊.我只是一名有着一轮工作经历的软件开发者,更准确说是流程开发者,有那么几次特殊的经历,可以窥探一丝BPM开发的发展轨迹. 2004年,我初入软件行业.当时,国内BPM软件产品大多还处在概念阶段,它们基本都是非常专业的中间件级产品,复杂的状态机.活动.事件等概念充斥其中,只有高水平的开发实施人员才能驾驭.而…