软技能:代码之外的生存指南(第2版)

作者约翰·Z.森梅兹分类计算机-计算机综合
推荐值83.1 %来源微信读书
笔记数量72评论数量

第一篇 职业

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

第2章 经营自己的职业生涯就像经营一家企业

  • ● 专注于你正在提供怎样的服务,以及如何营销这项服务;● 想方设法提升你的服务;● 思考你可以专注为哪一特定类型的客户或行业提供特定的服务;● 集中精力成为一位专家,专门为某一特定类型的客户提供专业的整体服务(记住,作为一个软件开发人员,你只有真正专注于一类客户,才能找到顶尖的岗位)。

第3章 如何给自己设定好职业目标

  • 那么接下来你该怎么做呢?起步阶段最简单的就是在心中树立一个大目标,然后再设定能帮你达成这个大目标的小目标。因为很难清晰地界定远期可能发生的事情,所以大目标通常不是非常明确。不过没关系,当你制订远期的大目标时,不一定要非常具体。大目标只要足够具体到给你提供清晰的方向即可。让我们回到前面关于航海的类比。如果我想航海去中国,我没必要立刻知道要驶向的港口的精确的经纬度。我可以跳上船,向着中国的航向前进。随着离目标越来越近,我就能获得更具体的数据。启航后我需要知道的就只是自己离中国越来越近,还是越来越远。

第4章 拓展自己的人际交往能力

  • 如果你想成为一名出色的软件开发人员,就得学会高效地与他人相处(即使写代码是你工作当中最为享受的一部分)。
  • 如果你还是觉得自己的工作就是写写代码,那你最好要三思。作为一个软件开发人员,你的工作就是与人打交道(其实几乎所有的职业都是这样)。
  • 奖励积极行为要比惩罚消极行为有效得多。如果你身处领导岗位,这是一条需要恪守的重要原则。如果你想激励他人拿出最好的表现,或者希望达到改变的目的,你必须学会管住自己的舌头,只说些鼓励的话。

第5章 创建一份屡试屡验的简历

  • 现在,对照一下普通软件开发人员的简历——一种字体,两倍行距,多达五页,语法错误、拼写错误和没有章法的句子随处可见,充斥着“勇于担当”和“结果导向”这些空洞的词汇。其实,简历和旅游小册子一样,都是广告,最终目的无非就是让人们心甘情愿掏钱——一个是让你花上100美元参加度假活动,另一个是让招聘经理掏6万~8万美元或者更高的价钱“租”一个软件开发人员一年。
  • (如果你想找一个好的写手,我个人推荐Resume Writers。)
  • 你可以(也应该)把简历中的信息发布到网上。你应该有LinkedIn个人主页,这一主页包含来自简历上的信息,你还应该做一份在线简历,以便能给别人发送简历链接。申请Web开发人员的职位却没有在线简历,就像专业木匠没有自己的专属工具一样。
  • 使用“行动-结果”的描述。你的简历应该展现你都做了哪些工作及相应的结果。这样你的潜在雇主既能了解你会干什么,还能了解你能取得的成果,以及雇用你会给他们带来的收益。

第6章 破解面试之道

  • 注意 我就见过傲慢无礼、不甚友好的技术高手败给了技术稍差但是性格讨喜的人。
  • 简而言之,通过面试的最快捷的方式是让面试官对你怀有好感。达成该目标有很多方法,其中大多数可以在面试之前完成。
  • 你必须突破常规,想尽办法与公司内部人员建立联系。
  • 随着社交媒体和互联网的广泛应用,你能非常容易地找到任何公司的各种信息,也容易与他们的员工建立联系。你只需要提前做一些信息搜集的跑腿工作。

第7章 软件开发人员的三条职业路径

  • 那么,“创业者”到底意味着什么呢?你的猜想可能和我的一样。它的定义相当模糊,蕴含着很多不同的含义。不过,我认为最核心的就是:软件开发创业者使用自己的软件技能开发自己的产品、拓展自己的业务。雇员和独立咨询师都在以时间换金钱,而创业者尽管换不来预付好的报酬,但是他却有机会在未来获得更大的收益。

