《The Passionate Programmer》书摘

The Passionate Programmer(Chad Fowler) The Passionate Programmer: Creating a Remarkable Career in Software Development (Pragmatic Life) by Chad Fowler Paperback: 200 pages Publisher: Pragmatic Bookshelf (May 28, 2009) Language: English ISBN-10: 1934356344 ISBN-13: 978-1934356340 Format: PDF Description: Success in today's IT environment requires you to view your career as a business endeavor. In this book, you'll learn how to become an entrepreneur, driving your career in the direction of your choosing. You'll learn how to build your software development career step by step, following the same path that you would follow if you were building, marketing, and selling a product. After all, your skills themselves are a product. The choices you make about which technologies to focus on and which business domains to master have at least as much impact on your success as your technical knowledge itself--don't let those choices be accidental. We'll walk through all aspects of the decision-making process, so you can ensure that you're investing your time and energy in the right areas. You'll develop a structured plan for keeping your mind engaged and your skills fresh. You'll learn how to assess your skills in terms of where they fit on the value chain, driving you away from commodity skills and toward those that are in high demand. Through a mix of high-level, thought-provoking essays and tactical "Act on It" sections, you will come away with concrete plans you can put into action immediately. You'll also get a chance to read the perspectives of several highly successful members of our industry from a variety of career paths. As with any product or service, if nobody knows what you're selling, nobody will buy. We'll walk through the often-neglected world of marketing, and you'll create a plan to market yourself both inside your company and to the industry in general. Above all, you'll see how you can set the direction of your career, leading to a more fulfilling and remarkable professional life. 立即下载

书名:The Passionate Programmer
Creating a Remarkable Career in Software Development
作者:Chad Fowler

阅读时间:2018/10/30-2018/11/13

书摘+评论:

Nobody becomes a musician because they want to get a job and lead a stable and comfortable life. The music industry is too cruel an environment for this to be a feasible plan. People who become professional musicians all want to be great. At least when starting out, greatness is binary in the music world. A musician wants to either be great (and famous for it!) or not do it at all.

Our companies don’t employ us because they love us. They never have, and they never will. That’s not the job of a business. Businesses don’t exist so we can have a place to go every day. The purpose of a business is to make money. To excel at a company, you’re going to have to understand how you fit into the business’s plan to make money.

If you think of your career as a business (which it is), your “product” is made up of the services you have to offer. What are those services? Who are you going to sell them to? Is demand for your services going to grow or decline over the coming years? How big of a gamble are you willing to take on these choices?/*把工作当成事业,把自己能提供的服务当作一种产品*/

As unintuitive as that may sound, if you’re worried about losing employment to offshoring, one strategy would be to avoid the types of work that offshore companies are doing. Offshore companies are doing work that is in high demand. So, focusing on niche technologies is a strategy that, although not necessarily making the competition less fierce (there are fewer jobs to go around), might change the focus of competition from price to ability. That’s what you need. You can’t compete on price, but you can compete on ability./*不拼价格,拼能力*/

Research current technical skill demand. Use job posting and career websites to find out which skills are in high demand and in low demand./*通过目前的职位需求来了解什么技能比较热门,什么技能比较冷门*/

The same is true of business domains. You should put the same level of care into selecting which industry to serve as you put into selecting which technologies to master。/*选择技术重要,选择要从事的行业同样重要*/

Thinking about not losing is not the way to win! Winners take risks. Gone are the days of the “lifer” who would join a big company and settle in for a full career. This sort of behavior used to be a sign of dedication. Now it’s a liability. If you’ve worked in only one place and seen one set of systems, many (smart) managers would see that as a strike against you when making a hiring decision. I’d personally rather hire someone who has seen a variety of successes and failures in different environments than someone who has known only one way of doing things./*一个人从事的行业,服务的公司越多元化,技能、思维也会随之多元化。从一而终,在单一公司待的时间太久,并不见得是件好事*/

Generalists are rare...and, therefore, precious./*通才比较少见,因此比较抢手*/

While managing an application development group, I once asked one of my employees, “What do you want to do with your career? What do you want to be?” I was terribly disappointed by his answer: “I want to be a J2EE architect.” I asked why not a “Microsoft Word designer” or a “RealPlayer installer?”

This guy wanted to build his career around a specific technology created by a specific company of which he was not an employee. What if the company goes out of business? What if it let its now-sexy technology become obsolete? Why would you want to trust a technology company with your career?

