读《软技能》

date
Feb 25, 2024
slug
read 《soft skill》
status
Published
tags
读书笔记
summary
type
Post

简介

摘抄了一些之前的读书笔记,这本书非常棒,值得一读再读。

第一篇 职业

开头这句话就很酷
你所能犯的最大错误就是相信自己是在为别人工作。这样一来你对工作的安全感已然尽失。职业发展的驱动力一 定是来自个体本身。记住:工作是属于公司的,而职业生涯却是属于你自己的。 ——厄尔•南丁格尔

第2章 从非同凡响开始:绝不要做他人都在做的事

截至目前,最大的错误就是没有把自己的软件开发事业当作一桩生意来看待。不要被愚弄了,当你为了谋生一头扎进写代码的世界时,其实你和中世纪小镇上开铁匠铺的铁匠没什么差 别。确实,时代或许已经改变了,我们中大多数人现在为公司工作,但是我们的技能和生意都还是自己的,我们随时都能换个 地方另起炉灶。
什么是没有把自己的软件开发事业当作一桩生意来看待?我认为是很多人太过沉浸于技术的细节了,认为技术高于一切,但是却没有认识到自己出售技能替雇主完成某项任务这件事情其实和任何一个劳动工人一样——即使是搬砖工人,这也是为什么很多人把程序员戏称为码农。
这种心态对于管理职业规划至关重要。因为只有你开始把自己当作一个企业去思考时,你才能开始做出良好的商业决策。 但是,如果你已经习惯于领取一份固定的薪酬(注意,你的工资还真不是取决于你的表现),这会很容易导致你产生另一个心 态——你只是在为某家公司打工。尽管在你的职业生涯的某个特定时间段里,你可能确实是在为某家公司打工,但是千万不要让那个特定的角色固化了你和你的整个职业生涯——这一点非常重要! 把雇主当作是你的软件开发企业的一个客户吧。当然,你可能只有这么一个客户,你所有的收入都是从这一个客户处得来的,但是这种诠释雇用关系的方式可以将你从仰人鼻息的弱势地位转换成为自我治理和自我引导的主动地位。(事实上,许多真正的公司也就只有一个大客户,这个客户给它带来了大部分的收入。)
这个理念很棒。如果我们换个角度,把自己从出卖劳动力的工人,换成把自己看作是一个企业,付给你薪水的是你的客户。这样就能完成身份的转变,尽管很多公司只有一个大客户。
这么做的好处有很多:
  • 把自己当成一个商人来经营自己的职业生涯,付给你薪水的是你的客户。
  • 这种意识会提醒自己保持危机意识,如果你的客户不再继续购买你的服务,你将如何度日呢?
  • 将自己视为一个商人,这意味着我们要尽最大的可能保持结构性优势——即多个方面组合起来达成的优势,从将整个人作为一个整体来提升,而不是仅仅专注于代码实现,测试用例这些技术问题。
  • 加强自己的onwer意识,会让自己认真对待每个决定,而不是让别人替自己做决定。
  • 把自己当作一个商人,你会自然而然的想到把自己的服务兜售给更多的客户,而不仅限于服务一个大客户。我认为这是很好的想法。
  • 打造自己的IP。
提示:这是你职业生涯中必须要做的第一要务:转变你的心态,从被一纸“卖身契”束缚住的仆人转变为一名拥有自己生意的商人。在起步阶段就具备这种心态会改变你对职业生涯的思维方式,将此铭记在心,并积极主动地管理自己的职业生涯。
如何像企业一样思考
我们可以先从思考企业是由什么构成的开始。大多数成功的企业都需要以下几样东西。首先,要有一个产品或服务。不能 提供东西的企业是没办法赚钱的,因为没有东西可卖。你有什么可以卖?你的产品或服务是什么? 作为一名软件开发人员,你也许有一款真实的数字产品可以卖(这个话题我们会在第13章中谈到),但是,大多数软件开发人员卖的是开发软件这项服务。“开发软件”是一个含义很宽泛的术语,可以覆盖各种各样的活动和个性化服务。不过,通常 软件开发人员售卖的就是他们把一个想法变成一个数字化的现实产品的能力。
大多数程序员能提供的服务就是软件开发。结合上面的内容,想办法把自己作为一个公司经营,提供更多的服务帮助他人解决问题,慢慢积累自己的优势,多种服务结合在一起形成结构型业务,提升自己的竞争力。
作为一名软件开发人员,你提供的服务具备有形价值,你要传达的不仅是这款软件 的价值是什么,还有它与别的成千上万款软件开发人员提供的服务有何不同。
如此这般,我们就把自己推向了营销,关于这一点我们将在下一篇中展开讨论。同时,有一点很重要:你需要认识到仅有服务或产品是不够的。想赚到钱,你就必须能让潜在的客户了解该产品或服务。全世界的公司都认识到了商业社会的这一核心 真理,这也是他们在市场营销上投入重金和精力的原因。作为一名提供服务的软件开发人员,你也要关注市场营销。产品营销做得越好,你就能给服务定越高的价格,也越有机会吸引更多潜在的客户。 你可以想象,大多数软件开发人员在开始的时候并不是以这样的方式来规划自己的职业生涯的。他们伴着一首声音低得几 乎听不见的流行音乐一头扎进工作中,根本不能做到“非同凡响”。所以,千万别像他们这样。
太对了,我们作为一个企业,只有产品是不够的,我们还要想办法营销我们的产品,把它推向市场,让更多的客户知道它的特别之处。我认为很多程序员特别容易犯以下错误:
  • 酒香不怕巷子深,做的事情总会被发现的——大错特错,你不推销自己,别人永远也不会发现你的产品。
  • 茶壶里倒饺子,闷得慌。——很多时候程序员都不会表达自己的想法,不会包装自己的工作,不会营销,导致自己做了80%,想说的有60%,最后说出口只有30%。
 
相反地,你需要做到:
  • 专注于你正在提供怎样的服务,以及如何营销这项服务;
  • 想方设法提升你的服务;
  • 思考你可以专注为哪一特定类型的客户或行业提供特定的服务;
  • 集中精力成为一位专家,专门为某一特定类型的客户提供专业的整体服务(记住,作为一个软件开发人员,你只有真正专注于一类客户,才能找到非常好的工作)。
一定要提高自己的产品质量,思考自己的目标用户,然后向他们推销自己的产品,服务于目标客户,他们会给予我们最高的回报。
另外,还要想想如何更好地宣传你的服务,如何更好地找到你的客户。大多数软件开发人员在写好一份简历之后就随意丢 给一些公司和招聘人员。但是,当你把职业生涯当作一个企业时,你真的认为这就是你拓展潜在客户的最佳途径或唯一方法 吗?当然不是。大多数成功的公司都会开发出让客户主动上门购买的产品或服务,它们才不会一个接一个地追逐客户。
我们可以打磨自己的产品,公布到网上,客户会主动找上门。比如说GitHub的项目就是一个很好的例子。
想象一下:有一家企业,拥有某个产品或服务。他们将如何推广这一产品或服务从而可以做到卓尔不凡? 如果只用一句话来描述你能为潜在雇主或客户提供怎样的特定服务,这句话是什么?
把你的职业当作是一个企业,将会影响到你的:
  • 工作的方式;
  • 处理自己的财务的方式;
  • 寻求新工作或新客户的方式。

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

想象一下你登上了一艘即将横渡海洋的大船。你会像大多数人那样,一跳上船就升起风帆。但是,如果没有选定明确的目 的地,你就无法掌舵让这艘船朝着目标方向航行,而只能在大海上漫无目的地漂流。或许你的船能偶然到达某个小岛或者某片 陆地,但是,如果没有确定自己的目的地,你永远都不会取得实质性的进展。一旦明确了目的地,你就会向着目标全力以赴。
没有目标就像没有目的地的航行,永远在海上漂泊。同时很多人不设立目标是害怕目标规划错误,所以很多人都会接受工作,然后一直做下去,直到有更好的机会出现或者被解雇。
那么我们如何设定目标呢?作者给了一些建议:
先设定一个宽泛的大目标——你是想成为经理还是主管?你希望在公司一直工作成为高管,还是希望开展自己的业务,出售自己的软件?
然后将这个大目标分解成许多个小目标,比如说如果你想成为一名高级技术人员,你可以多阅读书籍,参加圈子最新的技术讨论,维护项目——这些事情都会推动你朝着大目标前进。
或者我们可以从大目标反退回来:假设我们已经实现了大目标,那么为了达成大目标我们做出了哪些努力?
我喜欢书里面的一个比喻:如果我们想去中国,那么我们就往中国的方向航行就好了,我们迟早有一天会达到中国,但是我们可以规划路线,思考我们的路径,停留在哪些港口。中国的方向就是一个大目标,港口就是为了达成大目标所做的努力。
我的目标就是成为一个自由职业者,靠被动收入实现财务自由,然后做我乐意去做的事情,比如说开发能够帮助他人完成任务的软件,或者是某个圈子的基石应用。
为了实现这个大目标,我应该:
  • 打磨自己的开发技能,尽可能的掌握软件开发的知识,all in one式的开发人员。
  • 修炼自己的理财能力,不做亏损的投资,即使是1%的增长,也比1%的损失要好。
  • 提高自己的知名度,把自己当作IP来运营。
  • 打造多个能够为自己带来被动收入的产品,这也是纳瓦尔书里面提到的,我们应该发挥出自己最大的优势,依靠代码、书籍、博客这些杠杆来为自己带来被动收入。所谓杠杆就是不需要时间成本,具有快速复制,一旦开发完毕就能以极小的成本维护的产品,员工是一种杠杆,软件也是一种杠杆。
 