第8章 为什么你需要走专业化道路

  • 尽管看起来你有一大拨潜在客户,但现实上,身为一个“通才式”的律师,你的客户群会大幅缩减,只剩下那些没有精明地能意识到自己需要“专才”的那些人。
  • 从表面上看,身为“专才”后,潜在雇主和客户群都变小了,但是实际上你对他们更具吸引力了。只要你专业能力雄厚,市场没有过度饱和,与那些自称为“软件开发人员”的人相比,你能更轻松地找到工作或者赢得客户。
  • 注意 专业化的规则是:专业化程度越深,潜在的机会就越少,但获得这些机会的可能性越大
  • 这二者看起来似乎是矛盾的,其实并非如此。做一个技术全面、多才多艺的软件开发人员非常棒。能够使用多项技术和多种编程语言,有助于你的职业发展,能让你比那些仅了解一项技术或一种编程语言的软件开发人员更有价值。然而,这种“万金油”式的人才在市场上并不吃香。
  • 团队里有一个全能的开发人员是件好事,但是很少有公司或客户会去寻找这样的人才。即便你各种技术能力惊人,通晓50种编程语言,你最好还是选定某个专业领域,哪怕时不时换一下。学富五车,或者灵活变通并同时仍有所专长让自己卓尔不群。如果你非要二选一,那先从专业化开始,再拓展分支。

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

  • 在这样一家公司工作的软件开发人员,你极有可能要身兼多职,不能只写代码。因为员工数量不多,角色不固定,所以你需要更加灵活多变。如果你只是想坐在桌边写代码,你可能就不喜欢设置服务器或者协助测试。但是,如果你精力充沛、活力四射,喜欢迎接新挑战,那你就会对这种环境着迷
  • 果你乐于看到自己的工作成效,那么小公司无疑是最佳场所。因为小公司员工很少,每个人的作用都能被注意到,甚至直接影响到公司收入。这意味着不仅你的功劳会被放大,要是搞砸了也同样如此。
  • 在大公司里,通过晋升到达总监级别是非常难的,但在小公司你的上升概率要高很多,新进员工都会在你手下。
  • 在一家中等规模的公司里,角色定义通常很明确,你也会更稳定。我要说的是,中等规模的公司往往要比大公司还稳定,因为大公司往往还有大裁员或者周期性重组。如果你喜欢稳定,那你会发现中等规模的公司最适合你。
  • 在中等规模的公司里工作,你可能会发现工作节奏有点儿慢,但是想不为人知也很难。你的贡献可能不会导致公司业务下滑或波动,但是仍然能被注意到。在中等规模的公司里,缓慢而稳健的做事风格通常能占得先机
  • 为中等规模的公司工作的好处● 稳定性高。● 很少疯狂加班。为中等规模的公司工作的弊端● 变更的节奏很慢。● 可能无法接触到最前沿的技术。
  • 要遵守这里已有的做事方式。鲁莽和“变节者”在这种企业文化里不受欢迎。如果喜欢流程和结构化,那么你可能会很享受为大公司中工作的乐趣。
  • 关于大公司我想说的最后一点是办公室政治。大公司通常有着复杂的政治体制,堪比大型政府机构。作为软件开发人员的你可以尽量避开政治,但即便如此,其他人的政治权谋也会以某种方式影响到你。
  • 那些并非专注于软件开发业务的公司雇用软件开发人员只是为了开发自己系统的某些方面,对待软件开发人员的方式也与那些主要专注于软件开发业务的公司截然不同。如果公司的业务重心并非软件,那自然也不会给软件开发人员足够的尊重和发展空间。这些公司的软件开发实践极有可能非常松散
  • 你可能也发现了,与雇用软件开发人员但核心业务并非软件的公司相比,软件开发公司会使用更为前沿的技术和工具。如果你想研究新技术,你应该直接去找一家软件开发公司。
  • 这里列出的只是软件开发人员工作的不同公司类型的一些通用准则,但每家公司又截然不同。哪种工作环境适合自己?哪种企业文化适合你?决定权在你自己。在接受工作之前与为这家公司工作的开发人员聊一聊是个好主意,你能够更真切地体会在这家公司工作的感受。

