《Apprenticeship Patterns》书摘+书评

Apprenticeship Patterns - Guidance for the Aspiring Software Craftsman Are you doing all you can to further your career as a software developer? With today's rapidly changing and ever-expanding technologies, being successful requires more than technical expertise. To grow professionally, you also need soft skills and effective learning techniques. Honing those skills is what this book is all about. Authors Dave Hoover and Adewale Oshineye have cataloged dozens of behavior patterns to help you perfect essential aspects of your craft. Compiled from years of research, many interviews, and feedback from O'Reilly's online forum, these patterns address difficult situations that programmers, administrators, and DBAs face every day. And it's not just about financial success. Apprenticeship Patterns also approaches software development as a means to personal fulfillment. Discover how this book can help you make the best of both your life and your career. 立即下载

书名:

Apprenticeship Patterns

Guidance for the Aspiring Software Craftsman

作者: David H. Hoover and Adewale Oshineye

Started reading on 2018/10/17; finished reading on 2018/10/19

摘要:

Mastering is more than just knowing. It is knowing in a way that lightens your load.

But for those who have a knack for developing software and enjoy the learning process, software development is a career that can last a lifetime, and it can be a great ride.

You can be better and everything can be improved if you’re prepared to work at it.

“Effort is what makes you smart or talented.”

Failure is merely an incentive to try a different approach next time.

Every improvement can be improved still further.

Take control of and be responsible for our destinies rather than just waiting for someone else to give us the answers.

We are all on the same journey and that the change we seek is in ourselves, not the world.

Have the attitude that there’s always a better/smarter/faster way to do what you just did and what you’re currently doing. Apprenticeship is the state/process of evolving and looking for better ways and finding people, companies and situations that force you to learn those better/smarter/faster ways.

An apprenticeship is a season in your career when your focus is more on your own growth than almost anything else. This is a time for you to delay your ambitions of immediately maximizing your earning potential in order to maximize your learning opportunities.

Wearing The White Belt represents maintaining a beginner’s mind regardless of your expertise.

The technical terms of any profession or trade are incomprehensible to those who have never been trained
to use them. But this is not because they are difficult in themselves. On the contrary they have invariably been
introduced to make things easy.
—Alfred North Whitehead, An Introduction to Mathematics

Tell people the truth. Let them know that you’re starting to understand what they want and you’re in the process of learning how to give it to them. If you reassure them, reassure them with your ability to learn, not by pretending to know something you don’t. In this way, your reputation will be built upon your learning ability rather than what you already know.

“How long will it take to master aikido?” a prospective student asks. “How long do you expect to live?” is the only respectable response.
—George Leonard, Mastery

To become truly good at programming is a life’s work, an ongoing enterprise of learning and practicing.
—Ron Jeffries et al., Extreme Programming Installed

The length of the journey merely multiplies the possibilities that are open to you.

“it is by fixing things that we often get to understand how they work.”

While many programmers could probably find higher-paying jobs in the short term, the money that follows from doing what you love will pay off handsomely in the long run.
-Dave Hoover

To only a fraction of the human race does God give the privilege of earning one’s bread doing what one would
have gladly pursued free, for passion. I am very thankful.
—Frederick Brooks, The Mythical Man-Month

As Pete McBreen wrote, “as soon as a person stops practicing, her mastery fades.” Every day that you are not programming is another step away from becoming a journeyman.

Be the lion’s tail rather than the fox’s head!
—Tractate Avot

Any ambitious apprentice’s natural instinct will be to try to race to the finish line, to become a journeyman as quickly as possible. Remember, though, that you are walking The Long Road, and this journey is not a sprint. Take the time to get the most out of your apprenticeship, and understand that whether you have been programming for three months or five years, you are still very much a beginner when it comes to software craftsmanship.

If we let ourselves, we shall always be waiting for some distraction or other to end before we can really get down to our work. The only people who achieve much are those who want knowledge so badly that they seek it while the conditions are still unfavourable. Favourable conditions never come. —C.S. Lewis, “Learning in War-Time”, The Weight of Glory and Other Addresses