接下来我们可以继续拆解自己的小目标:比如我们目标是一年看完10本书,我们可以一个月看完一本,那么一周我们应该看完一本的1/4,细化到一天我们应该看多少页。
我们的小目标会指引我们前进,在我们完成一个小目标的时候可以奖励自己,这样就会让自己得到积极的正反馈。
这意味着我们需要做好对目标的追踪,我们可以根据实际情况来修改目标,较困难的目标会打击我们的消极性。我们可以在为下周制定目标之前,检查这周的目标完成状态,这同样适用于每月、每年。
反思自己在短期和长期取得的成果是大有裨益的,你能够弄清自己是否取得了合理的进展,或者是否需要进行某些调整。
采取行动
坐下来,为你的职业生涯设置至少一个大目标。
将大目标分解成相应的若干小目标,例如:
  • 月度目标
  • 周目标;
  • 每日目标。
把你的大目标写在自己每天的必经之地,每日三省吾身——我在追求什么

第4章 人际交往能力:远比你想象的重要

这个章节很棒,虽然很浅显,但是说得非常有道理。
人是一切社会关系的总和。
这里有一本推荐书籍:人性的弱点
每个人都希望感到自己很重要
当你和别人打交道的时候,你应该知道的最重要的一个概念就是:以自己为核心,每个人都希望自己很重要。这是人类最 深邃、最致命的欲望之一,也是社会和生活中取得伟大成就的主要动机。 每当你与他人交流时,请谨记这一准则,并时刻洞察自己将会对人类的这一基本需求有何影响。一旦你贬低他人,削弱他们的成就感,在某种程度上就如同切断了他们的氧气补给,获得的回馈将完全是抓狂和绝望。 我们常常容易犯的一项错误就是,轻率地否决同事的想法,以便于可以提出自己的想法。然而随着你作出这样的错误判 断,你往往会发现他们对你的想法充耳不闻,仅仅因为你让他们感觉自己是无足轻重的。如果你希望人们接受你的想法,并认 可其中的价值,首先你最好先主动给他人相同的礼遇。如果你不能保全他人的自尊,那你永远也不可能赢得他的心。
不要去批评别人的想法,要给予他人充分的肯定,然后再提出自己的想法。
永远不要批评 理解了第一个概念后,你应该能马上意识到“批评”是一项很少能够达成你期望结果的工具。我曾经是一个“伟大”的批判 者。我曾经认为,相较于奖励,处罚是一个更有效的激励手段,但我大错特错了。 一项又一项的研究表明,奖励积极行为要比惩罚消极行为有效得多。如果你身处领导管理岗位,这是一条值得遵守的重要 原则。如果你想激励他人做出最好的表现,或者希望达到改变的目的,你必须学会管住自己的舌头,只说些鼓励的话。 也许,你目前的老板或者曾经的老板缺乏对这一原则的清醒认识,他们对所有的错误行为总是报之以直接而又严厉的批评。对此你的感觉如何?批评能否让你感到被激励,从而将工作做得更好?不要指望其他人对批评会有截然不同的反应。如果 你想去激励团队鼓舞士气,那么就用表扬代替批评吧。
换位思考
在人际交往方面获得成功的关键在于:停止用“我”和“我想要什么”来思考你应当开始思考对他人而言什么才最重要,什 么才是他们需要的。通过这种换位思考,你会避免让他人觉得自己不受重视,你也能少批评人。被你用这种方式对待的人,也更可能用讨人喜欢的方式与你打交道,也更认可你的想法的价值。 当你第一次与某位同事或者老板谈话的时候,请试着将注意力从自己身上转移到他们身上,试着从他们的角度来思考问 题。是什么让他们感到索然无味?什么对他们又是至关重要的?聚精会神地聆听,当轮到你发言的时候,娓娓道来,一语中 的。(实际运用中,你可以提前排练一下这种场景,提前准备好如何进行这种谈话。) 直截了当地告诉老板为什么你喜欢想用某种方式实现某个功能,这并不明智。更好的办法是从对方的心态出发提出建议, 阐明为什么采用你建议的方法实现该功能对老板非常有用。理由可能是“让软件更稳定”,或者“能让软件按时交付”。
这段太牛了啊,我一定要去多观察别人的言行,揣摩出他们想要做什么。
我们应该思考对他人而言什么是他们所需要的。这样我们能减少批评,也能让别人更容易接纳我们、认可我们。
一定要有一种利他心里,观察是什么让他们感到索然无味,什么对他们来说至关重要,聚精会神的聆听,等到自己发言的时候,结合自己的观察结果,一语中的。
直截了当地告诉老板为什么你喜欢想用某种方式实现某个功能,这并不明智。更好的办法是从对方的心态出发提出建议,阐明为什么采用你建议的方法实现该功能对老板非常有用。理由可能是“让软件更稳定”,或者“能让软件按时交付”。
这句话太对了,当你和老板提出想法时,老板不会关心性能、实现方案这些细节,他只会关心能否让软件更稳定,能否让软件按时交付。
所以我们像经理提出意见的时候,经理会说按照用户需求来做,因为他对于我们的推测并不信任,或者说没有像信任产品经理那样,所以会告诉我们照做,如果我们需要说服别人,试着从别人的需求点出发来说服。
避免争吵
永远不要陷入到争吵里面。人类本质上是情感动物,我们和小孩子一样很容易情绪化,只是我们学会了隐藏和控制。
逻辑和理性无法说服一个号啕大哭的孩子明白睡觉对他有帮助,所以争吵和批评也无法说服一个同事接受你的想法。
notion image
如果你已经和别人产生了争执,你最好确定你的分歧点是否值得这么做。在小事情上让步和承认错误可能对你来说没有什么大不了的,但是对别人来说却举足轻重,它会为你赢得尊重,也为你积累生声誉财富。
notion image
不要接触毒瘤,如果不行,限定在最小的范围内。
采取行动
  • 在你工作日的某天,跟踪记录你跟他人打交道的每一个事件。当这天结束的时候,数一数这一天你跟别人交流了多少次,包括回答电子邮件、接听电话等。
  • 快去找Dale Carnegie的《人性的弱点》这本书,这本书已经是公版书了,所以很便宜。快去阅读吧,要读不止一次。
  • 下一次当你被拖入一场争吵之前,想办法看看能不能逆转。做个有趣的小测试,试着认输。事实上,不仅仅要认输,更要果断站在对手一边。结果能让你大吃一惊。
    • 我觉得这是非常高明的谈判技巧。

第5章 破解面试之道

这章强调了几个东西:
  1. 如果技术相同的两名程序员参加面试,被录取的是那个更讨人喜欢的应聘者。
  1. 让面试官对你有好感,是让面试成功的关键点。
  1. 你可以慢慢的打造自己的知名度,写博客,加入某个圈子,想办法找到目标公司的开发人员,和他们成为朋友,请求他们推荐自己。如果面试官在面试之前已经知道你是谁了,成功率会大大提高。
  1. 以前的前提是你的技术过关。
当下你能做什么
不管你现在是正在积极寻找工作,还是给自己保留选择的余地,再没有比现在更好的时机去开始准备你的下一场求职面试了。
你应该做的第一件事是确保自己仍旧保持技术能力。如果你力所不及,那么世界上所有的面试技巧都不能帮助你找到工作。确保自己一直阅读技术书籍和博客文章,并会花些时间提升自己的技能
你也可以未雨绸缪,拓展自己的社交网络。开始与本领域不同公司的员工接触,建立联系,他们日后可能会帮到你。通过阅读并评论他们的博客,认识本领域的其他开发人员甚至是招聘人员。想方设法扩大你的社交圈子。
别忘了实践。即便你现在对换新工作毫无兴趣,为了获得面试经验,你也要去面试。练习得越多,你在真正的面试时也就越游刃有余。
即使我们不会换工作,我们也可以去面试来积累经验。
采取行动
  • 即使你现在不需要努力找工作,也要整理一份清单,列出你想去工作的公司,以及你认识的这些公司的人。
  • 在这份清单上的公司里,如果有的公司你一个人都不认识,那么制订计划至少去认识这些公司中的一位员工,并与之建立联系。
  • 在自己所在领域找出至少一个本地用户组,参加聚会,并把自己介绍给尽可能多的人。

第6章 就业选择:列出你的选择

