【软技能 代码之外的生存指南】读书笔记

功夫在诗外,智慧在代码之外。


目录

介绍软件开发的专业书籍可谓数不胜数,然而介绍程序员思维和代码之外的技能的书籍却屈指可数。以前看过一本不错的思维方面的书籍——《程序员思维修炼之道》,今天介绍一本程序员职业指南的书籍《软技能 代码之外的生存指南》。
通读全文后,印象最深的是,关于程序员个人品牌的阐述和实践。商业世界,风云变幻,变幻莫测,企业的命运难以预测,把自己的命运依托于一个企业是下下策。只有把自己当作一个企业,而不是一个普通的雇员,你就是你这个企业的CTO,你出售你的时间和提供服务给另一个企业,不断完善自己的服务能力,提高自己这个企业大船的价值,提升自己这个企业的品牌影响力,才能在这个世界获得长久的成功。作者就是依靠自己的博客获得影响力的。国内也不缺乏这样的例子,如阮一峰的博客,coolshell的博客,刘未鹏的博客等等,他们依靠自己持续有价值的博客内容输出,既给读者带来“看君一博文,胜读十本书”的效果,也提高了自己的影响力,更为自己的变现之路铺垫了许多石子,这是一个双赢的方式。
作为一个EE转CS的编程菜鸟,我能给大家带来什么有价值的内容呢?也许深度和广度都不及那些大牛,但是每个人不都是从菜鸟过来的吗?古有五柳先生读书闲静少言,不慕荣利,好读书,不求甚解,每有会意,便欣然忘食,今有编程菜鸟,期博览群书,愿策“码”奔腾,录所学所思,若对大家还能有点启发,心甚宽慰。希望自己把自己的博客当作产品来做,用心做,无论是读书,还是编程上的思考,争取实现对自己和读者的价值最大化。

以下为读书摘要:

职业

拥有商业心态

因为只有你开始把自己当作一个企业去思考时,你才能开始做出良好的商业决策。
转变你的心态,从被一纸“卖身契”束缚住的仆人转变为一名拥有自己生意的商人。在起步阶段就具备这种心态会改变你对职业生涯的思维方式,将此铭记于心,并积极主动地管理自己的职业生涯。

如何像企业一样思考

  • 专注于你正在提供怎样的服务,以及如何营销这项服务;
  • 想方设法提升你的服务
  • 思考你可以专注为哪一特定类型的客户提供专业的整体服务(记住,作为一个软件开发人员,你只有真正专注一类客户,才能找到非常好的工作)

思考未来:你的目标是什么

设定大目标 将大目标分解为若干小目标。月度目标,周目标,每日目标 反思

人际交往

推荐书籍《人性的弱点》

以自己为核心,每个人都希望自己很重要,这是人类最深邃、最致命的欲望之一,也是社会和生活中取得伟大成就的主要动机。

如果你希望人们接受你的想法,并认可其中的价值,首先你最好先主动给他人相同的待遇。如果你不能保全他人的自尊,那你永远也不可能赢得他的心。

如果你想鼓励他人做出最好的表现,或者希望达到改变的目的,你必须学会管住自己的舌头,只说些鼓励的话。 换位思考。避免争吵。

面试

另一种面试方法:从期待加入的公司里找到联系人->与该联系人建立紧密联系->获得个人推荐->面试

就业选择

雇员

好处 弊端
稳定 缺少自由
从业之路比较轻松 收入封顶
带薪休假
(可能会有)医疗保险(美国)

独立咨询师

好处 弊端
更大的自由度(自己掌控时间) 自己去寻找业务
可以持续不断地做新项目 打理一切事物地开销
赚钱潜力 从“为一个老板服务”变成了“为许多老板服务”

创业者

好处 弊端
完全自由 风险很大
巨大的赚钱潜力 完全依靠自己
做你想做的工作 需要许多其他的技能
没有老板 可能需要长时间工字

你是哪类软件开发人员

专业化很重要,在一个专业方向上拥有专长。

小公司、中等公司、大公司对比

公司规模 优点 缺点
小公司 承担多种职责,灵活的角色转换 没法安静地坐下来写代码
对工作地影响较大 工作在众目睽睽之下
回报潜力大 稳定性差
中等规模公司 工作稳定 变化很慢低下
加班较少 没有机会使用前沿技术
大公司 完备的流程和规范 充斥着官僚主义作风
培训机会多 可能只负责代码库的一小部分
大型有影响力的项目 很难获得关注

