每个开发人员都需要的非技术技能

2025-05-24

每个开发人员都需要的非技术技能

当我刚开始从事开发人员职业时,有多少新鲜和未知的事物!技术方面虽然不太清晰,但流程、内部沟通、行为规范等等一切都是全新的。这些知识大部分都是我通过反复试验学到的!

我喜欢对自己的经历进行某种自我反思。这有助于我看清自己最终是如何走到今天的。回顾我所学的知识,我总结了一些我希望早点知道的建议。这些建议既有非技术性的,也有行为技巧性的:

1. 不存在所谓的假问题。

我曾经有过这种经历。我得到了第一份初级开发人员的工作,我感到自豪和快乐。但我也有冒名顶替综合症——我知道我的技能和知识水平很低。我不想让任何人发现这一点。

所以每当我遇到任何阻碍或困难时,我都会尝试自己解决,而不是寻求帮助。或者我太害羞了,不敢问问题,尤其是在一群人面前。“他们会认为我是冒名顶替者,隐瞒一下,马克西姆!”

但事实上,情况恰恰相反。

人们会互相等待提问,这些问题并不愚蠢,只是一些常见的问题。没有人指望你无所不知;无论你是初级还是高级,这都无关紧要。这是团队合作的一部分——互相沟通、提问和帮助。

不要害怕——只要问出你所有的问题即可。

2.不要太认真。

在大多数情况下,我们工作的公司里你的错误不会影响别人的生活。90% 的开发人员并不致力于为飞机、自动驾驶汽车、医疗设备等开发软件。

通常,我们只是把 JSON 从一个地方移到另一个地方。如果我的代码无法正常工作——没人会死;也不会有核电站爆炸。只是有些人无法加载搞笑的猫咪视频,无法发送约会信息。或者他们的 Instagram 动态会断网 10 分钟(人们怎么可能幸免于难?)。一些时尚品牌将无法展示他们的新横幅。没关系——人们可以幸免于难。
当然,IT 行业看起来既时尚又必不可少;我们拥有许多现代设备和闪亮的技术。

这位驼背的开发者(没冒犯的意思,这只是我的一个形象)就像一位新晋运动员、新晋宇航员、新晋摇滚明星。人们在我们这些驼背人身上投入了巨额资金!当然,我们开始以为自己在做一件意义重大、意义非凡的事情。但毕竟,在大多数情况下,我们只是在做一份仆人的工作。我们帮助别人把 JSON 文件从一个地方转移到另一个地方,从而将他们的想法转化为产品。

3.做你自己,不要假装。

我们都有自己信仰的价值观。我们期待别人给予我们什么样的关怀。我们尊重什么。我们热爱什么。

公司生活会对它产生重大影响。它可能会改变你的动力,牺牲你的价值观。

我曾在一家公司工作过,几个月什么都不做,却能拿到工资。“这真是个梦想中的公司!”——你可能会说。

但这实在太无聊了,简直要了我的命。我只能去办公室,假装自己在做点什么。那里什么也没发生。我真难过,因为我看到了我们产品中那么多问题和潜力,却没人在乎。我什么也做不了,因为整个环境都很被动,令人反感。我没有权力,也没有人支持我去改变现状。大多数经理只是假装关心我和我的意见,但事实并非如此。

我实在受不了,就离开了那家公司。我的时间都白白浪费了。我的人生有价值,有目标,我不会把时间浪费在无人问津的地方。我不想浪费我的精力和热情。

我的经验和知识是有价值的,我不会把时间浪费在没人关心我的地方。我不仅仅是一个在庞大的企业机器里没有发言权的小人物。

我坚信,当你遵循自己的价值观时,人们会喜欢它并尊重它。

4.你构建的是产品,而不仅仅是代码。

开发人员并非只是坐在办公室的阴暗角落里编写代码。当然,我们工作的成果是将代码转化为产品。

但是产品是什么?

这个想法正在解决一些问题——真正的人类问题,而不是机器问题。

通常,人们会进行用户调研,制定商业计划来赚钱,然后考察市场,为产品找到利基市场。这远不止几行代码那么简单。这是一种解决问题的尝试,旨在让我们生活的某些方面变得更好。

“那么,到底是怎么回事?我就是那个能把这个想法变成切实可行的解决方案的人。”——你问道。

核心理念是始终从产品的角度思考工作。我做的这些事情是否符合用户的需求?这个功能会降低应用程序性能吗?我怎么知道这项任务会有所改进?问自己很多类似的问题都非常有益。因为当你开始关注产品时,你和你的团队就能取得卓越的成果。

