新的时代已经来临, 论 程序员工作的可替代性和展望 ver0.11

  • c
    cyanboy
    最近在思索一个问题, 程序员 这个工种会不会被 可编程机器人(其实可能就是一个软件)替代?

    我思索了片刻, 就得出一个结论, 在短期内(5~10年内), 至少一半以上的程序员的工作内容是可以被 可编程软件 给替代的, 也就是说, 至少有一半程序员可以下岗另谋出路了。

    至于为什么是一半的程序员? 这是我的估算, 并不精确, 大家也可以看下我发的那张图片(未来20年可能会被替代的职业, 其中程序员的被替代率为48%)。

    大家可以想象下, 程序员码代码, 最大部头的工作内容是什么? 是的, 写业务逻辑, 至于架构这部分工作可以交给架构师来完成, 业务模块可以对接到具体的项目中的项目接口中去。

    也就是说, 我们如果要完成一个购物车功能, 只需要完成购物车功能的相关业务模块和功能, 然后哪里需要购物车的某个功能, 就只需要在该处调用该业务模块就可以了。 你可以理解为这是 项目与业务模块的一次对接, 当然, 实际没有那么麻烦, 就是调用 购物车的API 而已。

    那么可编程软件能做什么? 可编程软件可以通过根据用户的参数设置来自动实现该 购物车模块。具体的工作流程是这样的, 该可编程软件会提供一个用户界面, 一个产品经理可以画出一个该可编程软件能识别 的业务逻辑和流程图①, 并且给出具体的业务参数和变量, 就可以让该可编程软件自动生成代码。

    更完善一点, 可编程智能软件可以生成指定语言的代码, 并且通过对该软件 和 我们的项目IDE的链接配置, 自动加入到我们的project中去。

    甚至, 可编程软件 可以添加具体的插件, 比如说Code Review Plugin、Unit Test Plugin、Doc generate Plugin 等插件, 来帮助我们对生成的代码来进行 自动的代码预检查 甚至是 代码的测试校验(需要人工添加 test case)、 文档生成插件。

    Code Review Plugin、Unit Test Plugin 等插件的完善, 可以极大的缩短程序员的debug、test 的工作量。

    v0.11 update:
    可编程软件 可以很好的支持 需求的频繁的大幅度的变更。在以前, 如果我们的项目需求发生了巨大的变动, 往往会重新耗费程序员大量的时间和精力, 但是 可编程软件 可以轻易的通过 用户界面 来快速的修改业务逻辑和流程图, 并且自动生成相应的代码。
    也就是说, 可以这么理解:可编程软件对于应对项目需求的频繁变更这种问题上, 完全可以比人类做的更好、更高效、更准确。

    这样算来, 业界的至少一半的程序员引以为傲的专业技能完全可以被 可编程软件替代, 可以被能熟练操作可编程软件的 产品经理、测试工程师 替代。

    补充:
    ①该可编程软件内会有一个非常易用的逻辑图模块, 一些不懂程序员语言的人, 完全可以通过 学习一些常见的被标准化的流程逻辑符号来进行制图。

    [本帖最后由 cyanboy 于 2016-10-8 13:48 编辑]
  • j
    jiejieup
    想多了,程序员不像美国的汽车工人,虽然程序员也在解决一些重复的问题,但事实上没有一个问题是完全一样的,你说的那些工具只是帮程序员节省了时间提高了工作效率。那些工具降低了门槛可以让不太懂技术的人也可以参与到开发中去,但一旦问题稍微复杂一些,或需要订制一些内容的时候,那些工具就没有纯代码来的方便了。

    即使有游戏引擎,但现在游戏开发所需的时间和人力反而变大了,为什么,因为需求变多了。新的工具帮你节省出来的时间,全被新的需求所填满了。
  • c
    cyanboy
    忘记写了, 还有 可编程软件 可以很好的支持 需求的频繁的大幅度的变更。
  • r
    realsquall
    其实,这就是人工智能啊。。。但是有什么人工智能能够真的和人工媲美。。。连围棋都不一定下的过人类的人工智能。。。是真的人工智能吗?
  • c
    cyanboy
    是这样子的, 要像人类一样厉害, 不一定要模拟人类的行为。

    我知道之前的语言智能翻译技术, 其实就不是模拟和复现 人类语言的深层次的机制和原理, 而是另辟蹊径, 使用了 概率编程 这门技术, 结果使语言智能翻译技术得到突飞猛进的发展。
  • 保密
    一个产品经理可以画出一个 该可编程软件能识别 的业务逻辑和流程图, 并且给出具体的业务参数和变量, 就可以让该可编程软件自动生成代码。
  • c
    cyanboy
    嗯, 有什么问题吗?

    如果进一步补充的话, 就是该可编程软件内会有一个非常易用的逻辑图模块, 一些不懂程序员语言的人, 完全可以通过 学习一些常见的被标准化的 流程逻辑符号来进行制图。
  • y
    yzh
    写能编软件的软件也需要码农,写能开汽车的软件还是需要码农,也许低层码农的活会被取代,但是对于码农的总需求只会上升不会下降
  • s
    starclan
    这是必然的,虽然都叫程序员,但是能手写svm算法和仅仅会复制黏贴改参数的程序员有本质的不同。
  • 猪肉白莱
    跟虫片认真干嘛
  • c
    cyanboy
    没用的, 你这种思路已经完全落伍了, 今后算法部分也只是 一小部分 专业的算法工程师来负责就可以了, 一般的程序员只需要理解该算法的功能内涵及其限制就可以了。

    你犯了一个错误, 就是没有 分工的思想, 没有人是全能的, 会写算法其实只是一个完整的软件开发过程中 的一个很小的 分工 而已。

    你可以想象下, 以前编程的时候, 会非常多的考虑 操作系统、语言本身的因素(例如java中的jvm)、编译原理等技术, 但其实这是一种非常落后原始的思维, 我相信你也不难明白这一点。

    需要细化、需要分工、需要更专注。

    [本帖最后由 cyanboy 于 2016-10-8 13:52 编辑]
  • h
    hooboo
    虫片又来吹牛了,你写么
  • s
    starclan
    我说的是低端码农基本都要失业,只需要各部分的几个顶尖高手就可以了,说不定将来的程序只需要人类说几句自然语言就能生成代码了。

    没明白你扯分工干嘛,从有货币以来人类社会就有分工,啥行业都要分工。
  • c
    cyanboy
    这个不难, 但是需要消耗大量的人力资源, 运用机器学习技术就可以做到。

    当然, 根据不同的语言, 需要聘请相关的语言专家做顾问等等。
  • h
    hooboo
    虫片你天天做白日梦,写过么
  • h
    hooboo
    虫片你天天做白日梦,写过么
  • c
    cyanboy
    并不全是如此, 假设 市场有10000个人擅长算法这块, 但是社会的总需求量是100个, 那么其余的至少90%的不够优秀的算法工程师将被淘汰。

    我的意思是, 会算法 并不一定比 会理清业务逻辑的人 更优秀、更吃香。

    这和市场需求是相关的。
  • c
    cyanboy
    我写过的代码比你吃过的米粒都要多
  • h
    hooboo
    你一个没上过学没文化的失业家里蹲又来吹牛。

    没写过代码的是傻逼, 虫片有没有种?敢不敢说?
  • f
    freeAlllllll
    虫片写个吃屎代码来看看 public Shit EatShit
  • s
    starclan
    啥?手写svm不牛逼?你认识的人里有几个能光拿纸笔写出算法的?知乎面试题也就写写logistic。照你的逻辑市场也需求扫地工,会手写算法的未必比扫地扫的好的更吃香更优秀。
  • c
    cyanboy
    手写svm算个屁优秀, 会一些基本的数学知识就可以做到。。。 无非是离散、线性、微积分等等这些内容, 我实在没发现有什么高难度的地方。。。

    我一个高中生就可以自学几天后给你手写你信不信?

    再说, 现在svm算法基本很多都封装了, 当然, 这个就先不谈了。
  • 绝赞好评
    看完之后我确定了,虫片吃过的屎比我写过的代码还多
  • 变色龙
    程序员:卧槽原来以后用现在5%的精力就可以干产品经理了!!
  • h
    hooboo
    不信,虫片你一个没上过学没文化的失业家里蹲除了吹牛还会干什么?你敢不敢不要缩卵,拿出来看看?
  • c
    cyanboy
    什么意思? 没听懂, 你说反了吧。。。
  • s
    starclan
    滚你的蛋,goolge面试题就是手写svm,你所谓的会点基本知识就能做到的事都能进google了,吹牛前先做点功课。
  • s
    starclan
    还有出道最简单的题,你去百度去谷歌无所谓,最小二乘法,10分钟内写出来看看?
  • q
    qqwqqw
    " 无非是离散、线性、微积分等等这些内容..."

    嗯,你先把这几个里面的任意一个学懂再说吧
  • c
    cyanboy
    ,。,。,。,。。

    [本帖最后由 cyanboy 于 2016-10-8 14:55 编辑]
  • E
    EVA1
    啥也不说了,扣了再说
  • h
    hooboo
    虫片你敢不敢说你没去过google工作你就吃屎,不要缩卵,来说一下
  • z
    zy_zlj
    呵呵真到程序员被替代的时候估计绝大部分工种都被机器人给替代了
  • b
    blood
    cyanboy

    小侠
    帖子
    158
    精华
    0
    积分
    5247
    激骚度
    -47
    爱车

    主机

    相机

    手机

    注册时间
    2006-5-16
    发短消息加为好友
    30#大中小 发表于 2016-10-8 14:34 只看该作者 引用 使用道具 报告 评分 回复
    引用:
    原帖由 starclan 于 2016-10-8 14:27 发表
    posted by wap, platform: iPhone
    还有出道最简单的题,你去百度去谷歌无所谓,最小二乘法,10分钟内写出来看看?
    太搞笑了, 我又不是没去过百度、google工作过, 我甚至和 国内至少前5级别 机器学习专家 沟通过, 结果么, 是我把他骂了一顿... 然后关系搞僵特了。。。
  • c
    crazyjojo
    虫片发现一般的话题已经激不起波澜了。。。。。
    这饵有毒。
  • b
    blood
    你们一定要注意备份虫片的发帖内容,要不他还得改成省略号
  • a
    aries白羊
    论p8大神虫片
  • 松下裤带子
    虫片开个微信公众号什么的发这些玩意吧。说不定那个视频网站看中了给虫片来一档虫片奇谈
  • T
    Tobar
    让产品经理去画流程图还有输入输出参数以省掉程序员的思路就想说让公司ceo去扫厕所以便省掉清洁工这样

    [本帖最后由 Tobar 于 2016-10-10 10:38 编辑]
  • c
    cyanboy
    把产品经理等同于ceo, 把程序员等同于扫厕所的?

    这样合适吗? 尤其是后面一句。。。
  • f
    finalx
    阿虫你很有想法,佩服。
    阿虫你这套东西跟lambda calculus有什么区别?
  • 喜欢它likeit
    跟当年用汇编从底层写起比,现在的编程已经智能到不算编程了,基本就是描述逻辑,而且架构/产品/代码已经进一步分工了

    再进一步自动化有什么奇怪的

    脑关编程
  • m
    mirokuneal
    写SVM算法的才最容易被淘汰
    这世界上只需要一个SVM算法的实现就可以了,业务逻辑的需求倒是千变万化,需要千千万万的码农去实现
  • s
    starclan
    你说的那些码农是用工具的,发明算法的大神是创造工具的比能手写算法的牛人还要高几个级别,比如80年代发明的merge sort 到现在也没被淘汰,goolge仅仅靠page rank一个算法脱颖而出,我觉得我们说的不是一件事。
  • m
    mirokuneal
    所以说你不懂经济规律啊,如果没有用工具的人,你的工具写的再好有什么用呢?

    另外,你试试你现在说你会写merge sort你看你能找到工作吗?
    但是你说你会写个比较复杂的ios的app,相信还是很容易找到工作的。

    能用一堆工具盖出漂亮结实房子的人不比生产工具的弱
  • T
    Tobar
    举例子就是夸张啊,有啥不妥的,"码农"这个农字和扫厕所的有啥区别吗,都是体力劳动者
  • j
    jun4rui
    那可不一样,大部分产品经理产品做出来就死,甚至有没做出来产品就死掉的产品经理。

    而大部分程序员至少能给你个能跑的程序。
  • T
    Tobar
    你这不就是在复议我的说法吗...

    ceo决策错了,公司倒闭,清洁工换个公司继续扫厕所,在哪扫厕所不是扫厕所