发布于 

《软技能2:软件开发者职业生涯指南》

[美]约翰 Z.森梅兹(John Z.Sonmez),出版时间:2020-06-01

软技能2 软件开发者职业生涯指南

第一篇 入行成为软件开发者

  • 编写优质的、整洁的、不需要太多注释就能理解的通俗易懂的代码,因为代码本身是用于沟通的。
  • 精通各类算法的开发者用区区一个小时就可以解决盘亘在其他开发者手上好几天都束手无策的问题。
  • 几乎所有的事物都服从所谓的“二八原则”,即20%的东西产生80%的结果,学习一项技术技能的关键就是弄清楚那20%是什么。
  • 理解编程语言的语法、掌握如何使用某个框架是一回事,而深刻领会这方面的习惯用法是另一回事。
  • 了解一门编程语言并精通它很重要,但牢固掌握则不是一项有价值的技能。
  • 如果你拥有一个大学学位,这些学位课程虽然也可以帮你得到就业机会,但很多情况下你还是不得不吞下“毕业即失业”的苦果,除非你参加过实习工作。

第二篇 找到一份工作

  • 任何你认为自己喜欢的工作,最终都会变成你不喜欢的工作,有时甚至变成你厌恶的工作。这是必然结果。
  • 这里还要小心,不要把岗位描述中的每件事都投其所好地堆砌到你的简历里,因为你这么做很明显就是在刻意奉迎公司的需求。也就是说,你应该尽可能地与之相匹配,但是不要做得太过曲意逢迎。
  • 你的简历必须要有好几个版本,而且你在申请每一份工作的时候,都需要对这些版本做出进一步调整。如果你真的想脱颖而出找份好工作,这些都是你必须去做的事情。
  • 没人在乎你想要什么。我再说一遍:没人在乎你想要什么。人们只关心自己想要什么。
  • 你做过什么,如何做的,成果如何。
  • 简历上如果有录入错误、语法错误或者拼写错误,就是挑明了在说:“我是个白痴,我很粗心,不注重细节。”
  • 对软件开发者来说,没有什么比面试更让人害怕的了,尤其是在白板上写代码的面试。(哈哈哈哈哈哈
  • 如果你觉得自己在面试中陷入人身攻击了,那就随它去吧。拥有坚韧的决心表明你对自己能力的自信是如此之高——你可以承认你的弱点,你不害怕被人看上去很愚蠢或不称职。
  • 怎么才能真正有信心呢?当然是准备充分了。你为面试做的准备越充分,参加面试就会越有信心,前期的准备工作之所以要从难从严也是为此。
  • “我是善于自我激励的人。我清楚自己该做什么,而且我一定会去做。”
  • 练习在白板上解决编程问题。练习,练习,再练习。练习,我怎么强调都不为过。
  • 你要确保不要把自己置于孤注一掷的境地。因此,在找到另一份工作之前不要辞职——哪怕你现在的老板是个混蛋。
  • 确保你对求职市场有所了解,对正在与之谈判的公司有所了解,对我们在上面谈到的薪酬信息有所了解。“知识就是力量”。在任何谈判中,掌握信息较多的一方总归要比缺乏信息的一方处于更有利的位置。
  • 不管任何时候,只要是针对金钱问题展开严肃的谈判,你都应该对事实真相洞若观火。
  • 当你得到一份录用通知书的时候,最重要的是你一定要记住,录用通知书只是工作邀约,它并不意味着你绝对拥有这个工作岗位(尽管机会很大),也不意味着你在任何方面能得到任何保障。
  • 一旦讨论“小时薪酬”,你会发现,工资数额往往会掩盖真相。
  • 无论是人为设置的还是真实存在的时间节点。当你面临时间压力时,你会感到焦头烂额,所以你有很大可能做出错误的决定。
  • 从根本上讲,同时拥有多份工作邀约的真正价值并不是利用这一份来胁迫另一份,而是让你拥有选择的权利。
  • 当你拥有选择的权力的时候,你在谈判中就站在最有立的位置:你有转身离开的能力。
  • 怎样才能确认自己是否已经身处“温水”之中?怎样才能让自己意识到现在该是离职的时候了?最好的指标之一是缺乏成长的机会。
  • 身为软件开发者(并且作为一个普通人),如果你正在从事的工作没有给你带来新的挑战,而且你没有看到任何成长的机会,那么这可能就是一个很好的标志,预示着你是时候该离开了。
  • 另一个能够预示你该提出辞职的标志(也许也是最好的一个),就是当你发现当前的工作环境已经乌烟瘴气的时候。
  • 并非所有促使你离开当前工作的原因都是消极的或者是基于情绪上的原因。有时候,之所以选择离职仅仅就是因为有更好的机会出现了,而你需要把握住这个机会。
  • 如果你在提出辞职后停留的时间超过两周,你很快就会失去人们对你的好感,而且你也可能因为推迟离开而危及你的新机会。
  • 一旦你威胁要离职,你的老板就会开始寻找你的替代者。没有人喜欢被威逼的感觉。一旦你被认为是一个喜欢靠威胁来得到自己想要的东西的人,你就会被贴上办事没谱、不负责任的标签。
  • 因此,尽管想一想觉得很是诱人,但是绝不要事先通知老板你要离职。不要告诉你的老板你打算只在公司再待两个月或一年,或者不管是多长时间。
  • 当你离职的时候,不管你是否是自愿离职的,都一定要确保在这两周的时间里尽你所长,做到最好,培养你的接班人。
  • 不仅是因为一切的一切都太晚了,还因为一切的一切都已不再重要,因为你行将离开。
  • 你不会真的以为,因为你在离职的时刻提出了改善组织的真知灼见,他们会给你颁发一枚奖章、外加上一张1万美元的支票吧?不会。什么都不会发生。
  • 时下,软件开发者越来越倾向于“货物崇拜编程[插图]”模式,即程序员开发软件的模式并不是基于他们的工作本身,而是因为其他开发者也在这么做,而这些开发者的做法往往被认为是“最佳实践”。
  • 招聘人员并不是为你工作的,他们是为那些有空缺职位的公司工作的,这些公司雇用招聘人员填补自己的空缺岗位。
  • 我并不是说所有的招聘人员都是居心叵测、肆无忌惮,但是你一定要自己小心,充分意识到招聘行业充满刀光剑影。

第三篇 关于软件开发你需要知道些什么

“有些事情,是已知的已知,这些都是我们已经知道的自己所知之事。有些事情,是已知的未知,也就是说,这些都是我们已经知道的自己未知之事。但是还有些事情,是未知的未知,也就是说,我们并不知道的自己不知道之事。” ——唐纳德·亨利·拉姆斯菲尔德

  • 走马观花:编程语言概述
  • 知难而进:什么是Web开发
  • 蓬勃发展:移动开发
  • 幕后英雄:后端开发
  • 游戏人生:游戏开发者的职业生涯
  • 事无巨细:数据库管理员与DevOps
  • 高屋建瓴:软件开发方法论
  • 层层设防:测试和质量保证基础
  • 源头把关:测试驱动开发与单元测试
  • 清清爽爽:源代码控制
  • 步步为营:持续集成
  • 火眼金睛:调试
  • 日臻完善:代码维护
  • 实至名归:工作岗位与头街
  • 多姿多彩:软件开发者的工作类型

第四篇 软件开发者的日常工作

  • 在做技术领域工作的时候,你不得不仔细关注其中的社会动力学因素。
  • 世界并不总是公平的,也不是一个热情友好的地方。科技界概莫能外,事实上,在某些方面有时还会更加冷漠苛刻。
  • 当你听到办公室里的谈话内容充斥着宫斗戏码上演前的嗡嗡声时,就是你戴上耳机开始打字的大好时机了。
  • 你的目标应该是找到解决问题的最佳方法,而不是极力去证明你是对的,也不是要证明你比同事更聪明,更不是为了证明他们的想法愚不可及。
  • 愤怒或怨恨会毒害你在工作和家庭当中的人际关系。
  • 你管好自己就行,把自己的工作做完,尽可能提高自己的生产力。别管别人做什么、不做什么。
  • 生活中,有些战斗根本就不值得去打。
  • 不要在不知道测试方式和测试通过标准的情况下编写将要被测试的代码。
  • 在很多情况下,这个人只是在寻找一些承认与认可,一旦你给予他们认可,他们就会跟紧你。一点儿真诚与诚挚的赞许就能起到很大的作用,记住这一点。
  • 要想实现真正的工作/生活平衡,就根本不要想着去实现它,而是要模糊工作/生活之间的界限,让所有一切都变成“生活”。
  • 有时你并不需要平衡,你需要的是“季节”。有些“季节”我的生活主要就是工作。
  • 当你缺乏自我的时候,你带给别人的只有痛苦和怨恨。因此,在帮助别人之前,先给自己戴上氧气面罩。
  • 我们中的许多人把我们的大部分思考都花在过去或者未来上,我们没有意识到生活就在当下,生活正在流逝。
  • 如果你被称作是“不仅出色地了完成了自己的工作,而且还带动提高了整个团队绩效”的软件开发者,那么你在找一份好工作时永远不会遇到问题,而且你也一定可以获得晋升。
  • 想成为一名高效能的团队成员,你需要成为高效能的沟通者。
  • 说某些话之前,先想想别人听到时的感受。换位思考,如果一个团队成员对你说了你将要说的这些话,你会有怎样的感受。
  • 别害羞,在这件事上不用谦虚。当你走上绩效评估的法庭时,你要带好这一整套的证据,即使是最强硬的陪审团都不能忽视这些。
  • 战术和技术手段并不能用来代替艰苦的工作和努力的付出。
  • 每个人,包括你,都有一些根深蒂固的偏见,都会因循一套刻板的陈规成见。
  • 消除偏见的最好方法就是:不要让偏见影响到你对自己的看法。
  • 你不能改变别人,不能改变别人的想法,不能直接改变人们对你的感觉、人们对你所采取的行动,但你可以改变自己,你可以变得更加坚强、更加坚韧。
  • 并不是所有事情都可以无视之。有时候你必须站出来为自己辩护,你不能容忍别人的无知,因为从实用主义的角度来说它确实对你产生了严重的影响。
  • 为了获得加薪或晋升所能采取的最坏方法之一就是威胁你要离开。
  • 要从商业角度给出加薪的理由,谈论你为什么应该得到钱,而不是你为什么需要钱。
  • 如果你已经尝试过其他每一件事情仍然无法获得加薪或晋升,那可能就是换个地方的时候了。
  • 老实说,我能给出的最好的建议就是保持平常心。真的。不要表现得太过殷勤,也不用小心翼翼。
  • 做一个冷静的、正常的男人,平等地对待每个人。再说一次,不是“相同”,而是“平等”。
  • 要“平常心”是很困难的,但你能做的最好的事情就是不要把整件事当回事。

第五篇 推进你的职业发展

  • 高谈阔论 + 无所事事 = 江湖骗子;沉默寡言 + 埋头苦干 = 烈士;高谈阔论 + 兢兢业业 = 真正有才干的人
  • 如果你只有一个选择,那么选择具有“中等程度的声望 + 中等水平的技能”要比“中等程度的声望 + 高水平技能”更为实用、收益更大。
  • 你要为他人创造价值。如果你不是基于这条重要的原则做事,那么在这个世界上再完美无缺的品牌以及所有的自我推销工作都是徒劳无功的。
  • 大多数人终其一生也没有取得过任何伟大的成就,因为他们过早地放弃了。不要与他们为伍。
  • 我曾听有人说过“你的人脉就是你的净资产”,我发现这句话比大多数人能想象到的更为真实可信。
  • 制订一个积极进取的计划来保持你的技能与时俱进。
  • 为了做到专业化,必须有广泛的基础,专业化并不妨碍你成为一个通才,它只是可以给你更多的选择,让你的价值更高。
  • 你只要挑选一些东西然后阔步前行就好了。这比什么都不做要好得多,因为只要有需要,你可以随时调整策略,然后再改变方向。
  • 宁可错误地选择过于狭小、太过具体的专业方向,也不要选择太宽泛。
  • “独自前行是危险的!”你需要一些支持,这很关键。
  • 如果你没能在一家拥有先进技术路线的大公司工作,你甚至可能都没得选择。进入管理层可能是你能够得到晋升的唯一选择——要么转去做管理工作,要么自己选择退出。
  • 要一直思考“我要去哪里”
  • 无论你决定做什么,最重要的是:你需要做出决策,并且为此做出计划。
  • 即使你做出了选择,你也不必死守在一条通道上一成不变,你可以不断调整改变计划。
  • 如果你不能接受它或者改变它,你可能就不得不让自己离开它。
  • 我会打消你对工作保障和工作稳定性的最后一丝幻想:拥抱不确定性,而不是逃避。
  • “你的生活质量与你在充满不确定性的生活中感觉到通体舒畅的程度成正比。”
  • 当你不去试图控制你无法控制的事情的时候,当你愿意欣然接受任何发生在你身上的事情的时候,你的生活会更加快乐,你自己也会更加愉悦。
  • 证书和培训本身并没有价值,就像大学教育并不一定有价值一样。就像生活中的许多事情一样,最重要的是你投入了多少精力,这种努力决定了你从中可以得到的价值。
  • 这也意味着你要制订一个工作计划,哪怕身在地狱,哪怕洪水来临,你都要坚守这个计划。
  • 虽然我并不能把我手中的每一个项目都点石成金,但是我可以告诉你,它们都完成了。
  • 知识不付诸实践,就毫无价值。