Somehow, as an industry, we fool ourselves into thinking market leader is the same thing as standard. So, to some people, it seems rational to make another company’s product part of their identities. Even worse, some base their careers around non-market-leading products—at least until their careers fail so miserably that they have no choice but to rethink this losing strategy./*不能把全部的赌注都压到某个公司提供的某个产品上面。皮之不存毛将焉附?*/

What I do know is that I’m a serial opportunist. When I see something interesting and exciting to me, I jump in and do whatever it takes to succeed. Usually this means learning new skills and picking up new capabilities. Some may find it a drag to build new skills up, but for some reason I love learning how to do new things. After all, new skills let you do new things. And I’ve never defined myself by my skills. Instead, I’ve always defined myself by what I have done and what I want to do next. Skills are just a way to get there./*技能只是借以达到目标的一个途径。有时候为了一个新的目标,我们必须坦然地学习新的技能。*/

In business, ideas and even talent are a dime a dozen. It’s the blood, sweat, tears, and money you pour into a product that make it really worth something./*职场缺的不是思想家,是实干家。*/

Regardless of your line of business, whether it be manufacturing, health care, nonprofit, or an educational institution, it is still a business. And, business is itself a domain of knowledge that one can—indeed, must—learn./*不论一个人从事什么样的行业,处于什么岗位,都有必要了解公司如何运转。*/

When you teach, you have to answer questions that may have never occurred to you. Through teaching, we clean the dusty corners of our knowledge as they are exposed to us./*在传授知识的同时,我们可以发现自己的不足。*/

Most modern programming languages offer rich and powerful libraries in all of these areas, but software developers tend to learn a small subset, with which they can less efficiently write the same code they could have written if they had mastered the full set of tools available to them.

TopCoder.com is a long-standing programming competition site.

Studying the work of masters is an essential part of becoming a master.

We can mine a huge body of existing code for patterns and tricks.

A positive side effect of reading code is that you will learn more about what already exists./*在解决一个问题之前先看一看有没有现成的答案。*/

I remember the sensationalism surrounding job loss in the United States in the 1980s. Back then, not only were we blaming other countries, but we were blaming machines and, specifically, computers. Huge robotic arms were being installed in manufacturing plants. These robotic arms could outperform humans in both throughput and accuracy to a point that it was not even worth comparing them. Everyone was upset—everyone, that is, except for the people who created the robotic arms.

An entrepreneurial ex-roommate of mine who was also a very close friend (Raj Hajela), my wife (Vidya), and I brainstormed ideas trying to figure out where there were existing unmet needs in the market. We wanted to explore e-commerce opportunities but did not want to sell anything that was a commodity product. We had a real interest and background in art and liked the fact that every piece of art was unique in nature. My uncle was a lifelong artist who had struggled to make a living. We did some research and concluded that this was the case with most artists. We then decided to solve this problem by creating a platform to help artists publicize and promote their works and keep in touch with their patrons. With this mission in mind, we launched Passion4Art.com and began the hard work of getting artists to join our website and put their digital images of their paintings online. After we had signed up our first 1,000 artists and they had set up their own websites, we believed that we were providing something of value and started looking for outside funding.

Your presence on the job is, to the company, like a pebble in a bucket of water. Sure, the water level is higher as a result.
You get things done. You do your part. But, if you take the pebble out of the bucket and stand back to look at the water, you can’t really see a difference.

If I have a team member who has the strength to say “no” when that’s the truth, then I know that when they say “yes,” they really mean it.

Larry Wall wrote that the traits of a great programmer are laziness, impatience, and hubris.

If you kick ass and no one is there to see, did you really kick ass? Who cares? No one.

You are always going to be measured based on someone else’s perception of you.

As a programmer today, you need to think beyond the next promotion or even your current place of employment. Set your sights higher. Don’t think of yourself as a programmer at a specific company—after all, it’s not likely that you’ll be at the same
place forever—but as a participating member of an industry. You are a craftsperson or an artist.

Most people undersell themselves. You have something to teach. You will never feel 100 percent ready, so you might as well start now.

Your name is your brand.

Open source contributions demonstrate skill. If you’re making real code and contributing to a real project, it’s a lot better on your résumé than just saying you know a technology.

The really good people won’t mind if you want to know them. People like to be appreciated, and they like to talk about the topics they are passionate about. The fact that they are the professional or the guru or the leader or the renowned author doesn’t change that they’re human and like to interact with other humans.