第10章 攀登晋升阶梯

  • 在任何公司里能让你脱颖而出的最重要法宝就是承担更多的责任。提示 这看起来显而易见,但在你的职业生涯中,你经常会面对更多金钱还是更多责任的选择。至少从长远来看,正确的选择几乎永远是更多责任
  • 但是,假如你没有被赋予更多责任呢?怎样靠自己去赢得这样的机会呢?有时候你不得不去主动寻找机会,去负责一项任务,或者牵头一个项目。只要深入挖掘,你总能找到一些被忽视的业务领域去发挥自己的聪明才智。
  • 没有人愿意涉足的领域是搜寻机会最好的地方。可能有一个没人愿意碰的遗留应用,或者代码库里的某个特别令人讨厌的模块。正因为没有人愿意碰,所以你也无须去抢,这些就成为你日益强大的帝国的领地。如果你能把沼泽变为良田,你也就展现了自己的价值。
  • 另一种间接承担责任的方式是成为团队中其他人的导师,自愿帮助新人加速成长,为任何有需要的人提供帮助。通过介入和解决别人的问题,你不仅可以学到更多自己专业之外的知识,而且随着时间的推移,你还能在团队中逐步树立“及时雨”的名声。最终,这样的声誉可能会令你成为团队领导或者其他管理职位,只要你愿意走这条路。
  • 每当我开始新工作时,我所做的第一件事就是记日志,记录我每天都把时间花在哪儿了,完成了哪些工作。我会将这些信息汇总成周总结,在每个周五发送给我的经理。我把这个叫作“周报”,而且在每个新岗位上发出第一份周报的时候,我都会附上一些信息让我的经理知道:我能理解,知晓自己的直接下属在做什么对管理者来说至关重要,所以我会通过发送周工作总结的方式让他们的工作更轻松。
  • 我当然推荐主动发送周报,不过还有其他许多方式能让你在所在的机构中更加引人注目。其中最好的一种方法就是做一个关于团队当前正面临的主题或者问题的演讲。选一个自己能介绍的主题,然后向团队展示这一主题。你甚至可以做成“午餐+学习”的形式,在午餐时间进行分享,而不占用上班时间。通过这种方法,你获得了关注,也展示了自己在特定领域的博学。此外,要迫使自己学习新东西,没有比让自己在其他人面前做展示更好的方式了。我就是在这种压力下学习了很多东西。
  • 如何令自己引人注目● 每天都记录自己的活动日志——把这个日志以周报的形式发送你的经理。● 提供演讲或培训——选择一个对你的团队有用的话题。● 发表意见——只要在会议上就这么做,或者只要你能得到的机会就这么做。● 保证“曝光度”——定期与老板会面,确保你经常被注意到。自学
  • 另外,不要只学软件开发。如果你把目标设定为更高级别的岗位甚至是行政岗位,你还需要学习领导力、管理和商科的相关知识。
  • 大多数公司都会提供一些晋升机会,不过,也可能你遵循了本章给出的所有建议,却不知道什么原因,你就是看不到前面有任何机会。这时你该怎么办呢?离职。首先确保还有另一份工作在等着你。但是,有时候只要意识到自己的工作毫无前途,就需要寻找更好的机会。也许你的工作环境很艰苦,残害身心,也许裙带关系盛行,你只能原地踏步。无论什么原因,你可能都需要换工作了。
  • 当然,你也可以靠着八面玲珑、野心勃勃而获得晋升。但是用这种方式获得晋升时,你更容易跌倒。有些人会不同意我的观点,但我一直认为,脚踏实地成为一个真正有价值的员工要比弄虚作假好得多。
  • 你应该对所在组织的政治气候保持警觉。尽管不能完全避开政治,但至少应该知道会发生什么,哪种人需要避开,哪种人永远不要有交集。
  • ● 目前你正在自己学习些什么?确定要自学的最有价值的东西是什么,制订一份下一年的自学计划。

