2024年程序员最核心的能力是什么?_如果要实现我的愿景目标我最想开发的能力是什么

120 阅读8分钟

我工作十年的时候认为前面的全部都是假的,什么颜值、身高、体型、技术、名誉、职位、头衔、脸皮、跪着、站着、在城里、在山里等等,都不重要。能搞钱,才是第一要务。只有搞钱,才能让我开心。链接:www.zhihu.com/question/50…



链接:www.zhihu.com/question/50…

我认为程序员最核心的能力主要有2点:

1、解决问题的能力

新手刚入门时,需要掌握写代码的能力,熟悉工作后,我们不能仅仅满足于是代码的搬运工,还需要具有深入分析问题和精准解决问题的能力

很多人都有开发能力,编程能力,但是解决问题的水平确实一般。

程序员至少60%的精力都在解决问题上,而解决问题80%的时间都是在解决逻辑和 Bug 当中。

imgimg

如何分析问题的根本原因并通过各种手段去解决它,非常考验我们个人的综合素养和能力。

解决问题的能力你可以通过以下方式去提升:

  • 认清问题:先好好审题再答卷,不要停留在“表面”
  • 寻找已有方案:先看别人怎么解决,如果没有,寻找问题之间的共性并关联起来,产出自己的解决方案;
  • 拆解问题:大矛盾自己一个人解决不了,就将其拆解,分清主次,或者寻找能帮助解决问题的人;
  • 平时多积累经验,学习别人的思维方式

2、持续的学习能力

互联网变化非常快,新技术层出不穷。我们要主动去接触新技术,而不是被迫的后知后觉。

如果能提前进行技术学习、布局,那么就能够在风口到来的时候拥有先发优势。比如最近火热的云计算、智能硬件。在这个“长江后浪推前浪”的大潮中,保持持续的学习才可能被后浪晚点拍在沙滩上

干这行,真的是老了也得有年轻人的心态才行,活到老,学到老。

在没有足够的技术敏感性的时候,可以**多关注前沿信息,开阔视野,**了解最新技术解决了什么新问题,是否能够给自己的工作带来帮助。



链接:www.zhihu.com/question/50…

看了全部博主的回答,跟我观点不一样,作为一个10年工作经验我给大家分享一下我以为的核心能力:

  • 需求转换的能力
  • 分配时间的能力
  • 开发质量的能力

20个回答中,大家说的都对,我就给大家总结好,到底什么才是核心能力。

一、需求转化的能力

需求转化的能力,也就是理解需求的能力,围绕着两个核心内容:①沟通 ②逻辑

首先聊聊我见过的没有需求转化能力的人,接到需求直接开始做了,结果产品和需求不一致。为什么我说还需要一定的逻辑呢,我也接触过一个开发,写登录页面,不验证身份,这会导致啥问题,一个ip无限注册。

如何在接到需求的时候,保证需求的有效性和正确逻辑?

  • 1、接到需求之后,自己独自记录上有疑问的点
  • 2、参加需求讨论会,将所有需求过一遍,把疑问点及时沟通;
  • 3、要确认需求和实现方式
  • 4、确认无误开始开发流程

不要觉得弄明白了就直接上手写代码了!

先计划再写代码也是对自己的一种负责,毕竟有的开发的代码越写越多,越写越复杂,过一段时间之后自己都没法维护了。

大家可以自己去了解一下TDD,如果觉得这种方式麻烦的话,可以在接到需求的时候,自己先梳理思路成思维导图,把所有涉及到接口,对接的地方全部标出来。有计划的代码会提高实际工作的开发效率,不信你试试- -!

在开发过程中需要及时沟通,最后测试需要演示程序

正确理解需求,可以将需求没有偏差的开发出来,这是程序员的核心能力吧?别说什么这是基础什么的,我见过三年开发岗位的人交付的时候货不对版的,也见过几年开发经验的人不做单元测试就等着别人给测试的。所以—不管你在什么阶段,以上能力大家一定要有

二、分配时间的能力

一般大公司会比较注重程序开发的周期,但是小公司偏向于做完了就完事了。

开发实施正常分为:软件设计–>思考最优的解决方案–>写代码–>测试阶段–>完善–>交付;

忘了是哪个博主曾经说一句很有争议的话**“我不写代码,但我是一个好架构师”**。怎么说呢,我觉得当一个开发可以占用整体开发时间的30%来进行思考和优化的时候,这个开发起码具备了很强的基础和经验。对于大佬来说,思考的时间也许会更久。

两项开发任务如何平衡自己的时间?

如果你是老员工,完全有自我判断能力,知道轻重缓急那么就自行安排。如果自己不能平衡的时候,一定要记得,找领导来权衡。**谁负责谁做决定!**以上是关于开发当中的时间合理安排,下面说说学习安排。

程序员很忙没时间 学习怎么办?

imgimg

这个图都能看懂吗?比如重复代码太多了,是否可以引入设计模式?通过学习设计模式回到实际开发当中,学设计模式是为了什么?扩宽还是补救等等?最优的路径只有创造!

三、开发质量的能力

不管是开发质量还是解决问题,在我看来,这都算是一类能力。主要可以分成三点:

第一阶段:基本的判断标准,也就是经你手开发的东西,能不能正常运行;

第二阶段:代码的可读性高不高,别人读起来和修改维护的话,成本高不高?

第三阶段:模块化的程度,也就是扩展性怎么样?是否可以降低维护成本,提高开发效率?

综合以上才是一个开发的核心能力吧,不管你是什么阶段,都离不开这三点核心能力。至于很多人说学习能力等等,算是开发本身就要具备的条件。所以想要做开发的同学要记得,大家一定要知道技术岗位需要不断的学习新技术,如果你非常懒惰,那你不适合学技术。



这个问题可能有点大,我做了近10年的开发,那么,大家可以看看我的看法,希望能给大家一点启发

1、独立解决问题的能力

2、持续学习的能力

3、良好的阅读英文档的能力

4、保持举一反三的思考能力

5、虚心请教,保持一个强大的内心

如果具备这几点,那么你就可以在职场上能够有的更长久以前在知乎上有很多咨询我,怎么进阶技术,如何学习java,怎么选择编程方向?

于哥最近在公司比较卷咋办?担心35岁找不到工作怎么办?正如前几天网传互联网公司大裁员那样,其实每年都会爆出这样的事情,那么我对这样的事情早已经没有什么感觉了,这不是正常的现象吗?于哥你好,网传2021年末哀鸿遍野,裁员不…www.zhihu.com/pin/1451838612552212480

我一直强调程序员平常要去学习,活到老,学到老,进阶技术,平常没事的话是不是的出去找找自己的差距。就目前而言,很多都是吹嘘的,身边的朋友找工作依然是非常顺利,也有很多外包公司比如京东的外包依然是个不错的选择,一些大公司招聘依然不断关于具体的后端技术栈可以围绕着这个帖子来展开:于哥你好,我是大专学历,非计算机专业,…

除了技术,你还应该:

img img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!