Pick one of your favorite pieces of software and e-mail its creator. Start by thanking him or her for the software. Then make a suggestion, ask a question, or make some other attempt at establishing a human connection with them. Solicit a response of some sort. If the software is free or open source, offer to help in some way.

Computing power doubles. With technology progressing so quickly, there is too much happening for any given person to keep up. Even if your skills are completely current, if you’re not almost through the process of learning the Next Big Thing, it’s almost too late. You can be ahead of the curve on the current wave and behind on the next.

In his book The Miracle of Mindfulness, Thich Naht Hanh presents a suggestion: the next time you have to wash the dishes, don’t wash them to get them done. Try to enjoy the experience of washing the dishes. Don’t focus on finishing them. Focus on the act of washing them itself.
Doing the dishes is a mundane task that almost nobody savors. Software developers have a lot of similar drudgery to get through in the average day, such as time tracking and expense reporting, for example. The next time you have to do a task like this, see whether you can find a way to focus on the task as you do it instead of anxiously rushing to finish it.

The secret is to focus on making whatever it is you’re trying to improve better today than it was yesterday. That’s it. It’s easy.
 

Screenshot_2026-11-04-16-26-45-46.jpg 立即下载

相关推荐

TG-2026-11-08-071400786.mp4

TG-2026-11-08-071400786.mp4

[食指飞动]读The.Passionate.Programmer[简介篇]

My ebook: The.Passionate.Programmer_Creating.a.Remarkable.Career.in.Software.Development[2009][EN][PDF] 本书是阿三作品,致力于引导程序员如何获得一个Remarkable职业生涯。有些观点值得一看,尤其适合我这种徘徊在职业重要关口的人。 Piaoger决定将关键部分翻译翻译,学学英语,也可以打...

weixin_30438813的博客 160

互联网 Java 工程师进阶知识完全扫盲:涵盖高并发、分布式、高可用、微服务、海量数据处理等领域知识

互联网 Java 工程师进阶知识完全扫盲:涵盖高并发、分布式、高可用、微服务、海量数据处理等领域知识

《The Passionate Programmer——我编程,我快乐》读书笔记

The Passionate Programmer是著名的软件开发工程师、音乐家Chad Fowler的作品,作者在本书中分享了有效的探索式方法、经验和态度,激发自己对于工作的热情和信心,fly away…… 本书共分为5章内容,分别是选择市场、在产品上投资、执行、推销、保持技术领先,在阅读本书的过程中,作者对于自己热爱的东西的追求和执着溢于言表,而且他指导我们用科学的办法指定计划,有...

weixin_34416649的博客 125

巴基斯坦进口贸易数据集5097类HS6商品六年

本数据集收录巴基斯坦2019至2024年六年间的年度进口贸易数据,覆盖5097个HS6编码商品类别,年度进口总额达500亿至800亿美元规模,完整捕捉疫情前基线、新冠疫情冲击、进口限制政策与能源价格波动等关键经济节点。高进口额品类包括石油馏分、原油、液化天然气、棕榈油与光伏太阳能设备。字段包含HS6商品名称、HS6编码及2019至2024各年度进口额(美元计价)。适用于能源与大宗商品进口依赖分析、增长率与波动性(CAGR)研究、宏观经济冲击建模,以及按HS两位章节(第27章矿物燃料、84/85章机械设备)展开的宏观行业聚合分析,也是国际贸易研究与时间序列分析课程的实用素材。数据许可:Apache 2.0。

Crystal Designer 2020 SP2 CR202002P-400-70005715

Crystal Designer 2020 SP2 CR202002P_400-70005715

the passionate programmer

人一辈子不是把时间浪费了,就是拿它来做一点事情。世界上的人分很多种,但是有的人能够很好地规划自己的道路,而有的人总是在混。无意间发现发现了the pragmatic bookshelf书从中有这么一本《the passionate programmer》,中文译做我编程,我快乐。相当好,正符合我们这等IT狂人。 我一口气就将这薄薄的两百元翻完了,虽然只是粗略地看...

weixin_34319374的博客 172

好的,技术转移行业资深专家为您撰写如下。.docx

好的,技术转移行业资深专家为您撰写如下。

《The Passionate Programmer》读书感想

