zoukankan      html  css  js  c++  java
  • 【转】活该如此

    活该如此  

    铂 Platinum

    几 年前在家门口的一家小饭馆吃饭的时候,我想明白了“为什么所有的服务员都这么糟糕”的问题:老板只愿意为一个服务员的职位出这些钱,而一个服务员好到远不 止这些钱的时候,她就不会去干服务员了。当然,引申的还有为什么老板只愿意出这些钱,因为你去吃饭给他带去的利润只值这些,等等。

    佐 证我这个观点的是去年跟河北某 IDC 托管主机的时候,那个客服很不错,办事很麻利很干净,也试着自己搭站点什么的,偶尔还会问我一些问题,我当时就奇怪这样的人怎么会甘心当客服,果不其然, 几个月之后他就辞职了,之后换过两三个客服,不用说,都很糟糕,我还投诉过其中的一个。

    后来看到《卧底经济学》的时候,还知道有人做过正统的归纳、论证,提出一个词叫“比较优势”,末了作者还自嘲自己之所以可以靠写经济专栏为生,是因为更牛逼的人虽然可以写经济专栏写得比他更好,但是人家可以靠别的方式挣到更多的钱。

    在充分的市场竞争环境下,所有人都会坐到相对于自己来说最正确的位置,我还是喜欢更为简短且粗俗的描述:所有人活该如此。

    举个例子,公司和员工个人的利益有很大分歧,如 lifesinger 所说

    偶尔去蓝色理想转转,感慨JS版为啥这么多人在重复造轮子?感慨之后又感慨不重复造轮子的话,又怎么能学会JS?对于老板来说,复用性节约money,对于程序员来说,重复造轮子是学习的好途径。

    而最近碰到些事情,让我第一次认真琢磨一个以前从来不认为是问题的问题:为什么有人愿意屈就公司的需要而自毁前程。当然,答案也是上面说过的,活该如此。

    具体事情没法多说,只是一直做网站的我,从来没细想过,对倭外包、或者对 discuz/uchome 做二次开发的人,会有这么这么多,其实他们才是所谓 IT 行业的主流,而自己实际是被边缘化了的。

    在不同角度看这个问题是不一样的,首先事情本身到没到“毁前程”这种程度,以及对“屈就”的定量问题,就像物理性质的“弹性”概念,玻璃也有弹性的,看你跟什么东西比了。

    我 最大的“屈就”是在 05 年的时候写了几个月的 JavaScript,不过相信真正对 JS 很懂的人不会认为我这句话是冒犯。当时公司的那个客户端,本身界面要经常改动,还要跟网站本身有一些交互,所以我把这部分工作接下来了,软件的 GUI 部分只有一个 IE 窗口控件,除了常见的浮动窗口之类的效果,还要做个进度条效果,而且是很多进度条,总之我在给我自己定目标、找动力。但那总之都不是一个让人愉快的工作, 会在各种各样的地方出现所谓的“偶然复杂度”(不知道现学现卖的这个词是否恰当),比方说,当时蹩脚的杀毒软件会让我绘制的 DIV 菜单消失、某个版本的 msn activex 会导致页面出现离奇错误(尽管那页没用到 activex,但是禁用 msn activex 后就一切都好了)、某特定语言的 win 98 下的正则不能用两个 / 而必须用 new RegExp,等等等等,并且当时除了 prototype 刚刚在世界掀起波澜,还没有任何框架,我也只是在学习,也不可能马上用在产品上。等做得差不多了,也有一两个人可以勉强接替我这部分工作的人,我跟经理 说,我不想干这个了,假设接替的人胜任不了,界面的变动也只能暂时放放了。

    我的理由是基于直觉的:干这个有天花板。前几天还在一次面试的时候解释过这问题:互联网对高水平的 JS/CSS 的需求量太少了,如果全国需要 1000 个能解决 c10k 问题的人,可能相同等级的 JS 程序员也就需要 3 个,显然后者更有竞争难度。

    但直到两天前,我在买阮一峰翻译的《软件随想录》时顺便买的一本《Joel 谈优秀软件开发方法》里,重新看到了 Paul Graham 的《伟大的黑客》,我早就忘了作者和文章标题,也忘了是什么时候看到的了,但我记得其中每一段话的要素,下面这两段对我尤其重要,我一直把他作为判断工作的准则之一:

    所 有这类讨厌的小问题都有一个共同特征,既您从中学不到任何东西。写一个编译器很有趣,那是因为您可以从中学会编译原理。为充满 BUG 的软件编写接口程序您却什么也学不到,因为那些 BUG 是随机的。因此,优秀的黑客会尽量回避那些讨厌的小问题。这不是挑三拣四,更主要的是为了自保——长期面对那样的小问题会使人变得愚蠢。黑客们的做法其实 与模特们戒食乳酪的道理是一样的。

    我 不知道您能否培养出这些品质,但至少可以不去抑制它们。如果您有希望成为一名伟大的黑客,那么我建议您最好做到:一方面,绝不在枯燥的项目上浪费生命(除 非不这么做您和家人就会饿死);另一方面,做事必须有始有终、滴水不漏。我所认识的所有伟大黑客似乎都是如此,也许他们根本就没想过还有其他什么选择。

    纵使自己最终无法达到 Paul Graham 笔下的黑客标准,起码,你不遵守这些就肯定无法达到了。另外这还是我不沾酒的一个漂亮的理由:我觉得那玩意伤脑子,哪怕只损伤万分之一我也无法接受。半年前基于同样的理由我连可乐都戒了。

    回到最初的问题上,让我直白(可能会有尴尬)地把话说出来,如果你觉得你干的活挺傻逼的,马上跟老板说辞职,然后再考虑找工作的事,除非你自己也觉得,你只配干这种傻逼活。这是对我的几个同事想说而没能说出口的话。

    最近常常在想,03 年急于找工作的时候,是由于幸运,还是性格使然,而没沦落到改模板/做外包的工人,在目睹了像蔡學鏞所说的“大多數的工程師並不是「做了五年的系統開發」,而是「做了一年的系統開發,然後重複五次」”的实例后,还是有些后怕。

  • 相关阅读:
    LeetCode153 Find Minimum in Rotated Sorted Array. LeetCode162 Find Peak Element
    LeetCode208 Implement Trie (Prefix Tree). LeetCode211 Add and Search Word
    LeetCode172 Factorial Trailing Zeroes. LeetCode258 Add Digits. LeetCode268 Missing Number
    LeetCode191 Number of 1 Bits. LeetCode231 Power of Two. LeetCode342 Power of Four
    LeetCode225 Implement Stack using Queues
    LeetCode150 Evaluate Reverse Polish Notation
    LeetCode125 Valid Palindrome
    LeetCode128 Longest Consecutive Sequence
    LeetCode124 Binary Tree Maximum Path Sum
    LeetCode123 Best Time to Buy and Sell Stock III
  • 原文地址:https://www.cnblogs.com/CodeKnight/p/1936164.html
Copyright © 2011-2022 走看看