β

程序员的4种心态与4种将来

程序师 9 阅读


有一个小故事流传甚广,名字就叫做“三个建筑工人的故事”,烂大街了,不过还是可以看看。

三个建筑工人的故事

一天,一位记者到建筑工地采访,分别问了三个建筑工人一个相同的问题。

他问第一个建筑工人正在干什么活,那个建筑工人头也不抬地回答:“我正在砌一堵墙。”

他问第二个建筑工人同样的问题,第二个建筑工人回答:“我正在盖房子。”

记者又问第三个工人,这次他得到的回答是:“我在为人们建造漂亮的家园。”

记者觉得三个建筑工人的回答很有趣,就将其写进了自己的报道。

若干年后,记者在整理过去的采访记录时,突然看到了这三个回答,三个不同的回答让他产生了强烈的欲望,想去看看这三个工人现在的生活怎么样。

等他找到这三个工人的时候,结果令他大吃一惊:当年的第一个建筑工人现在还是一个建筑工人,仍然像从前一样砌着他的墙;而在施工现场拿着图纸的设计师竟然是当年的第二个工人;至于第三个工人,记者没费多少工夫就找到了,他现在成了一家房地产公司的老板,前两个工人正在为他工作。

程序员的四种心态与将来

从三个建筑工人的故事中我们可以看到:三个人起初职业相同——建筑工人,但对待同样的工作内容,他们的看法、理解、心态不同,这种不同最终导致了职业层次的不同。

当下的心态决定将来的成就 ,应用在程序员身上也是一样的道理。

我们知道程序员有很多别称,码字猴、码农、程序员、软件开发工程师等,不管是自嘲也罢他黑也罢,其实这些称呼也暴露出三种不同的心态。

1.写代码

码字猴、码农这两个称谓,折射出第一种心态:我的工作就是写代码。这和第一个建筑工人的回答是类似的。只见树木不见森林,眼光较短浅,只盯着荧屏前的那些ABC、if-else。

2.1开发程序

程序员这个称谓比较中性,它道出了程序员的基本工作内容:程序开发。

所谓程序开发就是通过某种计算机编程语言编写程序代码,让计算机解决某个问题。

当你把自己的工作看作是开发程序时,心中会有完整的程序概念,比写代码高了一个层级,对自己的要求也会高一些。

这种看法和第二个建筑工人所说的“我正在盖房子”类似。

这种看法,在我的理解中,还包含了另外一点:面向计算机。程序是面向计算机的,让计算机解决某个问题。停留在这个层面,可能会较少考虑人的感受,这也是一部分程序员的局限。

2.2开发软件

软件开发工程师这个称谓较之程序员更好一些,更书面化,也更能道出程序员的工作内容和方向:开发软件。

当我们谈论软件时,会更多地关注使用软件的人。根据我的理解,当你将你的工作内容定位在开发软件时,除了关注计算机如何执行软件,还会关注人如何使用你的软件,这样的话,你的理解比“程序开发”又略略高了一个层次。

开发程序和开发软件,我把这两点归结在一起,它们描述了程序员的基本工作内容,相当一部分的程序员是这么理解自己的工作的。不信的话,你随便找一个程序员,问他是干什么,看看他怎么回答。

3.解决问题,带来便利

其实我们程序员,做软件的目的是解决人们生产生活中的问题,给人们带来便利。

如果一个程序员能从这个角度来看待自己的职业,那他就超出了80%以上的同行。

有这种认识的程序员,在开发软件时心中有问题、有用户,往往会从用户的角度来考虑自己的软件产品是否是用户期望的样子,是否能解决用户的痛点。如果一款软件产品不能解决用户的问题,代码再优美,Bug再少,交互体验再好,也是垃圾。

4.让世界更美好

最后一种,单独加的哈,呃,太高大上伟光正了,是吧。但真的有这样的人,他在开发软件时,想的不是软件,而是如何让人们生活更美好,如何让世界变得更美好。

Linus Torvalds在创建Linux时心中一定有美好的梦想,拉里·佩奇和谢尔盖·布林创建Google时一定不光考虑了用搜索赚钱,扎克伯格写Facebook时除了好玩也肯定还有别的想法,乔布斯创建苹果并用“苹果”改变世界……

每一款伟大的、改变世界的软件产品,他的创始人都会有让世界更美好的愿望,那些最初参与其中的程序员们,一定有人深度认同了这个梦想,然后他们才能携手改变世界,让美好到来。

OK,这就是我认识到程序员的4种想法和心态,至于每一种会有什么样的将来,以下省略五千字……

作者:程序师
用程序师的眼光看世界
原文地址:程序员的4种心态与4种将来, 感谢原作者分享。

发表评论