Book-note

商业心态与职业发展

如何将自己当作一家企业来经营,设定职业目标并持续改进。

如果你想真正成为一个更好的软件开发人员(或者其他真正优秀的人才),你需要把重点放在整个“人”上,而不只是你生活中的一两个领域。

商业心态

商业心态

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

  1. 拥有商业心态。心态对于管理职业规划至关重要。因为只有你开始把自己当作一家企业去思考时,你才能开始做出正确的商业决策。这是你职业生涯中必须要做的第一要务:转变你的心态,从被一纸“卖身契”束缚住的仆人转变为一名拥有自己生意的商人。在起步阶段就具备这种心态会改变你对职业生涯的思维方式,将此铭记在心,并积极主动地管理自己的职业生涯。
  2. 将思维模式切换为“经营企业”。通常软件开发人员售卖的就是他们把一个想法变成一个数字化的现实产品的能力。你所能提供的服务就是创建软件。像企业一样,你也需要持续不断地改进和完善自己的产品。作为一名软件开发人员,你提供的服务具备有形价值,你要传达的不仅是这款软件的价值是什么,还要让它与成千上万别的软件开发人员提供的服务有何不同。
    • 专注于你正在提供怎样的服务,以及如何营销这项服务
    • 想方设法提升你的服务
    • 思考你可以专注为哪一特定类型的客户或行业提供特定的服务
    • 集中精力成为一位专家,专门为某一特定类型的客户提供专业的整体服务(记住,作为一个软件开发人员,你只有真正专注于一类客户,才能找到顶尖的岗位)。

目标

目标

我们通常不会充分思考自己该关注什么,因而我们的行动也就漫无目标、无的放矢。

  1. 记住,不做决策其实也是一种决策,代表着你决定什么都不做——通常这是最糟糕的决策。在生活中,即使选择的是次优的选项或者次优的路径,那也几乎总是比随波逐流的路径要好。
  2. 起步阶段最简单的就是在心中树立一个大目标,然后再设定能帮你达成这个大目标的小目标。因为很难清晰地界定远期可能发生的事情,所以大目标通常不是非常明确。不过没关系,当你制订远期的大目标时,不一定要非常具体。大目标只要足够具体到给你提供清晰的方向即可。
  3. 大目标并不需要那么具体,但是必须足够清晰,能够让你知道自己是在向它前进还是离它越来越远。
  4. 一切都取决于你确定的大目标是什么。你希望从职业生涯中收获什么?你希望自己5年或10年后在哪里?

我的目标

我想成为一名AI领域的高级开发工程师,技术栈丰富,解决问题的能力强大。想在顶级企业微软,字节,腾讯或者苹果工作。同时我希望自己是一个丰富的人,身体健康,作息规律,从不拖延。在别人眼中我也是一个靠谱的人。

  1. 一旦你想通了自己的长远目标是什么,那么下一步就是设定路线,制订通往大目标的小目标。有时还可以运用一下逆向思维,反推一下如何从大目标到当前的情况:如果你已经达到了大目标,那么沿途你都经历了哪些里程碑?你能想象出哪条路径可以让你从大目标反推到你现在的情况?
  2. 如果你可以沿着小目标驱动自己前行,逐渐靠近你的大目标,那么最终你一定会到达目的地。设定大小不同的目标,确保你向着自己的大目标前进,这一点非常重要。
  3. 应该定期追踪并更新自己设定的目标,必要时还要调整。反思自己在短期和长期取得的成果是大有裨益的,你能够清楚知晓自己是否取得了合适的进展,或者是否需要进行某些调整。

人际关系

人际关系

作为一个软件开发人员,你的工作就是与人打交道(其实几乎所有的职业都是这样)

  1. 我们常常容易犯的一项错误就是,轻率地否决同事的想法,以便于可以提出自己的想法。然而,一旦你做出这样的错误判断,你往往会发现他们对你的想法充耳不闻,仅仅因为你让他们感觉到自己无足轻重。如果你希望人们接受你的想法,并认可其中的价值,首先你最好先主动给他人以相同的礼遇。如果你不能保全他人的自尊,那你永远也不可能赢得他的心。