第11章 成为专业人士

  • 成为专业人士是一种心态。如果我们总是与恐惧、自毁、拖延和自我怀疑做斗争,那么问题就是:我们正在像外行那样思考问题。外行毫不起眼,外行废话连篇,外行屈从于逆境。专业人士可不这么想。不管怎样,他引人注目,他恪尽职守,他始终如一。
  • 专业人士的特点● 遵守自己的原则。● 专注于正确完成工作。● 不惧怕承认自己错了,不会文过饰非。● 持续稳定。● 勇于承担责任。
  • 但是,如果想成为一名专业人士,你需要培养自己的专业习惯。有一次我在一个遵循Scrum过程的团队工作时,每天我们都有“每日站立会议”,说明自己已经做了什么、计划做什么、有哪些障碍。有位开发人员很特别,他总是提前写好要说的内容。每天在Scrum会议之前,他都会准备好自己的发言,而不是像我们大多数人那样开会时随口说。这是专业开发人员要养成的习惯。
  • 一位专业人士需要知道在什么时候说“不”,即使是面对自己的老板。
  • 如果你身处这样的情况,请尽快脱身。存一些钱,这样你就不必担心失去工作。你甚至可以考虑找一份新工作,一份不会要求你做很多道德上的抉择的工作,或者一份你的意见更有价值的工作。当这噩运降临在你身上时,去做你不得不做的事情吧,但你应当尽可能地让自己占据上风,或者至少是旗鼓相当。
  • 将品质管理应用到你工作的每个细节,而不仅仅是那些看似重要的部分,这一点非常重要。真正的专业人士对自己的工作的所有方面都设定高品质标准,因为他们知道,正如T. Harv Eker所说:“你做的每一件事情就是你所做的一切。”(《百万富翁的秘密》,Secrets of the Millionaire Mind)如果你在某个领域降低了自己的标准,那么你最终会不经意间在其他领域也降低标准。一旦你越过了底线,选择妥协,就很难再回头。

第12章 与老板和同事的相处之道

  • 作为一名软件开发人员,工作中最重要的部分之一并不是写代码,而是与他人的相处
  • 软件开发人员在工作中面临的最大问题之一就是不了解公司的商业逻辑和管理链条。实际上,这个问题并不仅仅局限于软件开发人员,在其他行业中也是常见的共性问题,只是在软件开发人员中尤甚,因为“共识驱动”的工作环境在这一行业里太普遍了
  • 最终,得有一个人站出来发号施令,统一思想。可能就此称呼此人为“管理者”或者“管理层”还有点儿不够格。但是,如果这个人掌握了雇你还是炒你的“生杀”大权,还能对你吆五喝六,那这个人就是你的老板了。
  • 最终往往是公司,或者一个能代表公司意志的人,来决定你该怎么做。这种局面可不是能让人轻松接受的。可是一旦你接受了,你的工作会变得容易很多,因为你不必再将整个公司的压力和负担扛在肩头,整日执着于如何
  • 知道这没什么大不了的,但确实是头等重要的大事
  • 不,自愿的服从并不是懦弱。恰恰相反,这是你能做的最勇敢的事情之一。当你意识到自己只是个人微言轻的小卒的时候,抑制住自己反抗的本能,转而服从上级确实是需要勇气的
  • 首先你要明白,与老板打交道的时候,你的主要工作是让你的领导有面子。
  • 你必须把你的工作情景想象成一部喜剧。我知道这听起来很奇怪,但你要意识到,生活中有些东西是你能掌控的,有些是你无法掌控的,你能掌控的东西太少了,而你的态度和看法是为数不多你一直可以掌控的东西。
  • 我的观点是,你不必对每件事都上纲上线,尤其是对你无法掌控的事情。你掌控不了他人的看法。你要是真的很讨厌老板,很不喜欢现在的工作,你可以直接跳槽去找下一份工作。但是,如果你决定在现在这个岗位上继续干下去,你最好还是学乖点。所以,不要在意这些细节了,这些都是小问题。
  • 成为那种会说话的人,即便不同意别人的看法,也能用他人可以接受的方式说出自己的看法;要成为那种乐于助人的人,对同事、老板和任何其他人都愿意施以援手;要成为那种做事情不仅要让自己有面子,还要让别人有面子的人。