攀登晋升阶梯

承担责任

在任何公司里让你脱颖而出的最重要法宝就是承担更多的责任,这看起来显而易见,但在你的职业生涯中,你经常会面对更多金钱还是更多责任的选择。至少从长远来看,正确的选择几乎永远是更多的责任。

引人注目
如何另自己引人注目

  • 每天都记录自己的活动日志————把这个日志以周报的形式发送给你的经理
  • 提供演讲或培训—————选择一个对你的团队有用的话题
  • 发表意见————只要在会议上就这么做,或者只要你得到这样的机会就这么做
  • 保证”曝光率“————定期与老板会面,确保你经常被注意到

成为问题的解决者

在任何公司中,最有用的就是哪种看似克服不了障碍的人。成为这种人是获得晋升的可靠方法。忘记那些围绕职位晋升的政治游戏和惺惺作态吧——如果你能解决别人无法解决或不愿解决的问题,无论在哪家公司,你都能轻而易举地成为最有价值的人。

成为专业人士

专业和外行的差别

专业人士 外行
遵守自己的原则 让干什么就干什么
专注于正确完成工作 专注于完成工作
不惧怕承认自己错了,不会文过饰非 不懂装懂
持续稳定 无法预测,不可靠
勇于承担责任 回避责任

推荐书籍
《习惯的力量》
《百万富翁的秘密》
你做的每一件事情就是你所做的一切。
永远对努力成为更好的自己心存渴望。

追踪自己每天的工作时间

创建产品

人类创造出的每个产品都是为了几角某个特定的问题。没有要解决的问题的产品毫无意义,毫无意义的产品自然就不会有用户,也就意味着你不会赚到钱。
如果你想开发出一款产品,第一步应该是筛选出一组特定的受众,他们也是你的解决方案的目标用户。针对这些人你要解决的问题是什么,你可能已经有了总体概念。不过在很多情况下,你要多做一些调研,找出要么没被解决的问题,要么没有很好被解决的问题。
去目标客户常去的地方,与用户参与的社区交流,了解一下普遍存在哪些问题。你能从中看到的痛点有哪些.

推荐书籍《精益创业》

假装自己能成功

  • 你仿佛已经具备了成功完成任务的技能和天分
  • 你仿佛已经成为自己想成为自己 的那类人
  • 仿佛战斗已经结束,而你大获全胜,因为你深知如果自己坚持不懈,胜利就在眼前。
  • 你仿佛已经催即将踏上的未知道路驾熟就轻

修改简历

简历放在网上、简历要有创意、使用"行动-结果"的描述、校对

不要陷入技术的狂热之中

没有理由去强烈坚持自己选择的技术就是最好的,而轻视甚至无视其他技术。如果固执己见,最终受损失的是你自己。

自我营销

关键在于:如果让别人喜欢你,想和你一切工作,你必须要为他们提供价值。

即便你不认为自己是专家,也并不妨碍你现在就开始自我营销。事实上,试图找出自我营销的方法,可以让你成为专家,专门从事某一特定领域的软件开发工作。 基本上每一个开发者都是有些能耐的——可能你观察事物的视角比较独特,或者可能你与其他软件开发人员的背景不尽相同,又或者你的兴趣爱好与客户或者其他软件开发人员相似。只要营销得法。即便是“菜鸟”,或者“业余爱好者”的身份都是你的优势所在———很多人都喜欢先比自己稍微优秀一点点的人学习,因为这些人才是可望又不可及的。关键是,不要人“不是专家”成为放弃自我营销的借口。无论你身处自己职业生涯的哪个阶段,你都可以从营造和传播自己的品牌中获益匪浅

如何自我营销

自我营销要从打造能代表你自己的个人品牌做起。你不可能将所有的东西全部呈现出来,因此,对于自己成为怎样的人、给世界呈现怎样的形象,你要谨慎决定。如果你也想在有人多次接触你或者你的产品时营造出一种亲切感。

自我营销的方式

