1.工匠
这是一群非常不一样的程序员,其他程序员对技术本身比较关注,但是这类程序员对实现的结果比较关注。对这些程序员来说,利用技术所创造出来的产品才是重点,技术本身不是重点.
因此,你很难用前端、后台、DBA、安全工程师定义他们,为了创造伟大的产品,他们愿意学习任何技术,有些浅尝而止,有些因为需要或兴趣而精通无比。他们通常具有叛逆精神,本能地抵制权威,喜欢挑战某个领域的领导者,具有传统意义的黑客精神。他们对自己和别人都极其严格,具有很强的控制欲,喜欢插手编程之外与产品有关的事物,如设计、UI、市场等等;因为他们不希望因为某个环节的失误而降低了产品的影响力,虽然他们并不总是对的。
这类程序员爱编程,但是编程只是他们生活的一部分。他们生活的其他部分,会是旅行、种地、绘画、玩音乐、打剑道、吹笛子,这些爱好,跟大家眼中的程序员气质完全不符。这些程序员还是工作狂、性格倔强、特立独行。
因 为如此种种,在一般的企业中,工匠很难共事,他们总会觉得自己的才华受到了限制,周围的人跟不上他的节奏;他们在某种意义上是公司的不稳定因素,要么是天 使,要么是魔鬼;绝大部分的企业不需要工匠,但对伟大或立志伟大的企业而言,工匠比专家还重要,专家可以把现有的产品做到行业领先,但工匠可以创造新的产 品从而改变游戏规则。因为适合工匠的企业如此至少,他们中的有些人选择自己创办一个。
2.码农
起初网络上没有这个词,这个词的由来,是因为一个程序员的自嘲。实际上,码农也就是软件的主体实现者。同千千万万农民工一样,他们只是软件大厦的缔造者。也许他们熟悉或者精通几门语言,开发现有框架。
他们是程序员中的蓝领,干着某种程度上的体力活,但这并不是什么坏事,事情总要有人做,并且编程的自由行赋予了码农很大的创造和学习空间。如果承认自己是个 码农并乐于所从事的工作,那也是件极其美好的事,可问题在于很多人并不是自己愿意做码农,而是被迫成为了码农,他们本应是音乐家、运动员或者是商人,可因为种种原因成为了码农,干着他们认为枯燥且重复的体力活,所以他们不开心,这种状态下工作身心俱疲,也就是他们最容易发出程序员吃青春饭,三十岁以后还写程序没出息,应该转管理之类的蠢话。
可当他们真的成为了管理者,通常情况下,只有极少部分人找到了自己喜欢做的事,其他大部分码农仍将继续他们的抱怨。综上,码农是程序员中占比最大的群体,他们的可塑性最高,有刚学习编程的中学生,有刚参加工作的毕业生,也有工作多年仍乐于战斗在第一线的资深工程师;作为码农,首先要承认自己的身份,然后找到自己的兴趣与方向,或者乐于做一辈子码农,或者准备向其他三类程序员转换,再或者换个行业,追寻自己最初的梦想。
3.专家
在软件行业中,这些专家摸爬滚打了很多年。他们对一个领域或者多个领域精通,而且见多识广。在公司里,这些专家通常被称为高级程序员、CTO或者架构师。他们通常设计好软件大厦结构后,安排码农去做,再自己写核心代码。
他们经验丰富,具有技术前瞻性,能够未雨绸缪,提前做出反应以应对软件大厦腐朽的趋势和业界的技术变化。他们性格单纯,喜欢自己的工作,且薪水不菲,通过阅 读科学家的论文来保持与时代共同进步。软件行业很特殊,对于制造业,杰出者与平庸者带来的结果差距通常只有一到两倍,可在软件行业恐怕用千万倍形容都不为 过。
所以专家是公司的宝贝,任何一家公司都要不懈余力去争取或培养专家;同时,成为专家通常也是很多码农的终极梦想。因此,如果你是一位专家,请接受我致以的崇高敬意。
4.(计算机)科学家
与其说他们是程序员,不如说他们是数学家。他们发明了各种理论、算法和术语,教科书上那冗长的证明和计算也出自他们之手,其他的程序员都或多或少受益于他们的成果。有时,他们的一篇论文能改变整个业界的思维方式,但他们通常不会也不喜欢把那惊世骇俗的理论商业化。相比之下,他们更喜欢沉浸在科学的象牙塔里,自得其乐,好不快活。
他们是程序员中最不经常写程序的人,甚至有一些大师一辈子都没写过程序,你也许认为这违反了我们开头对程序员的定义,可谁说编程非要用键盘呢?
两种不同性格的程序员
有两种极端原型的程序员——“禅宗的程序员”,我们称为心如止水的程序员,还有“不能克制分心的程序员”,我们称为心绪不定的程序员。两者都是非常极端的,所以他们应该处于贝尔钟形曲线的两端,对吗?
错。实际上,心绪不定的程序员是难以置信地普遍存在着。
图片的效果要比文字有用,所以我现在用图片来说明两种程序员的精神世界的状态。
心如止水的程序员
心如止水的程序员会怎么做?
他写代码。这是他做的唯一的事情,这也说明了一切。也许更重要的问题是什么事情他没有做:他没有受分心的影响。专注的注意力,专注的修改,专注的编码。一到两个小时的纯代码时间,然后才是 20-30分钟的休息,通常是离开电脑。之后他会继续开始写代码。(以上所说的时间只是一个例子。他可以用其它方式安排时间——不过他总是能平衡并搞定长时间的生产率。)
他的思维像平静的水缓慢地流动。当然它不像那种恒久不变的凝固的冰。
这就是心如止水的程序员精神世界看起来的样子:
![](https://i-blog.csdnimg.cn/blog_migrate/2e7603c5df9bb86be963049af241e19d.webp?x-image-process=image/format,png)
心绪不定的程序员
即使你的精神世界现在看起来像一个心如止水的程序员,只要你在编译的时候打开了 Facebook 或者检查了你的邮件还是做了其它什么事情。
几分钟之后它就会像这样:
![](https://i-blog.csdnimg.cn/blog_migrate/86584099884301cd435d232ff72ec61e.webp?x-image-process=image/format,png)
女士们先生们,这就是你检查你的邮件和打开 Facebook 后的状况。如果你还拥有一堆实时通知,即时通讯,还要去检查你的 RSS 源和推特,结果就是大脑像上面图中变成碎片的灾难一样。
你可能还没有完全从这张图恢复过来。不在特定的某天,任何时候都有可能发生。即使你把精神世界所有无用的东西最小化到任务栏,它仍会留在那里,不停地引诱你,消耗你的精神资源。朋友,时间就这样走了,你会困惑它是怎么不见的。
顺便说一下,如果你是一个心绪不定的人,你还是可以看看我们网站的网页漫画!不必立刻回来把这篇文章读完。别忘了订阅那个漫画源!看完所有的漫画后可以分享给你的朋友并聊聊!做这些事不会过于分心的,真的!
心如止水的程序员与心绪不定的程序员之间的区别
心如止水的程序员更倾向于长期的幸福感和生产率。他有能力高度集中注意力,关注目标。
心绪不定的程序员更倾向于短暂的满足感,长期这样不能到达全部的潜力并且会对他自己的身体和精神带来双方面的伤害。他不能定下心来集中注意力。
其实无论是专家还是码农,程序员都是为老板服务,为公司服务。有人说程序员的收入都很高,这句话虽然没错,但是又有多少人看到程序员的辛苦。在很多大型企业,加班到最迟的永远是程序员