One trait of a master craftsman is a willingness to set aside hard-won expertise in a specific domain in order
to learn something new.

Learning about what we don’t know is often more important than doing things we already know how to do.
—Jim Highsmith, Agile Software Development Ecosystems

Your goal should be to become skilled rather than experienced. The increase in your skill level is the only meaningful testament to the effort you have spent inspecting, adapting, and improving your working habits.

Like the athlete who must endure muscle soreness after strenuous workouts, the software developer endures
the mental dissonance that comes with learning something new.

Software is not a product, it’s a medium for storing knowledge. Therefore, software development is not a product producing activity, it is a knowledge acquiring activity. Knowledge is just the other side of the coin of ignorance, therefore software development is an ignorance-reduction activity.

Software is a new craft—at best we’ve been building software for less than 70 years. So we shouldn’t expect to already have master software craftsmen.

读后记:

很多人认为程序员是吃青春饭的,年龄大一点就面临被淘汰的危险。错!生命不息,匠心不止。

 

Apprenticeship.Patterns.Guidance.for.the.Aspiring.Software.Craftsman 立即下载

相关推荐

SpringBoot和Vue法律咨询案件进度与智能文书管理系统源码

包含前后端源码、SQL初始化脚本和启动说明。JDK 17、Spring Boot、Vue;默认H2演示数据库。

软件开发者路线图:从学徒到高手

软件开发者路线图:从学徒到高手 基本信息 原书名: Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman 原出版社: O'Reilly Media 作者: Dave H.Hoover Adewale Oshineye 译者: 王江平 出版社:机械工业出版社 ISBN:9787111310068 上架时间...

yangzhiyong77 247

汽车电子基于OTA的Bootloader更新机制:量产车软件升级断点版本限制与跨代更新规避策略

内容概要:本文深入剖析了量产汽车ECU中Bootloader在OTA升级过程中为何无法跨“断点版本”升级的核心原理。文章从Bootloader作为可信根的不可变性出发,解释了其在SOP后禁止常规OTA更新的原因,并揭示了Flash分区机制下OTA仅能擦写Application区的限制。通过介绍“两段式搬运”自更新机制,阐明了新版Bootloader需依赖旧版Bootloader执行迁移的“鸡生蛋”困境,进而引出断点版本的概念——即首次引入新Bootloader特性的关键过渡版本。文中详细列举了导致断点的典型变更(如签名算法、分区表等),并指出跨版本升级失败的根本原因在于旧Bootloader无法解析新镜像格式或执行更新流程。最后提出系统性解决方案,包括构建有向升级路径图、终端前置校验、A/B冗余、Golden恢复区等工程防护措施,强调需从架构、发布、OTA后台到售后体系全流程协同管理断点风险。; 适合人群:汽车电子工程师、车载软件开发人员、OTA系统设计师及从事ECU固件升级相关的技术管理人员,尤其适合具备嵌入式系统和UDS诊断基础的研发人员。; 使用场景及目标:①理解Bootloader在OTA中的核心作用及其不可随意更新的设计逻辑;②掌握断点版本的成因与应对策略,避免实际升级中出现“变砖”事故;③指导OTA系统设计与升级路径规划,提升整车软件迭代的安全性与可靠性。; 阅读建议:此资源结合真实工程场景深入浅出地讲解复杂机制,建议结合Bootloader自更新流程图与实际UDS刷写案例对照学习,重点关注版本兼容性判断、安全校验设计及故障恢复机制,在开发和测试中充分模拟跨断点升级场景以验证系统鲁棒性。

《软件开发者路线图 从学徒到高手》 - 书摘精要