以自己为核心,每个人都希望自己很重要。所以“批评”是一项很少能够达成你期望结果的工具。

  1. 在人际交往方面获得成功的关键在于:停止用“我”和“我想要什么”来思考。你应当开始思考对他人而言什么才最重要,什么才是他们需要的。通过这种换位思考,你会避免让他人觉得自己不受重视,你也能少批评人。
  2. 直截了当地告诉老板为什么你喜欢想用某种方式实现某个功能,这并不明智。更好的办法是从对方的心态出发提出建议,阐明为什么采用你建议的方法实现该功能对老板非常有用。理由可能是“让软件更稳定”,或者“能让软件按时交付”。
  3. 作为软件开发人员,我们有时候倾向于认为所有人都是从逻辑角度来思考问题的,这很容易让你落入陷阱,错误地认为:严谨的推理足以使他人接受你的思维方式。我们必须不惜一切代价避免争论。
  4. 如果你因为“该怎么做某事”与他人产生分歧,那么在很多情况下,你最好先确定分歧点是否值得你去拼命维护,特别是在你知道它已让他人卷入时。在小事情上,任何放弃立场或承认错误的机会对你而言可能没什么大不了的,但对他人却可能是举足轻重的,这么做不仅能为你赢得不可估量的尊重,也能为你的未来积蓄财富,形势逆转时即可兑现使用。

模式

所谓“你的模式”就是你如何看待世界,你相信什么是事实;所谓“他们的模式”就是他们对现实的感知。

  1. 在与人打交道时,要认识到模式是存在的,如果你能够时时刻刻把主导模式抓在自己手中,那你就可以说服人们相信你对现实的感知。保持对主导模式的掌控有很多方法,其中之一就是不承认任何与你的模式相冲突的东西,将其视为无关紧要的东西,或使其显得荒诞不经。
  2. “模式控制”并不意味着争论。事实上,最有效的“模式控制”方法就是假定没有争论的必要。想想看:人们为什么要对一个显而易见的事实产生争论呢?

简历

简历很重要!

  • 把简历放到网上。确保雇主能够很容易访问你的简历。如果你申请Web开发的职位,这一点尤其重要。
  • 简历的展示方式要有创意,样式不落俗套,别人一眼扫过去就会被深深吸引。
  • 使用“行动-结果”的描述。你的简历应该展现你都做了哪些工作及相应的结果。这样你的潜在雇主既能了解你会干什么,还能了解你能取得的成果,以及雇用你会给他们带来的收益。
  • 校对。即使是聘请专业的简历写手,你也要通篇校对。简历里有错别字或拼写错误会让人觉得你是个粗心大意的人。

面试金句

我是那种能够自觉主动找到自己需要做什么,也能自觉主动弄清楚该怎么做的人。

专业化

