Skip to content

软技能

本文是 Sonmez 的 Soft Skills 的读书笔记。

这本书和这个分类一样,关注的是人。本书大致讲了以下几个方面的内容:

  • 职业:如何主动管理职业生涯。
  • 自我营销:如何“销售”自己,打造自己的品牌。
  • 学习:如何学习,阐述了作者的学习方法。
  • 生产力
  • 理财
  • 健身:减脂增肌塑形。
  • 心态

职业

你所能犯的最大错误就是相信自己是在为别人工作。这样一来你对工作的安全感已然尽失。职业发展的驱动力一定是来自个体本身。

记住:工作是属于公司的,而职业生涯却是属于你自己的。

——厄尔·南丁格尔

转变心态,把雇主看作是自己的客户。这个企业虽然只有我一个人,但是应该用经营企业的心态来经营自己。一个软件工程师,产品就是软件开发服务,要考虑服务的价值,还要考虑与其他软件工程师提供的服务有何不同。

我们要专注于提供的服务以及要营销自己的服务,想办法提升自己的服务,称为专家,针对特定客户服务,这样才能找到顶尖的岗位。

把职业当做是企业,还会影响我们的工作方式、理财方式和寻求新的客户/工作机会的方式。

作为软件工程师,我们要为自己的职业生涯设置一个目标。要给自己设定一个大的目标,想象一下自己在 5-10 年后想成为什么样的人,想做什么样的工作。这个目标不需要非常具体,但要有一个大致的方向。这个目标会帮助我们在职业生涯中做出更好的决策。然后就是指定一些小目标,逐渐向着这个大目标前进。和软件开发一样,还需要追踪这个目标,确保没有偏离太远,定期检查目标,看看是否需要调整。

想要称为出色的软件工程师,必须学会和人打交道。每个人都希望自己很重要。少批评,多鼓励。换位思考,他需要什么。避免争论,特别是在小事和“怎么做”这种事情上。主动模式的核心要素之一就是不承认和你的模式相冲突的东西,淡化它们。

如果有的人不好相处,不停的贬低他人,或者生活消极,避免接触。如果是老板或者同事,不要投入感情,打交道限定在最小范围。

作者给出了一个改进的求值路线:从期待加入的公司找到联系人,与他建立紧密的关系,获得个人推荐,面试。

面试是否通过最关键的还是自身的实力,不管当下是否寻求新的机会,都要确保自己一直阅读技术书籍和博客文章,花时间提升自己的技能。

职业生涯最常见的路就是受雇于某个企业,相对稳定、简单,是常见的、默认选项,缺点是缺少自由、不足够灵活。第二条路是独立咨询师,更大的自由度,不断地做新项目,不过要自己去找业务,打理一切事物的开销,从为一个老板工作变成了为多个老板服务。第三条路就是创业,最难、最不确定但是回报潜力最大的路。

专业化程度越高,潜在的机会就越少,但是获得这些机会的可能性也越大。记住,我们只需要一份工作。要选定一个领域,成为这个领域的专家。同时,要随着时代的发展,调整领域,因为有的领域会慢慢过时。

公司和公司差异很大。小公司工作,角色灵活,很高的影响力,高回报的潜力,可能无法安静下来写代码,工作绩效一目了然,稳定性差。中等规模,可能比大公司还稳定(有周期性的重组、裁员),不加班,可能无法接触到前言技术。大公司,稳定,完备的流程和规范,大型有影响力的项目,缺点很明显,官僚(甚至是斗争),很难得到关注。要想清楚自己的诉求,选择适合自己的公司。最重要的是,要选择软件开发是主业的公司。

想要脱颖而出,最重要的法宝就是多承担责任。金钱总是追随者责任!一个小的模块(可能历史遗留问题)或者指导他人都是不错的开始。开始工作,要记日志,这些资料汇总起来就是周报、月报、年报,绩效评估的时候就有了很好的资料。在会议上发表意见,提出建议。对某个主题进行分享讨论。这些目的都是增加曝光度。要敢于称为解决问题的人,特别是别人口中“困难的问题”。

成为专业的人士,专业是最大的财富。专业人士的特质是引人注目、恪尽职守,做自己认为正确的事情。不惧怕承认自己的错误,不会文过饰非。敢于承担责任。如何成为专业人士?养成好习惯,打破坏习惯。时间管理,做好规划。坚守正道,敢于说不。不过作者也提及了一个例外,就是后果自己无法承担(比如被解雇),不得不做一些不太专业的事情,但是要尽快离开这个环境,比如换一个工作。作为专业人士,要不断提高自己的工作品质,无法达到标准的时候,要努力改善而不是降低标准。要改善弱点,更要发挥优势。

