14项程序员必备软技能(全面提升!)
作者:John Sonmez
技术能力只能让你在编程道路上走这么远。在我软件工程职业生涯中学到的所有东西和技术中,毫无疑问让我赚最多钱的就是软技能。
这些技能很难量化——但你看到时就能识别出来。
善于与人相处。 成为强大的公众演讲者。 在身体和情感上都面临困难时能够坚持下来。
简而言之,就是大多数人不关注的所有这些东西! 出色的软技能让你在软件开发人员中脱颖而出。它们为你打开机会之门,从而成倍增加你的收入潜力。 这是我在编程领域能教给你的最有价值的东西。
让我们深入探讨。
1. 目标设定——实现开发者梦想
作为开发者设定目标似乎很明显——对吧? 然而很少有程序员会为自己的职业生涯定义目标。 为什么? 我猜是以下两个原因之一:
许多软件开发人员害怕承诺长期愿景。他们想保持选择开放。如果我选择了错误的道路怎么办?如果我不喜欢它带我去的地方怎么办?这些问题确实令人害怕。 他们根本没有过多思考——只是遵循为他们铺好的道路。创建自己的道路更困难。所以我们就不这么做。
但你迈出的每一步没有明确方向都是浪费的一步。不要没有职业目标地随机走过人生! 采取以下两个主要行动来提升目标设定这项软技能:
首先,为自己设定一个宏大、令人兴奋的远期目标。你希望5-10年后自己的职业生涯达到什么位置? 其次,制定小目标,逐步朝着那个大目标前进。
2. 沟通与演讲技巧——提升职业水平
如果你认为作为软件开发人员的主要工作是写代码? 你最好再想想。 作为程序员的工作——就像几乎所有行业一样——是与人们打交道。 你如何掌握与人的关系?通过掌握沟通。 每天在工作中练习沟通技巧:
与同事联系。也许是过去没怎么交谈过的人。 向某人解释一个概念或项目。在解释中尽量引人入胜、有教育意义且易于理解。 向老板推销一个新想法。让它听起来尽可能吸引他。
与更多人交谈(除了你的电脑) 我不喜欢内向与外向的标签。 不要说"我很害羞,因为我是内向的"。这两者没有关联。停止这种废话。这是个借口。 直接去做。感受恐惧但仍然去做。 如果你养成习惯,你会成为更好的沟通者。你会建立大量人脉…而且你会看到效果。
成为有说服力的公众演讲者
公众演讲可以给你带来权威性,为你的项目获得支持,并为你作为开发者打开各种机会之门。 在大多数公司,你作为员工都有机会向团队进行演讲或演示。 抓住这些机会!也在工作之外练习公众演讲:你可以在代码训练营和本地用户组中这样做。掌握这项软技能,改变你的编程职业生涯。
3. 吸引力与魅力——将生活切换到简单模式
吸引他人并传播积极态度
如果你能够:
让同事脸上露出笑容 在具有挑战性时激励他们继续前进 让他们自我感觉良好
他们会因此喜欢你。 结果,人们会喜欢和你在一起。他们会向别人高度评价你。每当他们听到新机会时,他们会首先想到你。
穿着得体
这是一个简单的事实:穿着得体,每个人都会更好地对待你。 所以抓住这个机会,成为那里罕见的穿着得体的软件开发人员!干净、酷、搭配协调的衣橱可以带你走得很远。 不管你喜不喜欢,人们喜欢通过外表来判断。不要害羞——利用它来获得优势!
4. 社交动态意识与人际技巧——获得支持并避免陷阱
即使写代码是你工作中最喜欢的部分: 如果你想成为一名优秀的软件开发人员,你必须学会有效处理人们的心理。 以下是掌握社交动态在工作中受欢迎的3个秘诀:
-
每个人都想感到重要 在工作中与另一个人打交道时,首先要设身处地为他们着想。要有同理心,试着理解他们的立场。 人们希望被看到、被听到和被欣赏。 但他们很少能做到。 如果你是为同事花时间这样做的人——猜猜他们会比其他人更喜欢和信任谁? 这算不算操纵? 不,这叫做有同理心,真正看到和欣赏你正在交谈的人。
-
从不批评和避免争论
说实话:作为软件开发人员或工程师,你通常是房间里最聪明的人。 这并不意味着你应该告诉每个人他们可以做得更好。即使这是真的。 无论如何,避免成为无所不知的人。只需通过做伟大的工作来获得认可!这是人性的一个规律,大多数人还没有准备好接受诚实的反馈。 如果你真的需要提供建设性的批评,思考如何做到不让他们因此怨恨你。如果可能,让它听起来像是他们自己的想法。 另外:与人打交道时,表扬比批评有效十倍。 进行任何类型的争论也是如此。在99%的情况下,这没有帮助——只会让事情变得更糟。通过避免那些无意义的争论来走高尚的道路。 相反,花时间创造有价值的东西。
- 考虑对方想要什么 你的老板想要什么? 你同事的目标是什么? 在每次互动中,将你所说的与它将如何使他们受益联系起来。 如果他们看到你可以改善他们的底线或地位,他们会更喜欢你,并真正倾听你要说的话。
5. 专业谈判技巧——获得应得的报酬
掌握开发者的谈判软技能,你一生会赚更多硬现金。
了解自己的价值
作为软件工程师和开发人员,我们为任何合作的公司创造如此多的价值。 如果你知道自己的工作质量很好:不要害羞地争取顶尖薪酬。他们通过你提供的东西赚取你工资的很多倍。
面对拒绝的恐惧
如果你要求更多,你必须准备好有时听到"不"。作为人类,我们感受到拒绝的痛苦就像身体疼痛一样。所以大多数人试图避免它。 但如果你直面恐惧,仍然去做——你就能获得其他人错过的大潜在好处。
学习有效的谈判策略
需求最大的人总是处于劣势。 所以如果你有多个获得新工作或客户的选择,你可以从比其他人提交简历并现在依赖他们同意更强的位置进行谈判。
聪明一点
在价格谈判中,先出价的人输。 例如,如果你在谈判程序员的薪水:让他们说出这个职位他们心目中的范围。现在你处于优势——你可以相应地定价自己。
声誉很强大
还要考虑这一点:你在营销自己和建立声誉方面做得越好,谈判就越容易。 我曾与一些软件开发人员合作过,他们能够仅仅通过建立一点个人品牌和在线声誉就将工资翻倍。 最后,考虑阅读一两本关于如何更好谈判的书。
6. 情绪掌控——始终保持冷静与控制
作为程序员,你不断与截止日期、困惑的同事和要求苛刻的老板作斗争。你被期望在压力极大的情况下做到最好的工作。 这就是程序员的情绪掌控发挥作用的地方。这项软技能是一种超能力。 如果你能学会在这新任务、修订和演示的风暴中保持冷静,你会对与你合作的人变得不可或缺。这意味着你能够更快地攀登职业阶梯。 但最重要的是,你学会了不让任何事情打扰你的冷静。 这是无价的。
7. 责任感——推动职业生涯
始终努力在工作中承担更高责任。伟大的责任带来伟大的力量。不要畏惧责任。相反,寻求更多责任。
自愿参加下一个项目。 领导那个团队。 进行那个演示。 打那个电话。
你会作为开发者、领导者和个人成长。同时为自己打开充足的职业和赚钱机会。
8. 创造力——释放它并创造机会
运用你的创造力编写更好的代码并拥有更好的职业生涯。 编程既是一门艺术也是一门科学。提出创造性的解决方案意味着你更擅长你的手艺。 当涉及项目、策略和问题时——如果你培养了创造力这项软技能,你将能够为所有这些找到新的、令人兴奋且可行的解决方案。 想象一下这让你在雇主或客户眼中变得多么更有价值。
9. 生产力与时间管理——无压力成功
编码是一项有趣但艰苦的工作。同事需要帮助,老板或客户在你耳边说话,截止日期迫在眉睫。推动编程项目完成并不容易。 这就是优秀的程序员生产力软技能将拯救你的一天的地方。
聪明地记笔记
无论是关于下一个项目的笔记、你以后需要的代码片段、会议还是想法。确保以有组织的方式全部写下来。
了解你最有效率的时段
安排你的一天,以便在你最敏锐和精力最充沛的时候工作。对一些人来说这是在早上,对另一些人是在下午。 注意:这可能只适用于如果你是自由职业开发者或不受公司日程约束的远程工作者。
安排你的一周
确切知道每个时刻需要做什么。你会节省很多脑力,因为你不需要总是匆忙寻找下一个任务。在每个新周之前花些时间进行所有思考和策略制定。然后在周内你只需要执行。
遵循(番茄工作法)时钟生活
为你的下一个任务设定一个(短)时间。之后让自己休息一下。多次重复这个序列。番茄工作法让你快速完成大量编码而不会让自己精疲力尽。
调整你的健身和营养
作为程序员完成更多工作从改善健身和遵循良好饮食开始。 你会更清晰地思考,能够更长时间集中注意力,最后不会那么累。
10. 谦逊的自信——将自信与学习开放性结合
有时候柔软一点也可以——
当允许自己从反馈中学习时。 你确信你的方法有效吗?那么对此有信心和自信是好的。 但永远不要让那种自信变得妄想。 即使聪明人有时也会错。或者他们至少可以做得更好。 可信的来源(你尊敬的同事、在游戏中成功几十年的老板)给你反馈吗?至少考虑一下对你有好处。 如果你能够向他人学习而不影响你的自尊——这是一个很好的特质。
11. 团队合作——与所有人一起获胜
不是"孤独编码员"而是团队合作者的软技能意味着你积极贡献完成任务、管理项目或实现目标。 团队合作减少了开发项目所需的时间,也有助于产生更多想法,因为更多大脑沉浸在同一工作中。
12. 写作——在文字和思维中变得清晰
开始写作(不仅仅是代码)。 开始一个编程博客。 这是提高沟通技巧的最佳方式之一。 写作迫使你组织思路。
你会成为更好的沟通者。 你能够更好地组织思路。 你能够更有效地与人交谈。
13. 营销技巧——(自我)销售而不羞愧
营销和销售并不坏。 学习如何销售,以及如何(特别是自我)营销作为开发者。 你不能把这看作肮脏的事情。不要等待人们发现你的价值。事情不是这样运作的。 大胆、采取行动和自信的人会赢。他们赢是因为他们被听到。 世界会给你你想要的。但只有当你要求它——并相应行动时。这意味着如果你想要什么,你必须站出来。 这不是关于傲慢,或做个混蛋。这是关于认识你的价值。并清楚你的价值! 当你在面试中,他们问你:你的C技能如何?如果你自信,你不会说,呃,我还行,我觉得挺好的,……你说,我不想自吹自擂,但我他妈的很棒!
14. 学习——永不停止提升生活
作为程序员成功需要的最后一项软技能(但绝不是最不重要的——事实上它是关键的一项): 愿意并能够始终保持学习。 当你想变得更好以改善职业生涯时,可能会犯一堆错误。如果你想避免那些陷阱——并了解你可以使用的优越策略以尽可能快地变得优秀——我邀请你查看我的免费电子邮件课程: