V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lianxiangru
V2EX  ›  程序员

牛逼的程序员跟大多数程序员差别能有多大?

  •  
  •   lianxiangru · 2016-04-29 22:20:57 +08:00 · 28742 次点击
    这是一个创建于 2916 天前的主题,其中的信息可能已经有所发展或是发生改变。

    感觉其实也差不太多,如果只是写普通代码,调用 API 什么的。 牛逼大概只能写某专业领域应用的代码才能体现出来吧。计算机图形学,机器学习什么的。

    第 1 条附言  ·  2016-04-29 23:11:33 +08:00
    而且感觉所谓的技术牛逼的程序员 约等于 数学稍微好那么一点的程序员。。。
    第 2 条附言  ·  2016-04-30 18:38:57 +08:00
    我的观点是好的程序员对细分领域的了解,可以让他写出一个普通程序员写不出来的东西,这种东西往往需要理解复杂的内在逻辑,比如数学。而普通的工作,调用一下 API 之类的,则往往区分不大。想请教的是从各位已工作的人的角度看,这段话妥当么。

    无意引战,抱歉。
    228 条回复    2016-05-03 10:41:21 +08:00
    1  2  3  
    lianxiangru
        101
    lianxiangru  
    OP
       2016-04-30 18:43:47 +08:00
    @Taojun0714 呵呵。请你能不能拿出一点证据。另外不懂编程还不影响发 paper 的 CS 里只有 theory 有可能了。 ML theory paper 现在也是一定要附上实验部分的。 Theory PhD 占 CS PhD 只有一小部分,而且他们也会写 code 。你到底懂不懂啊。看着你打滚我都累。
    TangMonk
        102
    TangMonk  
       2016-04-30 18:46:45 +08:00 via Android
    学习能力和对编程的喜好不同
    ihuotui
        103
    ihuotui  
       2016-04-30 18:50:07 +08:00
    当你不知道两者区别代表你的水平还在之下,例如一个低级程序员面试一个中级,一个高级,就判断不了中级和高级的差距。只有水平高于它才能判断。
    Taojun0714
        104
    Taojun0714  
       2016-04-30 18:52:30 +08:00
    简单总结下我结论,免得很多人没看完曲解:

    1. phd 跟软件工程师已经属于高度分化分工的工种,虽然,前者看中科研能力,后者重视实际工程能力, phd 门槛当然高,所以对比的对象应该是做了同等年限的资质相当的工程师,但科研上的能力和成果绝对不能简单理解为工程上的实力。

    2. 牛逼程序员的标准跟 能否实现算法 在通常语境下差距太远,既不是一个范畴,也不是一个深度。后者包括控制专业,电气专业哪怕物流优化专业都可以做到,但他们称不上程序员。

    3. cs 方向 phd 水货和 phd 科研不水但编程水 在世界上存在太多了,简直是个常识。

    4.phd 就是工作,在欧洲完全是发工资,同样工作四五年因为工种不同而产生优越感很神奇。还敢三个代表全球博士的心很宽,猪队友都装作没有。
    qwerasdf
        105
    qwerasdf  
       2016-04-30 18:54:25 +08:00
    牛逼的程序员不会问这个问题的区别
    lianxiangru
        106
    lianxiangru  
    OP
       2016-04-30 19:04:19 +08:00
    @Taojun0714 你自己树个靶子,打得欢。我从来没有说科研能力等于工程能力。
    我说的是好的程序员往往是通过可以写普通程序员写不了的东西来体现。

    你一个自己 PhD 学位都没有的人,无中生有出来数十万次 PhD 找本科生写作业,还不承认 PhD 毕业要求,甚至 PhD 不会编程不影响科研的神论我已一一反驳过了,不再赘述。

    你再无理取闹,我就要屏蔽你了。
    Taojun0714
        107
    Taojun0714  
       2016-04-30 19:08:07 +08:00
    CS PHD 四种:科研能力很强,编程能力很强(当然定语可以有极强神人这类,不用多说);科研能力很强,编程能力很弱;科研水,但写代码牛逼;都很水,但顺利毕业,自然还有没能毕业的。上述四类我都见识过。题主你是什么位置,自己对号入座。问题是在题主脑里 phd 就分两类: 科研编程能力强,科研编程能力弱。
    Taojun0714
        108
    Taojun0714  
       2016-04-30 19:13:52 +08:00
    @lianxiangru 不好意思,我一直在说两个语境:很多博士编程烂,跟 会实现算法不等于 编程牛逼。

    请你不要反复的的把两个语境混为一谈跟我辩论。

    编程烂的博士可以发 paper 可以顺利毕业,你才接触过几个方向啊?

    会实现算法的博士跟牛逼程序员不是一个技术栈上,是不是牛逼程序员没任何关系。甚至那只是个基本工,这是说你。

    这是两个语境噢
    Orzpls
        109
    Orzpls  
       2016-04-30 19:17:03 +08:00 via Android
    可以删了这个帖子不。
    lianxiangru
        110
    lianxiangru  
    OP
       2016-04-30 19:19:13 +08:00
    @Orzpls 可以啊,我早就想删了,请问怎么操作?
    xuwenmang
        111
    xuwenmang  
       2016-04-30 19:29:12 +08:00   ❤️ 1
    你们两人是有完没完。

    生命是有限的。人类文明就是靠各司其职。

    牛逼人就是:他干哪行都牛逼,只要他想干。

    马云来写代码不会比你们差,他去研究碳纤维也照样牛逼。


    终结:牛逼人就是牛逼人,他干啥都牛逼。因为他的定位就是:我要牛逼!
    starqoq
        112
    starqoq  
       2016-04-30 19:39:44 +08:00
    (所以我们都不撕逼,直接看 cf 、 tc 的 rating 。)
    io
        113
    io  
       2016-04-30 19:39:59 +08:00
    我认为牛逼的程序员应该是要能写出普通程序员永远写不出的代码出来。这种区别源自理论上的积累的差异。如果程序员只是调用 API ,就算把 API 玩得溜溜转,那和把挖掘机玩的溜溜转的工人也并没有太大的差别。真正在改变世界的实际上还是 API 、挖掘机背后那些程序员、工程师、科学家们。
    当然,人各有志,挖掘机工人工资说不定比工程师的还高呢。只是我认为牛逼的程序员是一个光荣的称号,不应该颁发给只会用别人的 API 的人。
    lianxiangru
        114
    lianxiangru  
    OP
       2016-04-30 19:53:37 +08:00
    @starqoq 2333 像 h-index 之类直接量化是一个办法,可以避免很多争执。
    lianxiangru
        115
    lianxiangru  
    OP
       2016-04-30 19:56:54 +08:00
    @io 嗯,感觉本质上是可替代性的问题。
    allan888
        116
    allan888  
       2016-04-30 20:03:24 +08:00
    @Taojun0714 你说话废话忒多,我看了半天才明白过来你在扯啥。
    我也先简单总结下我结论:你是都是垃圾无疑,你代写作业的 PhD 人品有问题。
    瞎扯点别的,
    1. 你的论据基本都是名人名言类型,根本站不住脚。别的不说就说 vczh ,你认识他吗?他说水,你配吗?
    2. 你配说 CMU 的最低水平吗?既然你觉得 CMU 的 PhD 有水货,你拉一个出来大家看看不就结了。
    3. 名校 PhD 找你代写作业有两种,一种是不会做,一种是因为浪费时间,这点我也不想洗,毕竟代写作业已经触犯底线。但是这点能证明人家不会编程序也很牵强。况且根据你满嘴跑火车来看,我不知道什么学校在你那边叫名校,或者说你能不能说说你觉得你在德国的学校是不是名校?
    4. 你说的话里面,“同样工作四五年因为工种不同而产生优越感很神奇”你觉得你工作四五年和比尔盖茨工作四五年是一样的?“这种尽皆知的常识居然还不信”至今没证据,“ phd 科研不水但编程水简直是个常识”这个常识目测大家都没听过应该是你 yy 的。
    6. 咱既然都是编程序的,还是拿证据说话。你随便列出几个“你觉得” CMU 编程序不行的 PhD 就行,不需要你帮他做过作业,我想也不得罪人。既然你这么牛逼,加上 PhD 不会编程序是常识,应该一半的 PhD 都不如你,这个应该不花太多时间。
    7. 实在是心软,不想挂别的 PhD 出来的话,随便放个 Github 或者你写的代码就行。
    allan888
        117
    allan888  
       2016-04-30 20:10:59 +08:00
    @Taojun0714 然后我看来看去你这句“但有现在在欧美名校做 phd 的当年编程作业是找我跟我同专业同学代写的”,颇有些滴水不漏的赶脚,“欧美”到底是欧还是美?“名校”大家标准也不同,到底是 top 多少?“当年”的话到底你替他做作业的时候他是不是 PhD ?“我跟我同专业”到底是你,还是你同专业的,到底多少是你写的?
    我算是知道为啥看你发的东西头疼了。顾左右而言他,也没点干货,费劲。
    Taojun0714
        118
    Taojun0714  
       2016-04-30 20:29:46 +08:00
    @allan888 哎哟卧槽,你这逻辑真是感人之极啊: 1. 你跟答主认为 phd 没有编程水货,自己会实现个算法就是牛逼程序员,公开代码的不应该是你俩吗?不对啊,应该是只要找到一个 phd 的烂代码 就足矣 终结话题,你敢吗? 2. 我配啊,你眼里的配不配就是 phd ?我配不配跟我认不认识轮子哥 ,跟 phd 很多编程水货这个事实,跟我说的每一句论点有半点关系?逻辑如此感人,对事实论证不敢直答,开始问配不配?你这博士可是真 low b 的极点啊,现在网上小朋友都知道,我也人身攻击一下,你算哪个货也配跟我说话?

    我习惯总结陈词:来吧,这位张嘴配不配的来跟我解释下,我认识不认识轮子哥,配不配, 跟话题有半点关系?呵呵。

    我还是问你这句话:世界上的 cs phd 是不是都很会编程啊?是不是实现个现有算法在你这种水平的人眼里就是大牛了啊?

    逻辑感人,智商捉急。
    lianxiangru
        119
    lianxiangru  
    OP
       2016-04-30 20:32:03 +08:00
    @allan888 别跟他扯了,浪费生命。
    Taojun0714
        120
    Taojun0714  
       2016-04-30 20:34:17 +08:00
    @allan888


    看了你那个问题的自我简介,不 copy 了,给你留面子

    原来是这背景,配,太配了,你太配你对我说的你的认知了。
    Taojun0714
        121
    Taojun0714  
       2016-04-30 20:38:36 +08:00
    @lianxiangru 看了那位自我介绍,我太理解为啥张嘴闭嘴配不配,没事就跪了呢,打铁还需自身硬,膝盖软可以理解,哦还有一句话,距离产生美嘛。
    allan888
        122
    allan888  
       2016-04-30 20:54:28 +08:00 via iPhone
    @lianxiangru 嗯,拉倒了,目前看来跟疯狗差不多了……
    @Taojun0714 不过你还是 copy 一下比较好,我想看一下那里让你觉得不配了。
    forrestchang
        123
    forrestchang  
       2016-04-30 21:54:46 +08:00
    @Taojun0714 @lianxiangru @Taojun0714

    程序员之间能动手( Coding )就尽量别逼逼。( GitHub 上开一个 repo 互写 Tokenizer ,笑:)

    另, PhD 肯定也是有水货的,但是比例肯定很小,不会写代码的情况应该更少,现在即使纯 math 的 PhD 也要手撸代码。但是编程能力一般确实挺正常, 因为有时候写 paper 这种东西更多地和搬砖没有太大关系。

    你要说能写 paper (不是水 paper )却调用不来 API 这肯定是不可能的。

    CMU 的 Master 可能有些比较水(零基础转专业),但是 PhD 看看每年都招的哪些人就知道了。 15-410 某 TA 曾刷完了 CSAPP 上所有的参考文献,后来去搞 iOS 越狱去了,这应该算得上牛逼的程序员了。

    http://sijinjoseph.com/programmer-competency-matrix/

    感觉只要达到了 Level 3 就已经很牛逼了。
    yech1990
        124
    yech1990  
       2016-05-01 01:15:29 +08:00 via Android
    @allan888
    @lianxiangru
    那 taojun0741 就是一个知乎看太多,代码写太少的民科,何必较真。

    Ph.D 工程能力不一定有普通程序员厉害。因为 PhD 本身就不是职业培训,要花精力思考可能永远不会出现的问题,构建永远不会再用到模型。追求的是 Philosophy 的美啊。。。
    争论产生是原因是很多人觉得 PhD 就是多训练了几年,所以应该厉害啊… 可是 Philosophy 的 training 和 engineering 的 training 是两码事啊,怎么比…………
    jsyangwenjie
        125
    jsyangwenjie  
       2016-05-01 01:29:03 +08:00
    我觉得吧, Phd 里面肯定很多不怎么会写代码的,特别是 ML 还有 theory 领域的, ML 嘛,装 caffe 调参,除非他做的方向可能是像 Yangqing Jia 那样的(逃)。
    但是这个人数和比例问题谁也不好说啊,总不能说周围有一个 PhD 不怎么会写代码就说比例很多吧。
    wy315700
        126
    wy315700  
       2016-05-01 01:33:22 +08:00 via Android
    你让牛逼的程序员做普通的事情 当然没差距


    牛逼的程序员就是做牛逼的事情的。
    Taojun0714
        127
    Taojun0714  
       2016-05-01 01:55:36 +08:00
    @yech1990 请问你说这段话的跟我说的有一句意思不一样?不过又嗅到一个试图捍卫全球 phd
    Taojun0714
        128
    Taojun0714  
       2016-05-01 02:01:34 +08:00
    @yech1990 原来还是个问 github 怎么管理, Vimtutor 练没练过的.........算了,我真心理解你们
    kingddc314
        129
    kingddc314  
       2016-05-01 02:16:33 +08:00 via Android
    不知道 PhD 什么意思路过,你们都好专业的样子
    paulagent
        130
    paulagent  
       2016-05-01 02:47:05 +08:00   ❤️ 1
    @kingddc314 pretty huge dick or permanent head damage
    Taojun0714
        131
    Taojun0714  
       2016-05-01 03:21:32 +08:00
    @forrestchang @forrestchang 我发现一个人能正常阅读超过 500 字的文章是很困难的,虽然你说的东西貌似很公正,但我必须更正你几点:

    1. 我在这个话题下没有任何必要去比试代码,如果基本逻辑过关的话,很显然能明白我只要举出一个写代码很烂的名校 phd 反例就能技术性击倒答主论点,反证法嘛。我能判断一个 phd 写代码很烂以及亲身见过就足够资格说这个话了(回某位资格论)。而坚持捍卫全球 cs phd 声誉的题主必须证明全球所有 phd 在编程能力都不是水货(这是话题一),当然这不可能。而题主认为能实现算法这种本科高年级硕士基本功就代表了牛逼程序员能力(这是话题二,不可与一混淆),显然也丝毫不能让人信服,该出示代码证明自己论点只有答主自己。当然,对于 cs 博士科研好但写代码很烂大有人在这个我觉得已经是 common sence 的事情答主和个别小水硕认为是不可能,

    但他们试图捍卫全球 Computer Science 所有相关专业博士写代码能力不可能水的决心和勇气不得不佩服,说句题外话 tokenizer 大概是大二编译原理随堂大作业的要求,而我之前说过手撸个富文本编辑器反而是要求很高,有试过的都承认。

    2.CMU 的例子仅仅是随手给出的证据,我从来没有试图把 phd 范围局限在 CMU 上,明明我说过接触过科研编都很牛,科研牛编程水,科研水编程牛,全都水的四类人(定语还可以变成大神等), CMU 等名校 phd 牛人很多,这个事实我从来没否认,跟我的观点有何种对立?那个连接给的就是一个 CMU 博士自己的 homepage ,请问他写代码牛不牛跟全体 CMU 博士有什么关系?没有任何证据能证明 CMU CS 相关 phd 在编程上真的都能达到所列的基本要求,(Level 3)的描述是本科课程第一堂课的前言,类似于一个程序员应该掌握的事项技能这种文章....红黑树 AVL 这些不是大一算法基础课么?但我也相信不提前准备让所谓很多博士手写的成功率大概是多低(我当然知道 CMU 科研编程都很牛的人乃至大神很多,但为了让阅读能力不好的看清楚点,我不得不重复强调,我一直都在尊重科研,尊重编程能力强的人)

    3. 聊一下博士招生,从中国直接去美国名校读博的确实大多不水,牛人众多。但这里有一点,博士录取在于教授拍板,硬性指标看相当看中 GPA , GPA 成绩完全可以靠笔试刷上去,这就很有意思了:一个已经分化出软件工程和可计算性理论这么大差别的专业,在科研博士申请上看中的 GPA 成绩是无法准确反映工程实践水平,在大学里有相当多的高绩点学生是靠刷笔试刷出来的成绩,平时实际编程作业抄抄补补过的大有人,应试水平奇高,算法全硬背的也有,编程这东西纸上得来终觉浅。其次看教授要不要你,教授要是觉得你对胃口,手底正缺人,语言水平好都可能有助申请,这些显然跟写代码能力无关。再次非国内直接申名校的上去更容易,其他各种手段都是条条大道通罗马不多说,但我必须承认, GPA 高也是硬实力,运气好也是实力,语言能力也是实力,这都有助科研,名校 phd 门槛高这点我当然也 100%认同(做机器学习,自然比 php 门槛高多了:一个理工科本科嘛),但能反应此人的写代码能力一定高?----二者根本不相关。我给你举个极端的例子:英国水校纯 cs 出身(还是随手举个例子没黑英国)->跳到名校一年硕士->跳到美国欧洲名校读 phd 完全可能出现,而这个从本硕博科班连读的人可能连编译原理都没学过,操作系统基础知识早就精光(很多 cs 博士方向根本不需要,什么并发异步回调线程设计模式抽象能力 functional programming 这些概念一脸茫然,貌似听过上课提过),懂 python ,会 php , GPA 高,这种 phd 大量存在一点不奇怪,转专业的不说了。

    4.隔行如隔山,距离产生美,换个专业聊个入门的东西很可能被其他专业的人跪拜,这事网上屡见不鲜,事实上很多 phd 走的路越读越窄,毕业在公司继续从事的是科研。能读 phd 但不乐意读或者自觉不擅长科研的人太多,我知道你四年努力在科研上,你这几年压力大过的不容易,但其他认真工作上进钻研技术的人的时间也没被狗吃了啊?个人好歹也算见多识广,不得不承认平台这玩意儿确实太重要了,但站在不同平台上的人,可不一定是平台高者个子一定高,往上爬的门路太多,旁门左道拿着梯子爬的有人拉一把的,这高平台爬上去了就不容易掉下来,躺着都比下一层的人天花板高。但万一真掉下来或者下去遛一遛,你未必还能够得到下面这层的天花板。

    想反驳我请反驳我的观点,别再说了一通跟我说的明明一个意思(你究竟反对我说的哪点啊?),或者抛出个莫名其妙好笑的资格论来(这个真捉急)。
    lianxiangru
        132
    lianxiangru  
    OP
       2016-05-01 03:31:04 +08:00
    @Taojun0714 你别废话这么多了,把 CV 甩上来,秒杀我们,大家都服。
    Taojun0714
        133
    Taojun0714  
       2016-05-01 03:43:14 +08:00
    @lianxiangru 呵,看来你已经不是阅读能力的问题了,最后一行话就顶在你头像上面。算了,你也根本没能力回我什么。我持续回你是我实在没法我违着良心说假话,亲自见证的那些人和事黑的白不了白的黑不了,名校 phd 大把编程烂,会实现个算法跟编程牛逼不牛逼没关系,我就这俩结论,你爱怎么替全球 CS PHD 名誉操心就操心去吧。
    allan888
        134
    allan888  
       2016-05-01 03:46:34 +08:00 via iPhone   ❤️ 1
    @lianxiangru 他不会发任何东西的,就像楼上说的他不过是知乎的多点而已。就连富文本编辑器也是知乎某些人说的,本身这人并没有任何干货和观点。就像他说 AVL 是大一基础也是满嘴跑火车,你让他给出证据哪里看出大一就写 AVL 他也会立刻换话题。大家打住吧。
    allan888
        135
    allan888  
       2016-05-01 03:53:39 +08:00
    @lianxiangru 只是有点心疼蛤蛤。。。
    lianxiangru
        136
    lianxiangru  
    OP
       2016-05-01 04:01:18 +08:00
    @allan888 :)
    xuwenmang
        137
    xuwenmang  
       2016-05-01 04:12:40 +08:00   ❤️ 1
    自卑 A:是不是这样的啊:数学牛逼=算法牛逼=编程牛逼
    自傲 B:放屁,我见过大把
    自卑 A:你谁啊,把你身份证发给我看看,我就服你
    自傲 B:服不服是你的事儿

    最后: A 和 B 结婚了,两个二逼终于消停了。
    itoolset
        138
    itoolset  
       2016-05-01 04:48:08 +08:00
    我觉得一种比较科学的衡量方法是人月,完成相同的功能,高下立判。
    lianxiangru
        139
    lianxiangru  
    OP
       2016-05-01 04:54:19 +08:00
    @itoolset 人月是什么?
    paulagent
        140
    paulagent  
       2016-05-01 05:02:36 +08:00   ❤️ 1
    @lianxiangru 软件开发的计量单位啊。 开发时间是多少人/月。 ibm 的一个专家写过一本《人月神话》
    lianxiangru
        141
    lianxiangru  
    OP
       2016-05-01 05:10:53 +08:00
    @paulagent 原来如此
    glogo
        142
    glogo  
       2016-05-01 05:44:55 +08:00
    naive
    area346
        143
    area346  
       2016-05-01 08:26:49 +08:00
    说到这里。。不得不膜拜下
    http://homes.cs.washington.edu/~tqchen/
    lianxiangru
        144
    lianxiangru  
    OP
       2016-05-01 09:01:33 +08:00
    @area346 我好像去年 NIPS 上见过这个人。。。
    ssynhtn
        145
    ssynhtn  
       2016-05-01 09:16:15 +08:00 via Android
    @allan888 红黑树不是,不过说 avl 是大一的内容也没问题啊,斯坦福公开课教数据结构和递归的书上就有
    hadoop
        146
    hadoop  
       2016-05-01 09:18:33 +08:00
    @area346 xgboost
    lianxiangru
        147
    lianxiangru  
    OP
       2016-05-01 09:28:22 +08:00
    @ssynhtn 很少有大一算法课讲 AVL 的吧。不过我自己没上过,所以说的可能不对。
    话说这种数据结构 wikipedia 一下就懂了,看完不会超过半小时,所以大概讲不讲也无所谓?:)像 Suffix Array DC3 algorithm LCP 那一套各部分联系很多的大概要讲一下。
    greatghoul
        148
    greatghoul  
       2016-05-01 09:37:59 +08:00 via iPhone
    有些人觉得区别是逼,有些人觉得区别是牛。看你怎么看了。
    ssynhtn
        149
    ssynhtn  
       2016-05-01 09:42:07 +08:00 via Android
    @lianxiangru 我说的不是你那个级别的东西。我说的是教链表,递归,图等内容的基础课上,也把 avl 树作为树状图 and 递归的一个综合例子。
    ssynhtn
        150
    ssynhtn  
       2016-05-01 09:46:01 +08:00 via Android
    cmu 的 phd 编程能力怎样我是完全不知道,不过根据我上的一些美国名校本科的公开课来看,美国名校 CS 专业的本科生的编程能力应该都很强
    alexzuo
        151
    alexzuo  
       2016-05-01 10:34:52 +08:00 via iPhone
    为什么有人不信博士在纯工程方面的代码水平不行这件事情…不能只拿欧美名校的水平看问题啊,顶级名校的博士没接触过,我帮过悉尼大学的博士写过一点代码,澳洲八大,也不算水了。

    他们要做一个小 app 用于收集数据,结果 iOS 端他学长没写完就毕业了,然后让我帮忙写一下,那个 app 写的叫一个天马行空…目录结构是所有文件放一个文件夹,所有的代码加起来注释不到二十行,逻辑也特别的不同寻常……

    以我在澳洲的经历来看,他们本科的时候确实是对于代码质量把控的很到位,但是到了研究生阶段老师就不太管代码质量了,所以有人觉得研究生比本科简单,博士没读过,不了解。

    博士一般在 paper 里面用到的数据库都偏小,而且运行环境也没有一般的应用环境那么复杂,所以写的东西不够简洁严谨优美也是正常的,毕竟别人主要目的是发论文。
    forrestchang
        152
    forrestchang  
       2016-05-01 10:35:49 +08:00
    @Taojun0714

    TL;DR

    你可能误解我的意思了,我并没有在反驳你,只是针对你们上面讨论的关于 PhD 提供一下自己的看法。

    另,写 Tokenizer 那个只是一个段子: https://www.zhihu.com/question/30746665
    yemenchun1
        153
    yemenchun1  
       2016-05-01 11:38:33 +08:00 via iPhone
    @lianxiangru 你是说普林斯顿吧?
    lianxiangru
        154
    lianxiangru  
    OP
       2016-05-01 11:39:27 +08:00
    @yemenchun1 你指哪一句?
    yemenchun1
        155
    yemenchun1  
       2016-05-01 12:02:25 +08:00 via iPhone
    @lianxiangru 回复错了人😅
    leo937549163
        156
    leo937549163  
       2016-05-01 12:14:48 +08:00 via Android
    我觉得区别在毅力和少量的天赋吧 在理科基础相当的情况下
    louirobert
        157
    louirobert  
       2016-05-01 14:56:38 +08:00
    这种问题涉及到一个逻辑上陷阱:对于一个你不了解的事物 A ,你如何客观评价它与事物 B 的优劣,在 A 与 B 的外部特征类似的情况下?实际上你不能做到客观评价,只能猜,因为你根本不了解 B 。所以,楼主提问的正确方式应该是:请问什么样的程序员算是牛逼的程序员。

    这段话言简意赅、逻辑清晰、一语中的,可得十个赞。
    itoolset
        158
    itoolset  
       2016-05-01 16:24:48 +08:00
    @lianxiangru

    没看过 Brooks 的人月神话嘛?
    参见 https://zh.wikipedia.org/wiki/%E4%BA%BA%E6%9C%88%E7%A5%9E%E8%AF%9D
    其中人月的解释
    itoolset
        159
    itoolset  
       2016-05-01 16:29:28 +08:00
    @paulagent
    不仅是 IBM 专家,人家是图灵奖获得者!
    lianxiangru
        160
    lianxiangru  
    OP
       2016-05-01 16:36:38 +08:00
    @itoolset 原来是这个人,只看过他的 no silver bullet ,当时觉得实在是太玄学了,就没继续了解。
    lianxiangru
        161
    lianxiangru  
    OP
       2016-05-01 16:37:59 +08:00
    @itoolset 可能我还是难以接受没有具体定义和形式化证明的东西。。。所以理解不了他的贡献的厉害之处吧
    murmur
        162
    murmur  
       2016-05-01 16:42:13 +08:00
    我认为 niub 的程序员数学和逻辑思维、英语这三样都不会差 尤其是走再最前沿领域的
    SourceMan
        163
    SourceMan  
       2016-05-01 17:52:15 +08:00 via iPhone
    冒昧的问下楼主多少岁了或者工作多少年了?
    zongwan
        164
    zongwan  
       2016-05-01 18:06:38 +08:00
    牛 B 的程序员能一行代码转换 endian---创造
    一般程序员只能模仿他人的劳动结果---学习 /致敬
    lianxiangru
        165
    lianxiangru  
    OP
       2016-05-01 18:12:43 +08:00
    @SourceMan 我在读 PhD 。
    ivinsai
        166
    ivinsai  
       2016-05-01 19:42:31 +08:00
    test
    yiqiok
        167
    yiqiok  
       2016-05-01 21:26:33 +08:00
    你们时间真多,,,,,,
    omen
        168
    omen  
       2016-05-01 21:48:38 +08:00
    一般的程序员只是懂 1 至 3 门语言,但是牛逼的程序员就不只是懂语言那么简单了,在成为牛逼的程序员之前至少要成为数学家(算法)、物理学家(电子、量子、光子)、脑科学家(效仿人类神经的思考方式)、才有可能成为牛逼的程序员。
    简单说普通的程序员只能使用现有的编程体系
    牛逼的程序员则可以创造新的算法,新的计算机架构,新的编程体系。
    lianxiangru
        169
    lianxiangru  
    OP
       2016-05-01 21:53:34 +08:00
    @omen 23333 至今没在写程序的时候用上物理,我之前物理还学得相当好呢~
    kirisetsz
        170
    kirisetsz  
       2016-05-02 01:15:20 +08:00
    楼主的题目是挺好的,正文却容易把人带歪:写什么算法都一样,搬砖还是搬砖,一个看 paper 搬砖,另一个看 documentation 搬砖 (然而理解力上有差别)。

    牛逼的程序员,每个人有不同的标准。大概 http://bellard.org/
    不过牛逼的程序员有些共性,思维或者行为上比较活泼 (大概)

    @txx 活捉晓轩姐姐 /

    @ljcarsenal 这个世界上是先有牛逼的框架还是先有牛逼的人呢?
    dcoder
        171
    dcoder  
       2016-05-02 01:28:40 +08:00
    @lianxiangru

    @Taojun0714
    Taojun0714 说的对, 很多 CS PhD program 对你做工程 (编程) 没有帮助.
    当然, 你自己愿意付出额外的编程努力弥补,还是可以成为工程上牛 b 的 PhD.

    @kirisetsz
    kirisetsz 说的也对,不要把看 paper 然后灌水, 不, 写 paper, 看成很高大上的事业...
    很多所谓 research 也就是另外一种形式的搬砖, 甚至纯粹灌水.
    当然, 你研究成果非常非常牛 b ,开创一个领域,或者真的解决了多年未解决的问题,那另说...
    lightening
        172
    lightening  
       2016-05-02 05:02:21 +08:00   ❤️ 1
    普通的程序员都差不多,牛逼的程序员各有各的牛逼之处。
    lianxiangru
        173
    lianxiangru  
    OP
       2016-05-02 06:21:31 +08:00
    @dcoder 为什么总有人一提发 paper 就想起来灌水呢:) reviewer 都不傻,能在顶会上灌水也是本事了 。水会上你灌也没有人看,对于主流 researcher 毫无意义。为什么总有人 PhD program 都没读过,就开始给它下结论呢:)
    大部分 paper 是不是灌水(水会不算,我承认那确实水很多,我也不会去读),其实你亲自灌一篇,看看能不能发表,就知道了。
    lianxiangru
        174
    lianxiangru  
    OP
       2016-05-02 06:40:40 +08:00   ❤️ 1
    @dcoder 写程序很多时候难的并不是写程序本身,而是背后的理论和思想。别的不说,单说机器学习,没个 PhD 学位, DL 参数往哪调可能都搞不清楚,更别说写了。 Caffe , MXNet 换个不是做 ML 学术的人写,别说写的好不好了,基本上根本就写不出来。
    20015jjw
        175
    20015jjw  
       2016-05-02 07:13:39 +08:00
    @shiji 我认识的在 Google 和 FB 大牛就有公开表达用 windows 的都智障的... 我觉得这是为人处事的问题,和技术无关。不嘲笑用 sublime 的不会让你更牛逼,嘲笑用 sublime 的也不会让你忘记代码怎么写。 如果对应题主的问题,"牛逼"又只看技术的话,这些应该无所谓,但是"牛逼"如果看人品,那可能就要考虑你说的了。
    mouxuejie
        176
    mouxuejie  
       2016-05-02 09:12:32 +08:00
    服了,居然不能发帖了。
    mouxuejie
        177
    mouxuejie  
       2016-05-02 09:13:12 +08:00
    推文了, http://mouxuejie.com/blog/2016-05-01/view-touch-event-source-analysis/
    公众号:学姐的 IT 专栏。
    wizardforcel
        178
    wizardforcel  
       2016-05-02 13:03:09 +08:00 via Android
    @jsyangwenjie 反正 phd 里面不会写代码的人肯定有。美帝没有天朝有。 985 没有非 985 有。要想反驳存在性命题是非常困难的,因为等同于证明一个全称命题。
    jsyangwenjie
        179
    jsyangwenjie  
       2016-05-02 14:15:55 +08:00
    @wizardforcel 嘛,美帝还是有的
    jsyangwenjie
        180
    jsyangwenjie  
       2016-05-02 14:16:27 +08:00
    @mouxuejie 你这个和本篇主题有什么关系?
    akari0725
        181
    akari0725  
       2016-05-02 14:19:10 +08:00
    个人觉得,任何领域的程序员,通过努力都能达到该领域 75%的水平,能胜任大多工作(也许有熟练度的差距,不过可以通过实践来解决),再往上存在天花板,提升要付出的成本会急剧升高,好的程序员就是在自己关注的领域达到更高水平的人。
    jsyangwenjie
        182
    jsyangwenjie  
       2016-05-02 14:20:20 +08:00
    @lianxiangru 调参就不要算写程序了,跟工程不是一码事。。
    lianxiangru
        183
    lianxiangru  
    OP
       2016-05-02 14:49:17 +08:00
    @jsyangwenjie 调参为什么不算写程序。。是不是主要难度不在把公式翻译成代码的都不算写程序?从基本的 grid search 到 zeroth order stochastic algrithm ,花样多着呢。。
    jsyangwenjie
        184
    jsyangwenjie  
       2016-05-02 14:50:58 +08:00
    @lianxiangru 我的意思是调参经验和工程经验有区别。。调参就调参好了。。如果说些 hello world 也算写程序的话那可能调参也算写程序吧。。
    lianxiangru
        185
    lianxiangru  
    OP
       2016-05-02 14:56:55 +08:00
    @jsyangwenjie Hello world 当然算写程序啊。。。。。。。。。
    lianxiangru
        186
    lianxiangru  
    OP
       2016-05-02 14:58:40 +08:00
    @jsyangwenjie 写行数少的程序肯定也算写程序啊,黑程序简单也要按照基本法来
    jsyangwenjie
        187
    jsyangwenjie  
       2016-05-02 14:58:49 +08:00
    @lianxiangru 嗯。。。那就算吧。。
    jsyangwenjie
        188
    jsyangwenjie  
       2016-05-02 14:59:18 +08:00
    @lianxiangru 那跟工程经验也没啥关系。。
    lianxiangru
        189
    lianxiangru  
    OP
       2016-05-02 15:01:13 +08:00
    @jsyangwenjie what do you mean by 工程经验。。听着像只有 computer system architecture 才算工程经验。。。
    jsyangwenjie
        190
    jsyangwenjie  
       2016-05-02 15:33:26 +08:00
    @lianxiangru 就比如说吧,前几天 leaf 挺火的,如果一天到晚调参的话,对于给 leaf 写个分布式扩展之类的,没有什么帮助吧。
    lianxiangru
        191
    lianxiangru  
    OP
       2016-05-02 15:40:44 +08:00
    @jsyangwenjie 写个分布式扩展也许不用知道调参之类的。然而写个 leaf 就需要了:)
    我觉得 computing related 的经验都算工程经验,因为没有这些,有些东西就是写不出来啊:)
    而且说是调参,也不是一天到晚调参啊,就像写程序总不能一天到晚 hello world 吧 ww
    jsyangwenjie
        192
    jsyangwenjie  
       2016-05-02 16:02:38 +08:00
    @lianxiangru 嘛,如果只会调参的话我不相信能写出 leaf 的哦。
    我只是在说调参,可没说所有调参的人只会调参哦
    lianxiangru
        193
    lianxiangru  
    OP
       2016-05-02 16:09:22 +08:00
    @jsyangwenjie 我也没说只会调参能写 leaf 啊。。。一开始不是说调参不算写程序么,跑远了。
    jsyangwenjie
        194
    jsyangwenjie  
       2016-05-02 16:28:46 +08:00
    @lianxiangru 在我认知里调参就调参,跟工程经验的确没太大关系。只会调参写不好程序。
    raptor
        195
    raptor  
       2016-05-02 22:04:03 +08:00
    跟数学也不一定有关系吧。
    不过给钱差不多的话,牛逼不牛逼的程序员都差不多。
    wizardforcel
        196
    wizardforcel  
       2016-05-02 22:55:06 +08:00 via Android
    @lianxiangru 请注意 dl 算前沿科学,但是 ml 不算,图形更不算。后面那两个都是普通程序员花点时间就能弄懂的。你没看到 stanford 已经把数挖放到 cs102 了吗?

    至于图形,我室友大二的时候玩 ps ,然后照着里面的操作把相关算法都实现了一遍。
    lianxiangru
        197
    lianxiangru  
    OP
       2016-05-02 23:52:42 +08:00
    @wizardforcel ml includes dl, period. dm is another topic.
    wizardforcel
        198
    wizardforcel  
       2016-05-03 00:14:23 +08:00 via Android
    @lianxiangru dm 使用了 ml 的低阶算法,可以认为一部分是重合的。
    lianxiangru
        199
    lianxiangru  
    OP
       2016-05-03 00:18:50 +08:00
    @wizardforcel Nearly every domain can incorprate some ml in their research. As a PhD in machine learning and optimization, I have no clue of what a "lower-order" algorithm means in your statement.
    wizardforcel
        200
    wizardforcel  
       2016-05-03 00:22:44 +08:00 via Android
    @lianxiangru 你买本数据挖掘的入门书就知道我指哪些了。你可以认为我指的是《数据挖掘十大算法》里面的 10 个,或者候选的全部 18 个。
    1  2  3  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   976 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 40ms · UTC 21:52 · PVG 05:52 · LAX 14:52 · JFK 17:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.