程序员的工匠精神

什么是工匠精神

工匠精神,一方面,指的是工匠们对自己的产品精雕细琢、精益求精的精神:“工匠们对细节有很高的要求,他们追求完美和极致,努力把品质从99%提高到99.99%。”另一方面,指的是整个社会对能工巧匠由衷的敬意,给予较高的社会地位。而现代西方以制造业立国,一定意义上,制造业文化就是工匠文化,尤其是高端制造业,往往需要从业者乃至整个社会具备一种所谓的“工匠精神”。而工匠精神放在程序开发上面来看,是对自己程序的精雕细琢,对自己的程序负责,以及对程序的敬畏心态等各方面。

细节决定质量

其实,写好程序并没有太高深的学问,很多时候,一个问题没法解决,或程序出bug的,往往是细节没有做好。古人有云“一屋不扫,何以扫天下”,一个人的能力提升,往往也是从细节积累,量变而达到质变,首先有量的积累,然后就会有质的改变,而这个过程,几乎每个程序员都会经历过这样的过程。

而很多人在做开发,往往是和别人比,谁谁谁又学习了什么新东西,然后自己一定要想办法超越,然后又开始扎入另外一头去研究,然后各种基础的理论,什么架构啊,设计模式啊,基本上都懂一些,而其实并没有进行深入的研究,似乎懂得很多东西,然后自己也就会有种飘飘然的感觉。当然,不断的去研究新东西,这种态度,我觉得对于程序员来说,是一种很好的态度,但是不能舍弃从细节处的研究。

具体的如何从细节处研究,该怎么样在细节上面进行雕琢,我在此可以大概举一些例子或是一些情况进行描述一下。比如,在实现菜单点击按钮的时候,一般来说,点击后就弹出子菜单,然后点击菜单可以进行一些操作,但如果带着工匠精神去做,应该要考虑用户在长按的时候会不会有其他操作,用户按下去之后,颜色是否需要改变,长度高度是否需要改变,然后点击后加载菜单的底层应该如何实现达到相应更快更高效,是否需要验证权限是否可以点击这个菜单?等等,这就是从细节方面进行深入的思考,我觉得这就是程序员细节上该有的工匠精神。

对程序要有敬畏心态

对有的人来说,是玩程序;对有的人来说,是被程序玩;一般来说,就是分为这两种情况,但绝大部分人希望自己是在玩程序。我觉得想要玩程序,应该需要抱有一种敬畏的心态。这作何解释呢?看似与玩程序有冲突,实则不然。其实,如果你敬畏他,那么你就能更好的发现问题,发现自己的不足之处,而也才能做到更小心。而我记得也有一句谚语描述了大致是这样的一件事情:越是会游泳的,往往不是死于大江湖海,而是死于沟渠。而其实对于任何人来说,都看似不可能会发生错误的地方发生错误,而在看似会发生错误的地方反而不会发生错误,这是为什么呢?因为,越容易犯错误的地方,人就会越谨慎,越敬畏,而在看似不会犯错的地方,就往往会疏忽、自大,自然就出问题了。

而在写程序上的敬畏,我这里也大致说明一些例子来描述这些事情。比如写一个你经常写的功能,都应该做一下测试,看是否达到预期的效果,因为有可能你写的时候会大意,造成语法不对(一般人可能会说,用的IDE,不太可能出现这种情况没发现错误),或者由于环境配置问题甚至是SDK版本不一样而造成问题等等;而工作中,出错了,首先不要急于回答不是自己的错误,先思考然后在回复是不是自己的错误,解决方案是什么样的,然后进行总结,最好是整理成笔记,记录详细的错误表现和解决方案;这些都是对程序的敬畏,因为敬畏,所以认真。

善于总结,经常选择性的温习旧内容

我在上面的敬畏心态里最后提到一个关于错误的态度问题,这里,我对总结方面进行一下分析和大致分析一下如何去做。

开发,其实总结分为很多方面。一方面是在学习新东西过程中,与当前学到的东西或是结合自己的经验、经历对当前所学进行对比,总结;另一方面就是对错误进行总结,再者,就是对自己想到的解决方案进行解决;其他方面的总结。

而总结,我觉得非常重要的一点,就是形成文字,并做详细的描述,可以写在博客或发到技术论坛,或者是纸质笔记本记录,等等。如果是能分享出来,一方面能帮助别人,一方面可以得到更好的建议,再者就是可以做更详细的反思,这些都是不错的。如果不做总结,基本上下次通常会再犯,然后不断的进行迭代犯错过程,也许多犯几次会自动跳出这种犯错迭代。

而总结之后,不去看,不去回顾,也是没有卵用的。总结了,可以针对印象快淡了的,进行选择性的查看,反思,也许能温故而知新,或者会想出其他一些点子。而我往往也是通过这种总结,然后就会诞生一些如何让开发更高效的想法,然后就会思考能不能写一个自动化工具来让开发更高效,或是能不能形成更好的规范化文档,等等。

总结

本文我大致分为了几个方面对程序员的工匠精神进行了一些分析,以及如何去做等方面举了些稍微具体的例子,希望分享出来能给其他人一些帮助,并且自己以后能进行回顾和分析,思想能提高到更高的层次。

时间: 2024-12-18 19:51:30

程序员的工匠精神的相关文章

聊聊程序员的工匠人生

程序员的人生看起来五花八门,可以是Windows系.Android系.iPhone系等,这代码如人生的的IT行业,码农们也具有珍贵的工匠精神.泰山不让土壤,故能成其大;河海不择细流,故能就其深.优秀程序员的价值,不在于其所掌握的几招屠龙之术,而是在细节中见真著.来读一读网友 Hesey小纯纯的描述. 如果我们可以一次把事情做对,并且做好,在允许的范围内尽可能追求卓越,为什么不去做呢?追求卓越,追求完美,追求细节的极致.小时候看到那些修表 匠,握着一个小螺丝刀,或是看着电工,用烙铁沾着锡和松香,在

