我适合编程吗?

695 阅读8分钟

想一起编个程吗?

互联网火的这几年,我经常看到有人问,我是否能做程序开发工作,或者我是否能当程序员。也有一些人从别的职业想换到程序员,也会有这些疑问。

我觉得这个问题对那些所谓非科班且不知道自己想干嘛的人挺重要的,因为对于外行,你很难知道程序开发到底是什么样的,到底有多少知识需要学习。

在我这些年的观察中,我很难说你是否能做程序开发,但是如果你满足接下来我要说的这十点,我只能说你大概率不适合编程,注意,我说的是不适合,并不是你不能,如果用一个直观的例子来说明,满足以下几点,你可能只能是一个拿几千块人民币一个月的程序员。

编程路上的十大绊脚石

1. 缺少好奇心

如果你对计算机的方方面面不感兴趣,你很难成为一个好的程序员。

当你学习一件事的时候,最最基本的成功要素是你对这件事好奇。你如果对技术没有好奇心,你是很难去深入编程所需要的各种知识的。 dWfh7Q.png 计算机的世界由各种不同的知识点组成,只有好奇心才能驱使你从一个点到另一个点,否则,你除了觉得无聊不可能有任何乐趣。

问问你自己,你是否觉得编程有意思,如果你觉得没有,那就别浪费精力羡慕别人的高薪了,如果你觉得有意思,那不用我说你也知道你想学什么。

2. 缺乏自制力

如果你不知道如何解决自己的问题,那你也很难成为一个好的程序员。

毫无疑问,想成为一个好的程序员,你必须对自己学习的能力有很强的信心。这其实也是生活最基本的技能,作为一个成年人,已经没有人有义务去教你什么了,这就是现实,你需要自己去谷歌,自己去找你需要的知识。 dWfIts.png 在程序开发的世界,所有的知识都来自于互联网,你要学会使用谷歌或百度。我见过太多太多人连基本的搜索都懒得做,我很难想象你如何学习编程。

当你遇到一个问题的时候,先强迫自己去解决,谷歌百度,官方文档,养成自己解决问题的习惯。

3. 缺乏解决问题的毅力

如果你遇到一个问题就很容易放弃,你很难成为一个好的程序员

编程说到底就是一个解决问题的过程,当你开始编程的时候,你会遇到一连串的问题,解决一个问题,还有下一个问题等着你,这就是编程的过程。 dWfg6f.jpg 遇到一堆问题当然会让人心烦意乱,但你如果做程序员,其实你的工作就是解决这些让人心烦意乱的问题。

编程遇到问题其实是好事,因为程序开发里有很多知识不是看答案你就能明白的,别人给你讲一万遍设计模式的好处,你没有遇到问题是无法真正理解的。

4. 没有解决问题后的成就感

如果你在解决一个问题后没有成就感,你也很难成为一个好的程序员。

这个不止是一个心里感觉,是真的会分泌多巴胺,那种很通透的快感,比如你玩电脑游戏,通关或者升级那种感觉,如果你没有这种快感,那你基本就体会不到任何编程的乐趣。如果你编程只是想尽量简单的解决一个问题,那你也不适合编程。 dWf5kj.png

5. 对学习和理解新知识不耐烦

如果你对学习没有耐心,只想不劳而获,你也很难成为一个好的程序员

虽然我们这个世界变化得越来越快,但是我们人类的大脑却只能按照它的节奏工作,还要受到情绪,健康和各种各样身体机能的限制。

计算机的世界非常庞大,你会发现你不懂的东西不要太多,如果你没有办法静下心来一步一个脚印,总是觉得什么时候才能学到头,那你会很容易放弃。 dW4ua4.jpg 相反,你需要享受学习的过程,你应该为你掌握的每一点知识感到高兴,因为编程可能是无止境的,但是知识是可以积累的,要相信你所掌握的每一点知识都是你作为一个成功的程序员最坚实的基础。

6. 不喜欢思考

如果你懒得思考,很难集中精力,你也很难成为一个好的程序员。

编程是一个持续思考的过程,这也是为什么当你打断一个程序员的时候,他会很不开心,因为他需要大量的精力找到自己想到哪了。 dW47LT.jpg 所以当你编程的时候,你会消耗很多精力,如果你不习惯这种精神力的消耗,你就会发现你很难集中精力。但其实这和健身很像,多练就能适应。

7. 害怕犯错

如果你因为害怕犯错而不愿意主动尝试,你也很难成为一个好的程序员。

当我们学习新知识的时候,通常我们都会觉得自己没有足够的经验,而羞于表达自己的观点,就是害怕犯错。

这种害怕的感觉会大大阻碍你在编程的道路上探索的欲望,更不用说有大量的编程能力是来自于不停的犯错和不停的尝试。如果你非常依赖看各种大牛的教程,最佳实践,你可能很难真正进入编程的状态。 dW5VfA.jpg 你应该尝试拥有自己的观点,比如在面对一个实际问题的时候,你应该清楚的知道你自己的解决方案是什么,以及你的方案有哪些利与弊,而不是一上来就去找最佳实践和大牛的方案。只有这样你才能建立起自己的知识体系,当你遇到一个压根没见过的问题时,你才有能力给出自己的观点。因为这个世界上还有很多问题,你并不能在网上找到直接答案。

8. 固执己见和过度思考

如果你很难接受他人的观点,或者容易被次要问题打乱思维,你也很成为一个好的程序员。

现实生活中有两种程序员非常常见,第一种是那种思维过于狭隘,看问题只能从一个角度出发,另一种是喜欢过度思考,过度设计。而好的程序员通常能够合理的运用这两种思维。 dWfWnS.jpg 当你陷入一个问题而百思不得其解时,你应该重新审视自己的解决方案,看看是否可以从另一个角度看问题,而不是固执地一条道走到黑。而过度思考过度设计会使问题复杂程度呈指数上升,在解决问题的初期,陷入选择恐惧症会让你从心理上觉得你无法完成这项任务,但其实好的设计都是不断迭代出来的,而不是一蹴而就。

Done is better than perfect, 你应该时时记住这句话,软件在能够复用前必须先能用。

9. 痴迷于寻找标准答案

如果你认为程序开发存在‘标准答案’,你也很难成为一个好的程序员。

程序开发中我们所谓的解决方案从来都是在已有条件下各方权衡妥协的结果,从来就没有一个标准答案,都是在现有的开发环境,人员水平,项目时间,开发预算和各种主观客观的条件下经过权衡之后的结果。 dW5WnK.jpg 在软件开发中,那是真的条条大路通罗马,而哪条路是最佳实践,取决于每个问题背后的实际条件。

10. 神经大条,不注意细节

如果你不是一个注重细节的人,你也很难成为一个好的程序员。

编程是一个需要精确输入每一个字符的工作,这里面没有‘差不多’这种状态。 dW5qjP.jpg 在程序开发的时候,你需要非常专注在电脑屏幕上的每一个字母,每一个标点,一个小括号就可以让你的程序无法运行。而这种低级错误可能需要你话费大量时间调试。所以有句话怎么说,devil is in the details,魔鬼在细节里。

后记

虽然编程并不是一个非常容易学习的事情,但却是大多人都可以学习的本领,本身并没有任何门槛,而作为中国人,我们通常都有非常厉害的专注力,所以其实大多数人都能克服以上十点里的大多数。

所以如果你想学习编程,就从现在开始吧,但是记住以上十点,在你迷茫时,你总会在这十点里找到答案。

- EOF -

当你迷茫时

一杯咖啡,千行代码

欢迎关注公众号:一杯代码