有时我会想,如果当年我没有学习编程,现在会变成怎样?当然,如果没有学习编程,我的职业生涯也会有所改变,但我相信,编程已改变我的思维。因为解决软件问题,我的人生已发生重大改变,而且越来越好。
少年时代的我缺点比较明显,经常未经查证或思考就下定论。如果我是个勇于承认错误的人的话,那还好,但当时的我实在自大,拒绝认错,还固执己见,甚至强词夺理,有时还逮住别人一点错误就追着不放。现在想来,那时的我居然还有朋友,实在惊讶。
对有上述缺点的我来讲,在大学学一年计算机课程,就像是撞一年的墙壁,而这堵墙就是代码。虽然现在人工智能已有进步,但你依然不能指望计算机能像人那样:你告诉它什么,它就会做什么,机器毕竟是机器,它只能遵照指令行事,一点不多,一点不少。因为计算机有它自己的语言:代码。
与电脑交流不像与人说话。计算机没有自主意识,它们不在乎某件事的对错,它们只按指令做事。这意味着你不能再简单粗暴凭意气与计算机死磕,因为计算机压根不理你。
如果你写的代码没能运行成功,只有一种可行的方法:找出你的错误。
这是我生命中最大的思维模式转变,编程要求我不断反思我做错了什么。如果我还像以前那样固执,结果只能是坐在椅子上对计算机发火,吼叫,毫无进展,但现在我要及时交付编程成果,就必须停止无理取闹,找出错误,驱使我使用不同的方法尝试,而不是像以前那样即使发现错误也坚持初始想法。
如此的个人成长并没有随大学结束而停止,反而随着工作的专业化而加速。我曾花好几天时间致力于解决一行代码;我曾在初始想法形成后好几天都投入全身心去编写代码;我也曾与源源不断冒出的错误争斗,发现一个漏洞就填补一个,虽然我总确信我填补每个漏洞都是最后一个,但事实是永远没有最后一个。
我也曾试过到最后,准备递交一个千疮百孔产品给老板说「这已经是我做好的作品了」。当时的我感觉很挫败,竟一时不能接受这样的自己,然后发现之前的整个编程分析方法都是错误的,接着果断放弃了那个曾倾注无数时间的产品,马上重写一个,仅用了两个小时。
两个小时!
这就是我做过的一切,它严厉提醒我:坚持初始想法几乎毫无价值,固执己见只会浪费时间。
同时,近年来各行各业的发展也不断警告开发者:软件开发是一个快速变化的领域,需要及时改变方向,更新技术。但依然有一些开发者仅选择他们熟悉的技术,结果只会让发现他们所学已经过时。即使他们可以说服公司非技术主管维持原样——这才是最好的维护方法,但这样只会让技术团队无法成为行业第一,公司也无法取得竞争优势。
从编程学到的经验并不仅仅应用在我的软件开发生涯,还应用到生活的方方面面。待人接物,我已更平心静气与宽厚;面临抉择,我已更灵活务实;更重要的是,我已接受有些问题不是非黑即白,没有简单直接的答案,唯一的解决方法就是沉住气,找出问题,分析问题,解决问题。
这些经验,从来没有人告诉过我,重要的是,编程在我生命中出现,改变了我,成就了更好的我。
本文翻译自《Programming Has Changed My Life》http://t.cn/Rf6OZCD
人生苦短, Python 当歌,想快速习得 Python 技能,来「编程思维 Python 基础班」。在这里,遇见专业老师,结伴优秀同侪,学习编程技能,掌握暗默知识。五期现已开放预约,快快预约课程并查看预习资料吧!
领取专属 10元无门槛券
私享最新 技术干货