这里分析了几个就业选择,我觉得独立咨询师这一节还蛮有意思的。
许多软件开发人员以担任独立咨询师的方式谋生。作为独立咨询师,软件开发人员不再为特定的单个雇主工作,而是服务 于一个或多个客户。如果你曾兼职为某个客户写程序,他们以时薪或固定价格付你报酬,那你就明白什么是咨询了。 我认为独立咨询师就是以上述方法为自己赚取大部分收入的软件开发人员。这与“合同工”截然不同,合同工为单一客户工 作,并以小时计薪。合同工更像一种雇用关系,而独立咨询师通常有自己的公司,依照合同为客户工作,但并不与任何一个客 户绑定。 在我的职业生涯中,我也曾做过几年独立咨询师,直到现在我还做一些独立咨询的工作。我一直都梦想能自己为自己工 作,我也设想成为独立咨询师之后能够实现这一梦想。我认为不给别人打工,自己当老板会很棒,但对成为独立咨询师其实就意味着从“为一个老板服务”变成“为许多老板服务”却一无所知。
成为独立咨询师,意味着从为一个老板服务,变成了为许多老板服务。
尽管看起来作为独立咨询师能赚到大把的钱, 但是事实上你要花大量的时间在寻找客户以及其他与业务运行相关的事情上。作为独立咨询师,你其实就是名副其实的经营者 (不仅仅指心态上)。你要负责税务、法律咨询、销售、健康保险以及各种与企业经营有关的事情。
notion image
选择3:创业者 创业之路可能是你职业生涯中最难、最不确定但却最具回报潜力的选择。尽管有许多形容词来描述这一职业选择,每一个 都有很好的理由。我还是认为创业者等同于职业赌徒。作为创业者几乎没有稳定可言,不过一旦你真的成功了,那可真的就是 大获全胜。
那么,“创业者”到底意味着什么呢?你的猜想可能和我的一样。它的定义相当模糊,蕴含着很多不同的含义。不过,我认为最核心的就是:软件开发创业者使用自己的软件技能开发自己的产品、拓展自己的业务。雇员和独立咨询师都在以时间换金 钱,而创业者尽管换不来预付好的报酬,但是他却有机会在未来获得更大的收益。
我觉得就是:不靠出卖时间来赚钱,通过打磨产品来一本万利的赚钱。
职业初期,做一名雇员是比较理智的选择,风险最小,而且你还可以在此期间积累经验,就像学徒一样打磨自己的技能。
如果你能承担创业或者自由职业的风险,你也可以去做自由职业者,只要你能承担风险。
notion image

第7章 你是哪类软件开发人员

这里作者举了一个很好的例子来说明专业化的重要性:如果你要找律师,那么你必须先明确你要找哪种律师。交通事故?离婚?债务纠纷?只有找了对的人才能解决你的问题。
那么如果你是老板,你希望雇佣一个什么都会一些的程序员,还是专业的,精通某个领域的程序员?
显然是后者。
有大量的软件开发人员并没有具体的专业方向。事实上,大部分软件开发人员完全以自己使用的编程语言来定义自己的专 业性。你经常会听到有人说“我是C#开发人员”,或者“我是Java开发人员”,等等。这种专业分工太宽泛了,并不足以说明你能 胜任哪种类型的软件开发工作。一门编程语言并不能让我了解你是哪类软件开发人员,也不能告诉我你真正能做什么。它只是 让我知道你在工作中使用哪一种工具。
不要用语言来定义自己的专业性,而是通过能解决某种问题来说明自己的能力。比如说就是一个软件开发工程师,我能够和产品一起分析用户的需求,设计出软件实现的技术方案,合理的安排任务,在不延期的情况下进行开发,充分的测试保证软件质量,然后为客户解决某些问题。
而不是golang/php/java工程师。
专业化很重要
再拿前文的律师场景打比方。如果你成为了一名律师,但并无专业方向,那么理论上每个要找律师的人都会是你的客户。 但问题是,只有少数人才想雇一个“通才式”的律师。大多数潜在客户都倾向于聘请“专才”。 尽管看起来你有一大拨潜在客户,但现实上,身为一个“通才式”的律师,你的客户群会大幅缩减,只剩下那些没有精明地 能意识到自己需要“专才”的那些人。 从表面上看,身为“专才”后,潜在雇主和客户群都变小了,但是实际上你对他们更具吸引力了。只要你专业能力雄厚,市场没有过渡饱和,与那些自称为“软件开发人员”的人相比,你能更轻松地找到工作或者赢得客户。
在工作中让别人能信任你交给你任务的前提是:你足够专业(professional)。你必须让自己看起来有一种专业的气质,这样你才能具有专家的气场,让别人放心的支持你展开工作。
notion image
当我们进行工作机会筛选的时候,范围不断递减,但是获得工作的可能性大大提高了。
专业领域
每个领域要解决的问题是截然不同的。
选择你的专业
就是尽可能发现自己特长并应用的一个过程。
notion image
我们应该先做到专业化,然后再扩展自己的知识面
notion image

第8章 公司与公司是不一样的

公司和公司之间的差异很大,主要体现在规模和由规模决定的氛围里面。
小公司和创业公司
大多数小公司都是创业公司,所以它们有着非常独特的“创业心态”。所谓创业心态通常表现为:关注快速增长,竭尽所能让公司盈利,或者达成其他一些迫切目标。
在这样一家公司工作的软件开发人员,你极有可能要身兼多职,不能只写代码。因为员工数量不多,角色不固定,所以你 需要更加灵活多变。如果你只是想坐在桌边写代码,你可能就不喜欢设置服务器或者协助测试。但是,如果你精力充沛、活力 四射,喜欢迎接新挑战,那你就会对这种环境着迷。
在这种环境下成长你必须要承担更多份外的事务。
在一家小公司,你做的事情可能影响更大,可以说是好坏参半。你的成果可能会直接影响收益。但如果你希望寂寂无名,那么你不适合在这种环境下工作。
许多开发人员都在为创业型公司工作,薪水低廉、上班时间长得令人觉得荒唐,就是指望公司上市或被收购,能够凭期权股票发财。但是,我认为这个赌注风险极高。我不建议你为了“中彩票”而选择去创业公司。一旦选择了那条路,你可能耗尽心力却一无所获。选择为小公司或初创公司工作的一个更好的理由是,你喜欢那种快节奏的、令人兴奋的工作环境,也希望构建伟大的产品并见证它的成长。
这是非常好的建议,这确实几乎和中彩票的概率一样低。
中等规模的公司
大多数公司都是中等规模的。所以你也最有可能为这样的公司工作,或者在这样的公司里结束职业生涯。中等规模的公司 通常存在了一段时间,也有盈利业务,但是并不具备冲进财富500强的势头。 在一家中等规模的公司里,角色定义通常很明确,你也会更稳定。我要说的是,中等规模的公司往往要比大公司还稳定, 因为大公司往往还有大裁员或者周期性重组。如果你喜欢稳定,那你会发现中等规模的公司最适合你。 在中等规模的公司里工作,你可能会发现工作节奏有点儿慢,但是想不为人知也很难。你的贡献可能不会导致公司业务下滑或波动,但是仍然能被注意到。在中等规模的公司里,缓慢而稳健的做事风格通常能占得先机。创业公司那种快节奏的“不 作为毋宁死”的心态通常会促进快速决策、拥抱前沿技术,但是大多数中等规模的公司厌恶风险,行事缓慢。在一家中等规模的公司,如果你喜欢使用前沿技术,就会发现这一套很难受到老板的赏识,因为风险很难评估。
这段话说得也很有道理。如果你喜欢用前沿技术,你会发现这一套很难得到老板的赏识,因为风险很难评估,中等规模的公司是厌恶风险的。
大公司
在为一家大公司工作时,你会注意到的最大的事情也许就是那里大量的规范和流程。当你到一家大公司面试时,你需要经 过一系列面试,并遵守非常正式的流程。在大公司工作时,你要遵守这里已有的做事方式。鲁莽和“变节者”在这种企业文化里不受欢迎。如果喜欢流程和结构化,那么你可能会很享受为大公司中工作的乐趣。
关于大公司的最后一点是:办公室政治。大公司通常有着复杂的政治体制,堪比大型政府机构。作为软件开发人员的你可以尽量避开政治,但即便如此,其他人的政治权谋也会以某种方式影响到你。所以,就像我们将在下一章探讨的那样,要在大公司晋升,你必须学会如何在复杂的政治气候中独善其身。如果办公室政治不是你的菜,你想要完全置身事外,那最好栖身于扁平化管理结构的小公司。
notion image
软件开发公司与拥有软件开发人员的公司
在决定自己要去哪种公司工作的时候,另一个需要考虑的重要因素是下面两类公司之间的区别:一种是软件开发人员只负 责内部软件或他们正在生产的部分产品的公司,另一种是生产软件或者做软件开发就是核心业务的公司。 那些并非专注于软件开发业务的公司雇用软件开发人员只是为了开发自己系统的某些方面,对待软件开发人员的方式也与 那些主要专注于软件开发业务的公司截然不同。如果公司的业务重心并非软件,那自然也不会给软件开发人员足够的尊重和发展空间。这些公司的软件开发实践极有可能非常松散。
另一方面,那些以软件开发为生的公司则会更重视自己雇用的软件开发人员的价值。他们的工作环境不一定会更好,但会大不一样。 你可能也发现了,与雇用软件开发人员但核心业务并非软件的公司相比,软件开发公司会使用更为前沿的技术和工具。如果你想研究新技术,你应该直接去找一家软件开发公司。 在推行敏捷软件开发方法的时候,这两类公司之间的差异非常明显。软件为非核心业务的公司在采用敏捷过程中困难重重,这是由于敏捷过程通常是由开发团队驱动的。敏捷过程需要自上而下地采纳推行,但是仅仅因为一些开发人员认为敏捷是个好主意,就让公司改变自己的做事风格,异常困难。
notion image

