前言
- 这是一本真正从『人』(而非技术也非管理)的角度关注软件开发人员自身发展的书
- 自我改进的开发人员具备下列素质
- 永远不会对『不错 』感到心满意足
- 永远寻求每一个机会来拓展自己的视野,探求未知事物
- 对知识的渴求永远不会熄灭
- 笃信软件开发并不仅仅意味着编写代码
- 知道失败不是结束,失败只是人生旅程
- 愿意一路上帮助他人
- 论述软件开发方面的书籍在将近30万字的篇幅里连一行代码、一张操作界面截图、一幅算法流程图都没有
- 从7个方面(工作、学习、健体、修身、理财、职业生涯、营销)分享
第2章 从非同凡响开始:绝不要做他人都在做的事
你所能犯的最大错误就是相信自己是在为别人工作。这样一来你对工作的安全感已然尽失。职业发展的驱动力一定是来自个体本身。记住:工作是属于公司的 ,而职业生涯却是属于你自己的
- 成功的软件开发人员之所以能成功都不是偶然的。他们目标明确 ,为了达成目标,他们制订了坚实可靠而又深思熟虑的计划
拥有商业心态
- 最大的错误就是没有把自己的软件开发事业当作一桩生意来看待。当你为了谋生一头扎进写代码的世界时,你和中世纪小镇上开铁铁铺的铁匠没什么差别
- 把雇主当作是你的软件开发企业的一个客户吧。当然 ,你可能只有这么一个客户,你所有的收入都是从这一个客户处得来的,但是这种诠释雇用关系的方式可以将你从仰人鼻息的弱势地位思考的成为自我治理和自我引导 的主动地位。(事实上,许多真正的公司也就只有一个大客户,这个客户给它带来了大部分的收入)
- 这是你职业生涯中必须要做的第一要务:转变你的心态,从被一纸『卖身契』束缚住的仆人转变为一名拥有自己生意的商人
如何像企业一样思考
- 通常软件开发人员售卖的就是他们把一个想法变成一个数字化的现实产品的能力。你所能提供的服务就是创建软件
- 企业需要持续不断地改进和完善自己的产品。你也应该这么做
- 你需要认识到仅有服务或产品是不够的。想赚到钱,你就必须能让潜在的客户了解该产品或服务。全世界的公司都认识到了商业社会的这一核心真理,这也是他们在市场营销上投入重金和精力的原因。作为一名提供服务的软件开发人员,你也要关注市场营销。产品营销做得越好,你就能给服务定越高的价格,也越有机会吸引更多潜在的客户
- 你需要做到
- 专注于你正在提供怎样的服务,以及如何营销这项服务
- 想方设法提升你的服务
- 思考你可以专注为哪一特定类型的客户或行业提供特定的服务
- 集中精力成为一位专家,专门为某一特定类型的客户提供专业的整体服务(记住,作为一个软件开发人员,你只有真正专注于一类客户,才能找到非常好的工作)
采取行动
- 把你的职业当作是一个企业,将会影响到你的
- 工作的方式
- 处理自己的财务的方式
- 寻求新工作或新客户的方式
第3章 思考未来:你的目标是什么
- 一旦明确了目的地,你就会向着目标全力以赴
如何设定目标
- 大目标并不需要那么具体,但是必须足够清晰,能够让你知道自己是在向它前进还是离它越来越远
例如,你设定了一个年度目标,阅读很多技术书籍,或是学习新的编程语言。这个年度目标可能是引领你走向『成为一名高级开发人员』这个大目标的小目标
追踪你的目标
- 定期核对自己的目标。这有助于在必要时进行调整,让你对自己负责。你可能愿意在每周末为下一周设定目标之前 先检查上周设定的目标。这同样适用于每月、每季和每年
采取行动
- 坐下来,为你的职业生涯设置至少一个大目标
- 将大目标分解成相应的若干小目标(月度 目标、周目标、每日目标)
- 把你的大目标写在你每天的必经之地,每日三省吾身——我在追求什么
第4章 人际效能力:远比你想象的重要
别管我,我只想一个人安静地写代码!
- 在软件开发领域,我们大多数时候是与人而非与计算机打交道
学会如何与人打交道
每个人都希望感到自己很重要
- 当你和别人打交道的时候,你应该知道的最重要的一个概念就是:以自己为核心,每个人都希望自己很重要。这是人类最深邃、最致命的欲望之一,也是社会和生活中取得伟大成就的主要动机
永远不要批评
- 一项又一项的研究表明,奖励积极行为要比惩罚消极行为有效得多。如果你身处领导管理岗位 ,这是一条值得遵守的重要原则
换位思考
- 你应当开始思考对他人而言什么才最重要,什么才是他们需要的。通过这种换位思考,你会避免让他人觉得自己不受重视,你也能少批评人。被你用这种方式对待的人,也更可能用讨人喜欢的方式与你打交道 ,也更认可你的想法和价值
避免争吵
- 我们有时候倾向于认为所有人都是从逻辑角度来思考问题的,这很容易让你落入陷阱 ,错误地认为严谨的推理足以使他人接受你的思维方式
- 如果你因为『该怎么做某事』与他人产生分歧,那么在很多情况下,你最好先确定分歧点是否值得你去拼命维护,特别是在你知道它已让他人卷入时。在小事情上,任何放弃立场或承认错误的机会对你而言可能没什么大不了的,但对他人却可能是举足轻重的,这么做不仅能为你赢得不可估量的尊重,也能为你的未来积蓄财富,形势逆转时即可冲刺使用
地雷:如何处理『毒瘤』
- 有时候你会发现,有的人不管怎么样就是无法相处,有的人就是抓住一切机会贬低别人,对生活中的一切抱有消极态度。我把他们称为『苛性碱』,你最好避开他们
采取行动
- 下一次当你被拖入一场争吵之前,想办法看看能不能逆转。做个有趣的小测试,试着认输。事实上,不仅仅要认输,更要果断站在对手一边。结果能让你大吃一惊
书
- 《人性的弱点》
第5章 破解面试之道
通过面试的最快捷的方式
- 通过面试最快捷的方式是让面试官对你怀有好感。达成该目标有很多方法,其中大多数可以在面试之前完成
我是如何得到最后一份工作的
- 事先确定我要为这家公司工作的,因为这家公司看起来很不错 ,而且允许开发人员在家办公。我花了一些时间研究这家公司,找出这个公司有哪些开发人员在写博客。我开始关注为这家公司工作的开发人员的所有博客,并开始在他们的博客文章下留下经过深思熟虑的评论
- 慢慢地,许多在这家公司代职的开发人员开始认识我了,并通过我给他们博客做出的评论 知道了我是谁。他们中的一些人甚至开始读我的博客
- 接下来,当这家公司开始招聘开发人员的时候,我递交了申请。当然 ,我仍然需要面试,但是只要自己不搞得一塌糊涂,我就如探囊取物一般得到了这份工作,薪水还挺高(如果不用这种方法申请这份工作,我也就不会得到这么高的薪水)
突破陈规,建立融洽关系
地雷:如果你现在就需要一份工作
- 最好尽早与面试官建立联系,尽最大可能做好如下工作:看看能不能在面试之前 得到预面试的机会,在你坐下来进行真正的面试之前请求跟面试官见面,谈谈公司状况,或者问一些问题。你可以打一个5分钟的电话和对方简短地聊一聊。想方设法在能影响面试结果 的人面前 展示 自己
真正的面试会是什么样子的
- 接下来要关注的事情就是自信地展示 自己的能力——知道要获得这份工作需要做什么
- 我宁愿雇用这样的开发人员:知道的东西可以少一点,但是明确知道要做什么,以及怎样去做。从某种程度上,在你可控的范围之内,面试的时候你要集中精力证明自己就是无需督促也能自动自发做好事情的员工
- 你还必须要证明:在技术上你确实胜任工作。同时,如果你能说服面试官相信你非常能干,不会被困难阻挡,那么他们不仅会喜欢你,而且更有可能会录用你
第6章 就业选择:列出你的选择
选择1:雇员
- 最大的好处是稳定
- 消极方面:很大大部分与自由相关。作为一名雇员,你要花大把时间为雇主工作,无法选择自己要做什么,也不可能总是做令你乐享其中的工作
好处 | 弊端 |
---|---|
稳定 | 缺少自由 |
从业之路比较轻松 | 收入封顶 |
带薪假期 | |
五险一金 |
选择2:独立咨询师
好处 | 弊端 |
---|---|
更大的自由度(自己掌控时间) | 自己去寻找业务 |
可以持续不断地做新项目 | 打理一切事务的开锁 |
赚钱潜力 | 从『一个老板服务』变成『为许多老板服务』 |
选择3:创业者
- 我把大部分时间都花在开发我销售的培训课程和其他产品上,直接或间接地通过合作伙伴把它们销售出去以维持生计。我仍然会写代码,但是我通常不会为任何特定的客户写代码。我要么为某些特定产品写代码,要么为我自己创建和开发的培训服务写代码
- 两大优势
- 完全的自由
- 完全不封顶的赚钱潜力
好处 | 弊端 |
---|---|
完全自由 | 风险很大 |
巨大的赚钱潜力 | 完全依靠自己 |
做你想要做的工作 | 需要许多其他技能 |
没有老板 | 可能需要长时间工作 |
到底应该选哪个
- 对大多数软件开发人员而言,特别是在职业生涯的起步阶段,做一名雇员是明智的选择。这个选择的风险最小,你不需要具备大量的经验
采取行动
- 列一个名单,列出你认识或者听说过的对应上述三种类型的软件开发人员
- 如果你有举成为独立咨询师或者创业者,那么安排与你认识的已经走上这条路的朋友会面,向他们了解一下这条路到底 怎么样
第7章 你是哪类软件开发人员
专业化很重要
- 有大量的软件开发人员并没有具体的专业方向。事实上,大部分软件开发人员完全以自己使用的编程语言来定义自己的专业性。你经常会听到有人说『我是C#开发人员』,或『我是java开发人员』等等
- 虽然专业化确定会把你关在一些机会的大门之外,但与此同时它将打开的机会大门要比你用其他方式打开的多得多
- 只要你专业能力雄厚,市场没有过渡饱和,与那些自称为『软件开发人员』的人相比,你能更轻松地找到工作或者赢得客户
在一个专业方向上拥有专长
在我职业生涯的早期 ,我把自己定位为专攻打印机驱动软件和打印机语言开发的软件开发人员。这个专业很偏门,只可能在数得着的几家大公司找到工作。不过你也能想象得出,打印机制造商要想找到专攻打印机和打印机语言的开发人员有多难 我的偏门专业让我对小范围的潜在雇主极具价值。这些雇主并不会在大多数城市存在,所以如果我的市场是美国甚至全球的话,那在这个庞大的市场上,我的场长格外有用
- 专业化的规则是:专业化程度越深,潜在的机会就越少,但获得这些机会的可能性越大
- 记住,你只需要一份工作
软件开发人员的专业类别
- 一些开发人员的专业化水平确定很深,已经成为某个具体平台或框架的专家。这些开发人员的潜在客户越少,但由于他们的专业化水平,他们能够开出非常高的时薪
- 专业领域
- web开发栈
- 嵌入式系统
- 特定的操作系统
- 移动开发
- 框架
- 软件系统
选择你的专业
- 一些技巧帮你选择自己的专业
- 在你现在或以前工作的公司里,有哪些主要的痛点?你能成为一名专门解决这些痛点的专家吗?
- 有没有一种特定的工作是无人能做,或者缺乏经验丰富的人?成为这个领域的专家,你就会获得大师业务
- 在各种会议上和用户组中哪些话题最常出现?
- 哪类问题你回复的最多,无论是针对同事还是在Stack Overflow这样的网站 上?
第8章 公司与公司是不一样的
小公司和创业公司
- 创业心态通常表现为:关注快速增长,竭尽所能让公司盈利,或者达成其他一些迫切目标
- 在这样一家公司工作的软件开发人员,你极有可能要身兼多职,不能只写代码
- 在大公司里,通过晋升到达总览级别是非常难的,但在小公司你的上升概率 要高很多,新进员工都会在你手下
中等规模的公司
- 中等规模的公司往往要比大公司还稳定,因为大公司往往还有大裁员或者周期性重组。如果你喜欢稳定,那你会发现中等规模的公司最适合你
- 大多数中等规模的公司厌恶风险,行事缓慢 。在一家中等规模的公司,如果你喜欢使用前沿技术,就会发现这一套很难受到老板的常识,因为风险很难评估
大公司
- 在为一家大公司工作时,你会注意到的最大的事情也许就是那里大量的规范和流程
- 为大公司工作的一个显而易见的事情就是成长机会。当我为一家财富500强的公司工作时,我获得了许多培训机会,各种软件产品供我使用。许多大公司提供职业发展指导,帮助你在组织内部学习和成长
- 大公司最后一点是:办公室政治。大公司通常有着复杂的政治体制,堪比大型政府机构
公司规模 | 优点 | 缺点 |
---|---|---|
小公司 | 承担多种职责,灵活的角色思考的、对工作的影响较大、回报潜力大 | 没法安静地坐下来写代码、工作在众目睽睽之下、稳定性差 |
中等规模公司 | 工作稳定、加班较少 | 变化很慢低下、没有机会使用前沿技术 |
大公司 | 完备的流程和规范、培训机会多、大型有影响力的项目 | 充斥着官僚语义作风、可能史佩珊代码库的一小部分、很难获得关注 |
软件开发公司与拥有软件开发人员的公司
- 两类公司之间的区别
- 软件开发人员只负责内部软件或他们正在生产的部分产品的公司
- 生产软件或者做软件开发就是核心业务的公司
- 那些以软件开发为生的公司则会更重视自己雇用的软件开发人员的价值。他们的工作环境不一定会更好,但会大不一样
采取行动
- 花点时间思考自己喜欢什么样的工作环境,多大规模的公司符合你自己理想中的工作环境?
- 列出在你所在地区的名录,或者你工作过的公司名录,看看它们分别属于哪种类型
第9章 攀登晋升阶梯
承担责任
- 在任何公司里能让你脱颖而出的最重要法定就是承担更多的责任
- 金钱总是追随着责任。有任何机会去承担更多责任时,承担起来!
- 去负责一项任务,或者牵头一个项目
- 没有人愿意涉足的领域是搜寻机会最好的地方。可能有一个没人愿意碰的遗留应用,或者代码库里的某个特别令人讨厌的模块
- 另一种间接承担责任的方式是成为团队中其他人的导师,自愿帮助新人加速成长,为任何有需要的人提供帮助。通过介入和解决别人的问题,你不仅可以学到更多自己专业之外的知识,而且随着时间的推移,你还能在团队中逐步树立『及时雨』的名声
- 如何能让自己承担更多责任
- 有一个不受重视的项目,你能去负责它吗?
- 你能帮助团队里的新人快速成长吗?
- 你能负责文档制作流程,并保证及时更新这些文档吗?
- 哪项工作是没有人愿意去做,你愿意承担起来,并将其简化或者自动化的?
引人注目
- 每当我开始新工作时,我所做的第一件事就是记日志,记录我每天都把时间花在哪儿了,完成了哪些工作。我会将这些信息汇总成周总结,在每个周五发送给我的经理。我会通过发送周工作总结的方式让他们的工作更轻松
- 这份周报确保我每周都能被经理注意到,我可以讨论那一周取得的成果,这是获得关注的绝佳方式,我看起来比我的同事工作更加富有成效,只是因为我的经理一直知道我在做什么
- 通过回顾周报,我能选出自己的年度关键成果。等到填写考核表时,我能准确知道自己一年来的成就,而且还有日期证明
- 最好的一种方法就是做一个关于团队当前正面临的主题或者问题的演讲。选一个自己能介绍的主题,然后向团队展示这一主题。你甚至可以做成『午餐 学习』的形式,在午餐时间进行分享,而不占用上班时间。通过这种方法,你获得了关注,也展示 了自己在特定领域的博学
- 如何令自己引人注目
- 每天都记录自己的活动日志——把这个日志以周报的形式发送给你的经理
- 提供演讲或培训——选择一个对你的团队有用的话题
- 发表意见——只要在会议上就这么做,或者只要你能得到的机会就这么做
- 保证『曝光度』——定期与老板会面,确保你经常被注意到
自学
- 自学能让升职加薪变得容易,因为你可以很清楚地表明:现在的自己比之前更有价值
- 千万不要忘记分享自己学到的东西。也可以创建自己的博客、为杂志写文章或者写书,还可以在社区活动或者技术大会上发表演讲。外部曝光有助于你建立自己在该领域的权威地位,也让你看起来对所代职的公司更有价值
成为问题的解决者
- 如果你能解决别人无法解决或不愿解决的问题,无论在哪家公司,你都能轻而易举地成为最有价值的人
采取行动
- 在你当前的工作岗位上,你可以通过何种方式承担更多的职责?
- 对于你的老板和经理,你现在的『曝光度』如何?下一周,你可以采取何种具体方式来提升自己的『曝光度』?
- 目前你正在自己学习些什么?确定要自学的最有价值的东西是什么,制订一份下一年的自学计划
第10章 成为专业人士
- 作为一名软件开发人员,专业将是你最大的财富
什么是专业人士
专业人士 | 外行 |
---|---|
遵守自己的原则 | 让干什么就干什么 |
专注于正确完成工作 | 专注于完成工作 |
不惧怕承认自己错了,不会文过饰非 | 不懂装懂 |
持续稳定 | 无法预测,不可靠 |
勇于承担责任 | 回避责任 |
成为专业人士(养成良好习惯)
- 习惯是成为专业人士的必不可少的部分。我们每天做的很多事情都是习惯性的。起床、上班、完成日常工作,大多数无需思考。如果你想改变自己的人生,那从改变自己的习惯开始
坚守正道
- 专业人士必须对工作的优先级做出艰难的抉择。不专业的开发人员经常浪费时间去画蛇添足,因为他们要么不能确定下一步要做什么,要么他们得一直让别人来帮自己设定工作的优先级。专业人士会评估需要完成的工作,翔宇优先级后再开始工作
追求品质,完善自我
- 将品质管理应用到你工作的每个细节 ,而不仅仅是那些看似重要的部分,这一点非常重要。真正的专业人士对自己的工作的所有方面都设定高品质标准
- 持续不断地完善自己的技能,学习更多与专业相关的匠艺,确保自己制订并执行了学习计划,拓展自己的技能、学习新东西,这将有助于你做得更好
书
- 《习惯的力量》
- 《百万富翁的秘密》
第11章 赢得自由——如何辞职
- 我建立了一种机制,每天记录并追踪自己的时间,以便我能了解自己的时间都去哪儿了
为别人工作与为自己工作
第12章 成为自由职业者:开户自己的一片天地
问问你认识的人
- 列出所有你认识的并且可能会对你的业务感举的人员名单,给他们发私人邮件,让他们明确知晓你能为他们做什么,以及他们为什么要雇用你做这项工作。你的潜在客户越来多,找到业务的可能性越大。找到业务基本上就是一个数字游戏。随着时间的推移,这种勤奋总归会有回报的。
获得客户的最佳途径
- 一个更简单同时更节约成本的方法,它唯一的缺点就是:需要耐心和勤勉的工作
- 『吸引式营销』基本上就是让潜在的客户主动送上门,而不是你去找陪你们。你要做的事情就是免费提供有价值的东西
- 博客是吸引式营销的绝佳途径
- 『吸引式营销』的方法多种多样,例如,你也可以做免费的网络课程、写书、在大会上做演讲、做客播客节目、制作自己的播客等,不一而足
- 『吸引式营销』唯一的问题是起效时间略长。你必须有足够丰富的内容来吸引足够多的潜在客户来充裕自己的工作渠道。这也是现在就开始着手暂时别辞职的好理由。长远来看,吸引式营销能给你带来更多的业务,也能让你更容易提高自己的时薪
怎么收费
- 作为自由职业者,你大概需要收到每小时75--100美元的费用才能在净收入方面等同于你做员工每小时50美元的薪水
- 通用的规则是,成为自由职业者之后,你的时薪水平应该是作为全职雇员时的两倍
- 如果你的营销策略是基于自己的服务可以为客户节省大笔开支或者提高他们的业务,你就可以根据自己的服务为客户带来的价值来定价。这就是『专业性』如此重要的原因
- 如果没有任何潜在客户跟你讲『不行』或者『你的收费太贵了』,马上提高费率!不断给你的收费加码,直到你听到『不行』为止。客户愿意为你的服务付的价格可能会让你大吃一惊。使用吸引式营销和根据自己能为客户带来的价值来调整价格,让自己的收费提升了不止一倍
第13章 创建你的第一个产品
找到受众
- 许多软件开发人员一开始就深陷创业者最常犯的错误之中——在为产品找到客户之前就构建好产品
- 如果你想开发出一款产品,第一步应该是筛选出一组特定的受众,他们也是你的解决方案的目标用户
- 去目标客户常去的地方,与用户参与的社区交流,了解一下普遍存在哪些问题。你能从中看到的痛点有哪些
- 如果你想让自己的产品也同样成功,首先打造一个成功的博客,使用播客、演讲、视频和其他媒体来发展自己的受众。接下来,一旦你有了受众,你就能够向这些受众销售自己的产品。你之所以购买这本书可能就是因为你已经是我博客的粉丝,或者因为关注我的其他工作而无意中发现这本书,或者你之前听过我的播客。这就是发展自己的受众的威力
测试市场
- 我将要创建一个什么样的产品,并且为产品还没创建之前就付费的用户提供大幅折扣
- 你还要提供退款保证,让潜在客户知道如果你的产品不能如期交付或者不能令他们满意,他们可以得到退款
- 但是如果预订数量有限怎么办?碰到这种情况,你可以决定是否修改产品或者作品,因为你不是在解决正确的问题,或者你可以直接退款给那几位预订者,向他们道歉,告诉他们感兴趣的人不多
采取行动
- 整理出一批能够为自己将要创建的产品进行调研的目标受众
- 从这些受众中挑选出一位用户,看看他参加了哪些集会(无论是线上的还是线下的)。加入他们的社区,倾听他们的问题。看看你能不能从中挑选出一两个潜在领域去开发产品,解决他们的痛点
- 排查是否有人已经解决了这个问题,你并不想进入一个竞争已经白热化的市场
书
- 《精益创业》
第15章 远程工作的生存策略
挑战1:时间管理
- 真正解决这个问题需要缜密的时间管理。你可以在你想工作的任何时间再去工作,但是你必须要设定每周的日程表并且坚持下去
挑战2:自我激励
- 坐下来,设定一个15分钟的计时器,开始工作。在这15分钟里,你必须工作。你不能让自己分心,必须专注于手头的任务。15分钟纯粹且专注的工作结束后,你可能会发现继续下去变得容易些了。事实证明,一旦我们专心致志地工作一段时间,我们就会沉浸其中,也有动力继续 。我把这种称为冲量效应
『冲量』(momentum)是高中物理课本告诉我们,冲量等于作用力乘以时间。这里用『冲量』比喻专心工作一刻钟就会产生继续工作下去的动力
书
- 《驱动力》
第16章 假装自己能成功
『假装自己能成功』的真实含义
- 当我在说『假装自己能成功』的时候,我是在说你要如心理暗示 那样行事
- 你仿佛已经具备了成功完成任务的技能和天分
- 你仿佛已经成为自己想成为的那类人
- 仿佛战斗已经结束,而你大获全胜,因为你深知如果自己坚持不懈,胜利就在眼前
- 你仿佛已经对即将踏上的未知道路驾轻就熟
- 你要在做任何事情的时候都充满自信,即使是在自己的能力远远不到的时候,因为你有一种自己能够克服一切障碍的信念
付诸实践
- 诚实地面对自己的能力或不足,同时保持『我以前已经克服过那些困难』的心态和姿态,因为你清楚地知道,唯一横亘在『现在的你』和『未来的你』之间的是时间
第19章 针对『码农』的营销基础课
营销就是一个『乘数效应』——你的营销越好,你的才华才能表现得越发淋漓极致。这就是对于软件开发人员来说,学习营销技能至关重要的原因
自我营销意味着什么
- 把希望得到你提供的产品或服务的人和你自己连接起来
自我营销为何如此重要
- 音乐才华相当的两支乐队,一支在酒吧驻场而另一支是流行巨星,他们之间的成就差别为何如此悬殊?我将产生这种差异的原因归咎为营销
如何自我营销
- 博客是你在互联网上的大本营。这是一个你完全能够控制信息的地方
- 无论你身在何处都要营销
- 自我营销的基本机制是,要想让众追随你、倾听你,你就要带给他们价值:你能为他们的问题提供答案,甚至是给他们带去欢乐
第20章 打造引人注目的品牌
什么是品牌
- 品牌的关键并不在于视觉元素,而是品牌带给你的感受,是你与品牌互动时的预期。品牌即承诺:承诺按照你预期的方式交付你所预期的价值
构成品牌的要素有哪些
例如,我的个人品牌Simple Programmer是围绕着『化繁为简』这个信息做文章:我把各种复杂的概念分解后,黑化为人人可以理解的简单概念
- 首次,也是最重要的,就是品牌所传递的信息
- 其次,品牌需要视觉符号。尽管视觉符号不是品牌本身,但它对品牌非常重要。
- 再者,品牌要有一致性。一旦失去了一致性,就无法构建品牌认知度,或者更糟
- 最后是品牌曝光度。假设其他三个要素你做得都很好,但有的人只见过一次你的品牌,对你也没有太多意义
创建属于自己的品牌
- 第一步就是要定义你想传达的信息。你不可能覆盖所有人群,因此需要缩小自己的受众范围,选择自己的细分市场
- 选择某个细分市场,然后以它为核心建立你的品牌,越有针对性越好
- 如果需要更换细分市场,也不要犹豫
- 创建品牌的步骤
- 明确要传达的品牌信息
- 挑选细分市场
- 创建品牌口号
- 创建电梯内销售概要(用两到三句话概括一个产品,向潜在的买家或赞助人做介绍 )
- 创建视觉符号(即标识)
我为自己的多个产品和服务创建了品牌,借助我个人非常喜欢的服务Fiverr(http://simpleprogrammer.com/ss-fiverr),我以每个5美元的价格搞定了其中几个品牌的标识
采取行动
- 列出一些你熟悉的流行品牌,选择1-2个进行深入研究,试着确定一下这些 品牌传递的信息是什么,看看它们是如何使用商标和其他视觉元素来传达信息的
- 使用头脑风暴的方法为自己的个人品牌列出细分想法。先列出至少10-15个想法,然后再缩小 到2-03个,最后选定一个作为你的个人品牌
第21章 创建大获成功的博客
博客是推销自己的一种既廉价又简单的方式,对于让自己声名鹊起极具价值。成功的博客每天能够吸引数百甚至数千的访客,这可以给你带来很多机会,从工作岗位到咨询项目,甚至是产品销售的目标客户
为什么博客如此重要
- 如此简短的简历和如此短暂的面试来评估一名软件开发人员的技能非常困难,所以雇主以此判定某个人是否适合某个工作岗位也颇具难度
- 试想一下,如果一位软件开发人员拥有一个定期更新的博客会怎么样。他的博客可能包含了丰富的相关信息,包括代码示例,还有对软件开发各个方面的深入分析。与任何其他方式相比,阅读一位软件开发人员的博客能让我对他了解更多
- 即使你对上面提及的博客能带给你的所有好处都打了折扣,有一个好处是你无法轻易抹杀的——提高你的沟通技巧。组织自己的思想,并将其转化为文字,是一项颇具难度却也极具价值的技能
打造成功博客的秘诀
- 打造成功博客的最大秘诀有且仅有一个——持之以恒。我和许多成功的博主都谈论过,他们都有一个共同点——写了很多博客。我认识的一些最成功的博主每天都要写博客,而且已经坚持了许多年
- 你其实不必每天都写博客(刚开始的时候,一周写上两三篇博客也无妨)。最重要的是,定好一个计划,然后坚持不懈。博客更新的频率将决定你的博客成功的速度。我强烈建议以每周至少一篇的速度更新博客。以这个频率,你每年就会增加52篇博客。这非常关键,你的博客流量很大一部分(甚至是绝大部分)都来自goolge这样的搜索引擎
- 如果你每天写一篇博客且坚持好几年,想不成功都难。尽管如此,只是持之以恒还不足以使你的博客大获成功,你还应该确保你写的都是高质量内容
- 持之以恒地坚持写作,坚持不懈地产生高品质内容,如果你做到了这两点,基本上你就成功了,它能让你轻松跻身开发人员的前1%之列,至少在自我营销这方面
提升访问量
- 第一个策略就是开始评论其他人的博客。找到撰写类似主题的博客的开发人员,在他们的博客写下有意义的评论,只要有机会就链接到自己的博客上。
- 坚持每天都在不同的博客上发表评论,假以时日,你就能看到来自你访问并留下评论的博客的流量了。你的评论越有见地,众越有兴趣查看你在自己博客上所说的
- 另外一些在初始化阶段获得流量的好办法就是:在社交网络上分享你的博客文章,在你的电子邮件签名的底部以及所有的在线个人主页中添加你的博客链接
- 你还应该让分享内容的方式更简单,以方便其他人分享你的内容
- 最后,如果你足够勇敢 并且认为自己的文章足够优秀或者富有争议,可以把自己的文章提交到reddit或者hacker news这样的社交新闻网站
采取行动
- 你喜欢的开发人员博客有哪些?看看你读的这些 博客,试着列出这些 博客更新频率和每篇文章的平均长度
- 创建一个流动的博客文章主题列表,每当有新想法,就把它添加到这个列表中。在需要写新博文的时候,文章主题就能够信手拈来
第22章 你的主要目标:为他人增加价值
不要努力成为一个成功的人,而要努力成为一个有价值的人——爱因斯坦
- 如果你表达的和你传递的信息不能帮到其他人,那么每个人都将会无视你
- 要想让自我营销的所有努力奏效,基本的方法就是帮助他人获得成功
- 如果你能帮助足够多的人们得到他们想要的东西,你就会得到自己想要的东西
把你工作成果的90%都做成免费的
- 提供的所有内容,90%应该完全免费。为自己的辛勤工作收费,无可非非。但是你会发现,当你免费给人们提供实际价值时,回报更大。
- 免费内容比付费内容更容易被分享。你撰写博客、制作视频或者播客,然后将这些内容免费提供,与收费内容相比,众更可能会分享和传播这些免费的内容
- 通过提供免费内容,你让人们有机会无需投入资金就能了解你生产的内容多么有价值。你可能园里没有收费的打算,但是一旦有此计划,你很容易说服人们去付费,因为他们早已通过你提供的免费内容知道你提供高品质的内容。免费还会让人们对你心生感激之情,他们也希望能通过购买你开发的产品或服务来回报你
奔向成功的快车道
- 每次当你开始着手做某件事情的时候,无论是创建博客、截屏视频还是别的活动,你应该从它是如何为他人创造价值的角度来看待它
- 能解决他人的问题,真正能够帮到他人,你更容易获得成功
赠人玫瑰,手有余香
- 你帮助别人越多,面对的问题和情况越多,就能结交的人也越多。总是帮助他人解决问题的人,在解决他们自己的问题时会更加轻松自如,而当他们真遇到障碍的时候,总是会有好多人你晚上出援手
采取行动
- 什么样的内容会让你觉得最有价值?有没有哪个特别的博客会让你每周都去六块,或者哪个播客的内容如此有价值让你欲罢不能,不至于一集都不想落下?
- 你可以提供给自己的受众或你的细分市场的最大价值是什么?你认为什么样的内容对于你的受众群体而言是最有价值的?
第23章 善于运用社交媒体
培育你的社交网络
- 最容易做到的就是关注他人,或者邀请他人加入你的网络
有效地运用社交媒体
- 每周我都会把自认为有用的信息整理为一份内容集锦,借此吸引众在社交网络上关注我。这份集锦通常包括博客文章、新闻报道、励志名言、与软件开发相关的小技巧等,同时我还会提出一些问题来挑战我的关注者,促使他们与我对话
- 通过社交媒体分享的内容
方式 | 内容 |
---|---|
博客文章 | 转贴一些博客文章,或者自己的博客 |
新闻报道 | 转载一些有趣的文章,尽量与你的细分领域有关,或者与软件开发相关 |
励志名言 | 名人名言,特别是鼓舞人心、非常流行的名言警句 |
技巧、小窍门 | 任何你所了解的特殊技巧或者知识,别人会很欣赏 |
幽默故事 | 发一点儿幽默故事挺不错 的,但是一定要确保确实好笑,另外千万别冒犯别人 |
吸引人的问题 | 这是一个很棒的吸引你的听众并和他们互动的方法 |
自己的一些的推广活动 | 别太多,并且跟其他内容混合在一起 |
保持活跃度
- 每周我都确保自己在每个社交网络至少发布两篇内容。同时我还设置:当我发表新的博客文章或youtube视频时,这些内容被自动分享到我的所有社交网络上
不同的社交网络,不一样的功能划分
- 作为一名潜心钻石『自我营销』的软件开发人员,你应该在各大主流社交网络上占有一席之地,特别是更偏重技术和职业发展的社交网站
第24章 演讲、报告和培训:做『说话的极客』
演讲和举办某种形式的培训是连接普罗大众和自我营销的最有效的方式之一。虽然这一方式在扩散速度上不及其他媒体 ,但是站在目标受众面前 ,直接面对他们侃侃而谈,却是最能打动他们的方式
开始演讲
- 一开始最好是在自己的工作场合做讲座。大多数公司都欢迎自己的员工分享各种话题,特别是与当前工作直接相关的内容
- 另一条成为『演说家』的路径是代码训练营和用户组举办讲座
- 最后,一旦你拥有了一些演讲经验,就可以向各种开发者大会提交演讲申请
做培训怎么样
- 做培训,不论是现场培训或录制培训,都是建立自己的声誉的另一种很棒的方式,甚至还能赚点钱。我本人正是通过提供网上课程取得了相当大的成功的。培训不仅能够给我带来收入,还让我获得了『行业专家』的美誉
采取行动
- 列出你所在地区的所有用户组清单,同时列出你能去发表演讲的代码训练营清单。挑选一个自己觉得比较有把握的专题发表一次演讲
- 找出网上提供的那些针对软件开发人员的培训课程,无论是付费的还是免费的,关注并记录找出成功的培训师是怎么做的
- 试着以截屏视频的方式创建自己的短时培训课程,然后在youtube等网站发布
- 创建一个列表,列出所有你可以发表演讲的主题
第25章 著书立说,吸引追随者
为什么著书立说如此重要
- 书籍为它的作者带来非凡的影响力。一个人通过写书可以收获极大的依赖
- 当人们坐下来读你写的书的时候,你会长期被他们关注。读完一本书通常需要10-15小时。你很难再找到别的媒介 ,能让人投入这么长的时间去倾听你的信息
书籍和杂志都不赚钱
- 写书是为了提高自己的声誉
- 你会发现这些已经出息的内容间接地带来了各种各样其他的赚钱机会。
- 那些出息过专著的作者会发现自己更容易获邀在各种会议发表演讲,能够建立自己在某一学科的权威地位,这些都能为你带来更多的客户和更好的工作机会
获得出版机会
- 要想让自己有机会出书,最好的办法就是明确一个有市场需求的主题,同时也能够充分展示你作为该领域专家的学识
- 你也应该提前做功课从而让自己在市场上立足。我建议你开设博客,给一些较小的杂志投稿。随着你在自己的专业领域树立起自己的声望,你可以积累更大的出版物。出版社和杂志社都愿意和拥有众多粉丝的作者合作,因为这意味着他们的名气就是发行量的保证
- 最后,你应当准备一份翔实的写作提纲(文章摘要)清晰地概括自己的写作目的,明确本书的目标读者,以及你为何认为这本书会成功,为何你是写作这本书的最佳人选。你的提纲写得越好,它被出版商接受的可能性就越大
自出版
- 在程序员中广为流行的一个是leanpub。你能使用markdown语言写作,leanpub将书籍做好格式思考的后上架销售,并收取相关费用。他们收取的费用仅占书的总价的很小一部分
- 也可以通过亚马逊的kindle direct publishing(kindle直接出版)计划将自己的书直接在亚马逊上出售,或者使用smashwords、bookbaby这样的服务来将自己的书发行到多个市场,这些服务甚至可以帮你将你的书思考的为电子书格式
第26章 百折不挠,越挫越勇
被看作傻瓜又如何
在我的职业生涯中,我一共错失了9000多次投篮,输掉了近300场比赛。我本来有26次绝杀的机会却投球不进。我失败了一次又一次。这就是我能够成功的原因——迈克尔 乔丹
小步快跑
- 如果照我的想法,我会带你到游泳池边上,然后一脚把你踹进深水区,因为据我所知,这是学习游泳最快的方式
第27章 学习怎样学习:如何自我教育
教育就是当一个人把在学校所学全部忘光之后剩下的东西——爱因斯坦
- 在这个飞速变化的世界里,学习的能力是至关重要的。软件开发人员如果选择固步自封,忽视自己的技能发展,那么他们很快就会落在后面,错失未来,只能被派去维护过去的遗留系统
- 学会学习是自我教育的核心技能
剖析学习过程
- 通过动手实践和教会他人,我们能学得更好。与其他学习方式相比,主动学习是效率更高的方式
教育的首要目标,并不在于『知』而在于『行』——赫伯特 斯宾塞
自我教育
- 玩耍是一项强大的学习机制。动物的幼崽总是贪玩,通过玩耍,它们学会了许多赖以我现在的重要技能
- 玩成为一个你可以大加利用的强大武器。它不仅能激励你,还能大大加快你的学习步伐 。在你阅读某个主题的书之前,大致浏览后就开始实践。你会发现随着自己的实验和探索,自己在哪些方面发现了问题
- 一旦你已经实践过,并积累了各式各样的问题,立刻回到书本当中。当你重读这些参考资料时,你有强烈的冲动去消化其中的内容。因为你已经积攒了很多想要找到答案的问题
- 然后,可以把自己学到的新知识重新应用于实践。看看你学到的新方法是否能解决你已有的问题
- 最后,你可以将自己所学的打包教给别人。这一点是画龙点睛之笔,你应该随时准备与有兴趣倾听的人分享你新学到的知识
第28章 我的『十步学习法』
体系背后的逻辑
- 书本里的很多内容更适合作为参考资料,而不适合实际学习
- 先明确需要掌握哪些内容,再去寻找我能获得这些信息的最佳资源,同时也会忽略那些并非达成目标所必需的其他信息
- 为了掌握一门技术,我需要了解以下三个要点
- 如何开始——要想开始使用自己所学的,我需要掌握哪些基本知识?
- 学科范围——我现在学的东西有多宏大?我应该怎么做?能对该学科的轮廓有大致的了解,那么将来我就能发现更多细节
- 基础知识——不止在开始阶段,要想使用一项特定的技术,我需要了解基本的用户案例和最常见的问题,也需要知道自己学的哪20%能满足80%的日常应用
十步学习法体系
- 『十步学习法』的基本思想是:要对自己要学的内容有个基本的了解 ——了解自己不知道什么就足矣。然后,利用这些信息勾勒出学习的范围,以及学成之后又会获得什么。领先这些知识,你可以找出各种资源帮助自己学习。最后,你可以创建自己的学习计划,列出要去学习哪些相关课程,筛选学习材料,只保留能帮助自己达成目标的优质内容
- 通过『学习——实践——掌握——教授』(Learning,Doing,Learning and Teaching,LDLT)的过程,获得对该学科的深刻理解 ,同时你也向着自己的目标前进
- 『十步学习法』的第一部分是研究,它是一次性完成的。但是从第7步到第10步则是重复的过程
采取行动
- 挑选一项你已经烂熟于胸的技术,看看你c能否最受欢迎以下几点
- 如何开始用它?
- 该技术的应用广度如何?
- 利用你需要知道的20%发挥出80%功效
第29章 第1步到第6步:这些步骤只做一次
- 尽管第1步到第6步只需做一次,但是它们却是最重要的步骤,因为它们起到决定性作用
第1步:了解全局
- 我们在这一步的目的不是要掌握该主题,只是对这一主题的相关内容有一个全局性的了解
第2步:确定范围
- 集中精力去明确 自己到底要学什么
- 如果你想了解如何拍摄人像照片,那这就是你的学习范围
- 在学习过程中,大家很容易 犯的一个错误就是试图解决太大的问题而把自己搞得不堪重负
- 将一个大的主题分解成可控的子主题
初始的主题 | 可以分解为子主题 |
---|---|
学习C# | 学习C#语言的基础知识,掌握如何创建一个简单的控制台程序 |
学习摄影 | 掌握针对人像拍摄的数码摄影知识 |
学习linux | 了解如何设置和安装ubuntu linux,以及如何使用它的基本特性 |
- 明确学习范围的时候要考虑时间因素
第3步:定义目标
- 好的成功标准应该是具体的、无二义性的
不好的成功标准 | 好的成功标准 |
---|---|
我可以用我的数码相机拍出好照片 | 我可以使用我的数码相机里的所有功能,能够清晰地描述这些功能是什么,并且知道何时何地使用各功能 |
我学习了关于C#语言的基础知识 | 我可以利用C#语言的主要功能写出一个小的应用程序 |
我知道如何使用HTML去构建一个网页 | 我可以使用HTML5在网上为我自己创建一个主页,展示我的简历和我的代表性工作 |
第4步:寻找资源
- 要尝试收集到多种多样的资源帮助你学习,而不是只读一本关于这一主题的书
- 信息来源
- 图书
- 博客文章
- 在线视频
- 专家,或者对你所想要学习的内容已经熟知的人
- 播客
- 源代码
- 示例项目
- 在线文档
第5步:创建学习计划
- 打造自己的学习计划,一个好方法就是观察别人是如何教你感兴趣的主题的。我通常会翻看自己在第4步中找来的图书的目录
第6步:筛选资源
- 挑选最有价值的几项来帮你实现自己的目标
第30章 第7步到第10步:循环往复
- 你能将自己学到的教给他人,以此来弥补自己在学习过程中的不足,同时通过深入思考巩固知识
第7步:开始学习,浅尝辄止
- 在学习过程中通常会犯两类错误
- 在知之不多的情况下就盲目开始,即行动太快
- 行动之前准备过多,即行动太晚
第8步:动手操作,边玩边学
- 创建一个小项目来测试这一步的效果。把那些暂时还没有答案的问题记录下来,你在下一步中会有机会找出这些 问题的答案
第9步:全面掌握,学以致用
- 好奇心是学习特别是自学的重要组成部分
- 你通过动手操作发现了一些尚未找到答案的问题。现在,是时候来回答这些问题了
- 为上一步产生的问题寻求答案,阅读文字、观看视频、与他人交流都是必要手段。这能让你沉浸在学习材料 中,尽可能地汲取知识
第10步:乐为人师,融会贯通
你告诉我的,我都忘了。你教会我的,我都记得。让我乐在其中,我就一定能学会——本杰明 富兰克林
- 将自己学到的知识教给别人。要想确定你确定掌握了某些知识,这是唯一的办法;同时,在你将自己所学会介绍给他人时,这也是查缺补漏的好办法
- 你要花时间将自己学到的东西从大脑中提取出来,以别人能够理解 的方式组织起来。在经历了整个这个过程之后你会发现,有很多你以为自己明白了的知识点,其实并没有摸透
- 教授知识的途径
- 撰写博客文章
- 创建视频教程
- 发表演讲
- 与朋友或爱人进行对话探讨
- 在在线论坛上回答问题
第31章 寻找导师:找到你的尤达
- 在你的软件开发生涯中,拥有一位导师可以说是一笔巨大的财富,因为一位优秀的导师能够让你无需亲身经历现实的重重考验就拥有丰富的经验
导师的修养
- 你可以找一位已经成功实现你想要做的事情的人,也可以找一位曾经帮别人实现了你现在想要做到的事情的人
- 在寻找一位导师的时候,你必须要抛开自己的判断和推理,只去关注导师的成就
- 寻找导师时的检查单
- 他们做到了我想要去做的?
- 他们曾经帮助他人做到了我想做的?
- 他们现在取得了什么可以展示的成就?
- 你能和这个人和睦相处?他充满智慧吗?
在哪里可以找到导师
- 本地的各种社群,通常是各种各样的兴趣小组
- 如果你想在一家公司里获得晋升,那么在公司内部给自己寻找一位导师无缝是明智之举。你的老板或者你老板的老板这样的资深人士是导师的不二人选
虚拟导师
- 我找来一些房地产投资方面最好的书,从这些 『虚拟导师』身上我学会很多东西
- 自己无法找到想要的导师的时候,通过想象拥有了导师。他阅读自己所崇拜的著名人物的传记,想象与他们交谈
招募导师
- 完成这一任务的最佳途径就是交换互助。你能提供的最好的交换物就是自己对学习的渴望……还有……免费工作。没错,拒绝免费劳动力是相当困难的。如果你愿意以单调的工作换取学习的机会,你会发现自己的导师更容易接受你的请求
可以考虑请他吃午餐或晚餐,在吃饭的时候让他给你一些建议
书
- 《思考致富》
第32章 开山收徒:成为尤达一样的大师
做一名导师
- 有时候你给别人做导师真正要做的就是给予关注。许多收入很高的生活教练其实就是这么做的
身为导师的好处
- 帮助他人时的成就感
- 深入学习和领悟知识的途径
- 你的徒弟有朝一日会帮到你
- 自身的成长。帮助别人成长的过程也就是自己成长的过程
挑选一位『值得』指导的门徒
- 要找真正有意愿去学习,并愿意为此付出努力的人做自己的门徒。那些因为懒惰不愿意付出而向你寻求帮助的人,不配做你的门徒
第33章 传道授业:若要学知识,必得为人师
- 唯一可以做到深入学习的方法,就是传道授业
入门
- 从『小』做起,渐渐习惯去分享自己的想法。我一直建议开发人员要开自己的博客
- 视频,尤其是教程截屏,也是一种很好的教学方式,很容易上手。你可以使用像Camtasia或ScreenFlow这样的录屏软件来录制你的屏幕,并提供一个画外音来解释操作过程
第34章 你需要一个学位吗,还是可以对此忽略不计
获得成功必须要有学位吗?
- 我发现,拥有学位并不是成功所必需的,但它肯定是一个限制性因素,特别是在大公司中。没有学位可能会让你的简历被过滤掉,连被人看到的机会都没有
- 能够深入挖掘问题并理解问题的能力更具价值。对大多数软件开发人员来说,在工作中取得成功的更直接因素还是相关工作经验
拥有学历的优势
学位的好处 | 学位的缺点 |
---|---|
接受有关软件开发方面的全面的系统教育 | 花费原本可以赚钱的时间去学习 |
无需经验就可以入行 | 可能会受困于思维定式,难以打破 |
有更多选择,更容易转到等下或管理岗位 |
没有学历又当如何
- 如果没有学历 ,你就不得不更多地领先经验来证明自己的能力。学位至少可以让雇主相信你具备了某些软件开发的知识
- 不管你是拥有学位还是拥有经验,我都建议你将自己的工作成果总结为作品集。做到这一点最好的办法就是在github这样的代码托管网站上创建或者参与一个开源项目
采取行动
- 如果你没有学位,看看有哪些网上课程或者业余课程可以参加。花费多少,多久会让你毕业
- 如果你决定完全放弃学位教育,那么一定要确保自己有一个非常出色的作品集。花时间把写过的代码整理一下,证明你了解你所做的工作
第35章 发现自己的知识短板
- 专注于自身强项,这没什么不妥,但有时候,如果弱点得不到解决,通常会成为你的职业或生活的桎梏。我们每个人都有弱点
找出你的短板
- 知识短板会阻碍你进步。准确识别它们的最佳方式之一就是看看自己在哪些工作上花费了大师的时间,或者一直进行重复性劳动
- 另一种识别知识短板的方法是:时刻都要试图了解自己不理解或不清楚的事物。你可以维护一份清单,列出自己需要去研究或者自己不清楚的所有事务
- 检查知识短板
知识短板高发区 | 你的短板 |
---|---|
在哪些工作上花费时间最多? | |
可以改进的重复性劳动 | |
自己没有完全理解的东西 | |
你回答不出来的面试题 |
消除短板
- 通过『提问题』来快速填补自己知识上的短板
第36章 一切始于专注
- 专注对于完成任何任务都是至关重要的
专注的魔力
- 一旦找到这种状态,你就能在短期内完成很多任务
如何更专注
- 挑选一些耗时15-30分钟的任务。插上已签,合上这本书。不要想别的事情 ,只关注这一项任务
没有听起来那么容易
- 将手机调成静音状态,关掉分散注意力的浏览器窗口,禁用屏幕上的弹出窗口,甚至可以考虑在你的门上或者工位入口挂一个『正在忙,勿打扰』的牌子
第37章 我的私房『生产力提升计划』
概览
- 我的生产力提升计划的基本思路就是,我把一周的时间分配给一个一个用时不超过两小时的小任务。我使用看板来安排自己的一周活动
- 在工作时我会使用番茄工作法来保持专注,并且用番茄工作法估算和衡量每一项任务要花多长时间
季度计划
- 我想在本季度完成的每一个大项目,我还会制订一些较小的目标。我会思考我在每一周或每一天分别完成哪些工作
月计划
- 每个月的第一天我会打印出当月的月历,并且规划出每天要完成的工作。此时我并不能做到非常精确,但是我可以根据当月天数和之前的完成情况,粗略估算出当月我能够完成多少工作
周计划
- 每周一的早晨,我会做我的周计划。我原来使用名为Trello的工具作为看板来组织我一周的工作,但最近我一直在用Kanbanflow创建自己的看板,因为它有一个内置的番茄钟定时器。还有一列标注为『下周』,我会把所有这周内完成的任务以及我知道下周必须要做的事情放进去,以免自己忘记
- 每天开始工作时我都要浏览一下本周需要做的事情清单
- 对于每张卡片,我要估算一下要花多长时间(以番茄钟为单位——专注工作25分钟)。我假设自己每天可以使用约10个番茄钟。我会确保先将上述这些任务加进计划中,因为我知道这些是每周必须要完成的
日计划及执行
- 每天,在坐下来工作之前 ,我都会做一些健身活动。之所以这样做,是因为我不希望中途有事情打断我专注的状态。一旦我做好准备坐下来工作,我做的第一件事就是计划我的这一天
- 如果卡片上对该项任务的描述不够细致,我还会添加细节 。我要确保自己在开始工作之前就确切地知道自己在做什么,这项任务完成的标准又是什么。这样做可以避免因为任务定义不清晰而导致的拖延和时间浪费
与干扰做斗争
- 除非一些事情确实紧急 ,否则我一般只在晚上统一回复电子邮件
第38章 番茄工作法
概述
- 规划出打算一天之内完成的工作,然后设置一个时长25分钟的定时器,一旦有干扰,可以用各种方法屏蔽掉干扰,但是通常你要努力保证自己完全不被干扰
- 在25分钟结束的时候,设置一个5分钟的定时器,休息一下。这就是所谓的一个『番茄钟』。每4个番茄钟后,你都需要休息一会儿,通常为15分钟。
- 从技术上讲,如果提前完成任务,你应该将剩余时间设置为『过度学习』时间。也就是说,你需要继续对已完成的工作做出小幅改进,或者重新阅读材料以便于你能够再学一些新东西
有效利用番茄工作法
- 番茄工作法只有被当作估算和评估的工具使用时,才能发挥它的真正威力。通过跟踪自己在一天内完成了多少个番茄钟,以及为每天要完成的番茄钟的数量设定目标,你瞬间有能力去真正评估自己每日工作的努力程度
第39章 我的『定额工作法』:我是如何做到超额完成工作的
什么是定额工作法
- 我为所有需要一次以上的任务都设置了定额。我对自己做的任何重复性工作的频率进行了量化,有的一月一次,有的一周四次
- 利用这一方法我取得的最大成就就是我创建的Pulralsight课程。我给自己设定了一个定额:每周完成3个模块的课程(每个模块是一堂30-60分钟的课程。我的大多数课程都由5个模块组成)通过设定这一定额,我能够在3年之内完成了超过55门课程
- 定额示例
- 每周跑步3次
- 每周发布一篇博客
- (写作本书时)每天写一章
- 每周完成50个番茄钟的工作
定额工作法规则
- 挑选一项重复性任务
- 明确有效时限,在此期间该任务被重复执行
- 明确在给定的有效时限内该任务应该完成的次数的定额
- 给自己承诺:一定要达成定额
- 调整。调高或者调低定额,但是不能在有效时间段之内调整
书
- 《自控力》
第41章 要不要多任务并行
为什么多任务并行一般都很糟糕
- 任务切换越多,浪费的时间也就越多,因为你的大脑并不能专注于一项任务
潜在的适合批量处理的领域
- 电子邮件
- 打电话
- 修复bug
- 开短会
什么才是真正的多任务并行
- 真正的多任务并行使我极大地提升了自己的生产力。如果你可以将两项任务组合起来,并且真正做到同时处理它们两个,你才能完成更多。诀窍在于搞清楚哪些任务可以被真正组合起来而不会降低单独执行每项工作的生产效率
一边健身一边听有声读物,我已经读完了很多书
第42章 职业倦怠:我已找到解药
- 随着时间的推移,缓慢的成果进展消耗着你的动机。你最终发现自己的动机和兴趣都濒临谷底。这就是那堵看不见的『墙』
- 看一下,当你打通那堵墙的时候,墙的另一侧是什么?突然间,成果会极速增加。动机和兴趣也会被大幅拉升
采取行动
- 设定规则和约束条件,强迫自己穿过那堵不可避免的墙
- 如果你正面临职业生涯或者个人生活中的一堵墙,试着去穿越它。想想在墙的另一侧会有怎样的收获等着你。想象自己的动机和兴趣终将获得回报
第43章 时间是怎样被浪费掉的
最大的时间杀手
- 必须立刻停止看电视。放下遥控器,关掉电视机,找些其他事来做做——除了看电视,什么事都行
其他时间杀手
- 如果你在公司上班,那么另一个让你生产效率低下的时间杀手就是开会
- 不想让开会浪费自己的时间,最好的办法很简单,就是不去开会
- 一些常见的时间杀手
- 看电视
- 社交媒体
- 新闻网站
- 不必要的会议
- 烹饪
- 玩电子游戏(尤其是网络游戏)
- 工作喝咖啡休息
书
- 《重来》
第44章 形成惯例的重要性
- 惯例塑造你的生活,让你变得更有生产效率,惯例是让你实现目标最强大的方式之一
第45章 培养习惯:刷新你的代码
成就我们的恰恰就是那些不断重复做的事情。因此,优秀不是一种行为,而是一种习惯——亚里士多德
了解习惯
- 习惯主要由三个要素构成
- 暗示
- 惯例
- 奖励
- 我们的大脑非常善于养成习惯。我们会根据周围的事物自发地养成习惯。一件事情做得越多,越可能形成习惯。习惯的力量往往基于奖励的价值
养成新习惯
- 如果你能同时养成另一个习惯,效果更好。我有一个习惯,每天晚上会花30分钟阅读技术书籍,以此来打磨我的技能。我后来决定将该项习惯与每天步行30分钟的习惯结合起来,养成一个新习惯。现在,我想读书的时候,我总觉得非得在跑步机上走30分钟不可
书
- 《习惯的力量》
第46章 分解任务:如何吃掉一头大象
要吃掉一头大象,每次吃一口——克雷顿 艾布拉姆斯
为什么更大并不总是更好
- 我要求他人完成的任务越大,他们完不成任务的可能性就越大
第47章 努力工作的价值,以及为什么你总是逃避努力工作
赛跑比的是谁耐力更长久,而不是看谁冲刺更有力
采取行动
- 你曾经投身到哪些艰苦的工作中?有哪些任务你会因为不喜欢而拖延?找出其中一项任务,毫不犹豫地马上去做。养成雷厉风行的习惯,并且立即在需要做的工作中付诸行动
第48章 任何行动都比不采取行动好
任何行动往往都比没有行动好,特别是当你一直停滞在不愉快的情势下很长时间的时候。如果这是一个错误,至少你学到了一些东西。这样一来,它就不再是一个错误。如果你仍然 选择停滞不前,那么你就学不到任何东西——埃克哈特 托利《当下的力量》
- 在软件开发的职业生涯中,没有什么比不采取行动对生产力更致命了
不采取行动会发生什么
- 无论是什么情况在困扰着你,都不要拒绝采取 行动。当下就是行动的时刻。当下就是决策的时刻
跑起来的汽车更容易转向
- 无所作为就像坐在一辆停着的汽车上转动方向盘。你有转过停着的汽车的方向盘吗?这并不容易 。但是,当车子开起来的时候再去转方向盘就容易多了
第49章 怎样支配你的薪水
- 你对自己的财务和投资的管理方式会对自己的生活产生深远的影响,甚至可能远超除健康之外的其他东西
第50章 怎样进行薪酬谈判
薪酬谈判始于求职之前
- 我强烈建议软件开发人员打造个人品牌,并积极地营销自己
- 为了做到这一点,基本策略就是尽可能让自己的名字出现在各种媒体上。写博客、做播客、写书或文章、在大会或用户组中发表演讲、制作视频教程、为开源项目贡献代码等,尽一切可能让自己的名字出现在各种场合
- 只要记住:自我营销做得越好,声望越高,薪酬谈判就越容易 。这一点甚至有可能是最重要的因素
获得工作的方式至关重要
- 一家公司知道你,然后无需任何面试就直接为你提供一个职位。在这种情况下,你尽可以根据自己的声望为自己标价
被要求先出价该怎么办
在给出一个确切的数额或者估算之前 ,我更愿意多了解一下贵公司,多了解一些我未来职位的工作内容。不过,听起来好像你是想弄清楚我们双方想的薪酬范围是否一样,这样我们就无需浪费我们的时间了。是这样吗? 对这个职位的薪酬,你们一定有一个预算范围,对吧? 好吧,如果你告诉我预算范围,尽管我无法准确说出我的期望薪酬,但是我可以告诉你贵公司的薪酬预算是否符合我的心理预期
拿到offer的时候
我很乐意为贵公司工作。这份工作听起来相当不错 ,能与您的团队一起工作我也很激动。不过,我仍然对这个数额有一点点犹豫。如果您能提高到X美元,我可以今天就确定并签约
第52章 房地产投资面面观
- 我认为房地产投资是目前为止最好的。再没有其他投资方式像房地产一样能够保障长期收益,能够允许如此高的资本负债。软件开发人员的收入比其他行业要高,我认为软件开发人员很适合进行房地产投资
为什么要投资房地产
- 最大原因就是稳定性
- 我建议投资的是可租赁房产。这种房产的稳定的收入就是——租金
第53章 你真的了解自己的退休计划吗?
退休计划就是利用逆向思维
- 规划退休计划的关键就是利用逆向思维,精确计算每个月的生活费用,找出办法来确保自己的收入能满足这一要求,同时还留有余地,以备不时之需
第69章 我的私房成功书单
- 我养成了一个习惯,我会请与我见过面的那些获得巨大成功或者非常著名的人士推荐一本每个人都应该阅读的书。通过这一探索,我发现了很多很有效的书,这些书真正改变了我的生活
人性的弱点
- 这本书在许多方面改变了我的个人观点,帮我在与人接触方面获得了成功
思考致富
- 如果你相信一件事能成功,只要坚持并强化这个信念,最终它就会变成现实
积极思考就是力量
代码大全
- 这本书完全改变了我写代码的方式。在我第一次读完这本书之后,我感觉我完全理解了什么是好的代码
- 这本书是我能找到的唯一一本关注细节的书
代码整洁之道
- 提炼了知识并帮助我理解如何把这些知识用到完整的代码库和程序设计上
第70章 积极面对失败
跌倒七次,爬起来八次——日本谚语
失败并不是被打败
- 要实现不畏惧失败,第一步就是真正意识到失败不是终点
失败是通往成功的必经之路
- 生活中所有值得拥有、值得去完成的事情都需要经历失败
学会拥抱失败
- 大多数伟大的人取得的最大成功与他们所经历的最大失败只有一步之遥