程序员到底是一个什么职业?

为什么有人在技术造神 大家应该已经感受到,技术圈这两年已经和娱乐圈创业圈差不多的氛围了,这其实是有原因的. 最主要的原因是,创业公司和创业媒体越来越多,他们需要大量的程序员投身到创业这个高风险的行业中,而造神,正是让程序员们自动跳进火坑的绝佳办法.不是说程序员不能创业,我是说,创业媒体们故意模糊了创造和创业的界限,把程序员们的创造冲动偷换概念,鼓吹了太多不适合的人去创业. 另一个原因是,招聘成本高涨,CTO们为了能提升影响力,不得不频频出席各种大会刷脸.文笔好的再做做自媒体和技术社群,既能强化个

程序员的出处

怎样才是一个好工程师 工程的本质不是创造,而是去风险化. 工程是关于如何低成本.高效率.按时按量完成既定任务的.所以判断一个工程师是否优秀,并不是他多有创意多有名气,而是看他有多稳,看他能多 GettingThingsDone,中文就是「靠谱」. 有时候一个好的解决方案,未必采用了最新的技术和框架,而是看上去朴实无华,功力都包涵在背后的细节里.就像顶尖高手打的斯洛克台球,每一杆都平淡无奇,只是因为上一杆的回球太到位. 有同学问,那我工程做的太好,岂不是没有机会遇到一些高难度挑战了么?放心,一般公

请叫我程序员 第9章

欧阳晓娟突然话锋一转,眉毛一耸,戏谑的问莫言:“话说,你感觉我是怎么样的女孩子?给点评价呗……”这个让自认为不善言辞的莫言心里顿时有点不知所措,同时,也在心中默默的组织自己的语言,没有办法,作为程序员的莫言,不善言辞,嘴笨,这个是他给自己心里最大的烙印. “这个……你很漂亮,时尚活泼而又开朗,和你聊天,很有亲近感,很容易接近人,所以,能和你相遇,也是我的幸运,这就是所谓的缘分……”莫言有感觉好像有人在注视着自己,扭头一看,原来是前台的那个服务员,发现她正盯着自己在看,那么专注的眼神,莫言看到她,

读《 这8种武器点亮程序员的个人品牌》总结

原文网址:http://blog.csdn.net/foruok/article/details/49582279 所谓程序员的个人品牌,按我粗浅的理解,就是这个程序员所做的那些让人觉得他有独特价值的事情.产品.活动. 看看程序员该如何经营个人品牌.主要有以下几点: 产品 所在公司和团队的背景 开源项目 技术博客 出版技术书籍 持有技术专利 证书(各种工程师证书.获奖证书.学历证书等) 口碑 1.产品 全球第一个走红的P2P音乐交换软件Napster,它的创始人是肖恩·范宁. 知名杀软McAfe

这8种武器点亮程序员的个人品牌

(本文曾发表于<程序员>2015.10.B期) 提到段誉,我们就会想起凌波微步和六脉神剑.提到乔峰,我们会想起降龙十八掌.提到王语嫣,我们会想到她惊为天人的容貌和熟知各门派功夫的渊博知识.提到欧阳锋,我们会想起蛤蟆功.提到李寻欢,我们会想起小李飞刀.提到-- 提到Linus Torvalds,我们会想起Linux.提到雷军,我们会想起WPS和小米.提到Bill Gates,我们会想到微软和Windows.提到王江民,我们会想起江民杀毒.提到侯延堂,我们会想起网际快车.提到-- 每一个人,不管是

最近对程序员精神境界的思考

曾经我是一个做windows mobile智能手机开发的软件工程师,我接触并学习了VC++,Win32,WTL等技术知识,这些技术知识都是围绕着微软的Windows体系的.我在追求精神信仰的时候,认为Windows即可是我程序员生涯中的信仰. 而这一切在2010年开始发生改变.2010年android表现出很猛的发展势头,我被安排做android开发而抛弃了windows mobile的开发. 直到现在,5年时间内,我又接触并学习了很多围绕android的知识体系.其中,我阅读了<running

我是程序员,如果我是一名工匠

[我是一名工匠] 现在客户让我造一些东西 根据客户要求,我先后造了 茶壶.榨汁机 等... [茶壶] [榨汁机] [茶壶]这东西客户用一般喝水的时候用, [榨汁机]客户在想喝果汁的时候用 突然有一天,客户突发奇想,说 [榨汁机]外观比较漂亮,也可以当[茶壶]用 这个客户从此就把[榨汁机]当茶壶用了 客户这样用了一段时间之后,又发现一些缺点,他感觉他把榨汁机当成茶壶用 这东西太重了 又告诉工匠,这个东西太重了,要减重 工匠虽然不耐烦,但是因为是客户要求嘛,不得不减重 怎么减重?工匠去掉榨汁机的 电

程序员的价值观与网络的复杂性

网络是极其复杂的,这种复杂包含混沌和不确定性,网络是一个典型的复杂系统.然而网络映射到程序员的心里,它只是一条确定的管道!这种思路会带来问题.程序员与运维/网管之间的斗争依然在继续,在这个无休止的争论中,我不断切换着自己的角色,这一次,我将站在程序员的对立面.        从我的故事说起,这些故事我故意打乱了时间顺序,请看到此文的人并且知道这些事的,不要往自己身上映射,纯技术讨论,无关褒贬! 我的故事一:手机访问慢 那是我刚毕业的时候了,在一家小公司做VOIP,我接手了一个Symbian UI