编程教我学会如何思考?

2023/7/6 10:13:30

毕业至今,一直都从事IT相关的工作,主攻微软Microsoft.NET相关技术,围绕这个圆,转了一个圈,画了一个圆,基本看懂了这个圈子里的一些潜规则,还有那些三教九流的文化,更看懂了那些技术与技术之间的关系,人与人之间的关系,人与社会的关系。

在这之前,全部精力都基本投入在如何写一手漂亮的代码,为了这个,后来还学了些的架构和设计,看的这些书比大学三年看过都要多,系统架构师设计师考试也还算准备得可以,现有些分心,不但负责着一小部分的代码编写工作,大部分时间都被项目管理而占用,这主要包括人员分配,进度控制,质量保证,协助他人解决问题等等。我是一个很不喜欢项目管理的人,相比管理,我更喜欢那些漂亮的代码,优雅的架构设计,朴素简单的编程方式,但这又有什么意义呢?

最近一段乔布斯的采访视频人气很高,这个唯一够改变世界的人在他的采访中谈到:“所有美国人都应该学习编程,学习一门编程语言,学习编程教你如何思考,就像学法律一样。学法律的人未必都成为律师,但法律教你一种思考方式。同样,编程教你另一种思考方式,所以我把计算机科学看成基础教育,是每个人都应该花一年时间学习的课程。”,看完采访,我也思考了下编程的意义。

细心般的认真。以前做事总是马马虎虎,自以为是,本来数学可以考满分的,由于少个符号,最后得分是98分,想想98分和100分的差距,不是技术和水平的差距,而是一种态度的差距,当走进的编程的那天起,人类就定义了两个常量:正确和错误,而并非语文中所说的那样表达不够贴切,发音不够准确,既是不准确,还是有很多人能听懂,但是编程不行,少一个字母就是错,错误与正确之间有着明显的界限,错误的代码是根本无法运行的,这让我学会了认真细心对待每一个字母的态度。

学会做事。走进编程,就看到海量的代码,需要编写的代码更不计其数,如何对当下的问题进行分类,也变成了一门艺术,重要的、不重要的、紧急的、不紧急的、重要而不紧急的、紧急而不重要的,紧急而且重要的,不紧急而且不重要的,他们有着坐标一般的关系,这让我学会了如何安排时间,如何进行计划,学会了做事的步骤。

责任心和逻辑能力。我们开发的系统,大多与移动支付有关,用户通过手机购买汽车票,支付完毕,去自动取票机打不出票,用户的投诉需要我们自己承担,因此每行代码都必须具有严谨的逻辑,这也迫使我们也必须要写出完美的代码,更重要的是为团队和客户负责,我们背负着这样的责任,诚信和责任对我来说是多么的重要。

不服输的精神。每次写完代码,最激动人心的时刻来到了,编译,当轻轻的按下F5时,几百个红点浮现在我眼前,程序报了几百个错误,为了给客户一个满意的产品,必须拥有一种永不服输的精神,编译,调试,再编译,再调试,直到正确。

那颗不死的耐心。常常看着整屏的代码,面对电脑,坐几个小时对我们来说是多么平常的,看着晦涩难懂的代码,拥有一般人是没有的耐心,但这又是我们的必修课,几千行代码,如果错一个小数点,结果却是截然不同的,这样长久的坚持,造就了一颗耐心。

好那么一点点,就那么一点点。有时候我们和别人做着同样的事儿,在每件小事上好一点点,就那么点点,长期下来,就好那么很多点,最后就超出对手很多很多,虽然那么一点点看起来并不重要,把它们积累起来,就成为一种优势。

这大概就是我理解的编程,它的确教会了我如何思考问题,如何做事,如何锻炼一个人,如何磨练一个人。