很多人非常关心普通的程序员和大神级的程序员,两者之间的区别究竟有多大。
我觉得可以从工程师的等级、思维方式以及知识体系三个方面阐述这个问题。
首先,客观的工程师等级分类。
我引用吴军博士关于工程师五个等级的分类。
第五级:能独立解决问题,完成工程工作。
第四级:能指导和带领其他人一同完成更有影响力的工作。
第三级:能独立设计和实现产品,并且在市场上获得成功。
第二级:能设计和实现别人不能做出的产品,也就是说他的作用很难取代。
第一级:开创一个产业。
可以看出,随着等级的不断提升,从独立解决问题,到开创一个产业,从本质上来说,区别在于是否有足够的影响力影响到更多的人,以及承担更多的职责。
真正的大师不是自己个人是大师,而是让更多的普通人成为大师。
第二,思维方式的不同。
普通的程序员可以看到工程项目的当前一隅,大神级程序员不仅能够搞定当前的技术难题,提出更多的可复制的改进方法,更能够应对未来更多的难题,不断总结经验教训,将视野投注到宏观上。
如果说普通程序员活在过去,或者是活在当下,那么大神级别的程序员则是活在未来,不断思考未来的技术难题。
我们一直在问自己一个问题,五年之后技术会发展到何种地步,如何运用五年之后的整体技术架构去更好地服务于客户。这些思考看上去有点虚无缥缈,不切实际,但是在当前这个未来以来是社会和世界,多思考一步,多行动与实践一步,也就有机会多成长一步。
第三,知识体系不同。
总是谈代码如何写的程序员,可能是一个好的程序员,但往往无法成为顶尖的程序员。
在代码之外,还有许多信息工程、软件工程需要掌握的知识。
编程其实是一件比较复杂的事情,因为你以为自己编写的代码运行正常,其实机器的逻辑不是你简单想得那样。即使是马丁福勒这样的大神,也没有把握保证编写的代码能够没有八阿哥。
所以,要有足够的耐心进行调试,不断的吸取新的技术知识,并且运用数学思维、物理、逻辑、生物学等跨学科思维去帮助自己更好的解决技术上的难题。
大神级别的程序员,往往有着普通程序员所没有的知识维度、对技术的理解力与深度。
总结一下。
我分别从工程师的等级、思维方式以及知识体系三个方面阐述我所理解的普通程序员与大神级程序员的不同,希望对你有所帮助。
最后,对于技术,没有快速精通,只有快速入门。
无它,唯手熟尔。
我自己是一名高级python开发工程师,这里有我自己整理了一套最新的python系统学习教程,包括从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习等。送给正在学习python的小伙伴!这里是python学习者聚集地,欢迎初学和进阶中的小伙伴!
网友评论