方式 描述
博客 你自己的博客,以及你在别人的博客上发表过的特邀文章
播客 创建自己的播客频道,同时接受其他播客频道的访谈
视频 在Youtube这样的视频网站上长传自己分享的内容和课程主题视频
给杂志投稿 给软件开发相关的杂志写文章
书籍 著书或者自出版
代码营 大多数代码都允许参加者自由发言
技术会议 拓展自己社交网络的好方法,如果能在研讨会上发言尤佳

所有的这一切都取决于你的能力——能给其他人带来怎样的价值。自我营销的基本机制是,要想人们追随你、倾听你,你就要带给他们价值:你能为他们的问题提供答案,甚至是带给他们快乐。

如果你在持续自我提升的同时并没有给他人带来价值,那么你终究不会走得太远,因为每个人都会离你远去

打造引入注目的品牌

什么是品牌?

品牌不是商标。品牌是对产品或服务的一整套预期。商标仅仅是品牌的视觉符号而已。品牌的关键并不在于视觉元素,而是品牌带给你的感受,是你与品牌互动时的预期。品牌即承诺:承诺按照你预期的方式交付你所预期的价值。

品牌四要素:

品牌要传递的信息、品牌的视觉符号、品牌的一致性和品牌的曝光率

创建属于自己的品牌

创建品牌的步骤:

  1. 明确要传达的品牌信息
  2. 挑选细分市场
  3. 创建品牌口号
  4. 创建电梯内销概要
  5. 创建视觉符号(即标识)

百折不挠,越挫越勇

在我的职业生涯中,我一共错失了9000多次投篮,输掉了近300场比赛。我本有26次绝杀的机会却投球不进。我失败了一次又一次。这就是我能够成功的原因。————迈克尔·乔丹

学习

十步学习法

第一步:了解全局
第二步:确定范围
第三步:定义目标
第四步:寻找资源
第五步:创建学习计划
第六步:筛选资源
第七步:开始学习,浅尝辄止
第八步:动手操作,边玩边学
第九步:全面掌握,学以致用
第十步:乐为人师,融会贯通

发现自己的短板

检测知识短板

知识短板高发区 你的短板
在哪些工作上花费的时间最多
可以改进的重复性劳动
自己没有完全理解的东西
你回答不出来的面试题目

生产力

外行静坐等待灵感,其他人则唤起激情努力工作 ---史蒂芬·金,《写作这回事:创作生涯回忆录》

番茄工作法

使用番茄工作法,你可以把每周看作是由有限个番茄钟组成的。想在每周完成一定数量的任务?你要搞清楚自己一周能工作多少个番茄钟,并相应地设置任务地优先级。

定额工作法

定额示例:

  • 每周跑步3次
  • 每周发布一篇博客
  • 每周完成50个番茄钟的工作

找到时间黑洞,时间杀手

形成惯例

确切知道自己每天、每周要做什么。

建议把每天最开始的一两个小时投入到最重要的目标中上,你可能需要早起一两个小时,但是通过有效利用每天最开始的两个小时,你不仅更容易坚持想要做的事情,还会精力充沛.

安排自己的食谱,甚至围绕着每天吃什么来形成惯例。
每天的生活越有条理,就越能把控自己的生活。想想看,如果你一直对外界做出反应,如果你总是在事情出现的时候被动地处理事情而不是主动地规划,那么周围的环境会左右你的生活,而不是你自己。

培养习惯

成就我们的恰恰就是那些不断重复做的事情。因此,优秀不是一种行为,而是一种习惯。 ————亚里士多德

分解任务,吃掉大象

理财

资产和负债
期权
房地产投资
退休计划

健身

人的身体就是人的灵魂的最好写照。———路德维希·维特根斯坦

精神

如果你不征服自己,你就会被自己征服。——拿破仑·希尔
推荐书籍《秘密》
构建一个积极的自我形象

书单推荐:

自我提升

《the war of the art》
《人性的弱点》
《思考致富》
《心理控制方法》
《积极思考就是力量》
《阿特拉斯耸耸肩》

软件开发

《代码大全》
《代码整洁之道》
《Design Patterns》
《Head First 设计模式》

投资类

《The Millionaire Real Estate Investor》
《富爸爸,穷爸爸》
《No-Hype Options Trading: Myths, Realities, and Strategies That Really Work》

打赏作者