程序员的核心竞争力

离职之前,结合《程序员修炼之道》一书、几篇热门博客以及自己的一些思考,给大家做了一个关于程序员核心竞争力的分享。
程序员的核心竞争力是什么?这是一个开放的问题,技术基础、学习能力、分析能力等,都是合理的答案,但是相对片面,在我看来,解决问题的能力是这些基础能力的综合也是最终的体现,是核心之所在。
这里对于需要解决的问题的定义比较宽泛,包括新的功能需求、性能优化需求、程序问题(bug)以及开发中的规范、流程、沟通等问题。

我把解决问题的过程拆解为五个阶段。

  • 预见问题
    预见可能出现的问题,提前做好预防问题或者解决问题的准备。
    在这个阶段解决问题,代价最小,难度最高,依赖于技术和经验的积累。
  • 发现问题
    越早发现,问题所造成的危害越小,能够在上线之前发现问题是最好的,线上问题的及时发现则依赖于监控和报警,等接到客服投诉的时候,问题往往已经变得很棘手。
  • 分析问题
    程序的问题一般通过日志进行追踪分析,定位造成问题的原因,其他类型的问题相对复杂,不展开讨论。
  • 解决问题
    首先明确一点,没有解决不了的问题,愚公可以移山,精卫可以填海,最终都是对投入大小的衡量,程序员的工作就是运用自己的知识体系,提出可行的方案,并从中选出最佳的解决方案,即在达成目标的前提下,投入最小。
    一部分问题在发现后,程序员可以自行解决,还有一些需要其他同事甚至其他团队的配合,对交流沟通能力有较高的要求。
  • 拓展问题
    已经解决了当前的问题,但留给我们的工作实际上还有很多。
    第一步是总结当前问题的解决方法,第二步是总结同一类问题的解决方法,第三步是采取一定的措施避免同样的问题再次发生,第四步则是采取措施避免同一类的问题再次发生。
    能力强的程序员可以直接到达第三步或者第四步,其实又回到了 「预见问题」 的阶段,形成了一个闭环。

脑图中的 chapterN 对应 《程序员修炼之道》中的章节。
在这里插入图片描述

那么我们如何提高自己解决问题的能力呢?
从上面的分析不难看出,解决问题的能力主要依赖于技术能力、沟通能力、总结能力等,找到自己的短板,进行刻意练习,通过 目标-练习-反馈-修正 的机制提升。

在这里插入图片描述

优秀的程序员需要树立正确的观念,做自己的管理者。
有目标: 职业规划
有行动: 持续学习、终身学习
有策略: 打造自身品牌

在这里插入图片描述

最后,非常推荐大家阅读《程序员修炼之道》这本书,对程序员的能力提升有很大帮助。

下面的参考链接文章,也很值得一看。

那些会阻碍程序员成长的细节
老程序员的10条中肯建议
写给工程师的十条精进原则

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值