文案摘自.[美]约翰Z. 森梅兹.软技能-代码之外的生存指南职业篇
对待职业的首要原则:程序员要主动管理自己的职业生涯,「工作是属于公司的,而职业生涯却是属于你自己的」。
当你为了谋生一头扎进写代码的世界时,其实你和中世纪小镇上开铁匠铺的铁匠没什么差别。
把自己当做是一个公司,而不是打工者。把雇主当做是你的软件开发企业的一个客户。你的工作就是出售你提供的服务。
集中精力成为一位专家,专门为某一特定类型的客户提供专业的整体服务。你只有真正专注于一类客户,才能找到非常好的工作。
要实现任何目标,都必须先知道目标是什么。我发现大多数人,包括软件开发人员在内,缺乏对自己人生目标的具体认知。为了安逸,我们倾向于遵循已经设计好的路线。要创造自己的路线非常艰难,所以我们不会去做。
起步阶段最简单的就是在心中树立一个大目标,然后再建立能帮你达成这个大目标的小目标。
定期追踪并更新自己设定的目标,必要时还要调整。
反思自己在短期和长期取得的成果。
在软件开发领域,我们大多数时候是与人而非与计算机打交道。如果你想成为一名出色的软件开发人员,就得学会高效地与他人相处。
当你和别人打交道的时候,你应该知道的最重要的一个概念就是:“以自己为核心,每个人都希望自己很重要”。
奖励积极行为要比惩罚消极行为有效得多。如果你想激励他人做出最好的表现,你必须学会管住自己的舌头,说些鼓励的话。
停止用“我”和“我想要什么”来思考。你应当开始思考对他人而言什么才最重要,什么才是他们需要的。
作为软件开发人员,我们有时候倾向于认为所有人都是从逻辑角度来思考问题的,这很容易让你落入陷阱,错误地认为严谨的推理足以使他人接受你的思维方式。
通过面试的最快捷的方式是让面试官对你怀有好感。
“破解”面试的要诀就是在面试开始之前就思考应对面试的策略。你必须要突破常规,想尽办法与公司内部人员建立联系,如内部人员推荐、预面试。
当下,你应该做的第一件事是确保自己仍旧保持技术能力。即便你现在对换新工作毫无兴趣,为了获得面试经验,你也要去面试。
与雇用技术高超但需要生拉硬拽才能干活的人相比,我宁愿雇用知道的东西少一点,但是明确知道要做什么,以及怎样去做的开发人员。从某种程度上,面试的时候你要集中精力证明自己就是无需督促也能自动自发做好事情的员工。
尽管事实上大多数软件开发人员在其职业生涯中只作为雇员为公司工作,但这并非你的唯一选择。
许多软件开发人员以担任独立咨询师的方式谋生。成为独立咨询师其实就意味着从“为一个老板服务”变成“为许多老板服务”。
创业之路可能是你职业生涯中最难、最不确定但却最具回报潜力的选择。创业者必须要学习销售、市场营销,以及商业和理财等诸多方面的技能,这些都是成功的关键。
对大多数软件开发人员而言,特别是在职业生涯的起步阶段,做一名雇员是明智的选择。选择什么完全取决于你自己,并且你也可以随时切换路径。
有大量的软件开发人员并没有具体的专业方向。事实上,大部分软件开发人员完全以自己使用的编程语言来定义自己的专业性。一门编程语言并不能让我了解你是哪类软件开发人员,也不能告诉我你真正能做什么。
专业化的规则是:专业化程度越深,潜在的机会就越少,但获得这些机会的可能性越大。
一些开发人员的专业化水平确实很深,已经成为某个具体平台或框架的专家。这些开发人员的潜在客户稀少,但由于他们的专业化水平,他们能够开出非常高的时薪,如SAP开发工程师。
团队里有一个全能的开发人员是件好事,但是很少有公司或客户会去寻找这样的人才。即便你各种技术能力惊人,通晓50种编程语言,你最好还是选定某个专业领域。
我认识的IT行业人士里有不少人似乎从来就没晋升过。年复一年,他们工作在同一岗位上,停留在同一职位上。
在任何公司里能让你脱颖而出的最重要法宝就是承担更多的责任。没有人愿意涉足的领域是搜寻机会最好的地方。另一种间接承担责任的方式是成为团队中其他人的导师,自愿帮助新人加速成长,为任何有需要的人提供帮助。
如果你一直默默无闻,你的成就不为人知的话,即使你是团队中最聪明、最努力、最出色的开发人员,那也一文不名。
另一个可以获得提升的非常好的办法就是不断增加自己的技能和知识。在你不断提高自己的教育水平时,很难停滞不前。自学能让升职加薪变得容易,因为你可以很清楚地表明:现在的自己比之前更有价值。
作为一名软件开发人员,专业将是你最大的财富。专业人士是我们都应该去努力的目标
如果想成为一名专业人士,你需要培养自己的专业习惯。
软件开发人员所要面对的最大的道德挑战就是:以他们了解的决策前行是正确的,也符合客户最大利益,但是这样决定可能会危及职业稳定。
专业人士是通过持续不断的自我完善达到自己所追求的高品质的。如果你也想成为专业人士,就要致力于持续不断地完善自己的技能,学习更多与专业相关的匠艺,确保自己制订并执行了学习计划,拓展自己的技能、学习新东西,这将有助于你做得更好。
作为软件开发人员,你的工作体验会因为你选择的公司类型的不同而迥然不同。为刚起步的小公司工作,还是为大公司工作,或是为规模介于二者之间的公司工作,这一决定至关重要。
大多数小公司都是创业公司,所以它们有着非常独特的“创业心态”。在这样一家公司工作的软件开发人员,你极有可能要身兼多职,不能只写代码。因为员工数量不多,角色不固定,所以你需要更加灵活多变。小公司通常没有大公司稳定,但是长远来看,潜在的回报更大。
在一家中等规模的公司里,角色定义通常很明确,你也会更稳定。在中等规模的公司里,缓慢而稳健的做事风格通常能占得先机。
在为一家大公司工作时,最大的事情也许就是那里大量的规范和流程。为大公司工作的优势是成长机会,技术创新是很常见的。
当说“假装自己能成功”的时候,并不是暗示你去撒谎或者假装拥有自己尚不掌握的知识和技能。相反,可以暗示自己“我已经成功完成任务”,说服自己的身体和内心去努力,使梦想成为现实。
所谓“假装自己能成功”,就是要有意识地让自己身处逆境,迫使自己学会拼搏。
正是这种在生活中“假装自己能成功”的心态,带领自己勇敢走向未知领域,坚信挑战与机会并存。
你的自信是富有感染力的。如果你抱有“我可以”的心态,当你真正信任自己,既不夸大其词也不妄自菲薄的时候,知道自己最终能实现心中所想,那么你会发现别人也会对此深信不疑。