编程的意义是什么,我为什么要编程?这是我不时想到的一个问题。这不不常来,但每次都伴随着对事业或人生目标的质疑,让我感到有些迷茫和不安。过去十年职业生涯,似乎总能在每个阶段找到一个让自己继续热爱编程的理由,直到可以不要再回答这个问题了。在这样一次又一次的循环中,我似乎渐渐明白了编程的意义…

编程是一门技能。大学毕业刚做程序员的时候,对技术是那么的热情。我不停地买各种技术书籍,几乎所有的业余时间都用来学习技术,提高自己的编程能力。所以我很快成为同批新兵中编码效率和质量最突出的一个。那段时间的技术积累已经成为我以后工作的坚实基础。编程作为一种技能,已经深深地嵌入了我的身体。

即使在今天,我仍然怀念我专注于技术的日子。我为自己在工作中能写出的每一行优秀代码而兴奋,更为自己每天能在技术上取得的一点点进步而欣喜。一切都是那么简单,编程对当时的我来说意义在于技术本身。

编程是为了解决问题能力越大,责任越大。"电影中的这句经典台词蜘蛛侠也适用于程序员的职业生涯。随着工作中技术能力和认可度的提升,我的职位也从初级程序员变成了高级开发工程师,再到后来的架构师。相应的,除了编程,我很大一部分工作时间需要花在和用户沟通,分析用户需求上。对我来说,角色转换的过程很艰难,甚至很痛苦。我不得不用我最弱的沟通能力来和用户打交道。什么此外,我习惯的技术语言有时对他们来说很难理解。

我很快意识到,我不再是那个只需要被动接受任务安排,完成编程工作的初级程序员了。除了技术,我还需要能突破程序员思考并发现用户背后的真正问题的需求。我变得比以前更加务实,不再刻意追求先进的技术,而是尽量从问题本身出发,选择最有效的技术手段来解决。

这时,编程的意义也发生了变化。它不再局限于技术本身,而是成为了解决问题的理想工具。

编程既是表达,也是创造。就这样,几年后,当为什么要编程?"这个问题再次摆在我面前的时候,我已经三十岁了。对于国内大部分程序员来说,这个年龄已经够老了,甚至很多人认为30岁了还在编程,一定是做得不够好。当然,我总是嘲笑这些问题。其实在这之前,我有很多转型的机会,比如去业务部门或者换管理层等等。但最终,我还是选择留在了技术岗位上,因为我觉得编程依然是我的最爱,或许也是我唯一擅长的。

而这个时期也成为了我整个程序员生涯的黄金时期。我写了公司的核心框架和一些重要业务系统的核心算法。我非常享受这段时间,因为我几乎感觉不到技术上的限制了。我更像是一个雕刻家在用手中的雕刻刀,自由地用编程去实现那些我认为很优秀的东西。

编程对我来说不再是一种技能或者工具,而是我在通过编程表达自己,创造。这种感觉给我带来了极大的自由,我从中感受到前所未有的喜悦和乐趣。

编程就是要留下印记。最后,我走上了管理岗位。个人可以控(包括大环境,家庭,经济等。).但我还是更喜欢被称为程序员或旧程序员。就像在简书的自我介绍里,我总是把全栈工程师放在那些标题。我也利用业余时间做自己喜欢的开源或者个人项目。当我再次问自己,为什么要编程?"我有了不一样的感觉:也许我们编程留下了一些痕迹。

最近,该公司担心一个旧系统的升级。这个系统已经运行了近20年。为了升级系统,每个人都要深入到这个系统的框架中,阅读底层代码。我们看了退休的美国同事Bill实现的数据库连接池代码。当时JAVA刚刚流行起来,还没有Spring这样的框架,也没有Hibernate或者MyBatis这样的标准持久层实现。这个系统中所有的数据库连接池和核心持久层代码都是我的美国同事写的,使得整个系统稳定运行了近20年。每个人都不能我不禁对他高超的技术水平表示由衷的钦佩。

我还认识一个从事证券交易软件研发的CTO。他应该已经接近50岁了,却还在亲自编写那些证券交易的核心代码。当我问他为什么到了这个年龄和职位还坚持写代码的时候,他告诉我,看到自己写的代码支撑着每天数千亿的证券交易,他感到非常激动和自豪,他不断希望通过自己的努力做得更好。

我的美国同事赢了听不到zan为自己十几年前写的代码叹息,投资人赢了我不知道CTO编写的代码支持他们的日常事务。那些优秀的代码,都是他们留下的痕迹。我们可以我不知道这些痕迹会持续多久,也许几年,也许更短,但它们都在我们的日常生活中产生了重要的价值,新的未来将建立在这些痕迹上。我想这可能就是编程的意义吧。

我似乎明白了编程的意义,但我知道,在未来的某一天,我一定会问自己同样的问题:我为什么要编程3354?我希望我还是那个工匠谁爱编程,到时候有独创性.