<br />最近读了一本书,叫做《The Passionate Programmer》,好像又中文版的,叫做《我编程,我快乐》。以下是读完之后一些感受,<br />这些观点都是来自书中,自己提取出来的。<br /> <br />01. 做团队中最差的人,意思是和比你好的人一起,这样你才会更快的提高。<br />       实践方法:1. 寻找开源项目加入;2. 寻找感兴趣的开源项目的bug列表,自己尝试修改,然后与项目开发者联系,提交代码。<br /><br /> 02. 学习另外一门与你现在使用的语

Ray3643的专栏 600

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

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

国央企创新负责人如何系统化管理科技成果与创新资源?.docx

国央企创新负责人如何系统化管理科技成果与创新资源?

交错并联图腾柱PFC变换器仿真设计(Simulink仿真实现)

内容概要:本文档聚焦于“交错并联图腾柱PFC变换器仿真设计(Simulink仿真实现)”这一核心技术主题,系统性地提供了基于Simulink平台的电力电子变换器建模与仿真资源,涵盖交错并联图腾柱PFC变换器的主电路拓扑结构、控制策略实现、动态性能分析及仿真验证全过程。文档不仅深入介绍了该变换器在高效率、低谐波、高功率因数方面的优势,还详细展示了其在均流控制、软开关实现、抗干扰能力等方面的仿真设计要点。同时,配套资源丰富,涵盖了多种典型电力电子系统案例,如三相PWM整流器、VIENNA整流器、LLC谐振变换器、双有源桥DAB变换器等,涉及PI双闭环、滞环控制、SVPWM调制、中点电压均衡、软开关技术等多种关键控制方法。此外,资源包还包含Mathcad计算书、Simulink/Plecs仿真模型、设计报告与参考文献,构建了从理论推导、参数设计到仿真验证的完整技术链条,便于用户快速掌握并复现先进拓扑的控制逻辑与系统设计流程。; 适合人群:面向具备电力电子、电气工程、自动化等相关专业背景,熟悉Matlab/Simulink仿真环境,从事新能源发电、电动汽车、工业电源、电能质量治理等方向的科研人员、高校研究生以及具有1-5年工作经验的电力电子工程师;尤其适合正在开展高效率PFC电路研究或需要完成相关课题设计的技术人员。; 使用场景及目标:①深入理解交错并联图腾柱PFC变换器的工作原理与建模方法,掌握其在提升系统效率与降低输入电流畸变方面的技术优势;②学习并实践高性能PFC电路的双闭环控制、均流策略与软启动设计,提升仿真调试与参数整定能力;③借助提供的标准化仿真模板、计算工具与完整案例,快速搭建类似拓扑系统,支撑科研论文复现、项目开发或课程设计,显著提高研发效率与设计可靠性。; 阅读建议:建议结合文档中列出的仿真模型与Mathcad计算书同步操作,优先按照资源目录顺序循序渐进学习,重点关注控制环路的设计逻辑、PI参数整定方法与系统稳定性判据;推荐通过网盘链接下载全部资料,动手修改模型参数并观察响应变化,以加深对控制策略本质的理解,实现从“看懂”到“会用”的转化。

【动态多智能体系统的通信感知编队控制】一种新颖的通信感知编队控制策略,用于动态多智能体系统研究(Matlab代码、Python代码实现)

内容概要:文档名为《Plecs全桥LLC谐振变换器仿真模型.txt》,但其内容并未深入介绍Plecs环境下全桥LLC谐振变换器的具体建模与仿真过程,而是呈现为一份涵盖多领域科研主题的资源列表。文档内容广泛涉及多智能体系统控制、无人机路径规划、电力电子变换器、状态估计、信号处理、优化算法等研究方向,并多次提及Matlab/Simulink、Python等工具的代码实现。整体来看,该文档更像是一份科研项目目录或技术资源索引,重点推介了包括LLC谐振变换器在内的多种控制系统与电力电子仿真模型,但对标题所述核心内容缺乏详尽的技术描述与实现细节。; 适合人群:电力电子、自动化、控制工程、信号处理及多智能体系统等相关领域的研究生、科研人员与工程技术人员。; 使用场景及目标:①为科研工作者提供跨学科的技术方向参考与研究选题灵感;②获取电力系统、无人机控制、信号处理等领域成熟的Matlab/Simulink或Python仿真代码资源,用于算法验证与模型复现。; 阅读建议:建议将此文档作为科研资源导航目录使用,读者可根据自身研究方向筛选感兴趣的主题,并通过文中提供的公众号或网盘链接获取完整的代码、仿真模型与配套资料进行深入学习与实践。

