本期评测名单如下
华仔stm32 、step_pc 、HXM1539 、wj20180813
请以上几位大佬联系工作人员(微信:elecfans123)领取书籍进行评测,如在5个工作日内未联系,视为放弃本次试用评测资格!
自 1997 年起,Karl Wiegers 一直担任位于美国俄勒冈州欢乐谷的一家软件开发咨询和培训公司——Process Impact的首席顾问。
在此之前,他在柯达公司工作了 18 年,曾担任过摄影研究科学家、软件开发人员、软件经理及软件过程和质量改进领导。Karl 拥有伊利诺伊大学的有机化学博士学位。
Karl 共著 有12本书,其中包括蝉联近20年全球票选钟爱编程书榜首、各版稳居豆瓣高票9分的《软件开发珠玑》!
Karl 在软件开发领域可谓经验丰富的元老,下面就来看看他一路走来有哪些见解吧~~
就我所知,没人敢打包票说自己打造的软件是有史以来最好的。
人们都是一边学习更好的工作方式,一边使自己的软件变得更好,如此良性循环。
《软件开发珠玑》这本书就可为这些工作方式提供一些捷径。
亲自实践是最能让我们一路坚持的学习机制,当然也是最痛苦的一种学习方式。
每当我们尝试一种新的方法时,总免不了磕磕绊绊,或者干脆直接失败。
在这种学习方式下,我们必须遵循合理的学习曲线,同时还要接受由于学习、理解以及尝试新方法所带来的短期效率低下。不过幸运的是,我们有其他替代的学习机制。
很多人也许已经踩过相应的“坑”了, 他们会得出一些经验以及奇技淫巧,我们可以通过学习这些内容来使我们的学习曲线变得平缓。
《软件开发珠玑》这本书就是一个软件工程和项目管理的珠玑藏馆——由我的个人经验与平日从其他人身上挖掘到的见解组成。
当然,你肯定会有自己的一些经验与教训,也不一定百分百同意书中介绍的内容。这自然是极好的,毕竟每个人的经历都独一无二。但我仍要说,本书中的内容都是我在我的软件开发生涯中探寻到的珍宝。
我的视角
我先介绍一下我的背景,以说明我是如何积攒这些经验的。
1970 年,我在大学期间学习了我的第一堂计算机编程课,毫无疑问,学的是 FORTRAN 语言。
第二年夏天,我开始了我的第一份工作,将我大学的经济资助基金管理处的一些操作进行自动化——我一个人完成了它。
当时我修了两个编程学分,所以我应该算是一个软件工程师了吧。
虽然我的背景有限,但项目出乎意料的成功。
后来我又上了两门与编程相关的课程,不过也就仅此而已了。
我其他的关于软件工程的知识都是我自己从图书、培训课、实践以及同事那里习得的。
这种野路子出身的软件工程师在当时并不少见,我们以不同背景汇聚到一起,缺乏正规的计算机相关教育。
早些时候,我在各种软件相关的工作上花了大量时间 :需求开发、应用设计、用户界面设计、编程、测试、项目管理、撰写文档、质量工程及过程改进。
一路上,我也会走一些旁门左道,例如获得了一个有机化学博士学位。
我当时的博士论文中有三分之一的内容是分析实验数据和模拟化学反应的软件代码。
在我于伊士曼柯达公司(当时是一家非常成功的巨头公司)任职研究科学家的职业生涯早期,我使用计算机来设计和分析实验。
不过很快我就转岗成为一名全职的软件开发工程师,为柯达研究实验室编写应用程序,并且在短短几年内就开始管理一个小型的软件开发团队。
我发现我的科学背景与思维能引导我采取相较于他人更系统化的方式进行软件开发。
我于1983 年写下了我的第一篇关于软件的文章。从那时起至今,我已经写了 8 本书及许多文章,涉及该学科的许多方面。
自 1997 年以来,我作为一名独立顾问与培训师已在不同领域服务了将近 150 家公司与政府机构。
这些沟通经历让我观察到了在软件项目中那些有用的技术——当然包括一些在当时还不那么有用的技术。
我对软件开发与管理的许多见解都来自我自身的项目经验。有些是有益的,但也有些挺令人失望的。还有一些知识是从我的咨询客户中习得的,这些知识通常都来自一些进展不那么顺利的项目——毕竟没人会在一切顺利的时候找顾问。
我写这本书的目的是不让你们走我“踩坑”的老路、步我的后尘。
一位经验丰富的软件工程师在读了本书的教训清单后评论说 :“每一点都太扎心了,有些还不止扎过我一次。”
关于本书
本书介绍了关于软件开发和管理的 60 条经验教训 ,分为 6 个领域,每个领域占用 1 章的篇幅。
所有的这 60 条经验教训都会收录在附录中,以便大家参考。
我并没有想着给大家提供一份这 6 个领域大而全的经验集合。
每个领域都复杂至极, 没人能完全梳理明白。
而且我也没有过度涉及软件开发的其他领域,如编程、测试及配置管理等。
本书中介绍的经验教训的主题大多彼此独立,所以你可以按你自己喜欢的节奏与顺序进行阅读。
每一章都以相关的软件领域概述开始。然后通过几个“初体验”来让你在深入阅读本章内容之前复习一下你之前在该领域可能获得的经验。
比如帮助你回想一下你的团队之前在该领域遇到的一些问题、这些问题的影响,以及问题的根源。
每一条经验教训都会简要阐述一个核心观点,然后就该观点对团队可采取的措施进行讨论和建议。
当你读完每一章时,你都有可能发现其与你息息相关。
在本书中,“书本”图标表示一个故事,该故事可能来自我的个人经历,也可能来自与我的咨询客户的互动,又或者是同事 与我分享的经验。
所有的故事都是真实的,但为了保护隐私,里面人物的名字都不是真名。
除了“书本”图标,我还会在每条经验教训描述中的关键点边上标注一个“钥匙”图标。
若一条经验教训中交叉引用了其他的经验教训,那我会用一个由箭头表示引用的图标表示。
在每一章的末尾,我都会提供一节“下一步”的内容,它会帮助你梳理和计划如何将本章学到的内容应用于你的项目、团队或组织。
无论你目前开展的是何种项目,遵循哪种生命周期,也无论你正在做什么产品,都应该寻找一下每条检验教训背后的想法,思考一 下如何采取措施来让你的项目更成功。
相对于独自思考来说,跟你的同事一起完成“初体验”和“下一步”可能会更好。
我曾开过上百堂课,在每堂课的开始,我都会让大家分组讨论他们团队曾遇到过的与课程相关的问题,也就是“初体验”;在每堂课的最后,我又会让大家分组探讨解决这些问题的方法, 也就是“下一步”该怎么做,集思广益,举一反三。
我的学生们一致认为这种做法对于他们来说是很有用的。不同的利益相关者对项目不同方面的进展有不同的观点。
结合这些观点, 可以对他们目前的做法有一个全面的了解,并让他们有机会选择最佳实践方案。
我希望我的许多经验教训能与你产生共鸣,并且可以激励你在项目中尝试不同的东西。
当然,这个过程不可能一蹴而就。个人、团队及组织只能以一定的速度吸收这些经验并产生变化,以把项目完成好。
本书的最后一章“然后呢”,将帮助你规划出一条将经验教训转化为行动的道路。那一章还会提供一些关于实施变革优先级的建议,并帮你制订一个计划,让你在行动上能得到一定的提升。
你的收获
除非你已站在构建软件领域金字塔的顶端,否则我认为你还是有一些可以改进的空间的。
无论是作为个体从业者、项目团队或者是组织,我们都需要不断提高自己的能力 ;我们都需要尽量少“踩坑”。
2020 年,一位名叫 Zachary Minott 的初级开发者对他是如何胜过更有经验的开发者提出了一些深思熟虑的看法。
他坦然接受并承认自己的“无知”,对于那些他不知道的内容,系统地去学习,并付诸实践。
“如果说我有什么超能力的话,那就是快速学习并立即将我所学的东西应用到我正在做的事情上。”Zachary 如是说。
这就是他发现的可以掌握学科知识的关键因素。
我们都需要不断提高自己的能力;我们都需要尽量少“踩坑”。
也许你想过去参加一门课程,以此来学习新的技能或改进你目前的工作方式。然而在你上课的时候,工作内容可不会减少,它会堆积如山。
然后你就很容易忽视你所学到的东西,继续像往常一样工作——急于求成。
这只是为你求了个心安——至少我学了,但这只是掩耳盗铃,并不是真正的改进方法。
而我则采取了另一种方式——在每个项目中选两个领域,使其变得更好。
我会为学习对应内容预留出一些时间,并尝试将新的理解应用起来。并非每次都能成功,但我的方法使我逐渐积累了一些有用的技能。你也试一下吧。不要只是“阅读”这本书,而是要采取“下一步”行动。
请与你的同事一起尝试应用所学到的实践,然后为其制定一个预期目标,希望它能帮助你完成什么事。
接着列一个你想学习的其他知识的清单,然后继续学习,如此循环往复。
从长远来看,你会一直走在他人前面。
申请时间
2024年5月17日——2024年6月17日
活动参与方式
1、在本帖下方留言回帖说说你想要这本书的理由15字以上。
2、我们将从本帖留言中挑选4位幸运者赠送此书籍,共赠送4本。
3、请在收到书籍后2个星期内提交不少于2篇试读报告要求300字以上图文并茂。
4、试读报告发表在电子发烧友论坛>>社区活动专版标题名称必须包含 【《软件开发珠玑》阅读体验】+自拟标题
注意事项
1、活动期间如有作弊、灌水等违反电子发烧友论坛规则的行为一经发现将立即取消获奖资格
2、活动结束后获奖名单将在论坛公示请活动参与者尽量完善个人信息如管理员无法联系到选中的评测者则视为自动放弃。
3、申请人收货后14天内未完成书评无权将书籍出售或转赠给他人。如无法在收货后14天内提交书评请将书籍退回电子发烧友论坛运费自理。
4、如有问题请咨询工作人员(微信:elecfans123)。
5、电子发烧友对本活动具有最终解释权。