美文网首页技匠志杂集编程
我似乎理解了编程的意义

我似乎理解了编程的意义

作者: 技匠 | 来源:发表于2016-08-04 07:13 被阅读5174次

    编程的意义是什么,我又为什么要编程呢?这是一个不时会浮现在我脑海中的问题,它来得并不频繁,但每次却都伴随着对自己职业生涯或人生目标的质疑而产生,令我感到些许困惑和不安。而在这十几年的职业生涯中,我也似乎总能在每个阶段为自己找到一个继续热爱编程的理由,直到它已无法解答再一次疑惑的产生。就这样一次又一次的循环往复,我似乎渐渐理解了编程的意义......

    编程是一项技能

    回想大学毕业刚成为一名程序员时,自己对技术是如此狂热,我不断地购买各类技术书籍,几乎所有的业余时间也都被用来钻研技术,提高自己的编程能力。我也因此很快成了同一批入职新人中,编码效率和质量最突出的一个。而在那段时间里所做的技术积累,也成了我日后工作的坚实基础,编程作为一项技能已经深深地嵌入到了我的身体里。

    即使到了今天,我仍非常怀念那段心无旁骛,一心钻研技术的日子。我为能在工作中写出的每一行优秀代码而兴奋,更为每一天能在技术上取得的点滴进步而喜悦,一切都是那么单纯,编程的意义对于那时的我来说就在于技术本身

    编程是去解决问题

    “能力越大,责任也也大”,这句电影“蜘蛛侠”中的经典台词同样适用于程序员的职业生涯。随着技术能力的提升以及工作中获得的认可,我的职位也由原来的初级程序员变为了资深开发工程师,以及后来的架构师。相应的,除了编程之外,我工作中的很大一部分时间需要用来与用户进行沟通,并分析他们提出的需求。对于我来说这个角色转换的过程,是艰难甚至有些痛苦的。 我不得不用自己最薄弱的沟通技能去和用户打交道,更要命的是我所习惯使用的那些技术语言有时很难让他们理解。

    我很快意识到自己已不再是那个只需被动接受任务安排,并将自己的编程工作完成好就万事大吉的初级程序员。除了技术之外,我更需要能够突破程序员思维,去发现用户需求背后所隐含的真正问题。我比以前变得更加务实,不再刻意追求技术的高深,而是尽可能从问题本身出发,选择最有效的技术手段去解决它。

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

    编程是在表达,也是在创作

    就这样又过了几年,当“为什么要编程?”这个问题再次摆在我的面前时,自己也已过了而立之年。对于大多数中国程序员来说,这个年纪已经算是高龄,甚至还有很多人会认为30岁还在编程,一定是混得不够好吧。当然,对于这些质疑我也总是一笑了之。其实,在此之前我也有过很多转型的机会,比如去业务部门,或是转作管理等等,但最终我还是选择留在了技术岗位上,因为我觉得编程仍是我最喜欢的,或许也是我唯一擅长的吧。

    而这个时期也成了我整个程序员生涯的黄金期,我写了公司的核心框架以及一些重要业务系统的核心算法。我很享受这段时光,因为我已几乎感受不到那些技术上的牵绊,我更像雕刻师使用手中的刻刀一般,自如地运用编程来实现那些我认为优秀的东西。

    编程对于我来说已不再是一项技能或是工具,我是在通过编程进行着自我表达与创作,这种感受带给了我极大的自由度,而我也从中感受到了前所未有的喜悦与乐趣。

    编程是为了留下痕迹

    最终我还是走上了管理岗位,这里面有很多个人无法左右的因素(包括大环境、家庭、经济等等)。但我仍然更乐意被大家称为程序员或者“老”程序员。就像在简书的自我介绍中,我总是把全栈工程师放在那些“头衔”的第一位,我也还在利用业余时间做自己喜欢的开源或个人项目。当我再一次问自己“为什么要编程”时,获得了与以往不一样的感悟:或许我们编程是为了能够留下一些痕迹吧

    公司里最近都在为一个老系统的升级问题发愁,这个系统已经运行了将近20年时间了,为了升级系统,大家不得不深入到这个系统的框架中,去读底层代码。我们读到了一位已经退休的美国同事Bill所实现的数据库连接池代码。在那个时候JAVA刚开始流行,还没有像Spring这样的框架,或是如Hibernate或MyBatis这样标准的持久层实现,这个系统中所有的数据库连接池及核心持久层代码都是由我的这位美国同事写的,这些代码让整个系统稳定运行了将近20年,大家都不禁为他高超的技术水平发出由衷的赞叹。

    我还认识一位从事证券交易软件研发的公司CTO,看年纪应该已经接近50了,但他仍然在亲自写着那些证券交易的核心代码。当我问他到了这个年龄和职位,为什么还要坚持写代码时,他告诉我,当他看到自己所写的代码每天在支撑着千亿级的证券交易时,他感到非常兴奋和自豪,并不断地希望能够通过自己的努力将它做得更好。

    我的这个美国同事不会听到大家为他十几年前所代码发出的赞叹,股民们也不会知道这位CTO所写的代码正在支撑着他们的日常交易。那些优秀的代码是他们留下的痕迹,我们不能确定这些痕迹能够保留多久,或许几年,或许更短,但它们都曾经在我们的日常生活中产生了重要的价值,而新的未来也将构建在这些痕迹的基础之上,我想这可能才是编程的意义所在吧。

    我似乎理解了编程的意义,但我明白未来的某一天,我一定还会问自己同样的问题——为什么要编程,希望到那个时候自己还能是那个热爱编程,有着一颗匠心的“技匠”吧......


    简书签约作者:技匠,以上内容欢迎大家分享到朋友圈/微博等。

    相关文章

      网友评论

      • 0172258d2892:真情实感,写的真好,谢谢
      • 7700475cd846:首先说下,我是一名听障人,说简单点就是听不到,沟通不方便。很惭愧,跟前端有关的课程很少,HTML CSS JS是自学的,如果不算一大堆CSS的话最多不超过100行,学的不是很扎实,可能有点急,现在在自学JQ。

           有想过报培训班,但因为自身原因,因为培训班视频没字幕,就放弃了,我也知道加字幕是多大的工程,跟培训班导师聊天时,说过我的情况,她问我:“你真确定选择前端?沟通不方便做这个不太容易。”对她的疑问,我是有点迷茫,我也担心沟通的问题,前端是团队的事,沟通肯定是必须的,也不太可能一直用qq这么麻烦的沟通。但我不想放弃。虽然我也知道前端也多少会有关艺术,但我喜欢前端,我很愿意为此付出。看到前端网很多人发表的东西,我知道有很多人也跟我一样热爱前端,我很荣幸能跟你们一起努力,为了前端走下去。
           大晚上的写了这么多,很感谢能耐心看完的人。
        7700475cd846:@MeloDev 谢谢
        MeloDev:@告别小李 朋友我觉得你阅读书籍的速度应该很快,初学的时候看一些视频,等入门了就应该阅读大量书籍了和文字资料了,加油吧
        技匠:@告别小李 比起普通学习者,你所面临的困难和挑战都大得多,也需要更坚定的毅力,期待早日看到你的作品或成果。
      • 逗豆熊:这也同样是所有工作的意义。
      • seaman_huang:今年26了,本来高中毕业就准备学编程的,结果家里不让,后来学了别的专业,一去就是四年,现在转行了,自学了一段时间,感觉挺有兴趣的,不知道我还有机会吗?
        你的汤:@seaman_huang 我今年25,大学学的是土木工程,去年在家里自学了半年编程,完全零基础起步,现在已经成为程序猿半年了!加油!世上无难事只怕有心人
        a751ea284948:@seaman_huang 加油,如果是你真的想做的改变永远不会太迟
      • 曾滔:大一计科飘过。
      • 16af3c477491:越了解编程的意义,越往单身狗方向前进了。。
      • 顾宇:程序员+拯救世界的心态和使命=恐怖分子
      • Fisher_C:IT行业的薪水之所以相对其他传统行业高,一部分是因为有入门的限制,另外很大的因素是因为Coding一个工程,在一定的意义是创造,是创新。即使有很多的技术框架不需要我们自己来再造轮子,但是如何组织利用好这些框架去实现真是的事物操作,去解决实际存在的问题,这就是创造力,就是价值。人家不会因为你是技术超高而给你银子,人家是因为你可以有效的解决别人的业务问题,会提升别人的产能效率,亦或提升精舍愉悦度,所以别人会给钱。在这个任何事物都要虚拟化电子化的时代,我们赶上了风口。
      • 慢清尘:越来越没技术含量了…都是胡侃
        顾宇:@慢清尘 是啊
        慢清尘:@顾宇 你写的文章更加没技术含量了
      • 陈月古:更喜欢技匠这个词,匠是一种追求一种精神
      • 0a6c259e691e:我是为了写外挂装逼和快乐
      • c4c562945c0d:说的好!
      • 北平与长安:加油!
      • 七弦桐语:程序员改变世界 :wink:
      • shushuzhen:刚开始入行时不是很喜欢 但是当技术提升之后 感觉就爱上了思如泉涌时写代码时的状态
      • 代码小熊:了解了编程意义之后,还会有女朋友吗?
        编码的哲哲:@代码小熊 说的好,哈哈
      • 咸鱼爱学习:不错😄
      • NKming:我想如果是程序猿看这篇文章关注的是第一张图片是Xamarin Studio写ios应用
      • 65067d1326a2:为什么拿xcode写c++?
        65067d1326a2:@叮宕 配图就是Xcode = = iOS 用xcode写
        叮宕:@醋溜草莓便当 什么是xcode?我只用过eclipse 和 vim 。这个很好用吗?
      • eebbe4e3e3aa:我也是一名预备程序员,看了之后很有收获,加油
      • devzhaoyou:你肯定不是真的程序员
      • aa5ba408bfcb:程序员从入门到跑路
      • 叮宕:强力推荐一本老书《重构》。我在加一条,编程也是交流,首要是人与人的,不是人与机器的
        9ab7b839a5e5:创作是一种表达方式,需要交流互动才能解决问题。
        叮宕:@槑菜干超人 赞同。论点差不多的化,编程是在表达,也是在创作和交流关系也大
        槑菜干超人:@叮宕 其实交流的目的和博主的“编程是去解决问题”这一论点差不多,交流即为了清楚地了解问题,因为编程说到底就是用编程方法来解决人的问题,你说系不系?
      • Storydo:自己的职业正是自己的爱好,应该是值的庆幸的吧
      • dfe147f4a102:随心所欲这四个字多不简单
      • sjcandy:很受启发,谢谢😀
      • 追我心中的自由:谢谢前辈的分享,对我触动很大 @技匠
      • 追我心中的自由:对于刚从大学出来的我来说,编程就是一项我要不断提高的技能,为每天一点点的进步而开心 @技匠
        技匠:@追我心中的自由 :+1:

      本文标题:我似乎理解了编程的意义

      本文链接:https://www.haomeiwen.com/subject/jhfqsttx.html