第13章 不要陷入对技术的狂热之中

  • 对技术虔诚的一大问题是,我们中的大多数崇拜某项特定的技术,只是因为自己熟悉这种技术。我们很自然会相信自己选择的是最好的,然而这会让我们经常忽略任何反对意见。我们不可能充分了解现存的所有技术,从而给“哪项技术最好”做出最英明、最睿智的判断,于是我们倾向于选择我们了解的技术并先入为主地认为它是最好的。人生多艰,无暇他顾。

第14章 如何辞职并开始为自己工作

  • 想知道辞职为自己工作的最简单的方法?明天直接走进你老板的办公室,告诉他你要辞职。就这么简单。这就是你要做的一切。不过,我还是希望你在银行有一点积蓄,因为一旦你这么做了,你就要完全靠自己了。祝你好运。
  • 我说这个可不是要吓唬你——不过,如果你打算冒失行事的话,我还真希望能吓到你,但我希望我说这些能帮你想明白,如果想辞职为自己打工,需要一个切实可行的计划。你必须想方设法积攒够足够多的收入来支撑自己,直到你的新生活步入正轨。
  • 如果我真的想跳槽,唯一可能的方法就是,弄明白如何开展我的新业务(维持现有的工作岗位,把这个当作副业),并让它足够成功,这样即便薪水大幅减少,我依然能完成转型。
  • 以副业的方式开始你的创业之旅,小有成就后再全职投入
  • 通过在业余时间创业,同时保有全职工作,你就会知道每天工作很长时间是什么感觉,开始自己的冒险之旅[插图]又是什么感觉。你还可以避免患上溃疡或者早生华发的风险,因为你的生计并不依靠创业成功。即使创业失败,你仍然会依靠你的工作以获取收入。
  • 我立刻想知道在离职之前,我每天在自己的岗位上到底能做多少事情。我回顾自己以往的工作表现,尽量弄清楚自己是如何花费自己的时间的。
  • 于是Joe开始在保证自己常规工作的同时,每周投入约15小时去做自己的事情。每天他花2小时做兼职工作。每周他花5小时寻求新业务或者做宣传,剩下的10小时完成收费工作。Joe确保在他计划辞职之前的6个月就开始这样做,这样他才能保障自己有收入,以便辞职之后也不会有太大压力

第15章 如何成为自由职业者

  • 列出所有你认识的并且可能会对你的业务感兴趣的人员名单,给他们发私人邮件,让他们明确知晓你能为他们做什么,以及他们为什么要雇用你做这项工作。你的潜在客户越多,找到业务的可能性越大。找到业务基本上就是一个数字游戏。不要害怕经常发邮件让别人随时了解你的服务。随着时间的推移,这种勤奋总归会有回报的。
  • 因为你能够在博客发表文章吸引人们来阅读,所以博客也是吸引式营销的绝佳途径。通过在博客文章的结尾或网站的导航栏提供咨询服务,一旦有潜在客户阅读你的博客内容,你就可以试着直接将他们转化为客户。或者你也可以通过为他们提供别的有价值的东西来换取他们的邮件列表。
  • 通用的规则是,成为自由职业者之后,你的时薪水平应该是做全职雇员时的两倍。但遗憾的是,很多人并没有这样收费。
  • 你在业界的名气越大,你的客户就越多,你能收取的服务费也就越高。

第16章 如何成为一名企业家

  • 我反复强调不要贸然辞职,踏上创业之路,但是我要再啰唆一次:从小处着手。太多崭露头角的创业者为自己的第一个产品设置了非常激进的目标,不顾一切地追求新的梦想。
See all book notesSee all book notes