攻城狮

      从我踏入大学的那一刻起,我似乎就被打上工程师的烙印。纵然我考上了公务员,但是我仍然无法放下那门技能。用Python折腾文本处理,用Django开发应用监控系统,用utils来刷刷亚马逊抢aptamil。我从不喜欢别人叫我码农,因为我不是那种像农民耕作代码,日复一日的人。我只认同我是一名攻城狮,因为在这个领域,我有我独特的性格,我有我喜好,不是所有的与计算机相关的东西我都愿意接触。我只愿意和我认为,精巧与优雅的技术打交道,我追求人类的更高的生存状态,我希望把某一种语言发挥到极致,挖掘特性用最少的语句完成尽量多的事情。我从来不认同那些默默加班,放弃品位,用时间换空间的做法;我可以加班,甚至可以通宵,可能最后的产物只有几句代码,但是绝不会把时间放在那些代码的体力活上。很庆幸,我在中兴和在电信的工作都是这样的。虽然我不是一个极有天赋,能力极强的攻城狮,但是对一般的工作还是可以应付的。google加stackoverflow的组合其实可以解决大部分的问题,所以上不去google的时候,那就是阴天,大阴天。在我眼中,其实没有太多太难的东西,只在于资源有没有找对。编程只是个范型,正如设计模式一样,基于众多范型的架构元范型。其实软件业和建筑业是何其的相似,都是一个集成了艺术,文化,结构以及技术的产物,甚至设计模式的想法都是来源于建筑业。技术高超的架构师和设计师的价值就在于如何规划与整合各个系统里头的资源与功能,这种工作绝对不可能是先埋头苦干先写代码就能出来的。

      而当前的苦闷,正如人月神话的布鲁克斯所说的那样,项目就像一个巨兽和焦油坑的故事,越挣扎陷得越深,陷得越深越挣扎;当你拘泥于细节的时候,就如带领一个外科医师的手术团队,光有主刀医生,没有副手,麻醉师,护士以及好的工具。三年来,所有的专业技能没能制止巨兽掉入一个个焦油坑,也没能制止单人外科手术医生团队的出现,更无法阻止宏大的国际空港变成小直升机场。思成先生说,建筑师是幸福的,因为他可以看到很多美的东西;建筑师也是痛苦的,因为他也会看到很多丑的东西。我的痛苦不止于看到很多丑的东西,而是看着本来美的东西变丑却无能为力。或许这是每个软件工程师的痛苦,因为这份工作就要要求他考虑各种情况,各种异常,而且这个思考模式同时也融入了他的生活。同时包括我想放弃这份工作,换一种生活状态,我自己面临巨大的痛苦与挣扎,无不是各种switch和if-else的组合。

       每个受过算法训练或者系统学习过算法知识的工程师都会发现,所有的算法都是当下社会的抽象。从如何组织数据到数据结构,到排序,到遍历树,遍历图,分治法,对策论,其实哪一个不是公共管理政策的体现?这个说法延伸到计算机技术里头都是想通的。我曾经很想以散文的形式聊聊程序与人生,但是作为一个不太能算工程师的工程师,说这个有说服力么,如果是vczh说的话,那就不一样;而且我人生也不算成功或出彩,似乎也不具备什么说服力。如果说程序与悲剧人生,估计还是有点看头,然而我也只是不顺,离悲剧吧还有点远,至少我忍受不了把美的东西破坏掉,且慢我人生虽然不是悲剧,但是我总是这些悲剧的观众,太难受了。我只想谈谈这其中的贪心算法,我们总会被教育要有长远的目光,要有长远的打算,可是有人定义过长远究竟是多长?1m,1km还是1光年?明显前面扯犊子了,应该是1年,5年还是10年还是20年,抑或是一辈子?

假若猴子有一個容量為 80 單位的背包(猴子應該不使用背包的,一笑!),桌上有幾個蜜桃,體積分別為 65、35、35、30、30、20 單位,作為一日工作的報酬,主人讓猴子隨意取走桌上的蜜桃,裝入背包內,惟不可貪心,取走多於背包的容量,且放了任何一個蜜桃入背包之後,不可退出。在未有量度背包容積和蜜桃的體積前,猴子按貪婪算法,選擇了最大的一個桃,放入背包。猴子往後再試,累皆失敗,最後只能取走 65 單位的蜜桃,遂與 30 + 30 + 20 = 80 單位的最優解無緣。


旅行商问题,就是这四个城市怎么走,旅行者的总路程最短

上面的两个例子,分别就是贪心算法的不成功和成功的情况,猴子选了当前最大的桃子,却不是利益化最大的组合;旅行商要选择旅游过程中最短的路径,明显是需要全遍历才能完成的,但是每次都选最近的一个地点,却很有可能是比较短的路径,只是可能,但是却很省事。所以贪心算法就是,人面临选择,总是选当前利益最大化的,期望能出现旅行商那条较短的路径(有可能的是最优的,也有可能是最远的),但是如果出现猴子的情况,那就糟糕了,怎么说呢其实也不算太糟糕了,如果你不要求利益最大化的话。

回到选择的问题上来,如果你是我,你会跳槽么?

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,362评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,330评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,247评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,560评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,580评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,569评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,929评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,587评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,840评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,596评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,678评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,366评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,945评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,929评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,165评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,271评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,403评论 2 342

推荐阅读更多精彩内容

  • 程序员客栈的宗旨是:汇聚最优秀华人程序员,做程序员的经纪人。 我们会每周从一个维度来推荐优秀的程序员给更多人认识。...
    喵在野阅读 605评论 1 3
  • 创业之后,商业竞争的冷酷和现实的折腾会让人明白,初创公司,生存才是第一要务,文化建设,往往被抛诸脑后。我接触过一些...
    世相微语阅读 926评论 0 50
  • 作为一直号称支持平等权利,没有种族歧视的资深文艺少女,对于技术男歧视一直存有偏见。印象中的标准技术男:脚蹬361运...
    舒亦阅读 398评论 0 2
  • python中的list对象和c++中的vector类似 列表中实际存放的是PyObject指针 创建 PyLis...
    xncode阅读 257评论 0 1
  • 文件 目录(信息) 文件目录信息类 new File(String pathName) 此构造绝对不是创建文件,仅...
    itachi阅读 327评论 0 0