【英文书名 Apprenticeship Patterns : Guidance for the Aspiring Software Craftsman】 (P2) 最强大的模式是那些可以反复运用并取得成功的模式; 模式并不一定非要新颖才实用。事实上,不新的模式才更好; (P2) 掌握不只是知晓。掌握是能帮你减轻负担的知晓; (P5) 不知而不知其不知者,愚者也 —— ...

loveyu0428的专栏 196

电力电子基于CCM Boost拓扑的3.3kW PFC电路参数设计:功率因数校正系统电感与器件选型优化

摘要:工程计算最难的不是算出来,而是「算完讲得清、改得动」。本文以一份 《3.3kW CCM BOOST PFC circuit parameters calculation》计算书为例,梳理 Maple Flow 的核心功能,并看它如何把规格、公式、器件选型、损耗校验和环路设计收进同一份可交付文档。

政府科技管理者在推动科技成果转化过程中,如何精准识别具有高转化潜力的科技成果?.docx

政府科技管理者在推动科技成果转化过程中,如何精准识别具有高转化潜力的科技成果?

期待《Apprenticeship Patterns》中译本的出版

《Apprenticeship Patterns》,江平已经交译稿了。   我看了一遍译稿,书很好。书里介绍的每一个模式值得每个IT从业人反复阅读。江平说有一些我们已经在身体力行。是的。还有一些我们也在实践,但作者还是提供了很好的改良建议。   江平心好,想把我的名字写到封面上。我连说不用,我只是看的时候改掉几个文字录入时出现的错别字。感谢辞里提到我已经很满足了。   盼此书早日出

另一个空间 632

政府科技管理者如何精准识别本区域高校科研成果的技术转化潜力?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

Apprenticeship Pattern

Your first language build a toy application, make it an open source project use test-driven development techniques to get short feedback loops best situation is to work regularly with a expert on a pro

mtjwy的专栏 503

产业园区运营负责人如何精准对接企业技术需求与科研成果?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

邻传 NearShare v1.3.0|Windows局域网扫码文件互传、Word/Excel预览与直接打印(含MIT源码)

邻传是一款运行在 Windows 10/11 x64 电脑上的局域网文件共享工具。手机与电脑连接同一 Wi-Fi,扫码后使用浏览器双向上传、下载文件,无需蓝牙、手机 App 或配对码。 功能:同名文件以最后成功上传版本为准并保留历史;Word DOC/DOCX、Excel XLS/XLSX/XLSB/XLSM、ODS/CSV 在线预览;电脑端点击直接调出打印界面;类型筛选、搜索、列表/网格、批量删除和清空;自动识别电脑名称及可获取的手机型号,自动更新 IP 与二维码。 包内包含安装版、免安装版、MIT 协议源码、使用说明和 SHA-256 校验值,内置 Node.js,无需安装开发环境,不含个人共享数据。 使用:电脑启动 → 手机同一 Wi-Fi 扫码 → 上传/预览/下载。适合家庭、可信办公网络分享照片与文档。 限制:无登录、HTTP,能访问服务地址的设备可读写删除,请勿映射公网。Office 复杂排版可能简化;预览上限20MB,表格预览1000行50列;打印上限20MB/10万格/100页PDF,仅电脑支持。为手动分享工具,非自动文件夹同步。安装包暂未数字签名。

推荐:《软件开发者路线图:从学徒到高手》 ApprenticeshipPatterns:Guidance for the Aspiring Software Craftsman

推荐一本书: 软件开发者路线图:从学徒到高手。我还没有看,据说不错。 英文书名: Apprenticeship Patterns:Guidance for theAspiring Software Craftsman     本书目标 缺少经验的软件开发者常常面对进退两难的境地。为分享摆脱这类窘境 的方法,我们写了这本书。我们指的不是技术上的窘境;本书中你不会 找到任何Java设计

ybwang的专栏 1214

产业园区如何高效匹配企业技术需求与高校科研成果?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

软件开发者路线图:从学徒到高手——Apprenticeship Patterns:Guidance for the Aspiring Software Craftsman...

