性格沉闷、不爱说话、不懂浪漫、爱穿格子衫……这些带有刻板印象的标签仿佛已被烙在了程序员的身上。但对于程序员们来说,他们的活泼、浪漫,表现在各式各样的编程语言中。在这些语言构建的世界中,有一群七彩程序员,他们聪明、热情、极富创造力,在面对不同场景,他们有着不同的性格色彩。
赤色的荣耀心代表着程序员对编程的赤诚与热爱。对于程序员来讲,编程是一门艺术,编程能够做到的不是模仿和复制,而是创造和分享。
如何编写易读易用的代码?如何打造优秀的程序设计?如何不断进行重构?这是程序员们的不懈追求。对待自己的作品,他们有着极高的要求,有 “凡我出品,必属精品” 的自信,有 “代码改变世界” 的骄傲;对待自己不擅长的部分,他们会保持谦逊的态度,通过团队合作实现共赢。
编程是一门艺术,不只在于它的可创造性,还在于它的逻辑性。什么是逻辑?逻辑是指思维的规律和规则,简单来讲就是 “关系”。我们可以在天气与衣服之间建立起正确联系,如冬天穿羽绒服、雨天穿雨衣等……而程序员们则需要在代码与程序之间建立起正确关系,用强有力的逻辑思维来实现各类业务需求。
在建立起逻辑关系之后,程序员们就会开始思考如何编写既简洁又具有易读性、可维护性的代码。Martin Fowler 也曾针对程序员的代码逻辑说过这样一句话:任何一个傻瓜,都写得出能让计算机理解的代码,但是,优秀程序员写出来的代码,能让全人类理解。
黄色代表光明和创造,这一切都源于好奇心。好奇心是促使学习的源动力,它意味着不满足于现状,不局限于现有舒适区,不断地积极思考与探索,打破自己的盲区。
现阶段面对不断涌现的新技术、新趋势,程序员们会在好奇心的驱使下,不断地学习新的技术、掌握新的知识、提高自己的问题解决能力。早期写博客时,需要使用 HTML 编写,因此即便是一段简单的加粗也要用一串代码来完成。一位名叫 John Gruber 的程序员深受如此繁琐程序的困扰,他发出了一个疑问:有没有一种更易阅读、撰写的方式呢?在好奇心的驱使下,他与 Aaron Swartz 一起创造出了如今广泛使用的 Markdown 语言。
绿色意味着新生,新生需要活力与想象力的加持。我们需要打破对程序员呆板、木讷的刻板印象,重新认识他们的活泼心与创造力。
在程序员们看来,工作并不是无意义地敲代码,而是从固有的套路模式中寻求新意:早年间,信息、资料分布在互不兼容的操作系统和电脑中,互不相通,检索资料就变得异常困难。而 Tim Berners-Lee 为了解决工作中检索资料的麻烦,通过一种统一协议,把所有的系统都连接起来,让信息可以在网络上自由的流动,不再受制于某个单一系统。
这个故事恰好说明了,在那些我们认为已经习惯了的工作方式中,程序员们看到的是迎面而来的全新的挑战。
Perl 语言的发明人 Larry Wall 对此有个经典论述,优秀程序员应该有三大美德:懒惰、急躁和傲慢。
我们通常会认为,偷懒就是摸鱼、不认真工作。但对于具有偷懒心的程序员来说,问题是可以通过设计和程序被有效解决的。重复性的工作正是滋生偷懒心的最佳土壤,优秀的程序员会通过精细化的设计模式、高度抽象的模块、易于使用的接口和高度可配置的基础平台来解决这些问题,通过编写自动化工具帮助自己从这些工作中解放出来。
比如为了解放测试人员的双手,可以通过自动化测试工具 Selenium、Postman、ZTF 等将人工测试移交给程序运行,有效提高程序员的工作价值。
蓝色的完美心并不意味着事事做到无可挑剔的程度,更多的是指怀有 “可以做得更好、更完美” 的态度来处理工作或生活中的事情。
拥有完美心的程序员对自己的代码质量有严格的要求,他们会注意自己或团队的代码是否遵循代码规范,设计是不是尽可能简单,能不能进行重构……除此之外,他们还会持续总结先前经验,为后面的工作提出更好的改进方法。程序员们在这些 “反馈 - 改进” 中不断成长。
紫色为偏执心镀上了一层神秘的色彩。这里的偏执心并非贬义,而是自己对待职业的信念以及坚持的态度。七彩程序员的偏执不仅在于对自己工作的高标准和严要求,还在于对自己价值观的坚持。如果自己要做的事情与自己的价值观相违背,偏执的七彩程序员们会遵从自己内心的想法,选择自己认为正确的道路前进。
这种偏执在自由软件之父 Richard Stallman 的身上体现的淋漓尽致。Stallman 认为许多软件厂商限制用户自由修改软件的权利是有悖自由精神的,因此发起了自由软件运动。他并不是从软件的质量角度,而是从道德的角度来看待自由软件,他认为不自由的软件是非常不道德的事,只有尊重用户自由的软件才符合其道德标准。尽管有不少反对者或唱衰的声音,但 Richard Stallman 一直在身体力行地去坚持自己的自由理念,并 “一生都为使用者的自由而奋斗”。
对于七彩程序员来说,在面对不同场景,不同的性格色彩会帮助他们找到解决问题的最佳途径。在此基础上,我们经常谈论的 “码农” 也有了新的诠释:“码农” 并不是他们躺平任嘲的护盾,而是他们不断磨练能力、钻研技术、解决问题的最好写照。成为七彩程序员,你在行动了吗?