职场上的程序员应该具备哪些软技能

我们都知道,职场是个小社会。闷头做技术的程序员在职场中经常遇到各种阻力。软技能对程序员在职场中的晋升起到非常关键的作用。其实,做过几年一线开发后,大家的技术都差不太多。混的好的程序员大多是软技能强的综合性人才,他们更容易走向管理路线。

小伟结合多年的经验,为大家总结了程序员在职场中应当具备的软技能。希望能帮到想提升自己综合能力的伙伴。

程序员要懂业务

技术是为业务服务的。要开发出好的产品,程序员要深刻理解业务。接到一个需求后,你要理解做这个需求的目的,以及当前的业务是怎样的;做了这个需求后对业务能带来多大帮助,实际应用场景是什么等等。搞清楚这些问题后,你的代码设计,架构设计才会更加符合实际应用要求。

我经常跟团队小伙伴说的是“满足需求“应该包含功能和质量两个层面的标准。功能是满足功能需要,经过开发、测试、验收等环节上线的标准;质量是开发完的产品应当满足业务的场景需要,例如流量、并发、数据完整,并且要确保新的代码不会对系统产生负面影响。

理解了业务后,开发人员能从技术角度客观地评估需求,能为产品经理提供改进方案。需求评审时对产品设计提出质疑,能大大降低返工的概率。

具有宏观视野

具备宏观视野能让程序员开发出高质量的产品,有助于向架构师和管理岗位晋升。宏观视野包含两个方面:产品宏观性和技术宏观性。

程序员拿到需求后不要急于写代码。每次需求评审后要仔细研究,这其实也是熟悉当前系统的过程。例如,你要在现有系统增加商品评价功能。开发之前你要理解整个系统,知道这个功能的影响范围、怎样整合进现有的功能、使用缓存还是直接用数据库、同步还是异步读写、怎样整合进商品详情数据等等。只有对系统的整体情况有充分的了解,你才能写出符合系统要求的高质量代码。

做代码和架构设计时要从系统的整体角度考虑你的设计应该怎样整合到系统中,评估新功能对系统的冲击、有哪些负面影响。没有从宏观角度做设计经常产生的后果是,上线后系统出现新bugs、某些看似与新功能无关的功能发生性能问题等等。

总而言之,从宏观角度出发去理解系统,能极大地提高代码和设计的质量。

要善于沟通

程序员的沟通能力普遍偏弱。这是由程序员的工作性质导致的。但要从技术岗位晋升,这个弱点是必须要克服的。作为管理者,你需要能用不同的方式跟不同角色的人沟通。当做到总监和CTO级别时,你还需要经常跨部门沟通,有的高层还经常跟老板沟通。

小伟哥建议大家从日常工作中锻炼自己,多观察周围晋升快的同事或者领导是怎样与人沟通的。对于初中级程序员,我建议每天纯写代码的时间控制在70 - 80%。剩下的时间跟不同角色的人沟通,沟通对象可以是产品经理、同组的程序员,甚至是外部对接的技术人员等等。

你的上级领导是你非常重要的沟通对象,也是你能学到最多东西的人。跟他不仅仅学技术,也要学沟通技巧。我相信绝大多数的技术管理者都是综合型人才,学习他们怎样与上下级沟通、怎样协调内外资源、怎样与用户沟通等。

总之,沟通是程序员晋升最基本的能力。记住,能够提拔你、认可你的是人,不是机器。

会安排自己的工作

跟所有其他岗位一样,程序员要会合理安排自己的时间,学会给任务排优先级。程序员每天除了保证主线开发进度,又要处理很多琐事。小伟结合多年经验,总结了适合大部分程序员安排任务优先级的思路供大家参考。当然,工作中还是要根据实际情况来调整:

紧急任务:通常需要放下手中的任务,优先处理的事情

  • 生产环境的问题:永远是最高优先级的,这个没有任何异议;
  • 外部对接的问题:满足外部对接需要通常都是比较急的,不要阻碍外部的开发进度,否则会有连锁效应,导致项目进度不可控;
  • 跟登录注册、订单、支付有关的bugs:对于大部分系统,这些是核心功能。发现bugs,应该第一时间排查修复;

主线任务:就是安排给你的需求任务。这些任务应该是你重点处理的,被打断后应当马上返回继续处理;

可滞后的问题:

  • 测试提出的测试环境bugs:如果你正在处理更重要的任务,测试提出的问题可以延后处理;
  • 文档或报告之类:通常放在下班前写各种文档和报告;
  • 代码优化:可以记录下来,等更重要的任务完成后再回头来处理;

另外,程序员要养成每天总结进度的习惯。敏捷团队每天的例会就是个很好的机会让程序员跟踪自己的任务进度。

协调内外资源的能力

协调资源是有经验的程序员和技术管理者必备的能力。工作中经常会遇到你的任务需要其他部门或同事的配合。这时你应当懂得寻找资源,这可能是来自你的上级也可能是你的同事。你的目的是完成任务,你的领导关心的是结果,要学会动用各方资源来帮助你完成任务。

有时你的领导会明确告诉你找谁寻求协助,但在落地过程中,往往需要你自己挖掘更多的资源。在寻求帮助的过程中,难免会遇到阻力,最有效的办法是跟对方表明他配合的重要性。如果对方的配合度差,有导致项目延期的风险,你一定要第一时间通知到你的领导,请他出面协调。

内外协调能力是非常复杂的软技能,需要你左右逢缘,灵活对待。一个技术管理者能力的高低很大程度上体现在资源协调能力。

程序员的软技能可以使你在职场中更加游刃有余,更容易做出高质量的产品,更容易得到公司的认可。程序员应当在日常工作中积极锻炼自己的软实力。在学习技术的同时,不要忽视与人打交道的技巧。

以上就是小伟哥对程序员在职场中应具备的软技能的介绍,希望能帮到大家。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

做IT的小伟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值