第9章 攀登晋升阶梯

承担责任
在任何公司里能让你脱颖而出的最重要法宝就是承担更多的责任。 提示:这看起来显而易见,但在你的职业生涯中,你经常会面对更多金钱还是更多责任的选择。至少从长远来看,正确的选择几乎永远是更多责任。
我已经不止一次的看到这个说法了,你必须要承担责任。不管是创业还是作为员工。
承担责任就是一种打造自己IP的方法。
金钱总是追随着责任。有任何机会去承担更多责任时,承担起来!
但是,假如你没有被赋予更多责任呢?怎样靠自己去赢得这样的机会呢?有时候你不得不去主动寻找机会,去负责一项任务,或者牵头一个项目。只要深入挖掘,你总能找到一些被忽视的业务领域去发挥自己的聪明才智。
如何能让自己承担更多责任
  • 有一个不受重视的项目,你能去负责它吗?
  • 你能帮助团队里的新人快速成长吗?
  • 你能负责文档制作流程,并保证及时更新这些文档吗?
  • 哪项工作是没有人愿意去做,你愿意承担起来,并将其简化或者自动化的?
承担责任之外,我们还需要凸显出自己的工作。
引人注目
如果你一直默默无闻,你的成就不为人知的话,即使你是团队中最聪明、最努力、最出色的开发人员,那也一文不名。如果找不到方法让你的老板或高层管理人员知道你在做什么,那你的所有努力都是徒劳的。 每当我开始新工作时,我所做的第一件事就是记日志,记录我每天都把时间花在哪儿了,完成了哪些工作。我会将这些信息汇总成周总结,在每个周五发送给我的经理。我把这个叫做“周报”,而且在每个新岗位上发出第一份周报的时候,我都会附上一些信息让我的经理知道:我能理解,知晓自己的直接下属在做什么对于管理者来说至关重要,所以我会通过发送周工作总结的方式让他们的工作更轻松。
这份周报确保我每周都能被经理注意到,我可以讨论那一周取得的成果,而不是夸夸其谈。这是获得关注的绝佳方式,我看起来比我的同事工作更加富有成效,只是因为我的经理一直知道我在做什么,而我的经理对其他开发人员在做什么却了解得没那么多。 这份极具价值的周报不仅令我引人瞩目,在考核临近的时候,它们也是绝佳的资料。通过回顾周报,我能选出自己的年度 关键成果。等到填写考核表时,我能准确知道自己一年来的成就,而且还有日期证明。 我当然推荐主动发送周报,不过还有其他许多方式能让你在所在的机构中更加引人瞩目。其中最好的一种方法就是做一个 关于团队当前正面临的主题或者问题的演讲。选一个自己能介绍的主题,然后向团队展示这一主题。你甚至可以做成“午餐+学习”的形式,在午餐时间进行分享,而不占用上班时间。通过这种方法,你获得了关注,也展示了自己在特定领域的博学。此外,要迫使自己学习新东西,没有比让自己在其他人面前做展示更好的方式了。我就是在这种压力下学习了很多东西。
总而言之你需要想办法脱颖而出,不管是周报、演讲,推进问题还是各个方面的表现,你一定要show出来。
如何令自己引人注目
  • 每天都记录自己的活动日志 ——把这个日志以周报的形式发送你的经理。
  • 提供演讲或培训 ——选择一个对你的团队有用的话题。
  • 发表意见 ——只要在会议上就这么做,或者只要你能得到的机会就这么做。
  • 保证“曝光度” ——定期与老板会面,确保你经常被注意到。
自学
另一个可以获得提升的非常好的办法就是不断增加自己的技能和知识。在你不断提高自己的教育水平时,很难停滞不前。自学能让升职加薪变得容易,因为你可以很清楚地表明:现在的自己比之前更有价值。 当然,你可以参加一些传统的高等教育课程——特别是如果你的公司会为你获得学位付费的话,但是也有别的方法自学,能够在未来有所回报。你应该不断学习新东西,提升自己的技能。报名参加培训课程,或者考相应的资质证书,都能表明你致力于不断提升自己。 在我职业生涯的早期,我感觉自己上升空间有限,于是决定去考取微软认证证书。我努力学习,通过了所有测试,获得了一个顶级微软认证。这并不容易,但我很快就看到它对我职业生涯的价值。通过这些额外的努力,我向经理表明:我严肃对待自己的职业生涯,于是机会的大门迅速为我打开。 在第三篇中我们会讨论如何快速学东西,这绝对是一项你必须掌握的技能。知识提升得越快,你能掌握的东西就越多,随之而来的机会也越多。 另外,不要只学软件开发。如果你把目标设定为更高级别的岗位甚至是行政岗位,你还需要学习领导力、管理和商科的相关知识。 千万不要忘记分享自己学到的东西。我们已经讨论过,你可以通过演讲的方式分享自己的知识,也可以创建自己的博客、 为杂志写文章或者写书,还可以在社区活动或者技术大会上发表演讲。外部曝光有助于你建立自己在该领域的权威地位,也让你看起来对所供职的公司更有价值。
总结:
  • 自学是非常好的提升自己的方法。它能清楚地表明:你比之前更有价值。
  • 不断学新的技能、参加培训、考取证书,这些表明你都在不断提升自己。
  • 不要只学软件开发,如果你的目标是管理,你应该重视软技能。
  • 不要吝啬分享,你可以通过演讲、博客、写文章、参加社区活动来打造自己的IP,这些都能让你看起来更有价值。
成为问题的解决者
在任何组织中,总是有很多人会告诉你为什么这个想法行不通,为什么那个问题太难。这样的人不胜枚举。千万不要成为他们中的一员。相反,你要成为那个永远能为各种问题找到解决方案的人,要成为勇于执行这些解决方案以获得成果的人。 在任何公司中,最有用的就是那种看似没有克服不了的障碍的人。成为这种人是获得晋升的可靠方法。忘记那些围绕职位 晋升的政治游戏和惺惺作态吧——如果你能解决别人无法解决或不愿解决的问题,无论在哪家公司,你都能轻而易举地成为最有价值的人。
总结:
  • 你可以提出来这个问题的难点,分析这个问题的难度,但你不要也不应该说这个问题解决不了。你可以和别人一起讨论怎么解决或者绕过这个问题,不要一上来就打击团队的消极性。
  • 去做一个problem slove,而不是problem maker。
notion image
关于政治
在一篇介绍如何在企业文化中获得晋升的文章中,不可能不提及办公室政治。我把它放到最后,是因为我认为在努力推进 职业生涯时候,这个话题是最无关紧要的。并非我太天真,我知道在多数机构中都有办公室政治,你需要保持警惕。不过我认为你不应该在玩弄政治游戏上投入太多时间。 当然,你也可以靠着八面玲珑、野心勃勃而获得晋升。但是用这种方式获得晋升时,你更容易跌倒。有些人会不同意我的 观点,但我一直认为,脚踏实地成为一个真正有价值的员工要比弄虚作假好得多。 也就是说,你应该对所在组织的政治气候保持警觉。尽管不能完全避开政治,但至少应该知道会发生什么,哪种人需要避开,哪种人永远不要有交集。
你应该对组织的政治气候保持警觉,你应该知道会发生什么,哪些人需要避开,哪些人永远不要有交集。
notion image

第10章 成为专业人士

成为专业人士是一种心态。如果我们总是与恐惧、自毁、拖延和自我怀疑作斗争,那么问题就是:我们正在像外行那样思考问题。外行毫不起眼,外行人废话连篇,外行屈从于逆境。专业人士可不这么想。不怎样,他引人注目,他恪尽职守,他始终如一。
DO NOT:fair、self-destruct、self-suspect、put off
要像一个专业人士一样,别总是说不知道,不会,你可以想办法替代它:
  • 我不会:我没有接触过,之后我会学习如何应用它
  • 我不知道:我不知道,但我会想办法弄明白的
成为专业人士的全部在于:引人注目,恪尽职守,以及不屈服于挫折。成为专业人士,需要你克服自身的缺点,静下心来创作出尽可能最好的作品。
作为一名软件开发人员,专业将是你最大的财富。学会像专业人士那样行事和思考,不仅能帮你获得更好的工作和更多的 客户,而且能让你在工作中如鱼得水,充满自豪感,后者是获得长期成功的关键部分。
什么是专业人士
简而言之,专业人士会严肃对待自己的责任和事业,愿意作出艰难的选择去做自己认为是正确的事情——往往还要自己承担代价。 专业人士不可能事事皆通,但他一定会潜心钻研匠艺,旨在锤炼自己的技能。专业人士会坦承自己不知道答案,但是你可以信赖他会找到答案。 专业人士最重要的一点,也许就是持续稳定专业人士为自己的工作设置了很高的质量标准,你可以期待他每一天都持之以恒地坚守标准。当专业人士不露面的时候,你最好打电话给应急调度人员,可能什么地方出岔子了。
高质量,高标准
notion image
养成良好习惯
  • 在所有发言的场景提前准备好
    • ”我扫描日志发现一个错误“,“错误在哪?”,“我等会找找“,”现在给我“,然后所有人在会议上看着你找了半小时。
  • 时间管理、精力管理,你参加了排期,你应该对排期结果负责,你应该给出每项工作的预计时间
  • 推荐阅读:《习惯的力量》。
