什么是真正的程序员

文章略长,但是耐心读完,你肯定会受益良多!

第一章

(推荐看完整篇文章,再回过头看一遍第一章)

我非常幸运出生在一个电脑和电子游戏还没有普遍的时代。所以我可以和我的小伙伴们一起玩耍,同时发明属于我们的游戏。

我大学的专业是’多媒体’,但是我最终却从事’编程’工作。我觉得编程is amazing!我可以发挥我的创造性,同时又可以挣钱!之后我做了我的第一个游戏。

就这样,我知道了Scheme,后来我又去学习C语言。因为大多数的程序员都会C,同时我旁听了我们学校的计算机课程,跟着他们一起学习。因为,真正的程序员都知道数据结构和数学,但是这些我只略懂皮毛。我开始读技术文章和书,因为程序员的知识更新太快。

第二章

所以我忙于到世界各地演讲,教别人(夸夸其谈)。但是,大家似乎都相信我是一个真正的程序员。因为,我讲的这些事情大多都和编程无关。

一天,我结束了一个会议回家,飞机晚点。我愤怒的敲击着键盘,一个柔弱的声音打断了我:

“你好,能请你给我设计一个系统吗

我:“什么

“给我设计一个系统!”

我对这个请求很惊讶。我环视四周,发现一个渴望成为开发者的孩子。他叫’printf’(主角闪亮登场)。我觉得这个名字很傻。他的样子如下图:

他看了之后说:“不,这个系统还不够好。请给我再设计一个别的。”

所以我又做了下面这个:

我又告诉他:”这是你设计的系统,你要的系统在这个黑盒子里。”我希望这个滑稽的答案,可以打发他。但是他的回复让我十分惊讶:

“这正是我想要的!”

这就是我和小printf相识的过程。

第三章

过了一段时间,我知道了这个小鬼的编程水平。在他的代码仓库只有些小程序、 站的小demo、琐碎的程序片段。都是些不值得一提的东西。

之后他开始着手做一个需要很多模块的大型程序。这个程序需要socket、磁盘读写、用到真正的数据库。当它第一次跑起来的时候,小printf十分兴奋。但是,这个程序还不够好。

这个程序需要重构、更好的测试、文档、分析。它只运行了一段时间就崩溃了。然后一次,又一次的崩溃!

程序的设置是错误的,日志不工作、磁盘速度不稳定、 络卡顿、有bug、编码混乱、数据库需要清理、证书过期、没有异常处理导致问题找不到根源。

小printf走进了一个办公楼,想寻找有经验的程序员取经,获得一些建议和帮助。

他遇到一个骄傲的高级程序员,而且自我感觉良好。

然后,小printf又走进了另外一个办公室。里面有一个男士,他的座位周围都是精装厚厚的书籍(例如代码大全这种书)。

小printf:“先生,你有好多书啊!”

“是的,我想这些都是程序员必看的书籍,如果你没看过这些,你很难成为’大牛’(专业人士)。”

小printf:“我想我现在还是很菜,请问这些书里面你最喜欢哪本

“哦,是这样的这些书大多数我还没有读过。”

小printf:“那你现在是个’大牛’吗

“不,我还不是。”这个程序员很骄傲的说:“我其实是一个很垃圾的程序员。”

小printf:“这太丢人了,我正在努力变强。”

“你听过’达克效应’吗

小printf:“那是什么

“简单的说就是:能力强的人总是低估自己,能力弱的人总是高估自己。”

小printf:“也就是说,如果我觉得自己在变强,其实我并没有变强。”

“是的,你说的非常正确。你很可能在原地踏步。另一方面,我宣扬我是一个很糟糕的程序员,但根据’达克效应’。我是低估了我自己,所以我是一个好的程序员,你怎么看

小printf:“我。。。额”

