有你在真好 的个人博客
什么是真正的程序员-连载Ⅱ
阅读:2215 添加日期:2021/3/30 17:45:06

没读上一章的可以先看昨天那篇文章哟~

好了,今天的故事开始吧~

第二章

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

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

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

我:"什么?"

"给我设计一个系统!"

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

什么是真正的程序员|连载Ⅱ

"我还不是很了解计算机,但是你好像是计算机方面的专家。我希望写一个blog程序,人们可以使用和访问它。求求你帮我设计一个系统!"

这是个令人惊讶的请求,并且我已经二十多个小时没睡了。我不是完全理解他所说的。我告诉他,做一个系统十分困难。我不知道他想要做什么:需要支持多少访问者;在哪里部署;所以我无法根据他提供的少量信息,设计一个合适的系统。

"没有关系,给我设计一个系统吧。"

所以我做了下面这幅结构图:

什么是真正的程序员|连载Ⅱ

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

所以我又做了下面这个:

什么是真正的程序员|连载Ⅱ

然后我给他讲解这个系统的工作原理。

我的新朋友 (printf)十分礼貌的说:"这不是我想要的,它又太复杂而且好多东西都是我不需要的。"

我感到十分不爽,我设计的这个系统考虑到了:冗余、监控、备份、缓存、负载、支付、故障转移、部署简单等等。我设计的这个系统都已经可以获得一份可观的咨询费用了!我已经失去耐心了,所以我就画了这个:

什么是真正的程序员|连载Ⅱ

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

"这正是我想要的!"

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

第三章

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

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

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

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

什么是真正的程序员|连载Ⅱ

真的想面条一样一团糟。

小printf跟我说:"通过这件事,我发现自己简直是一无所知!这个程序本来是根据我的需要写的。我原来的想法太天真了,后来我修复bug的时间和这个程序给我带来的便利根本不成正比!最后,变得跟我原来想的一点都不一样。虽然这样,我仍然认为这件事情让我收获了很多。"

一天早上,他决定离开我这里。"再见。"小printf跟我做了最后的道别。他想要出去看看世界,看看其他人写的程序。

小printf写的应用,最后因为不断增加的日志,导致硬盘没有空间,彻底的崩溃了。

第四章

什么是真正的程序员|连载Ⅱ

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

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

什么是真正的程序员|连载Ⅱ

傲慢的高级程序员说:"哎,过来新手!欢迎来到我所擅长领域,在这个领域我是专家!"

"专家?"小printf问到:"专家的意思是:可以编写任何程序吗?"

"是的!"傲慢的高级程序员回答道,接着他又说:"准确的说,应该是大多数程序。因为我只编写有价值的程序,我不会浪费我的时间在没有意义的小程序上。很多程序我都没有写过,但是他们都难不倒我!"

"额,所以你可以帮我完善我的程序?"小print问到,之后他开始阐述他的网站系统,但是傲慢的高级程序员打断了他:

"对不起,我觉得你的网站系统没有一点价值。"

小printf:"为什么?"

"经验,我擅长编写我开发的东西,我也只做我擅长的领域的开发。我需要确保我在我的领域的永远有价值。这叫做工作保障,也叫做适者生存。但这就是我的风格。我只专注于我的领域!"

小printf:"那你为什么不帮我呢?"

"花费我的时间去帮助你,意味着我需要花费精力去帮助别人,而不是提高自己----这对我来说不是一个好的主意。我的建议是:自己多努力,自己弄懂。还可以塑造你自己的心性"

小printf:"你说的方法,好想不是很高效。。。"

"你可以到学校去学,或者自学。事实上这种方法可以淘汰那些懒惰,只喜欢简单的事情的人。真正渴望知识的人才能成功!"

小printf:"你认为合作和同事不能帮助你吗?"

"不,我并不是这个意思。我做好的工作状态是:独立空间,没有让我分心的事。每次我和同事合作的时候,都是一次不好的经历。以往的经验:最好的办法是:把他们的代码拿过来重写。然后就可以了!"

小printf对这个不喜欢帮助别人的专家感到十分惊讶,不仅如此,他还因人为别人的技术不行而恼火。这个专家眼界是狭隘的,他只关心自己擅长的领域。活在自己的世界里。

小printf:"我明白了,我想我很庆幸你没有帮助我。"

"你什么意思?"傲慢的专家问到,貌似他的权威受到了威胁:"你不认可我,你是在质疑我吗?"

小printf:"并不是这样,就像你觉得我是一个累赘,令人恼怒的一样。我是来寻找帮助的,而不是来找骂的。"

说完之后,小printf飞快的跑出了傲慢专家的办公室。当小printf离开后,这个专家又重新找回了他所擅长领域的权威,同时自我感觉良好。

明天发第5-10章,记得关注我哟~



什么是真正的程序员|连载Ⅱ

原文来自:A Little Printf Story

ICP备案号:苏ICP备14035786号-1 苏公网安备 32050502001014号