人类高质量程序员,应具备哪三大特质呢?
人类高质量这个梗最近火出了天际,一眼望不到边。我也来趁一下流量。
在这个时代,如果你没有过硬的本领,
不仅会面临着与他人的激烈竞争,
而且在不久的将来,还有可能被人工智能抢走工作。
物联网、数据分析、以及人工智能这三大技术之间的合作将会在世界上创造出一个巨大的智能机器网络,在不需人力介入的情况下实现巨量的商业交易
未来是人工智能时代,万物互联、人工智能将彻底改变人们生活的方方面面,
我们的出行、学习、工作都将发生翻天覆地的变化。
史蒂夫·乔布斯曾说过:
每个人都应该学习如何为计算机编写程序,因为它能教你如何思考
人类高质量程序员,需要哪些能力呢?
一、抽象问题的能力
所谓抽象问题的能力,实际上也就是数据建模的能力,
即能把一个问题抽象或归类为某种方案来解决,
比如要实现负载均衡, 会想到一致性哈希算法,
要实现最短路径,想到使用动态规划,
微服务下要保证服务可用引入降级机制等等,
一句话就是把具体的问题抽象成到解决此问题背后的方法论,
进而用相关的技术方案得以解决。
具备此种能力的程序员在面对问题时,会本能的将具体的问题划分入详细的领域,
然后快速的作出反应。
不仅能够精准定位问题,还能大大提升工作效率。
二、修改模型的能力
就像机器学习,现在其实有很多现成的模型可用,比如识别物品的模型等等,
我们需要的话可以直接拿来用,但是现有模型的准确率可能不是那么理想(比如只有80%),
如果我们需要进一步地提升识别准确率,可能就需要对其参数进行进一步的调优,
以进一步地优化模型,达到我们预期的值。
再比如当当网基于 Dubbo 的扩展版本开发的 Dubbox 也是由于原来的 Dubbo 功能不满足其团队需求而在其基础上修改扩展的。
这种修改能力本质上是对模型的调优或者修改,
不仅需要程序员有夯实的基础知识,
更要有一定的创新能力。
三、不断学习的能力
在IT业混饭吃不容易,整个环境进化的太快,你不学习,就等于落后了。
学习要有针对性,不能今天学ruby,明天学python,后天php的。
首先要认清自己的目标,自己短期目标是什么,1年后,3年后,5年后的目标是什么。
结合这些目标,确定自己的学习计划。
以PHP工程师为例,在掌握了入门知识后,
我们需要对自己之后的学习目标以及自己知识的掌握程度有清晰的认识。
比如在掌握php方面能力后,
还需要掌握的经验技能,设计出比较复杂的中大型系统,能够解决大部分线上的各种复杂系统的问题,
完成类似
浏览器 -> CDN->负载均衡 ->接入层 -> Nginx+PHP -> 业务缓存 -> 数据库 ->
各路复杂后端RPC交互(存储后端、逻辑后端、反作弊后端、外部服务)
-> 更多后端的复杂业务
能够支撑每天数千万到数亿流量网站的正常开发维护工作。
只有通过不断地学习,
程序员们才能不断进步,
不被时代所淘汰。
相关文章