坚守正道
我最喜欢的软件开发人员之一兼作家Bob Martin曾经写过一篇关于“如何说不”的很好的文章(http://simpleprogrammer.com/ss- no ),可以解决这个问题。在这篇文章中,Bob将软件开发人员比作医生。他谈到,让病患告诉医生如何做好治疗工作是何其 荒谬。他还举例说,当病人告诉医生“我胳膊受伤了,我需要你把它砍掉”时,医生当然会说“不”。但在许多情况下,当软件开 发人员面对类似的情形时,软件开发人员由于担心会触怒大人物而违心地说“是”,然后“砍掉”自己的代码。
  • 评估你的优先级,去做更优先的事
notion image
追求品质,完善自我
  • 当你无法达到标准的时候,不要降低标准,而是迎接挑战。
将品质管理应用到你工作的每个细节,而不仅仅是那些看似重要的部分,这一点非常重要。真正的专业人士对自己的工作 的所有方面都设定高品质标准,因为他们知道,正如T. Harv Eker所说:“你做的每一件事情就是你所做的一切。”(《百万富翁 的秘密》,Secrets of the Millionaire Mind )[HarperCollins,2005]如果你在某个领域降低了自己的标准,那么你最终会不经意 间在其他领域也降低标准。一旦你越过了底线,选择妥协,就很难再回头。
  • 将品质管理应用到你工作的每个细节。
  • 你做的每一件事就是你所做的一切。
专业人士是通过持续不断的自我完善达到自己所追求的高品质的。如果你也想成为专业人士,就要致力于持续不断地完善 自己的技能,学习更多与专业相关的匠艺,确保自己制订并执行了学习计划,拓展自己的技能、学习新东西,这将有助于你做得更好。不要沾沾自喜,永远对努力成为更好的自己心存渴望。
notion image

第11章 赢得自由——如何辞职

  • 不要裸辞
  • 先用业余时间开展副业,取得成效后再把当前正职工作当成副业
  • 不要裸辞,尤其是没有经济储备的情况下
notion image
当你每天坐通勤班车去办公室,耗费自己的时间让别人变得富有时,“为自己工作”看起来似乎更加轻松、惬意。其实,在 享受到“为自己打工”的收益的同时,你还有相当多的工作要做,特别是在起步阶段。
其次,很重要的一点是,你要认识到,在为自己工作时,你不能计划每个工作日就只有8小时工作时间。当我第一次辞掉自己的工作全职投入原先的副业时,我发现要想把事情做完,每天需要额外的8小时。在我上班的时候,我每天晚上要为自己的副业加班工作3~4小时,这让我以为我可以一天只工作8小时就能完成双倍的工作量。然而,我完全错了,这让我感到很沮丧,几乎要放弃了。 辞掉工作之前,很重要的一点是你对自己实际承担的工作量有一个符合实际的预期,并训练自己提前处理更高强度的工作负荷。在当前工作中,你可以每天追踪自己的时间,看看能不能坚持富有成效地工作6小时。同时,晚上加班做你的那些副业,也会让你做好准备,迎接未来每天8小时或者更长时间的满负荷工作。
切断脐带
  • joe是一名工作了10年的程序员
  • 在成为自由职业者之前,他选择削减每月的开支,直到攒够了一年的生活资金,这能让他安全度过第一年。(注意,Joe积攒的只是一年的生活费用,而非整年的薪水。他需要的是生存,而不是舒适地生活。他愿意为了追求梦想做出牺牲。)
  • 于是Joe开始在保证自己常规工作的同时,每周投入约15小时去做自己的事情。每天他花2小时做兼职工作。每周他花5小时寻求新业务或者做宣传,剩下的10小时完成收费工作。Joe确保在他计划辞职之前的6个月就开始这样做,这样他才能保障自己有收入,以便辞职之后也不会有太大压力。
  • 提前计算好自己离职的确切日期,早在一年多前就在日历上做好标记。当那一天临近的时候,他提前两周递交了离职申请,开始追寻自己的梦想 [2] 。他从经济上和精神上都为这次转变做好了准备。
notion image

第12章 成为自由职业者:开启自己的一片天地

开启自己的一片天地开始自己的业务可以通过成为自由职业者或独立咨询师来实现。自由职业者不只为某一个客户工作,而是以固定价格或时薪的方式将自己“出租”给多个客户。 对软件开发人员来说,成为自由职业者极具吸引力,但是迈出这一步很难。在我的职业生涯中,作为一名雇员时我总是梦想着成为一名自由职业者,但是我一直不知道如何完成这个转变。我知道许多开发人员都以自由职业者的身份谋生,但是我不知道他们是如何设法找到客户并推广自己的服务。
本章中,我会给你一些建议。真心希望在我刚起步时有人给我这样的建议。我还会给你一个切实可行的计划,告诉你如何成为一名自由职业者,如何提高你的业务量。
开始
  • 在辞职之前先做兼职
自由职业者的一大担忧是接不到工作,于是也就没有报酬。如果没有足够的工作填满自己的时间,或者在完成一个客户的工作之后你不 得不积极寻求更多的客户,你的压力会很大。最好的情形是工作任务已经提前安排妥当,或者处于工作太多不得不推掉一些的状态
没有活干意味着没有收入
要达到这一目标的唯一方法,就是随着时间流逝不断增强业务能力。你需要有长期客户,以此来确保未来的业务量,同时你也需要有稳定的新客户上门。挂出招牌之后就等着这两件好事从天而降,几乎不可能。你需要假以时日,精心培养这两类客户。
流量为你带来收入,你需要长期客户和源源不断的新客户。
问问你认识的人
  • 从身边的人开始推广,宣传自己成为自由职业者。
  • 列出所有可能感兴趣的人,给他们发邮件推广你的服务。
  • 不断的推广,直到你不能再挤出更多的时间
获得客户的最佳途径
你真正要关注的是所谓的吸引式营销 (inbound marketing)(在第二篇中会更详细地讨论这一点)。“吸引式营销”基本上就是让潜在的客 户主动送上门,而不是你去找他们。你要做的事情就是免费提供有价值的东西。 大多数开发人员都应该有一个博客,这一点我已经喋喋不休好多遍了。因为你能够在博客发表文章吸引人们来阅读,所以博客也是吸引式营销的绝佳途径。通过在博客文章的结尾或网站的导航栏提供咨询服务,一旦有潜在客户阅读你的博客内容,你就可以试着直接将他们转化为客户。或者你也可以通过为他们提供别的有价值的东西来换取他们的邮件列表。
notion image
“吸引式营销”唯一的问题是起效时间略长。你必须有足够丰富的内容来吸引足够多的潜在客户来充实自己的工作渠道。这也是现在就开始着手暂时别辞职的好理由。长远来看,吸引式营销能给你带来更多的业务,也能让你更容易提高自己的时薪,我们将会在下一节讨论这个 问题。
怎么收费
自由职业者的工作成本比公司职工更高,你的设备你的环境都是你自己付钱买的,所以自由职业者时薪的定价应该更高。如果你当前时薪50美元,那么75~100的定价是合理的,因为扣掉损耗后收入基本持平于公司员工的50时薪。
太牛逼了这个概念:
如果你把自己的工作看作商品,那么你就要和市场上的其他人打价格战。但是如果你改变营销策略,将你的服务专注于节省用户成本,提高用户盈利率,那么你就能根据你为客户带来的价值而定价。这就叫专业。
我来给你举一个例子。我提供的咨询服务中有一项是关于创建自动化测试框架的。当我和潜在客户就这项服务议价的时候,我会列出构 建自动化测试框架需要多少钱,也会说明如果软件出错的话修复的成本有多高昂。然后,我会讲自己在构建自动化测试框架方面的丰富经 验,并且我确切知道要做什么。 我还会向潜在客户展示,如果以每小时300美元的价格雇用我其实要比雇用一个以前没有写过自动化测试框架的普通开发人员便宜得 多。我会告诉他们,我1小时的指导可以节省他们20小时的也许是南辕北辙的工作。 我没有撒谎。投标之所以如此高效,是因为我真的相信这是真的关键点在于,我强调自己的服务完全值这个价钱,并且我的服务物超 所值。因此让潜在客户们做出雇用我而非其他只会从技术角度谈论他或她能做什么的廉价竞争者这样的决定,也就非常容易了。
以下两种表述方式你认为哪一种更好?
“我可以为你的业务设计出全新的网站。我非常擅长HTML5、CSS以及网页设计,并成功地为许多与贵公司类似的公司创建了网站。” “你当前的网站能够给你带来足够的点击量,并且将这些点击量有效地转换成为客户吗?贵公司可能和大多数小企业一样,答案是‘不能’。不过不用担心,我可以帮你创建一个顶级的定制化网站,专门来提高你的流量和转化率。我已经帮许多其他的小企业提高了两倍甚至三倍的客户,我也可以帮你做到。”
这也是需求唤醒里面的话术,用大概200个词在30秒的时间内说话,一定要用专业术语显得你是一名行家,同时风轻云淡的描述,好像你已经做了成千上百次一样。
关于如何收费的最后一条建议是,如果没有任何潜在客户跟你讲“不行”或者“你的收费太贵了”,马上提高费率!不断给你的收费加码, 直到你听到“不行”为止。客户愿意为你的服务付的价格可能会让你大吃一惊。我知道有些自由职业者通过使用这种方法,配合使用吸引式营 销和根据自己能为客户带来的价值来调整价格,让自己的收费提升了不止一倍。
总结:
  • 基于价值的定价
  • 不断的提高你的定价,直到有客户抱怨太贵了
  • 吸引式营销
notion image

第13章 创建你的第一个产品

作为一名软件开发人员,你拥有成为一名企业家得天独厚的优势,不仅能提出概念或新想法,还能自己把它创造出来。正是出于这个原因,许多开发人员选择创业、选择自己创造产品,而别的企业家不得不雇用他人来实现自己的想法。正如你所 知,开发定制软件可是价格不菲。
找到受众
许多软件开发人员一开始就深陷创业者最常犯的错误之中——在为产品找到客户之前就构建好产品。从构建产品开始可能有些道理,不过你要避免落入这个陷阱之中,否则你只是冒险为一个不存在的问题创造了一个解决方案。
先找到目标用户。build in public是一个不错的方法。
人类创造出的每个产品(包括这本书在内)都是为了解决某个特定的问题。没有要解决的问题的产品毫无意义,毫无意义 的产品自然也就不会有用户,也就意味着你不会赚到钱。有些产品专门解决一些特殊群体遇到的特定问题。例如,一款能够帮 助牙医管理自己的病人的软件产品,或者一本能帮助软件开发人员学会如何使用.NET Unity框架的书
如果你想开发出一款产品,第一步应该是筛选出一组特定的受众,他们也是你的解决方案的目标用户。针对这些人你要解决的问题是什么,你可能已经有了总体概念。不过在很多情况下,你要多做一些调研,找出要么没被解决的问题,要么没有被 很好解决的问题。
去目标客户常去的地方,与用户参与的社区交流,了解一下普遍存在哪些问题。你能从中看到的痛点有哪些。 我开始注意到这样一个趋势——软件开发人员向我咨询如何打造业界声誉,如何提高自己的曝光率,或者如何增加关注 度。许多访问我博客的软件开发人员也会问我相关的问题。我看到这里有一个实际问题——软件开发人员有学习自我营销的需要。(在这个案例中,我的受众是直接通过我的博客告诉我他们的问题的,所以事情就变得简单了。这是要拥有博客的另一个 原因。)
我决定创建新产品来解决这一问题。我创建了一个名为“软件开发人员如何自我营销”的课程(http://devcareeboost.com/m )。由于这个产品解决了我的目标客户一个非常具体的问题,所以在我投入时间进行创建之前我就知道它一定会成功。(我还 有另外一种可以提前验证产品是否成功的方法,稍后会谈到。)
太聪明了。
而许多开发人员是反着来的。他们在尚未有受众的时候就创建产品,然后再四处推销,努力寻找受众。当你以这样的方式 做事情时,你要冒很大的风险,因为执果索因往往更加困难。 在我创建“软件开发人员如何自我营销”这个课程时,我的受众已经事先找到我,并告诉我他们的问题。要想让产品轻松卖 出去,这是一个非常好的启动方法;构建产品再找受众,则与之相反。我们会在第二篇讨论如何自我营销。如果你利用其中提 及的方法让自己成名,被粉丝围绕,并产出被追捧的内容,你会发现你已经拥有了愿意购买你创建的任何产品的客户。 许多名流使用这种方法创建和销售产品。他们已经拥有了一大群受众,并且对受众的需求和问题了然于胸。当他们面向受 众发布新产品的时候,自然就会成功。以格林•贝克 [1] 为例。抛开政治观点不论,正是由于受众庞大,这家伙才能成为《纽约 时报》最畅销书作家。他没有必要去寻找受众,因为他创造了受众。他做出来的每一样东西自然而然地就有人等着去买。 如果你想让自己的产品也同样成功(虽然也许在规模上达不到),首先打造一个成功的博客,使用播客、演讲、视频和其 他媒体来发展自己的受众。接下来,一旦你有了受众,你就能够向这些受众销售自己的产品。你之所以购买这本书可能就是因 为你已经是我博客的粉丝,或者因为关注我的其他工作而无意中发现这本书,或者你之前听过我的播客。这就是发展自己的受 众的威力。
总结:
  • 打造自己的IP,不管是博客、播客、演讲、视频、书籍,一定要提高自己的知名度
  • 通过吸引用户来发现痛点或用户。
测试市场
一旦你明确了产品的受众,并明确了如何用它解决用户的问题,在开发产品之前你还有一步工作需要完成。你应该通过测 试市场来验证你的产品,看看你的潜在客户是否真的愿意为它买单。 记得在上一节我讲过,在创建“软件开发人员如何自我营销”这个产品之前,我还采用了另一种方法验证自己的成功。这是 一个小秘密:甚至在我正式开始这项工作之前,已经有人为其付费了。 你可能会问我是怎么做到的。简单说就是:我要求他们这么做的。在我计划创建这个产品的时候,我决定在投入数月时间 做这件事情之前就广而告之——我将要创建一个什么样的产品,并且为产品还没创建之前就付费的用户提供大幅折扣。这看似 有点儿疯狂(在某种程度上说还真是这样),不过要想在投入全部时间开发产品之前,证明是否会有人真的愿意为它付费,这 是个好办法。我还知道,如果我能让软件开发人员(我的目标客户)提前3个月(或更早)付费,那等产品正式上线时,销路 就不成问题。
和build in public的方法一样,看来成功的方法总是很早就被提出来了。
所以你可以这么做:创建一个简单的销售网页,讲述你将要创建的产品以及它将解决什么问题,讲述你的产品会包含哪些 内容以及产品上市的确切时间,给个折扣价让感兴趣的人可以提前预订产品,保证产品一发布他们就能拿到。你还要提供退款 保证,让潜在客户知道如果你的产品不能如期交付或者不能令他们满意,他们可以得到退款。 但是如果预订数量有限怎么办?碰到这种情况,你可以决定是否要修改产品或者作品,因为你不是在解决正确的问题,或 者你可以直接退款给那几位预订者,向他们道歉,告诉他们感兴趣的人不多。这不是一件有趣的事儿,但总比花了3个月或更 长的时间做好产品之后才发现没有人愿意买要强得多。 在我把预售网页上线的第一天,我的生意就开张了,卖出了7份程序副本。这给了我足够的信心,我知道自己可以继续前 行,也知道自己并不是在浪费时间。我也有一群非常有兴趣的客户,我经常向他们征求反馈意见以帮助自己提升正在开发的产品。
  • 你甚至可以搞预售制,只需要处理好退款就行了
从小处着手
我反复强调不要贸然辞职,踏上创业之路,但是我要再啰嗦一次:从小处着手。太多崭露头角的创业者为自己的第一个产 品设置了非常激进的目标,不顾一切地追求新的梦想。 你必须明白并意识到,自己的首次创业可能会失败,很可能第二次、第三次也是如此。直到经过足够多的失败,你才可能 真正成功。如果你倾尽所有投入创业,如果你为一次创业成功赌上自己的整个未来,你可能会把自己置于绝境——没有资源, 甚至没有意志再去尝试一次。所以别这么做。从小处着手,作为副业开发你的第一个产品。 如果你想尽可能缩短自己的学习曲线,你就需要尽量缩短开始行动到看到成果之间的周期。大型产品的问题就在于,如果你没有走得很远,没有在开发产品上投入相当的精力,你就不可能看到实际的成果。
开始
也许本章的所有内容听上去都不错,但是你还是不知道如何开始。别担心,我在开发自己的第一个产品的时候,我也有相 同困境。当时的我对自己应该如何创建我能创建的产品,以及如何销售我的产品毫无头绪。 我不说谎,我告诉你这其实很简单。你有相当多的东西要去学习,但是非常容易上手。如今,在线销售比以往更容易,并 且还有大把的资源帮得上你。 我是通过阅读该主题的几本书开始的。你可以看看Ramit Sethi的博客(http://www.iwillteachyoutoberich.com/ ),他是这方面的 专家,帮助过许多怀揣着“成功企业家”梦想的创业者走向成功。 我还建议你去读读Eric Ries的《精益创业》(The Lean Startup )[Crown Business,2011],从中获取一些关于如何创建小 企业,以及如何起步的想法。 不过大量的创业技能最终还要通过尝试和失败获得。某种程度上,你必须去做自己认为正确的,找出为什么它不管用,然后再去尝试不同的东西。大多数创造出成功产品的创业者也是这样做的。
这里又推荐了几本书哈。
精益创业
how to start a start-up 也是很高频的书。
notion image

第14章 你打算创业吗

没有风险就没有收益,创业就是巨大风险的项目,但是一旦成功就有巨大收益。
创业的基础
一家创业公司就是一家新成立的公司,试图找到成功的商业模式并将其规模化,最终成为具有赢利能力的中型或大型公司。如果你现在创立一家新公 司,本质上就是一家创业型公司。 现在,尽管从技术上讲,任何一家新成立的公司都被认为是一家创业公司,但是实际上还是存在两类不同的创业型公司。第一种创业公司在成立伊始 就试图以获得外部投资者的投资来刺激公司快速成长。这种创业公司可能是我们最常听说的那类。许多成功的大型科技公司在开始创业的时候拿到投资人 的资金,获得成长,并最终成功。与创业有关的术语和讨论实际上指的就是这类公司。 另一类创业就是自力更生创业。自力更生创业完全由其创始人提供资金支持。如果你创立了自力更生型公司,你不需要从投资人那里募集资金,也不 在乎公司能否立刻做大。这类公司通常规模比引入投资人的创业公司小,但是失败的可能性也更低,因为他们通常开销更小,同时由于没有放弃公司的多 数股权,创始人在业务上也更有控制权。 鉴于本书已经有相当篇幅讨论了如何开创自己的自力更生型企业,所以这里我们主要谈的是试图获取外部投资来得到成长的创业公司。从现在开始, 我说到“创业”的时候,指的都是旨在吸引外部投资的创业公司。
创业公司有两类:
  1. 吸引外部投资
  1. 自力更生,创始人注资
创业的失败率
  • 获取了投资的公司,大约75%都失败了。
  • 你的投资者最终目标是套现离场,目标是挣得若干倍甚至几十倍的利润。

第15章 远程工作的生存策略

第16章 假装自己能成功

你必须自信
“假装自己能成功”的真实含义
当我说“假装自己能成功”的时候,并不是暗示你去撒谎或者假装拥有自己尚不掌握的知识和技能。相反,我的意思是,在你做事之前,可以暗示自己“我已经成功完成任务”。当我在说“假装自己能成功”的时候,我是在说你要如心理暗示那样行事:
  • 你仿佛已经具备了成功完成任务的技能和天分;
  • 你仿佛已经成为自己想成为的那类人;
  • 仿佛战斗已经结束,而你大获全胜,因为你深知如果自己坚持不懈,胜利就在眼前;
  • 你仿佛已经对即将踏上的未知道路驾轻就熟。
心理暗示非常重要,暗示自己可以很好的handle这件事情。
用这种心态去做,扭曲现实立场
当你以这样的心态做事的时候——注意,关键词是“做”——你终究会实现你为自己展示的蓝图。看起来像是魔术或者怪力乱神,但是事实上,我们的精神非常强大。在本书第七篇中我们还会深入讨论如何使用精神力量来控制和塑造你的现实世界。 这里,你只需要知道,如果你真的能像心理暗示的那样行事,那你也可以让自己的内心相信那一点。你的内心将会凝聚起巨大的力量,促使美梦成真。
可能这就是顶男必备的自信和心态吧。你长得可以不顶,你钱包可以不顶,但是你的心态和自信一定要顶。
“假装自己能成功”就是这样起作用的。你说服自己的身体和内心去努力,使梦想成为现实。“假装自己能成功”是不自信的对立面你要在做任何事情的时候都充满自信,即使是在自己的能力远远不到的时候,因为你有一种自己能够克服一切障碍的信念
付诸实践
所谓“假装自己能成功”,就是要有意识地让自己身处逆境,迫使自己学会拼搏。正是这种在生活中“假装自己能成功”的心态,带领自己勇敢走向未知领域,坚信挑战与机会并存。如果你想学会“假装自己能成功”,你就必须拥有破釜沉舟的勇气。 你是否曾面对这样的困境——感觉对自己要做的事情一无所知?你感觉非常不自在,可能有些窘迫,甚至觉得有些无能为力?这种情况下你该如何应对?你会为自己的失败和表现不佳找借口吗?
面对这样的窘境和障碍,感到恐惧、尴尬,进而找借口,都是很自然的反应。但是,如果你能克服这些倾向,并看到真相,那你现在所面临的新情况和挑战都会变得“不过如此尔尔”,你也就学会了“假装自己能成功”。
对软件开发人员来说,“假装自己能成功”通常最适用的场合就是在面试的时候。通晓某一岗位所需的所有技术的专家几乎 不存在。不同的技术太多,你很难全部掌握,因此当你去面试一个岗位时,这个岗位所需的某些技能是你尚未掌握的。 这里的关键词是“尚未”。许多开发人员参加面试时表现得紧张、很胆怯,表明他们缺乏自信,因为他们一旦工作中遇到自己没掌握或没见过的技术,他们就会怀疑自己完成工作的能力。他们相当短视,因为他们只会以现在的视角看问题。当下转瞬即逝,还没仔细看上几眼就成了过眼烟云。我们更应该着眼于未来。 的确,在眼下你正在面试的这个时间里,你可能并未掌握出色完成工作所需的全部技术。但是你并非打短工的,公司也不是要短期雇用你其他开发人员面试工作的时候也会欠缺某些技能或经验,只是领域不同而已。正因为如此,你要散发出自信和能干的气场,知道自己曾经面对挑战迎难而上,并且更有理由相信自己将来也会那么做。
用长远的目光看待事物,就算遇到你没掌握或者没遇到过的技术,你也不应该展示出胆怯或者不自信,你必须相信自己能够掌握某项技术。
不要将这与撒谎混为一谈。我不是建议你向未来的雇主展示自己不具备的技能,声称自己具备尚不具备的能力。相反,我 建议你坦率、诚实地面对自己的能力或不足,同时保持“我以前已经克服过那些困难”的心态和姿态,因为你清楚地知道,唯一横亘在“现在的你”和“未来的你”之间的是时间。
但是不要撒谎,不要声称自己不具备的能力,相反你应该坦率的承认自己的不足,但是又要保持我可以解决这个问题的心态,因为你清楚地知道,唯一横亘在“现在的你”和“未来的你”之间的是时间。 只需要给你时间和资源的支持,你一定能解决这件事。
你的自信(注意,并非自大)是富有感染力的如果你抱有“我可以”的心态,当你真正信任自己,既不夸大其词也不妄自菲薄的时候,知道自己最终能实现心中所想,那么你会发现别人也会对此深信不疑。抱着这种心态走向面试官吧,你会见识到“假装自己能成功”的威力。
你的自信是富有感染力的。
fake it till you make it”,直译为“在真正成功之前,先装作成功”
采取行动
  • 诚实地评估一下自己。面对困境,你的心态如何?当遭遇新问题或不熟悉的问题时,你会怎样做?回想一下,上一次面对困难或者不熟悉的形势时,你是怎么做的?
    • 面对困境,我的心态尚可,但我也会处于一种焦虑的状态,比如说不知道当前的系统设计是否足够好,但我仍然会坚持处理这个问题。遇到不熟悉的问题时,我会感到高兴,因为我的知识面又扩宽了一些,面对困难和不熟悉的形势时,尽管我表现得有些懵懂,但我仍然会想办法弄懂它。
    • 我认为我需要消除的是我紧张焦虑的情绪
  • 你该怎样树立一种自信而不自负的心态?自信与自负之间的区别是什么?为了强化“假装自己能成功”的能力,你现在应该做什么?
    • 自负会带有轻视问题的倾向,但是自信却不会。自负是过度的夸大自己的实力,自己有100分,却夸大到120分,自信是自己有100分,但是却相信自己能做到120分。
    • 我应该培养自己的自信心,想办法走入正反馈,在一次又一次的反馈中加强自己的自信和能力
  • 小练习:有目的地将自己置于困境,演练一下自己既定的应对策略。

第17章 单调乏味的简历——如何修改

一个认知:简历和广告手册一样,都是推销自己。
你外出度假的时候,可曾看到过酒店服务台上塞满的五颜六色的介绍本地景点的小册子?你有拿起过其中的一本并翻阅 吗?大多数小册子只有三页,全彩印刷,设计精美。毫不夸张地说,这些精心设计的小册子足以让你心甘情愿花上100美元去 玩玩帆伞,或者租上一辆水上摩托。 现在,对照一下普通软件开发人员的简历—— 一种字体,双倍行距,多达五页,语法错误、拼写错误和没有章法的句子 随处可见,充斥着“勇于担当”和“结果导向”这些词汇。 没错,简历和旅游小册子一样,都是广告,最终目的无非就是让人们心甘情愿掏钱—— 一个是让你花上100美元参加度假 活动,另一个是让招聘经理掏出6万美元、8万美元或者更高的价钱“租”一个软件开发人员一年。 有的人为了卖出去100美元的东西,不惜工本对广告内容精雕细作,有的人却想凭借粗制滥造的广告卖出去要价6万多美元 的东西,在我看来这实在是不可思议。现在,别误会我,我可没说你的简历是一堆垃圾,我想说的是,如果你的简历跟大多数 软件开发人员的简历一样乏善可陈的话,你得花一点儿功夫。
notion image
这里就是作者打广告了,他推荐雇佣别人来为自己写简历。
比别人多做一点点
你的linkedIn主页,你的在线简历,你的博客,你的GitHub,你都可以放上来
notion image
  • 用行动,结果,可量化的指标来描述你的工作。

第18章 请勿陷入对技术的狂热之中

这个认知非常重要。
我不知道你是不是一位有宗教信仰的人。无论你信仰何种宗教,我肯定你会同意我的看法,历史上许多最血腥、最残酷的战争,在某种程度上都是为宗教而战的。
这里我并非是在抨击宗教,也并非以某种方式表明某种宗教与生俱来的善与恶。我只是希望你能清楚地意识到,恪守教条的信仰往往有很大的煽动性
软件开发也是如此。软件开发和技术的虔诚很容易像信仰生命起源或至高无上的神的存在一样尽管一般我们不会因为某个人喜欢iOS超过Android就杀死他,但是我们确实有一种倾向,总想在没人注意的时候给对方点颜色看看。
我坚信,如果你能让自己不成为某种技术的信徒,你会在职业生涯之路上走得更远。在本章中,我们将探讨为什么会是这样的情形。
我们都是技术的信徒
这是真的,你还是承认这一点吧。你对某种技术或编程语言存在偏见,认为它是最好的——至少大多数程序员是这样的。 这很正常。我们总是对自己做的事情充满热情;只要是有激情、有热情,就很容易变得极度感性。来看看职业运动员。 对技术虔诚的一大问题是,我们中的大多数崇拜某项特定的技术,只是因为自己熟悉这种技术我们很自然地会相信自己选择的是最好的,然而这会让我们经常忽略任何反对意见。我们不可能充分了解现存的所有技术,从而给“哪项技术最好”作出 最英明、最睿智的判断,于是我们倾向于选择我们了解的技术并先入为主地认为它是最好的。人生多艰,无暇他顾。 尽管这一行为的起因合理又自然,但其实具有破坏性和局限性。当我们武断地只根据自身经验就固执己见时,很容易只与理念相同的人打交道而排斥其他人,最终我们只会固步自封、墨守陈规。我们自以为找到所有答案,却只是裹足不前。 在我职业生涯的相当长的一段时间里,我都是操作系统、编程语言甚至文本编辑器这些技术的忠实信徒。然后我才逐渐意识到,我没必要只是选择最好的而贬低其他的。
我们总是认为自己的选择的就是最好的最正确的。
我们崇拜某种技术,只是因为自己熟悉这种技术。
我们如果只根据自己的经验固执己见,很容易陷入到茧房之中,只和自己理念相同的人打交道,排斥理念不同的人,这样对自己的进步发展毫无帮助。
我没有必要只是选择最好的而贬低其他的。
天生一物必有用
不是所有的技术都是“伟大的”,但多数被普遍应用的技术至少是“好的”。一样东西如果不好,就不会为人所知或使用,也不会成功。诚然,环境是随着时间而变化的,但重要的是,我们必须认识到:至少在历史的某个时间点,每项技术都被看作是 那个时代里“好的”甚至是“伟大的”。 有了这样的视角会有助于你理解:在很多情况下,解决问题并不只有一个好的或是最好的方法。同理,最好的编程语言、 框架、操作系统,甚至是文本编辑器不会只有一种。你可能会喜欢某项技术多过其他,或者用某种编程语言的效率要高过其他,但是称其最好并无必要。
语言和技术只是某种工具,工具一定有它的用途存在。不是所有的工具都是伟大的,但是它们一定是有用的。
发生在我身上的转变
让我自己相信这一点经历了一段漫长的艰难时间。我花了无数时间与人争论为什么Windows比Mac好得多。我为C#和其他 静态类型语言大声疾呼,我认为它们可以把Perl或者Ruby这些动态语言甩开几条街。现在我讲起来都有些惭愧,我那时甚至会 严厉斥责那些不这么认为的开发人员——他们怎么敢相信那些我都从来不用的技术? 令我大开眼界的是在我第一次担当一个Java项目的项目组长的时候。在此之前,我一直是.NET开发人员,专注C#语言。 (好吧,其实也不尽然。在.NET技术出现以前我是C++的信徒。)我不能容忍用Java语言工作的想法。同优雅的C#相比,Java 就是不入流。我甚至都不会使用Lambda表达式,我怎么可能喜欢用Java写代码呢? 最终我还是决定接受这份工作,因为这个机会实在是太好了,而且我认为这不过就是一个合同,我只要忍上区区一年而 已。后来,我才发现,接下那份工作是我在职业生涯中所做出的最杰出的决策之一。使用自己一度厌恶的技术工作,让我从不 同的视角审视所有的技术。事实证明,Java一点都不糟糕,我也能够理解为什么有些开发人员喜欢用Java而不用C#。 在做Java项目的那几年里,我学到的东西比之前工作中学到的都多。突然之间,我有了一个巨大的装满各式工具的工具 箱,能用来解决任何问题,我再也不像以前那样死守着少数几个被过度使用的工具。 从那时起,面对其他编程语言,即使是动态语言,我都会抱有与面对Java时一样的开放心态,使用从中学到的任何知识和 技能,使自己成为更好的程序员。我也放弃了对操作系统和框架的偏爱,努力尝试新东西之后再做评价。如果没有这段经历, 我可能不会写这本书,又或者,我会写一本《为什么C#是最好的语言,其他语言都糟透了》。
不存在某种工具无法解决它适应的问题,除非你自己给自己设限。
不拘一格
不拘一格是本章的要点所在。没有理由去强烈坚持自己选择的技术就是最好的,而轻视甚至无视其他技术。如果固执己见,最终受损失的是你自己。
另一方面,如果你愿意对技术保持开放的心态,而不是固守自己已经了解的技术,声称它是最好的,你会发现有更多的机 会为你敞开大门。
采取行动
  • 列出你钟爱的所有技术,或者你觉得更胜一筹的技术。
  • 针对这张列表里的每一项,想想它为什么吸引你。你都做了哪些比较来确定它确实是“更胜一筹”?你真的使用过它们的竞争对手吗?
  • 挑选一门你厌恶的技术,找几个喜欢它的人,开诚布公地讨论为什么他们喜欢这门技术。更进一步,你也试着用用它。

第二篇 自我营销

营销就是一场争夺人们注意力的竞赛。——Seth Godin
在软件开发行业,营销的名声并不好。一般人提起营销人员都会皱眉头,因为很多营销人员会急功近利地使用不诚信的手段。似乎每天都有无良的营销人员为了一己私利而兜售新骗局。 其实在现实生活中,营销本身并没有那么糟糕。你的营销手段决定了你的营销对象是受益还是受损营销需要人们的关注,以便让人们关注你,关注你的产品优秀的营销会将人们的需要或者期待与能够满足此愿望的产品或服务关联起来。所以,营销追求的是“实现价值在先,要求回报在后”。
我去,这个概念太酷了。
优秀的营销会将人们的需要或者期待与能够满足此愿望的产品或服务关联起来。
营销追求的是:实现价值在先,要求回报在后。
chatgpt对这句话的回答:
“实现价值在先,要求回报在后”意味着在营销过程中,首要的目标是通过提供有价值的产品或服务来满足人们的需求或期望。这意味着营销人员应该关注如何为客户带来真正的好处,解决问题或满足其需求,而不仅仅是追求短期的利益或回报。 这种营销理念强调将客户利益放在首位,建立长期的信任和关系,而不是仅仅把客户当作交易的对象通过为客户提供价值,营销人员可以赢得客户的认可和口碑推广,从而获得更长久和稳定的回报。 这种方法也意味着营销人员需要了解客户的需求、喜好和痛点,以便能够提供他们真正需要的产品或服务。通过与客户建立良好的互动和沟通,营销人员可以更好地理解客户需求,并通过产品创新或个性化的解决方案来满足这些需求,从而实现客户和企业的共同价值。
营销人员应该专注于提供有价值的产品和服务来满足人们的需求或者期望,这意味着营销人员应该关注如何为客户解决问题、满足需求,而不仅仅是追求短期的回报。
 

第四篇 生产力

每周工作结束后,你如何评估你的工作状态是否高效呢?你的评价指标是什么?
A 高效和完成任务的数量挂钩
B 高效指你工作时间的质量高低
假如你选的是A,那么你可能要转换一下观念了。
讨论的前提:人是有惰性的,人的注意力和精力一样,当你做出某个决策的时候,你同时消耗了你的注意力和精力,这也是为什么你在写了一天代码后你将会精疲力尽,尽管你没有从事体力活动。
一个明显的差异:如果你追求任务数量,那么你将会滥竽充数,而如果你追求工作时间质量,一周下来尽管看起来任务数量不多,但是高质量的工作时间始终能推动你的工作进度。
我的目标是完成“X个番茄钟”,而不是“完成X项任务”。一旦你开始专注于“完成X项任务”,你要面临的一定是一份长长的待办事项清单,你会重新陷入泥潭之中。
我们可以这样拆分生产力,把一周时间分配给一个个用时不超过两小时的小任务。
让我们把一周为时间单位,计算一下,我们每天剩下的时间,也就是出门到家的时间,你能空余多少番茄钟出来。
如何拆解计划?
按照季度、月、周来拆分你的任务,看板是一个非常棒的工具
计划为什么重要?
计划是你工作路上的里程碑,当你想从A地到达B地,如果你能拆分详细的计划,那么你将用一条倒退的路径从B回到A,沿着里程碑走会让你时刻跟踪你的进度,并修正你的计划。
拆分完计划后我还能做些什么?
定额任务,所谓定额任务就是不加思索必须要执行的任务,定额任务的周期往往是一周,定额任务往往是可量化的任务,比如你一周要跑15公里,那么你选择12456跑步,八点钟一到立即出门跑上2.5公里,然后回家。
注意定额任务是不需要思考的,不需要思考的好处是节省我们宝贵的决策力(也可以说是注意力,你为这项决策投入了多少注意力来做出选择)。

总结

非常好的书,值得一读再读
 

© hhmy 2019 - 2024