专业化

 专业化的规则是:专业化程度越深,潜在的机会就越少,但获得这些机会的可能性越大。

  1. 首先你得弄清楚一件事,自己想从事哪类软件开发工作。你是想做应用程序的前端开发,设计和实现用户界面,想做应用程序的中间件开发,实现业务规则和逻辑,还是想做应用程序的后端数据库或底层操作开发?你甚至可以做到三者通吃,成为传说中的“全栈开发人员”;但是在这种情况下,你还是应该专注于某一特定的技术栈。(例如,一位Web网站全栈开发者可能使用C#和SQL Server专门创建ASP.NET MVC网站。)

如何选择专业

  • 在你现在或以前工作的公司里,有哪些主要的痛点?你能成为一名专门解决这些痛点的专家吗?
  • 有没有一种特定的工作是无人能做,或者缺乏经验丰富的人?成为这个领域的专家,你就会获得大量业务。
  • 在各种会议上和用户组中哪些话题最常出现?
  • 无论是针对同事,还是在Stack Overflow这样的网站上,哪类问题你回复的最多?
  1. 首先确保你选定了某些专业方向。市场规模决定了你的方向有多么具体,所以一定要让它尽可能地具体。你会在这个细分市场上更抢手。别担心,如果你需要,随时可以改变你的专业方向。
  2. 即使我推荐走“专业化”道路,也不代表我认为你不应该同时具备广泛的技能。
  3. 学富五车,或者灵活变通并同时仍有所专长让自己卓尔不群。如果你非要二选一,那先从专业化开始,再拓展分支。

行动

  • 列出你能想到的所有软件开发的专业领域。从广义的范畴将它们逐一细化,看看你能细化到多具体。
  • 你当前的专业领域是什么?如果没有的话,想想你会选择专攻哪个领域。
  • 去主流的招聘网站上看看自己的专业领域市场行情如何。确定一下,专业化道路是会让自己受益,还是过度限制了自己的选择。

选择工作的公司规模

公司类型优点缺点
小公司/创业公司• 角色灵活,拥有多个头衔
• 拥有很高的影响力
• 高回报潜力
• 可能无法安安静静坐下来全身心编写代码
• 工作在众目睽睽之下,工作绩效一目了然
• 稳定性差
中等规模公司• 稳定性高
• 很少疯狂加班
• 变更的节奏很慢
• 可能无法接触到最前沿的技术
大公司• 完备的流程和规范
• 培训机会多
• 大型有影响力的项目
• 充斥着官僚主义作风
• 可能只负责代码库的一小部分
• 很难获得关注

如何晋升

责任

如何晋升 - 责任

  1. 在任何公司里能让你脱颖而出的最重要法宝就是承担更多的责任。没有人愿意涉足的领域是搜寻机会最好的地方。可能有一个没人愿意碰的遗留应用,或者代码库里的某个特别令人讨厌的模块。正因为没有人愿意碰,所以你也无须去抢,这些就成为你日益强大的帝国的领地。如果你能把沼泽变为良田,你也就展现了自己的价值。另一种间接承担责任的方式是成为团队中其他人的导师,自愿帮助新人加速成长,为任何有需要的人提供帮助。

如何让自己承担更多责任

  • 有一个不受重视的项目,你能去负责它吗?
  • 你能帮助团队里的新人快速成长吗?
  • 你能负责文档制作流程,并保证及时更新这些文档吗?
  • 哪项工作是没有人愿意去做,你愿意承担起来,并将其简化或者自动化的?

引人注目

如何晋升 - 引人注目

  • 每天都记录自己的活动日志——把这个日志以周报的形式发送你的经理。
  • 提供演讲或培训——选择一个对你的团队有用的话题。
  • 发表意见——只要在会议上就这么做,或者只要你能得到的机会就这么做。
  • 保证“曝光度”——定期与老板会面,确保你经常被注意到。
  • 在任何组织中,总是有很多人会告诉你为什么这个想法行不通,为什么那个问题太难。这样的人不胜枚举。千万不要成为他们中的一员。相反,你要成为那个永远能为各种问题找到解决方案的人,要成为勇于执行这些解决方案以获得成果的人。
  • 另一个可以获得提升的非常好的办法就是不断增加自己的技能和知识。在你不断提高自己的教育水平时,很难停滞不前。自学能让升职加薪变得容易,因为你可以很清楚地表明:现在的自己比之前更有价值。

不断学习

目前你正在自己学习些什么?确定要自学的最有价值的东西是什么,制订一份下一年的自学计划。

专业

专业

成为专业人士是一种心态。如果我们总是与恐惧、自毁、拖延和自我怀疑做斗争,那么问题就是:我们正在像外行那样思考问题。外行毫不起眼,外行废话连篇,外行屈从于逆境。专业人士可不这么想。不管怎样,他引人注目,他恪尽职守,他始终如一。

特点类别专业人士外行
工作态度• 遵守自己的原则
• 专注于正确完成工作
• 让干什么就干什么
• 专注于完成工作
错误处理• 不惧怕承认自己错了,不会文过饰非• 不懂装懂
行为表现• 持续稳定• 无法预测,不可靠
责任承担• 勇于承担责任• 回避责任
  1. 培养自己的专业习惯。每天提前做好计划,就能养成有效管理时间的习惯。专业人士知道每天必须做什么工作,并且能估算出每项工作大约要花多长时间。
  2. 作为一位专业人士,你必须不断改善和提高自己的工作品质。你或许不能一直达到自己期望的工作品质,但随着时间的推移,持之以恒地坚持下去,你终究会达到自己设定的标准。许多软件开发人员犯的一个巨大错误就是,当无法达到标准时,他们不是完善自己、迎接挑战,而是降低标准。
  3. 将品质管理应用到你工作的每个细节,而不仅仅是那些看似重要的部分,这一点非常重要。真正的专业人士对自己的工作的所有方面都设定高品质标准。如果你在某个领域降低了自己的标准,那么你最终会不经意间在其他领域也降低标准。一旦你越过了底线,选择妥协,就很难再回头。
  4. 别忘了,发挥你的长处。你当然可以改善你的弱点,但最好了解自身的强项是什么并且充分发挥自己的优势。专业人士对自己的能力和弱点有着良好、精准而又客观的自我评估。
  5. 专业人士是通过持续不断的自我完善达到自己所追求的高品质的。如果你也想成为专业人士,就要致力于持续不断地完善自己的技能,学习更多与专业相关的匠艺,确保自己制订并执行了学习计划,拓展自己的技能、学习新东西,这将有助于你做得更好。不要沾沾自喜,永远对努力成为更好的自己心存渴望。

你做的每一件事情就是你所做的一切。

This post is licensed under https://creativecommons.org/licenses/by/4.0/ by the author.

Trending Tags