点击蓝字 关注我们
将程序视点设为星标精品文章第一时间阅读
大家好,欢迎来到程序视点
!我是小二哥。
这两天和几个研究生小伙伴聊天,大家聊到这样一个话题:那些编程水平很高的程序员都是怎么训练出来的?
今天也和大家一起来讨论下。
这个问题很大且很宽泛。谁也不能保证说得一定全面。因为编程水平很高
这句话本来就没有什么标准可以准确的衡量~
针对这个问题,不同的人一定会有不同的见解与思考吧。小二哥根据自己10年+编程的经验,及对身边那些比较强的编程高手的所见所闻,与大家分享一下我的观点。
许多人都认为高水平的程序员是天生的天才。也就是我们说的天赋
。说天赋
k可能很伤人,但大家想想,尤其是非科班的小伙伴,在步入编程行业前是不是都考虑过两个东西:英语
和数学
。大家在考虑步入编程行业前思考的问题,其实就是思考自己是否具备编程的天赋。
如果就英语
和数学
两方面来说,个人认为,只要高中毕业了,那就具备编程的天赋啦
。但这只是具备了。说的是你可以学编程。但天赋
有高有低呀!能不能做好,那可就另当别论啦!
关于天赋
,我们换个大家更通俗易懂的词感知力
。感知力是什么?就是当我们一般人看到的是一个机子,但他们看到的是零件。或者说,他们更好奇这个机子是什么。但事实上,在没有接触编程前,大家的起点都是一样的。但高水平的程序员的编程能力是通过刻苦训练和不断学习积累起来的
。或许,天赋只是你成长快慢的一个影响因素。我没法用天赋去定义一个程序员能到的最终高度(或许这和我天赋不高有关系)!
接下里,我粗陋的和大家分享一些个人关于如何训练出高水平程序员的经验和建议,希望能对普通程序员有所帮助。(仅供参考)
学习编程语言的基础知识是很重要的,但更重要的是要理解编程的原理和逻辑。这就需要在学习的过程中注重深度而非广度,深入理解每一个知识点的背后原理,而不是仅仅停留在表面的语法和功能上。
具备扎实的基本功,是成为编程高手的充分、必要条件。基础不牢,地动山摇。 只有最底层的知识掌握好了,才有构建好上层建筑的可能。
这些能力是通过不断练习和解决实际问题中积累起来的。因此,我建议普通程序员多参与一些实际的项目或挑战,将所学的知识应用到实际中去,不断锻炼自己的解决问题的能力,提高编程能力。
实践方式有很多,可以是解决诸多企业级线上生产事故bug;也可以是解决自己在学习过程中遇到的难题;或深度参与开源项目,修复别人提交的issue相关代码;或者参与一些学校或社会的编程竞赛等等。
同时,要善于总结和反思自己在解决问题中的思维方式和方法,发现不足之处并加以改进。
阅读开源著名项目的源代码是提高编程水平的有效方式。一个优秀的框架经久不衰,必有其独特之处。
比如Spring这种优秀开源框架。可以深入理解其中各种数据结构和算法选择,并学会在不同情境下选择合适的算法;可以学习和实践其中常见的设计模式。通过了解他人的优秀代码,这有助于编写可维护、可扩展的代码。
可以通过参加技术交流会议、加入技术社区、参与开源项目等方式,和一些编程水平较高的程序员交流互动,学习他们的经验和思维方式。这有助于建立专业联系、获取反馈,并提高编程水平。
此外,也可以多阅读一些优秀的技术博客、书籍和论文,了解行业内的最新动态和技术趋势。
编程领域的知识更新非常快,因此要保持学习的状态,不断跟进新的技术和工具。可以利用业余时间参加一些技术培训课程或在线学习平台,不断补充和扩展自己的知识储备。
编程高手通常对技术有强烈的好奇心,持续不断地学习新东西,挑战自己的极限。
好啦!以上就是我个人的一些建议和想法啦~ 最后,针对这个问题,我引用下知乎上的一个例子给大家作为结尾!看完或许你会另有一番想法。
这个故事有点意思吧!总的来说,高水平的程序员是通过不断的学习、实践和锻炼积累起来的。对于普通程序员来说,要想提升自己的编程水平,就需要保持学习的状态,多实践、多交流、多总结,不断提升自己的能力和素质。希望以上的建议对大家有所帮助,祝大家都能成为优秀的程序员!
如果该文章对你有帮助,那么就点击右下角的 [点赞][转发][在看],给一个小小的鼓励吧!