伟大的想法不应该仅仅自上而下地产生。任何人都应该能够提出自己的想法。

5.尊重人,而不是头衔

拥有“首席开发人员”或“高级开发人员”等头衔的人看起来像智者。他们是伟大的老师,总是能帮助你,并找到最合适的话语来激励你。他们是只需看一眼屏幕就能修复错误的神。你最好的朋友永远不会让你失望。

标题没有任何意义(好吧,在 50% 的情况下)。

有时你会和一些不愿帮助和教导的人共事,他们傲慢自大,喜欢玩弄公司政治游戏,甚至缺乏优秀友好的沟通技巧。

谁知道他们是怎么得到这个头衔的?也许那家伙是这里的第一位工程师,而且已经在这里工作了十年?又或者,他知道如何在面试中展现自己最好的一面?又或者,他只是一个优秀的开发人员,只想写代码而不是与人交流?

不同的公司对资历等级的定义不同。有些公司更注重技术技能,而有些公司则更注重软技能。这都很好。

重点是:永远不要以职位高低来评判他人,也不要仅仅因为头衔就抱有很高的期望。找到品行端正的合适人选。尊重这些人,你们就会成为很好的朋友(谁在乎对方是初级开发人员还是前台接待员呢?)。尊重他人。

6.软技能至关重要。

我为什么需要它?为什么我需要和别人交流?我能用我自己的方式和我的电脑对话吗?

我对此表示怀疑。IT行业可不是那种满脸胡须、脾气暴躁、几乎不懂怎么说话(除了怎么跟电脑说话)的行业。我甚至不确定它是不是那样。

我们以团队形式工作,与真实的人共事,他们的思维方式和性格通常与我们不同。我们必须考虑到这一点——我们每个人都是不同的。
工作沟通不仅仅是午餐时关于Netflix最新剧集或周末计划的非正式谈话。我们需要在任何会议上,包括通过即时通讯工具和电子邮件,保持健康的沟通。

这样做的原因有很多,但最重要的是,当人们彼此信任、愉快沟通时,工作效率会更高。你不需要和每个人都是朋友,也不需要下班后一起喝酒。但我们需要尊重同事,在不带有任何攻击性和恶意的情况下提供帮助。

否则,如果我不能健康地说话,人们就会忽视我,回避我的意见。团队本身也会变得效率低下。而且,我根本就别想升职加薪了。

7. 一定要协商报价。

面试很累人。你得花很多时间和精力,真的得付出努力。所以到了拿到offer的时候,你很容易就觉得一切结束了,只需要签个名然后休息一下就行了。

并不真地。

最后一步是谈判。你拿到 offer 后,再进行讨论,这应该没什么好害怕的。因为对方也对你感兴趣,所以他们也花了很多时间准备这个面试流程。

我并不是说你应该疯狂地要求加薪 50%,但谈判总是有余地的。也许不是工资,而是额外的福利、假期、合同期限、股票等等。最糟糕的情况是——公司只是拒绝你的请求,但不会撤回你的录用通知。

保持礼貌友好,并协商好报价。如果你听到下一位同事说他们因为自己安排了更好的合同,所以能拿到更好的合同,这绝对不会有什么坏处。

8.不要破坏人际关系。

离职时要保持专业。
不要制造任何冲突,不要责怪任何人,也不要写咄咄逼人、带有冒犯性的告别邮件。当然,有时候你是对的,那封令人不快的邮件也算公平,至少是为了维护你的尊严。

人生变幻莫测。IT世界如此狭小,你永远不知道未来会遇到谁,无论是同事还是老板。又或许,你的下一位雇主可能会查一下资历,然后打电话给你刚离开的那家公司。

最好与你以前的公司保持尊重和专业的关系,即使你讨厌那个地方和那里的每个人。

9.休息

没有人在临终时抱怨他工作不够努力。

别忘了休息,关闭手机上的工作通知(尤其是在度假时)。如果有事需要你处理,别人会通过你的手机联系你。

不停地查看 Slack 和邮件是个糟糕的习惯,因为你会一直想着工作。但工作不是你的生活。想想你的爱好、家人、宠物、朋友等等。如果你喜欢下班后写代码,那没问题,除非你不再做工作上的事情。

照顾好自己和自己的健康。

--

感谢您的阅读并欢迎分享您的想法!

文章来源:https://dev.to/chechenev/non-technical-skills-every-developer-needs-j58
PREV
5 个增强功能将提升你的 Node.js 应用
NEXT
我需要在空闲时间编写代码才能成为一名优秀的开发人员吗?