学会服从上级。学会一边表达自己的观点,一边坦然接受最终的决定,这样能避免很多压力和焦虑。结合之前讲的说“不”,因此要有要么和老板一边要么走人的觉悟。被迫服从是懦弱,主动服从(优秀领导也要有优秀的追随者)更多的是一种勇气和智慧的表现。服从上级不等于盲从,服从上级也不等于放弃自己的原则。

不要对某种技术有这宗教式的信仰。技术是工具,不是目的。能够被普遍使用的技术,通常是因为它在某些方面做得很好。没有理由坚持自己选择的技术就是最好的,不要轻视或者无视其他技术。固执己见受伤的是自己。

在离职为自己工作之前,要做好准备。先当成副业,当有足够的收入(比如覆盖日常开销)之后再转成主业,全身心的投入。追踪自己每天时间的开销,更高效的利用起来,投入到副业中。我觉得也可以考虑承担更多责任,升职加薪。

我的一个想法是:我们大部分软件开发人员都可能无法成为咨询师或创业者,但是可以把这个思路应用于自己的职业生涯。把自己当成一个企业来经营,把自己的职业生涯当成一个企业来经营,把自己当做一个产品来迭代,找到自己的客户,提供有价值的服务,营销自己,提升自己,成为专家。

不管是为自己工作,还是为公司工作,在居家办公的时候,一定要做好时间管理,否则可能什么事情也没有做,时间就被各种各样的琐事消耗了。要做好规划,不必早九晚五,但是日程表是需要的,目的是保证专注、高效的工作。居家办公还有一个问题,就是对自己的注意力、自律要求更高,如果无法做到,可能会导致效率低下,这时需要考虑换一个工作环境,比如去公司上班。第三个困难在于孤独感,只有一个人,没有社交。要想克服这个问题,可以强迫自己出去走走,和朋友见面,参加一些社交活动,或者加入一些兴趣小组。

自我营销

营销,在软件开发行业的名声并不好,其实不然。营销追求的是“实现价值在先,要求回报在后”。对于有才华的人而言,营销就是乘数倍增器。自我营销的正确方式是为他人提供价值。要学习如何控制好自己要传达的信息,塑造好自己的形象,扩展信息送达的人群。学习自我营销的目的是发挥出自己全部的潜力。

品牌是对产品或服务的一整套预期。品牌有四个要素——所要传递的信息、视觉符号、一致性和曝光率。仔细想一想自己能为其他人提供什么服务或价值,想一想自己想要传达什么样的信息,找一个细分领域,类似于之前谈到的专业化,然后开始自己的品牌。

写博客是营销自己的方式之一。就算营销的效果很有限,写博客也有一些好处,比如帮助自己理解某一个问题,清晰的阐述是一件不容易的事情,组织自己的思想,并将其转化为文字,也是一项颇具难度但极具价值的技能。保证质量,持续输出,但是想要成功,还有其他的因素,不管怎样,积累总是有好处的。

输出的内容要对别人有价值,能够帮助到别人,因为归根到底,每个人都只关注自己。从另一个角度看,自己的价值所在就是对别人有价值!帮助他人的同时就是在帮助自己。

有了内容之后要学会用社交媒体来推广,首先第一步是先和别人互动。在社交媒体上,发布自己认为有用或者有趣的内容。在各个社交媒体上保持活跃是很难的事情,要做好的事情是挑选一到两个平台保持活跃,其他的作为辅助。社交媒体是相当消耗时间的地方,一定要做好规划,避免被它消耗掉太多的时间。

演讲和培训是很好的交流的机会,但是这种机会难得,同时很多人需要克服很多问题。我个人认为一个好的开始是在组内、公司内做主题分享,慢慢的积攒经验,增强表达能力和自信心。

学习

软件行业变化非常快,想要保持竞争力,就要不断学习。学习的方式有很多种,最重要的方式是找到适合自己的自学方法。我觉得最好的方法是实践,更贴合软件开发行业的特点。先读一些,然后开始实践,遇到问题,思考,带着问题继续读,继续实践,不断迭代。最后,将这些知识输出,确保自己完全理解了,同时还能帮助到别人。

一个导师能够指导自己的职业生涯,提供建议,是最好不过的了。但是找到导师可能是一个不容易的过程。首先,你要找到你希望成为的样子的人,主动联系他们,建立关系,请教问题,寻求建议,当然,对方也要愿意帮助你。在公司内,老板、老板的老板、同事都是潜在的导师。公司外的话,可以考虑加入小组、参加会议来扩大人脉。其实,虚拟导师也是可以的,比如读经典的书,本质上就是在和作者进行交流,作者的思想、经验等等都正在传授给自己。

反过来,能否成为其他人的导师?这需要我们拥有敏锐的观察力和足够的耐心,帮助他人。做导师能够逼自己深入思考问题,也能促进自身的成长,未来别人可能反过来帮助自己,最后,帮助他人自己会很有成就感,这或许是人生的意义和价值所在。

找到自己的知识短板,然后努力去填补它。很多时候我们很难意识到短板,因为对于自己不知道的,很难清楚的意识到,同时也更容易忽略。短板会阻碍我们进步。识别的方式之一就是你在工作的哪些地方浪费了大量的时间,或者在一直进行重复的劳动。找到这些短板之后,有针对的去学习,去实践,填补他。但是这个更适合离散的知识点,而不是系统的知识体系。

专注的工作是高效产出的不二法门。进入专注的状态需要点时间,一旦进入了,能够短时间完成大量的工作。番茄工作法是一个不错的方式,专心工作足够完成一项任务的时间。在专注的状态下,尽量避免被打扰,关闭手机通知,关闭社交媒体、邮箱、聊天工具等的通知,甚至关掉无关的网页,一般来说,如果能熬过前面的 5-10 分钟,就能进入专注的状态继续下去。

生产力

让自己专注起来,减少干扰。进入专注的状态需要点时间,一旦进入了,能够短时间完成大量的工作。番茄工作法是一个不错的方式,专心工作足够完成一项任务的时间。在专注的状态下,尽量避免被打扰,关闭手机通知,关闭社交媒体、邮箱、聊天工具等的通知,甚至关掉无关的网页,一般来说,如果能熬过前面的 5-10 分钟,就能进入专注的状态继续下去。

作者的方法是规划一个季度的目标,然后每个月制定一个月度目标,每周制定一个周目标,每周的计划使用看板的方式来管理,每个子任务不超过两个小时,根据实际情况灵活的调整时间。做每个任务的时候使用番茄钟来保持专注。不要赶工,当一个番茄钟完成了几个番茄钟的任务,不要再给自己添加更多的任务。如果发生了一些计划外的事情,没能完成当日的任务,如果预先知道,可以分配额外的番茄钟作为补充,否则也要试图弥补差额。休假,是必要的,可以简单安排一些小任务,长期的休假(比如一周)是必要的,休假期间不要处理工作相关的事情。

番茄工作法的核心是专注,时间不宜过短也不宜过长,通常是 25 分钟,专注工作 25 分钟,然后休息 5 分钟。每完成 4 个番茄钟后,休息时间可以延长到 15-30 分钟。同时,要追踪一天内完成了多少个番茄钟,每天要设置完成的数量,真正评估自己的工作量和工作效率。每周设置一个番茄钟的数量,根据任务优先级分配。慢慢的实践,能够正确的评估自己的工作量和工作效率,进而更好的设置每周的工作量和相应的番茄钟个数。当给自己设置了合理的目标之后,再完成之后,休闲娱乐也能更安心,而不是觉得自己没有努力而感到内疚。不要以为工作八个小时可以完成 16 个番茄钟,刚开始的时候能够完成 6 个番茄钟就不错了,慢慢的增加数量。作者差不多定在了每天 10 个番茄钟,每周 50-55 个番茄钟。一个人的精力是有限的,每人每天能够专注地、富有成效地工作的时间也是有上限的。

人们完成工作来自两个动机——内部(内心的动机)和外部(外部奖励或惩罚的动机),内部激励能做更多的事情,做得更好。本着对自己负责的态度激励自己。

多任务并行是一把双刃剑。大部分时候我们不能真的并行,因为我们的大脑无法同时处理多个任务。多任务并行会导致效率低下,因为我们总是在不同任务之间切换,每次切换都会消耗时间和精力。这和计算机系统的上下文切换类似。批处理真的能提升效率,像处理邮件、打电话、修复 bug 等事情适合批处理。批处理会让人更专注,同时被打断切换的次数更少。一项不费脑子的任务和一定程度上需要注意力的事情同时做,才有可能真正的并行。比如听音乐和写代码,或者听播客和跑步。注意力要求特别高明显不能够并行,比如跑步和解数学题。