MySQL SQL代码资源集

MySQL SQL代码资源集

产业园区运营负责人如何提升企业技术需求与科研资源的精准匹配效率?.docx

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

两相交错并联Boost电路仿真模型(Simulink仿真实现)

内容概要:本文档系统整理了电力电子与电力系统领域的多项Simulink仿真资源,重点围绕“两相交错并联Boost电路仿真模型”展开,涵盖其在高功率密度、低输入电流纹波等性能优化方面的建模与控制实现。资源集合不仅包括Boost类变换器,还广泛涉及LLC谐振变换器(半桥、全桥、多相交错)、PFC功率因数校正电路(图腾柱、维也纳拓扑)、双向DC-DC变换器(Buck-Boost、CLLC)、PWM整流器及DAB双有源桥等多种典型电力电子拓扑结构的闭环控制系统设计。每个模型均强调动态响应分析、均流控制、软开关技术与稳定性验证,适用于新能源发电、电动汽车V2G系统、储能能量管理及充电桩等前沿应用场景,体现了较强的工程实践价值与科研参考意义。; 适合人群:面向电气工程、自动化、电力电子与电力传动等相关专业的高校本科生、研究生,以及从事电源设计、新能源系统开发、车载充电机、工业变流器研发的工程技术人员,尤其适合具备电路理论基础和Simulink/Matlab仿真经验的学习者进一步深化系统建模与控制策略研究。; 使用场景及目标:① 深入理解交错并联Boost电路的工作原理及其在抑制输入电流纹波、提升效率方面的作用机制;② 掌握利用Simulink构建复杂电力电子系统的建模方法,开展控制器设计(如PI、双闭环、VOC、SVPWM)与动态性能仿真;③ 为毕业设计、科研课题或实际工程项目提供可复用的技术参考,支撑高性能DC-DC变换器与AC-DC整流系统的开发需求。; 阅读建议:建议结合文档中列出的LLC、PFC、双向DC-DC等配套仿真案例进行横向对比学习,深入把握不同拓扑间的共性与差异;同时推荐配合提供的Mathcad计算书、设计报告与参考文献,完成从参数设计、模型搭建到仿真验证的全流程实践,全面提升理论分析与工程应用相结合的能力。

融合高斯扰动与竞争学习的多目标加权平均算法(MOWAA)求解DTLZ1-DTLZ7及盘式制动器设计研究(Matlab代码实现)

内容概要:本文档详细介绍了基于Plecs软件构建的隔离型全桥LLC谐振变换器的仿真模型,涵盖其建模方法、关键参数设计及系统仿真验证全过程。文中深入阐述了LLC谐振变换器的工作原理,包括谐振腔参数(如励磁电感、谐振电容和电感)的计算方法、变频控制策略的应用机制,以及系统在开环与闭环条件下的动态响应特性分析。同时,文档提供了完整的仿真模型、设计报告与计算书,帮助用户掌握软启动、恒压恒流控制等功能的实现方式,并对变换器的效率、稳定性及抗干扰能力进行了全面评估。; 适合人群:具备电力电子技术基础,从事开关电源、新能源发电系统、电动汽车充电设备等相关领域的研发人员及高等院校电气工程专业的研究生。; 使用场景及目标:①深入理解全桥LLC谐振变换器的建模与参数设计流程;②掌握Plecs或Simulink平台下电力电子系统的高精度仿真技术;③为高频高效DC-DC变换器的实际工程设计与性能优化提供理论指导和技术支持。; 其他说明:该资源配套提供完整的仿真文件、计算书与参考文献,建议结合理论学习与仿真实践同步进行,以深入掌握LLC变换器的谐振特性、控制策略设计及其在实际应用中的动态性能表现。

Profinet从站开发初体验:用p-net开源库和树莓派快速搭建一个IO设备模拟器

本文详细介绍了如何使用p-net开源库和树莓派快速搭建Profinet从站IO设备模拟器。从开发环境准备、p-net源码编译到设备模拟器功能实现,提供了全流程实战指南,帮助开发者快速掌握工业通信协议开发技巧,适用于工业自动化领域的设备互联测试与验证。

weixin_30384217的博客 383
上一篇: 《Beginning C++17》-学习笔记-Chapter 04-Making Decisions
下一篇: 《Beginning C++17》-学习笔记-Chapter 05-Arrays and Loops
CodingIsFun
博客等级 码龄8年 37粉丝 240原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值