您正在科罗拉多州博尔德市 园区的前台等待编码面试的开始。在大厅里,您对面坐着另外两位候选人: Google 一个有魅力的 airpods 开发者,他可以让房间里的任何人都着迷,但需要痛苦的 8 个小时才能让链表工作 一个用汇编编写游戏的编程神童,但他是个大混蛋,反正没人会玩他们的游戏 他们中的哪一个会为职位提供更激烈的竞争?让我们解决这个古老的问题: 对于程序员来说,硬技能还是软技能哪个更重要? 首先,我会烦人地解释什么是硬技能和软技能,然后我们将深入探讨我想写这篇文章的原因: 。这个类比将帮助您了解您应该将时间花在改进的地方,以最大限度地提高您找到工作的机会。 矩形类比 硬技能:基础 首先,什么是硬技能?这些是您完成工作 的有形的、可衡量的能力。作为开发人员,您需要: 所需 - 例如 、JavaScript 或 Golang。 使用特定语言编写代码 Python - 例如 Git、Docker 或 AWS。 使用技术和工具 ——因为没有人愿意成为那种不先通过谷歌搜索就无法反转字符串的开发人员。 了解 和数据结构 算法 ——因为编程是一个广阔且不断扩展的领域。 一大堆其他事情 硬技能对找工作的重要性 硬技能是您编程生涯的基础。它们是大多数编程职位的绝对要求,它们展示了您的技术能力。事实上,如果你只能拥有一种技能,那么硬技能会更重要。毕竟,如果不真正知道如何编码,就很难编写代码。 不断磨练你的硬技能 科技世界以极快的速度发展,如果你不不断提高你的硬技能,你就会被淘汰。请记住,罗马不是一天建成的,您的编程专业知识也不是一天建成的。随着时间的推移,投入时间和精力学习新的语言、工具和技术。 您不需要成为 的专家,但您需要知道如何交付能够解决您领域内实际问题的工作代码。如果你想成为 并在 SaaS 公司工作,那么你至少应该: 所有方面 后端开发人员 对 Python 和 Go 等几种编程语言有深入的了解 能够设置和使用 SQL 数据库 了解如何使用这些技术构建 REST API 了解如何将该 API 部署到 AWS 或 GCP 等云平台 软技能 另一方面,软技能是无形的人际交往能力,可以为您的职业生涯锦上添花。它们可能不像硬技能那样容易量化,但它们几乎同样重要。软技能包括: ——人们喜欢和有趣的人一起工作。 魅力 ——这样您就可以表达您的想法并让每个人都了解情况。 沟通和写作能力 ——因为你是在和人类一起工作,而人类不喜欢混蛋。 善良和同理心 ——如果你很好,但你没有交付,那么就没有人在乎了。 努力工作和坚持到底 软技能对长期成功的重要性 软技能是可以将您的职业推向新高度的秘诀。它们促进协作和团队合作,使您更容易与他人合作并完成工作。此外,拥有扎实的软技能可以提高您的整体工作满意度和职业发展。毕竟,没有人愿意与同时也是个混蛋的天才一起工作。 硬技能是在技术领域找到工作的必要条件,但假设两名候选人之间的硬技能差距相似,我实际上看到更有魅力和讨人喜欢的候选人比技术能力稍强的候选人获得这份工作。为什么?管理者也是人,人们喜欢和他们喜欢的人一起工作。 我如何提高我的软技能? 如果你有一个蹩脚的个性,不要太担心。你不需要成为出色的演说家或文字大师才能找到一份代码猴子的工作。第一条规则应该很容易遵循: 如果你这样做,你就成功了一半。 不要混蛋。 相关的后续规则是平衡 。如果您是一个善良、思想开放的开发人员并且知道您在说什么,那么您会做得很好。 自信和谦逊 矩形类比:结合硬技能和软技能 现在我们已经探索了硬技能和软技能,让我们深入研究矩形类比以了解它们如何协同工作。想象你的硬技能是矩形的长度,而你的软技能代表宽度。 这个矩形的面积对应于你找到工作的概率。区域越大,找到适合您技能的演出的机会就越大。 这意味着你的工作概率方程是: hard_skills * soft_skills = job_probability 为了以最少的努力最大化 ,花更多的时间在你往往缺乏的技能上。正方形的面积大于具有相同周长的斜长方形的面积。 job_probability 有限技能点的误区 如果你认为这听起来有点像龙与地下城的角色表,你只能分配有限数量的技能点,那么现实世界并不是这样运作的。在现实世界中,你可以获得 。您可以在硬技能和软技能方面都表现出色。 更多的技能点 我曾与很棒的人一起工作,他们很容易相处并且是出色的程序员 我也和不称职的混蛋一起工作过,他们在某种程度上也不擅长写代码 如果你努力工作并尽力而为,你既可以成为一个伟大的程序员,也可以成为一个伟大的人。这不是非此即彼的情况。用希亚·拉博夫 (Shia LaBeouf) 不朽的名言来说,“Just do it!” https://www.youtube.com/watch?v=ZXsQAXx_ao0&embedable=true