提高生产力的最大障碍之一就是身体和心理上的倦怠。人们往往对刚出现的新鲜事物激动不已,不过新鲜感消退之后,现实就会浮现,最后,身心俱疲。倦怠感完全是自然而然产生的,这彷佛撞上了一堵墙。墙的那一边,风景更美,要如何穿过去呢?首先要意识到并且承认它的存在,同时要意识到另一侧有东西在等着我们,事情会变得美好。此时,要给自己定一个计划,为自己创建一套确保继续前进的规则,一点一点前进。这套计划、规则要因人而异、随时调整,确保自己有能力、精力完成。

书中提到最浪费时间的事情是看电视(包括 Youtube 和 Netflix 等),不过当下最大的时间浪费是刷手机(视频、短视频、社交媒体等)。戒除的最好方式是替换法,找一个自己感兴趣的事情去做,把这块时间用在更有价值的事情上。回复信息、上社交平台等可以考虑批处理,集中在某个时间段处理,而不是随时处理。浪费时间是没有在做想做的事情或者打算做的事情,比如现在有工作或者完成一些任务,但是在看电视,就是浪费时间,又比如现在没有工作或者没有任务也没有想做的事情,看会电视本身就是放松,就不是浪费时间。

惯例的力量是非常强大的,一旦培养出了惯例,就会自动的去做这件事情,无需太多的自制力,就像每天早上起来刷牙一样。定一个大的目标,分解成小的目标,每天抽出一些时间(比如一个小时),固定下来,去做这件事情,久而久之就会形成惯例。不过也要有一定灵活性,因为有的时候可能会有一些事情打乱了安排。

习惯由暗示、惯例和奖励这三个要素组成。暗示是触发习惯的信号,惯例是习惯的行为,奖励是习惯的结果。打破换习惯,首先要找到是什么触发的,表现是什么,最后奖励是什么。最好找到暗示和奖励一样或者差不多的事情,但是是好习惯(至少不是换习惯)慢慢的替换之前的行为。持续的练习,直到新的行为成为惯例。

分解任务是相当重要的事情,面对一个巨大的任务、挑战,人会本能的退缩,甚至不想去做。把一个大任务分解成小任务,而小任务更容易完成。当承担大项目的事情,首先明确需要哪些步骤,然后把每个步骤分解成小任务。当然,这个需要日积月累的经验。分解任务的好处是可以让人更容易开始,完成小任务会有成就感,激励自己继续前进。

努力工作是成功的必要条件,无法逃避。很多人在寻找捷径,不用努力工作就能获得成功。软件开发这一行也是这样的,想要成功,就必须学会坐下来,做好自己并不想做的工作,并坚持不懈。没有人真的享受工作,即使有,更多的也是享受开始或者即将完成的一瞬间,没人愿意做艰苦的工作。不过,艰苦的工作可能是让我们获益良多的工作。这里要分别,不是所有的艰苦的工作都是有价值的工作。聪明地工作胜过努力地工作,这可能是一个谬误。想真的富有成效,就要既聪明又努力。努力工作是枯燥的,不过要记住,赛跑比的是谁耐力更长久而不是看谁冲刺更有利。如何努力工作?没有捷径,没有容易的的答案,必须学会脚踏实地、埋头苦干。

任何行动往往都比没有行动好,特别是一直停滞在不愉快的情势下很长时间的时候。如果这是一个错误,你至少学到了一些东西,这样这就不是一个错误。如果选择停滞不前,你就学不到任何东西。不采取行动,无数机会就会被浪费,无数可能性就会被挥霍。都没有采取行动,怎么能指望发生点什么呢?采取行动最差的结果就是发现自己错了,转而采取其他行动。很多时候我们需要试错好多次才能找出正确的行动方向。越是耽误不行动,整个试错找出正确方向的时间也就越长。有的时候我们宁愿不选择,也不愿意尝试次优解,这种情况下立即选择一种方式就好,很多时候,随机掷骰子都比优柔寡断、无所作为要好。停下来的转方向盘比较困难,而开起来的车转向比较容易。

理财

软件开发是当前的高薪行业之一。知道财富如何运转以及利用好金钱,才是长久的保障。职业生涯的很多关键决策很大程度上以财务状况为基础的。

合理的支配薪水,这决定了合适能攒够退休的钱,甚至决定了能不能退休。拒绝短期思维,不能今朝有酒今朝醉。要从资产和负债的角度考虑问题,持有股票(不考虑买股票的成本)没有成本,但是能带来分红,这就是资产,信用卡欠款是负债(不过不超花销的情况下,能够延迟付款时间,其实是资产),房子大部分时候都是负债,车子一定是负债,这里作者同意《穷爸爸富爸爸》的观点。

推荐书单

作者推荐了一些他认为很好的书籍:

  • 卡耐基,《人性的弱点》。
  • Charles Duhigg,《习惯的力量》。