程序员的四种类型

不是每个写代码的都是程序员。这里,我把程序员定义为以编程为生的人。我认为世界上存在四类程序员:科学家、码农、专家和工匠。下面我一一介绍本身的观点。
 
科学家,与其说他们是程序员,不如说他们是数学家。他们发明了各类理论、算法和术语,教科书上那冗长的证实和计算也出自他们之手,其余的程序员都或多或少受益于他们的成果。有时,他们的一篇论文能改变整个业界的思惟方式,但他们一般不会也不喜欢把那惊世骇俗的理论商业化。相比之下,他们更喜欢沉浸在科学的象牙塔里,自得其乐,好不快活。他们是程序员中最不常常写程序的人,甚至有一些大师一生都没写过程序,你也许认为这违反了咱们开头对程序员的定义,可谁说编程非要用键盘呢?
 
码农,这个词汇来自网络上程序员的自嘲。但在这里,我把他定义为软件的主体实现者。正如农民工兄弟同样,他们是软件大厦的实际缔造者,他们一般熟悉或精通一到两门语言,在现有的架构下进行开发。他们是程序员中的蓝领,干着某种程度上的体力活,但这并非什么坏事,事情总要有人作,而且编程的自由行赋予了码农很大的创造和学习空间。若是认可本身是个码农并乐于所从事的工做,那也是件极其美好的事,可问题在于不少人并非本身愿意作码农,而是被迫成为了码农,他们本应是音乐家、运动员或者是商人,可由于种种缘由成为了码农,干着他们认为枯燥且重复的体力活,因此他们不开心,这种状态下工做身心俱疲,也就是他们最容易发出程序员吃青春饭,三十岁之后还写程序没出息,应该转管理之类的蠢话。可当他们真的成为了管理者,一般状况下,只有极少部分人找到了本身喜欢作的事,其余大部分码农仍将继续他们的抱怨。综上,码农是程序员中占比最大的群体,他们的可塑性最高,有刚学习编程的中学生,有刚参加工做的毕业生,也有工做多年仍乐于战斗在第一线的资深工程师;做为码农,首先要认可本身的身份,而后找到本身的兴趣与方向,或者乐于作一生码农,或者准备向其余三类程序员转换,再或者换个行业,追寻本身最初的梦想。
 
专家,他们在软件行业中摸爬滚打多年,见多识广且精于一个或多个领域。他们在公司里一般被称之为高级程序员,架构师或是CTO,他们一般设计软件大厦的结构,而后安排码农去实现,或者本身写一些核心代码。他们经验丰富,具备技术前瞻性,可以未雨绸缪,提早作出反应以应对软件大厦腐朽的趋势和业界的技术变化。他们性格单纯,喜欢本身的工做,且薪水不菲,经过阅读科学家的论文来保持与时代共同进步。软件行业很特殊,对于制造业,杰出者与平庸者带来的结果差距一般只有一到两倍,可在软件行业恐怕用千万倍形容都不为过。因此专家是公司的宝贝,任何一家公司都要不懈余力去争取或培养专家;同时,成为专家一般也是不少码农的终极梦想。所以,若是你是一位专家,请接受我致以的崇高敬意。
 
工匠,他们是很特殊的程序员,与其余程序员关心技术自己相比,他们更关注实现的结果,他们是把科学家论文商业化的实践者。对他们而言,重要的不是技术自己,而是利用技术创造伟大的产品。所以,你很难用前端、后台、DBA、安全工程师定义他们,为了创造伟大的产品,他们愿意学习任何技术,有些浅尝而止,有些由于须要或兴趣而精通无比。他们一般具备叛逆精神,本能地抵制权威,喜欢挑战某个领域的领导者,具备传统意义的黑客精神。他们对本身和别人都极其严格,具备很强的控制欲,喜欢插手编程以外与产品有关的事物,如设计、UI、市场等等;由于他们不但愿由于某个环节的失误而下降了产品的影响力,虽然他们并不老是对的。他们喜欢编程,但编程一般并不占据生活的所有,他们必定会有一些与大众眼中程序员气质不符的爱好,如吹笛子,打剑道,玩音乐,绘画,种地,旅行等等。他们特立独行,性格倔强,工做疯狂,只愿和优秀的人合做。由于如此种种,在通常的企业中,工匠很难共事,他们总会以为本身的才华受到了限制,周围的人跟不上他的节奏;他们在某种意义上是公司的不稳定因素,要么是天使,要么是魔鬼;绝大部分的企业不须要工匠,但对伟大或立志伟大的企业而言,工匠比专家还重要,专家能够把现有的产品作到行业领先,但工匠能够创造新的产品从而改变游戏规则。由于适合工匠的企业如此至少,他们中的有些人选择本身创办一个。
 
以上是我我的对程序员的分类,科学家、码农、专家、工匠;每个程序员依据技术能力,性格习惯必定会找到本身的类型,但一般或多或少都会具备其余类型的气质,有工匠气质的科学家,喜欢与码农并将做战的专家等等。对于每一位程序员,重要的不是你如今属于哪一种类型的程序员,而是找到你但愿成为的那种程序员,并为之努力。每一位程序员,都会有本身的精彩。
 

相关文章
相关标签/搜索