这是一篇算是关于这本书的读后感吧!文笔不好,欢迎拍砖。 记得初次看这本书时还是刚参加工作几个月的时候,随便的翻了翻,从头到尾都是文字描述,看不到实质性的编程理论和技巧方法之类,我就没耐心的深入看下去。直到现在工作快两年了,再次看见这本书,虽然还是有一些刚刚毕业时候的年少气盛浮躁的性情,但还是硬着头皮好好的看完这本书。我不得不为两年一年多前的自己的行为感到惭愧甚至看不起鄙视当初的自...

weixin_30417487的博客 185

双向全桥CLLC谐振变换器仿真模型(Simulink仿真实现)

内容概要:本文系统介绍了双向全桥CLLC谐振变换器的Simulink仿真模型,重点阐述了变频控制、闭环仿真及其与多种电力电子拓扑(如维也纳整流器、DAB变换器、图腾柱PFC等)的联合仿真设计。资源包涵盖2.5kW双向全桥LLC、V2G电动汽车充放电系统、三相PFC、多相交错LLC等多种变换器的仿真案例,并深入展示了三电平VIENNA整流器在双闭环PI控制与SVPWM调制策略下,结合上下电容电压差值补偿实现中点电位平衡的先进控制方法。通过仿真验证,该策略不仅有效维持了800V直流母线电压的稳定,还在动态工况下显著提升了电容电压的均衡度,同时保持了较低的输入电流THD,充分体现了SVPWM与中点平衡控制协同优化的技术优势。; 适合人群:具备电力电子与自动控制理论基础,从事新能源发电、电动汽车、工业电源、微电网等领域的研究生、工程师及科研人员。; 使用场景及目标:① 学习并构建高频谐振变换器(如LLC、CLLC)的Simulink仿真模型,掌握其变频与混合控制策略;② 深入理解并应用中点电位平衡、双闭环PI控制、SVPWM调制等核心技术于VIENNA等三电平变换器中;③ 复现高水平期刊论文中的控制算法,服务于科研项目申报、学术论文撰写或工程产品开发。; 阅读建议:该资源为综合性仿真资料库,建议使用者结合自身研究方向(如电动汽车充电、新能源并网)选择对应案例进行精学,重点关注控制策略的设计逻辑、仿真参数的整定方法以及SVPWM与中点平衡的协同机制,并充分利用附带的计算书和参考文献深化理解,以实现从仿真模型到实际工程应用的顺利转化。

蛋白质组学进阶指南 | (八)差异蛋白筛选与功能解析实战

本文是蛋白质组学差异蛋白筛选与功能解析的实战指南。详细讲解了如何利用R语言的limma包进行差异表达分析,结合FDR校正和差异倍数设定筛选关键蛋白,并通过火山图可视化结果。进一步介绍了使用clusterProfiler进行GO与KEGG功能富集分析,以及利用STRING数据库和Cytoscape构建蛋白互作网络以识别枢纽分子,最终串联分析形成可验证的生物学假说。

weixin_29208077的博客 745

Comment on "Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman"

This article is written in English as I think application is always the best way to improve any kind of language skill, or any kind of skill.

ToBeAMensch 891

cdh zookeeper未授权访问(安全漏洞)处理

前言: 最近公司在做安全漏洞扫描。发现cdh zookeeper存在未授权访问的问题。 ZooKeeper的节点有5种操作权限: CREATE、READ、WRITE、DELETE、ADMIN 也就是 增、删、改、查、管理权限,这5种权限简写为crwda(即:每个单词的首字符缩写) 注:这5种权限中,delete是指对子节点的删除权限,其它4种权限指对自身节点的操作权限 ZooKeeper的身份的认证有4种方式: world:默认方式,相当于全世界都能访问 auth:代表已经认证通过的..

belialxing的专栏 2448
下一篇: 《The Complete Software Developer’s Career Guide》书摘+书评
CodingIsFun
博客等级 码龄8年 37粉丝 240原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值