“这就是为什么程序员都喜欢自嘲(称自己是码农也算吧。当你认为你足够好了,你就放松了,也就没有前进的动力。”(这句话我还是很赞同的??)

小printf:“你的意思是:一旦自我感觉良好,也就是正在走向失败,应该时刻觉得自己还不够好。”

“是的,但是用着这种方式应对所有的事很危险,如果你还没有拿到offer。这种方式会让你显得聪明,但是没有任何实际用途,别人不会因为你显的聪明就雇佣你。”

小printf:“你的意思是

小printf:“但是这样做有什么好处呢

“我想让他们知道他们走上歧途了,却又不明确的指出来。这表现的我比他们厉害。然而他们毫无头绪,像雾里看花。没有人能明白我的意思。哇咔咔”

小printf:“当别人请教你的问题,你不会的时候,你会怎么办

“这种情况下你就说到处都是问题,还有很多的不完善的事情要做,总之就是转移话题。然他们感觉绝望,最后还是要他们自己解决。”

小printf:“所以这就是你的立场是你的一贯作风会的问题装作对此无能为力,使得真正无法解决这个问题的人抓狂;当你遇到不会的问题时,你装作很了解,使得别人根据你的建议改善其它的地方,而与真理相行渐远,浪费时间”

“很多情况下,才能不是最重要的。但口碑很重要。人们雇佣朋友,不被喜欢的人和无关紧要的人会被第一个被炒鱿鱼(??MLGB)。要不就改变环境,改不了就要适应,适应不了就被淘汰。这就是’ 会’。企业中就是这样,学术界没准也是。做这行,你认识谁,学会推销自己,建立自己的声望。这样你才能在企业里站住脚。”

小printf:“如果在企业中工作是这么恶心,要给别人’使绊’。那么我真不想在这种环境下工作!(黑暗的办公室政治,还好我还没有遇到??)”

第六章

小printf??愤怒的回击道:“我不相信你说的。程序是脆弱的没错,但是程序员可以改善这一点,同时做出更好和有用的东西”

那个人没有任何回答,他在翻阅文档,尝试重新启动一个新的集群,但是情况却越来越糟糕。

小printf:“并且你应该相信有好的可靠的程。。”

“不可能”那个人打断了小printf,接着说道:“我不相信有可靠或者好的的程序!根本不可能!这是我的第一个感觉,因为我正在处理一个垃圾的系统。你没看见我想方设法地让这个东西跑起来吗实如此!”

小printf很震惊的看着他说道:“事实如此的好像自己是个专家!是你自己把一切都搞的很糟糕。这世界上有上百万的和久经考验的程序,它们也有bug,也崩溃。但是人们还是需要它们,使用它们。据我所知很多程序是没有问题的。出现问题的原因大多是因为电脑的环境配置问题,或者一个错误的操作造成的。你不认为这才是问题的所在吗

那个人听完哑口无言。

第七章

小printf来到了下一个办公室,这里又一个疲惫的女员工。桌子上杂乱无章,整个人无精打采,疯狂的打字。

小printf:“你好。”

这个女士没有停下了她的手头工作,继续疯狂的打字。

小printf又打了一遍招呼:“你好

女士这次停下了,拿起一瓶咖啡猛灌了一口。

“我有一份十分糟糕的工作。”她说:“我是devops(开发,运维,测试于一体的职位)。刚开始的时候还好,原来我大多数时间进行开发,然后抽出一些时间修复bug。但是,情况变得越来越糟糕,bug开始接连不断。为了摆脱这种情况,同时在规定时间内完成。我不得不使用一些’奇技淫巧’。”

小printf:“你为什么不雇人来帮你

“我很擅长做这些事情。我已经习惯这一切都在我的的掌控之下。还有因为他们已经习惯我可以hold一切,如果我提出我自己无法继续掌控全局的以后,他们很容易认为我在偷懒。”

小printf:“这真是叫人悲伤的故事。”

“事实就是这样子。因为你是最熟悉这些问题(bug??)的人,你只能变的越来越累,直到你的boss招了一个人顶替你原来的工作,这是唯一出路。但如果你担心其他人修改你写的东西时候遇到问题,你只能帮助别人改一个又一个的bug,当然这些都是你讨厌的事情。直到你对这一切感到麻木。”

小printf:“你真不幸。”

这位女士又被叫去工作了。

小printf自言自语道:“这个女人会被我原来遇到的那些人嘲笑的:那个高级专家(只专注于自己擅长的领域),摇滚开发者(过分追求新技术的人),故做高深的程序员(那个周围都是大头书的装X程序员)。尽管他是这些人里面唯一乐于助人的。或许是因为,她认为一切事情还是亲力亲为的好。”

第九章

小printf走到外边,发现了一个为慈善机构募集钱的男士。

“你好”那个男士说道:“你觉得帮助一些需要帮助的人的感觉怎么样

小printf:“那样可能会让我感觉更好,我在那栋建筑(遇到了各种各样的程序员的大楼)呆了一整天,寻求帮助。但是现在,我感觉比以前更加迷惑了。”

“嗯,我帮你分析下:那些人都是开发者,他们并没有真正帮到你是吗们喜欢说”程序员改变世界”,事实也是这样的。”

小printf:“那为什么我却毫无收获呢

“是这样的,他们最擅长做的事情是帮助把人们的工作变成程序,使人们变的轻松。软件正在吞噬整个世界,使世界焕然一新。但是事实上还这还是个旧的世界。因为以这种方式的改变,并不意味着事情变好。我们还是有些根深蒂固的问题(例如:思想的问题,或是缺乏创造性。)。”

小printf焦急的说:“怎么做才能让我感觉更好

那个难事深思了一会,最后提出让小printf帮助他,为需要帮助的人募捐。因为这个男士认为这种方式可以让他感觉更好。用一下午的时间,小printf把他的问题和他的经历都告诉了这个男士。

这个男士沉思了很长时间说道:“在个游戏中,他们从解决复杂的问题而得到快乐和他们看重的名声和身份,这种快乐是片刻的。因为最终,如果你解决的问题没有实际价值(为了解决问题而解决问题),忽略了’以人为本’。那么你永远不会得到真正的满足!”(说的真好!)

他接着又说:“随着你的成长,可能找到一家比之前更好的单位。可能是钱多,或者是因为这个工作更趣,这都很正常。只要你知道你自己想要的是什么!”

他最后补充道:“最后,当你解决了人们真正面临的问题的时候,你会觉得真正的满足!有的时候根本不需要计算机。”

“你花费了大量的时间在你的系统上。最重要的是:你忘记当初为什么创建这个系统,反而花费时间在优化系统上面,那么它就变成了一场炫耀的游戏。这才是最可悲的。”

“开发者经常忘记最开始的初衷(真正有意义的事情)。如果你失去做这件事意义,而是为了解决系统的问题,才花时间在这上面。这就是问题的所在(如果你只是为了做好的系统,而不是解决实际问题,那你就应该自我反思了)”

小printf不断重复这句话,想要印在脑子里:“只有在解决人们真正面对的问题的时候,才能获得真正的满足!”

第十一章

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年9月14日
下一篇 2020年9月14日

相关推荐