V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lib360
V2EX  ›  职场话题

有没有人遇到过这种情况:项目盈利了,然后上头人说跟技术关系不大,该不该生气?

  •  
  •   lib360 · 2018-09-20 09:46:57 +08:00 · 8382 次点击
    这是一个创建于 2235 天前的主题,其中的信息可能已经有所发展或是发生改变。
    已经不止一次说出这样的话,该如何是好?
    公司本来处于转型阶段,技术前期业余时间探索了一些市面上的技术,
    后期公司刚好用上,后面又因为开发成本高,技术又从市面上学到了更节约成本的办法,
    马上顺利转型了项目也算初步盈利了,结果开了一个大会说跟技术没关系,听那意思应该是,跟人家想法有 100%关系,技术只是执行;
    是不是我自身问题,心理不太平衡,觉得不是味,还是自己修养不够?
    73 条回复    2018-09-21 10:47:51 +08:00
    nuansediao
        1
    nuansediao  
       2018-09-20 09:50:58 +08:00   ❤️ 2
    反正也不止一次了,多听一遍没差。
    yiios
        2
    yiios  
       2018-09-20 09:51:08 +08:00   ❤️ 2
    基本操作,用到技术的时候细细呵护,不需要的时候一脚踢开。
    huangzhe8263
        3
    huangzhe8263  
       2018-09-20 09:53:33 +08:00   ❤️ 3
    会闹的孩子有糖吃
    sagaxu
        4
    sagaxu  
       2018-09-20 09:54:35 +08:00 via Android   ❤️ 1
    已经不止一次?要积累到多少次才舍得走?
    wolfie
        5
    wolfie  
       2018-09-20 09:56:21 +08:00   ❤️ 1
    把框架都改成外包常用的,看看还有多少人用。
    xiaoshenke
        6
    xiaoshenke  
       2018-09-20 09:59:29 +08:00   ❤️ 2
    下次升级的时候,更新点 bug 上去他们就懂了
    x7395759
        7
    x7395759  
       2018-09-20 09:59:41 +08:00
    走就完事了
    pimin
        8
    pimin  
       2018-09-20 09:59:56 +08:00 via Android   ❤️ 6
    本来公司盈利与否都和技术无关
    负责产出的人最多最多就是达到预期
    实际中往往还是要打折扣
    你们就是最不能计划执行的人

    公司要盈利主要看业务关系
    但是业务也看市场环境

    公司倒闭肯定是你们东西做得不够好,市场竞争力不足

    嗯(⊙_⊙)
    这么看来输了你们要背锅,赢了别人吃糖
    ys0290
        9
    ys0290  
       2018-09-20 10:00:15 +08:00 via iPhone
    技术部门集体请假三天
    jydeng
        10
    jydeng  
       2018-09-20 10:02:34 +08:00   ❤️ 1
    按闹分配
    icop
        11
    icop  
       2018-09-20 10:08:43 +08:00
    怎么了。请假啊
    CtrlSpace
        12
    CtrlSpace  
       2018-09-20 10:08:51 +08:00
    这领导有鬼啊,就算心底里不认同技术团队的付出,也不必在大会议上曝出来,扰乱军心吧?
    或许这就是码农吧,人家觉得换另一批码农过来,也能赚钱,如此而已。
    wobushizhangsan
        13
    wobushizhangsan  
       2018-09-20 10:12:26 +08:00 via Android   ❤️ 9
    代码里加 sleep 吧。客户嫌慢的时候就轮到你展现自己的实力了。
    Magician7
        14
    Magician7  
       2018-09-20 10:18:53 +08:00
    更新几个 bug,然后请假几天
    jy02534655
        15
    jy02534655  
       2018-09-20 10:18:56 +08:00
    淡定了,在上面的人的眼里,技术是属于只拿工资不产出的负资产好不。
    chenyu8674
        16
    chenyu8674  
       2018-09-20 10:38:10 +08:00
    以程序员这行的眼界和学习能力,“因为搞技术所以其他什么都不会”是伪命题
    本质上还是缺乏兴趣或主动性,先从自己身上找原因
    chenyu8674
        17
    chenyu8674  
       2018-09-20 10:39:28 +08:00
    @chenyu8674 #16 手抽回错帖子了抱歉,没说 LZ
    silencefent
        18
    silencefent  
       2018-09-20 10:44:01 +08:00
    代码拿走
    queuey
        19
    queuey  
       2018-09-20 10:44:36 +08:00
    if time > 2018/09/21 {
    exit();
    }
    HancockXu
        20
    HancockXu  
       2018-09-20 10:45:09 +08:00   ❤️ 1
    主要看项目类型吧,如果是市场导向或者业务导向型的项目,盈利还是亏损可能和技术的关系真的不太大,同理,项目亏损的锅也不能让开发背对吧? 当然,技术最有可能是整个项目的短板,这个短板可能会严重制约盈利能力。所以从项目层面来讲,各个方面的能力都要很强,方向要对,木桶原理嘛。

    不过在公司层面讲“和技术关系不大”这个话确实情商太低了。
    coderluan
        21
    coderluan  
       2018-09-20 10:47:33 +08:00   ❤️ 1
    有些话不管对错都不能拿出来说的,抛开对方就是傻逼的情况,说出来很可能有别的意思,比如:
    项目盈利了,开发可能不需要那么多人了,大规模裁员之前不得先做个铺垫什么的,有人不爽自己走更好不是。
    laoma2
        22
    laoma2  
       2018-09-20 10:51:48 +08:00
    技术公司不重视技术人员绝没什么发展前景
    luoway
        23
    luoway  
       2018-09-20 10:55:06 +08:00   ❤️ 1
    除了对技术体验敏感的业务,如游戏、直播、网购等,作为程序猿,我也认为大多业务项目盈利是和技术无关的。
    并且,如果业务项目看不到盈利能力,我也会拒绝或者降低在该业务上的时间精力。
    在这种公司工作,高效产出比高于业界均值的项目质量,要重要得多。

    另外,技术在公司内的话语权是由 CTO 争取的,楼主一个小兵完全不必要掺和非技术们的争功活动。如果有绩效考核的话,拿这个项目说下不也美滋滋。
    UIXX
        24
    UIXX  
       2018-09-20 11:07:40 +08:00
    说话的人情商不行,除此之外不能说明什么
    legendary04
        25
    legendary04  
       2018-09-20 11:23:32 +08:00
    搞点事情给他们,让他们服气
    mydns
        26
    mydns  
       2018-09-20 11:24:42 +08:00
    卸磨杀驴 我还见过项目做完就把所有技术人员都解聘的呢
    Mavious
        27
    Mavious  
       2018-09-20 11:26:05 +08:00   ❤️ 1
    if time >= 2018/9/20 and <= 2018/10/8 :
    time.sleep( 2018/10/8 arrived )
    else:
    exit()
    Microi
        28
    Microi  
       2018-09-20 11:32:24 +08:00
    所以说找工作的时候就不要惦记那块饼,根据自己的能力,加上对工作强度的预估,拿合适的待遇,其他的都是后话。
    ruidge
        29
    ruidge  
       2018-09-20 11:37:22 +08:00
    看项目吧,看谁不可替代性强.有的项目产品技术换一拨人照样能做成,销售换了就凉凉;有的项目销售换一拨人照样能做成,产品技术换了就凉.看公司对项目的定位了.
    ruidge
        30
    ruidge  
       2018-09-20 11:44:12 +08:00   ❤️ 2
    之前经历过一个公司,在第一人领导的时候,销售的话语权很大,都是跑过来加功能,都是客户要的,加了才能卖的好,加不上做不好就是你的问题.后来换了个领导,就是产品技术主导,我们设计功能实现,你负责推销,用户要什么用户可能并不知道,或者看到的只是表面,销售只负责反馈. 如果你们领导是销售思维,前者概率就大,如果是产品思维,后者概率就大.
    CoderHugo
        31
    CoderHugo  
       2018-09-20 11:46:45 +08:00 via Android
    关你的想法什么事?能赚到钱不是我销售磨破嘴皮推出去的功劳?
    icyalala
        32
    icyalala  
       2018-09-20 11:58:08 +08:00
    你肯定会生气。
    "该不该生气" 其实是想问 "该不该把这种态度表达出来"。
    我觉得应当表达出你们的态度,如果不表达出来,他们就会默认你们认同了。
    tt67wq
        33
    tt67wq  
       2018-09-20 12:16:10 +08:00 via Android
    所以我一般不去开会,听那帮人说话伤身体
    dddd1919
        34
    dddd1919  
       2018-09-20 12:22:11 +08:00
    上面怎么邀功先不说,如果下来还是以技术为重,那也没太大毛病,无非是好大喜功,如果下来也看技术低人一等,那敢打包票迟早凉
    zhangdawei
        35
    zhangdawei  
       2018-09-20 13:10:51 +08:00
    可能这公司确实觉得与技术无关,换
    whileFalse
        36
    whileFalse  
       2018-09-20 13:37:11 +08:00   ❤️ 1
    恕我直言,大部分业务是否赚钱,真的和技术关系不大。技术驱动的公司并不多。在那种公司,也不可能发生楼主这种情况。
    lostberryzz
        37
    lostberryzz  
       2018-09-20 13:39:25 +08:00
    有人的地方就有江湖,有江湖的地方就有 ZZ 斗争
    meathill
        38
    meathill  
       2018-09-20 13:42:10 +08:00
    1. 项目成功项目盈利,技术在其中占的比重可能的确不大,这并不罕见
    2. 老板公开说跟技术关系不大简直是弱智操作
    3. 如果楼主喜欢技术,对技术有追求,建议离职换家
    helloworld12
        39
    helloworld12  
       2018-09-20 13:47:19 +08:00
    业务才是赚钱的

    技术的话,是成本
    helloworld12
        40
    helloworld12  
       2018-09-20 13:47:51 +08:00   ❤️ 2
    业务才是赚钱的

    技术的话,是成本

    同一个业务,成本可大可小
    kaedea
        41
    kaedea  
       2018-09-20 13:58:20 +08:00 via Android
    不要以为是业务离不开你的技术,实际上是你的技术离不开业务,要不然你早走了。现实就是这么的残酷,在老板眼里,技术就是一个成本,而且还不会听话,换技术无非就是给多点成本,哪怕是对业务的影响很大也是间接影响。
    AnsonQAQ
        42
    AnsonQAQ  
       2018-09-20 14:27:23 +08:00
    利益分配这种问题,应该是技术领导是谈的,至于写业务的程序员,有开发任务就请假、有 bug 就夸大处理不了、配合制造麻烦就是了。
    Daming
        43
    Daming  
       2018-09-20 14:52:05 +08:00
    @queuey #19
    放逻辑炸弹是有法律责任的
    lcdxiangzi
        44
    lcdxiangzi  
       2018-09-20 15:57:39 +08:00
    其实我觉得大部分公司的 IT 都有这种类似的尴尬问题,非盈利部门就是这么囧。
    领导心里确实不待见我们,但是表面上还是很客气的。
    除非是去金融科技公司,会好一点。

    我的想法有问题吗?最近正准备看看外面其他公司是什么样子的,在传统金融公司做 IT 真的只是后勤中的后勤。
    iBaoger
        45
    iBaoger  
       2018-09-20 16:11:03 +08:00 via Android
    请问你是技术领导吗?只能说做技术的太实诚了,默默地把自己业余时间的成果直接放到公司用,一来公司看不到你的付出成本,二来领导觉得这个技术很简单,可替代性强。
    devotenimabi
        46
    devotenimabi  
       2018-09-20 16:18:50 +08:00
    @queuey 这个是 go 的语法吧
    jotsai
        47
    jotsai  
       2018-09-20 16:45:50 +08:00
    钱给到位了说什么都行(滑稽
    litp
        48
    litp  
       2018-09-20 16:54:04 +08:00
    不该生气
    litp
        49
    litp  
       2018-09-20 16:54:13 +08:00
    应该删掉数据库
    jason19659
        50
    jason19659  
       2018-09-20 17:00:44 +08:00
    @queuey #16
    f time > 2018/09/21 && math.random() > 0.8 {
    exit();
    }
    reus
        51
    reus  
       2018-09-20 17:14:14 +08:00
    说这种话的人无疑是傻逼中的傻逼
    换了古代军队,就叫扰乱军心,要杀头的
    赶紧走吧,既然它们认为技术关系不大,那利益分配也不会给你多少
    现在只是说说,到真的分配利益时,你心里只会更堵
    早走早好
    另外不是自己的生意,没必要把自己的所学全盘拿出来,你拿出来了,就是公司的了,不是你的了,除非你觉得那一部分并不重要
    自己的利益自己维护,不要过度付出,尤其是这种连表面的客气都懒得注意下的傻逼
    rocksolid
        52
    rocksolid  
       2018-09-20 17:18:52 +08:00
    领导都表明态度了,你呢
    cdwyd
        53
    cdwyd  
       2018-09-20 17:27:00 +08:00 via Android   ❤️ 3
    一般打了胜仗以后很多人只会吹嘘指挥得当,作战勇猛,却不会说是兵器足够先进。如果你确定自己打造的兵器对胜利起到了很大的作用的话,不用犹豫,卖给对手就行了,自然有人替你打他们的脸。
    ez2die
        54
    ez2die  
       2018-09-20 17:48:37 +08:00
    自古以来,公司的业绩就是归因于 BD 部门的……哪家都这样。但牛逼的技术团队在物质回报上不一定会更低。
    shijingshijing
        55
    shijingshijing  
       2018-09-20 19:18:50 +08:00
    说了大家不要生气,在公司财务里,技术部门一般都是最大的负债,因为这个部门从财务上看基本上只有投入,没有产出。
    ax521
        56
    ax521  
       2018-09-20 19:49:00 +08:00 via Android
    打死他丫的
    wdlth
        57
    wdlth  
       2018-09-20 20:38:30 +08:00
    正常,等他没什么技术的时候就知道了,一开始别做得太好。
    imn1
        58
    imn1  
       2018-09-20 20:47:01 +08:00
    没见过这么蠢的高层
    AzadCypress
        59
    AzadCypress  
       2018-09-20 21:07:57 +08:00 via Android
    这领导是蠢逼
    就算是普通的工厂(工人可替代性高)也不会公开说你们工人只是执行,工厂盈利跟你们工人关系不大这种话
    neoblackcap
        60
    neoblackcap  
       2018-09-20 21:32:51 +08:00
    @shijingshijing 都是账目,将研发外包就知道了,微软就是这么干。研究院剥离,集团每年给大量的钱去买他们的研发成果,研究院年年都有产出,大家都开心,美滋滋
    dzfzhxp
        61
    dzfzhxp  
       2018-09-20 21:44:33 +08:00
    干他丫的
    bzzhou
        62
    bzzhou  
       2018-09-20 22:24:39 +08:00
    很简单,去一个重视技术的团队;或者给技术给钱多的团队就可以了
    大家都会用脚投票
    darkcode
        63
    darkcode  
       2018-09-20 22:34:20 +08:00
    有 100%关系不代表是 100%功劳。
    q397064399
        64
    q397064399  
       2018-09-20 23:33:21 +08:00   ❤️ 1
    本来大部分所谓的 互联网科技公司就跟技术没关系啊,
    什么 相亲的 回收旧手机的 卖假包假鞋的 二手房中介的 倒卖二手物品的 出租车黑公司的

    难道挂个 http 跟 www 弄个人模狗样的 APP 就成互联网科技公司了?
    你怕不是太看得起这些公司了吧,以前没有网络 它们不也都活得好好的 只不过没有这么垄断而已
    q397064399
        65
    q397064399  
       2018-09-20 23:49:55 +08:00   ❤️ 1
    理想中的算法工程师:提出假设->收集数据->训练模型->解释结果。
    实际中的算法工程师:提出假设->收集数据->预处理->预处理->训练模型->调试->调试->重新收集数据->预处理->收集更多数据->调试->调试->调试->…->放弃。

    这个答案被点了几十个赞,在 24 个答案中排在第二位,说明具有一定的普遍性。排名第一的有 100+赞,而他的观点是:每天最重要的就是跑数据!

    这不是段子,而是事实。为什么“高大上”的算法工程师实际上是个数据民工,要寻找这种理想与现实的差距的原因,首先要理解一个事实:只有人能够理解数据,机器不能。

    不管我们用什么机器学习算法——无论是 LR,SVM,k-means,EM ——对于它们来说,输入数据都是一堆浮点数组成的矩阵而以(如果说的更本质一点,只是一堆 01 序列)。如果有一个特征是“小时”,而它出现了 25,任何一个智商正常的人类都能明白,这是一个错误,然后在数据清洗的时候把这样的数据排除。但是机器就无法理解这一点。要具备小时的概念,又要理解什么是时间,一天有多少个小时…机器怎么能自动化完成这样的数据清洗工作?更进一步,如果人发现“小时”这个特征中大部分数据是 0 到 12,而混入少量 13 (但 13 的数量又不是太少以至不能被当成离群点排除),人就会怀疑,是不是使用了 12 小时制而 13 是一个错误。机器目前是无法做到这一点的。

    再说人肉特征。一个是特征变换,比如需要一个特征是某两列数据的比率,这种除法是线性模型不能涵盖的。当然可以增大模型的假设空间,但是太小涵盖不了需要的变换,太大又容易过拟合。另一个是加特征,比如我认为点击率和屏幕分辨率有关系。于是我去找屏幕分辨率数据加入特征,如果没有还要想办法采集。这些机器都做不了。

    但是,人一但把数据准备好,接下来就是机器学习算法发挥的时候了。但是,算法工程师的主要工作不在这里,这是因为软件有个特点,可以近乎无成本的复制。只要这个世界上有一个人实现了 LR (知识产权的问题这里不考虑,更何况开源软件很多),其他需要用 LR 的人都可以拿过来用了。显然,这些算法工程师们也正是这么做的。

    然而,等算法输出结果以后,又需要人的工作了——怎样用结果解释实际问题,应用到业务中去。显然这个过程和前面数据清洗、人肉特征的性质类似,都是只有人能完成,机器做不到的任务。

    做过数学建模的同学对这个过程可能很熟悉——如何把一个问题描述成数学问题,再如何把结果应用到实际问题上。这有点类似于通信中的“最后一公里”问题,主干网的光纤建设的很强大,而最终用户的接入却成了一个麻烦事。对于机器学习的应用问题来说,算法和相应的软件包都是标准化、通用化的,像骨干网;而数据如何“接入”,则是只能由人完成。因为,只有人能够理解数据。

    技术与技术人员

    这个问题可以推广到整个计算机领域。把算法工程师代换成程序员,把机器学习算法代换成软件,这个观点就变成了:大部分程序员所解决的,是通用的计算机工具和具体的实际业务之间的“最后一公里”接入问题。

    为什么这么说,我们先来看历史:计算机技术发展了几十年,程序员的入门门槛是逐步降低的。最初的程序,要在裸机上写汇编。后来有了 unix,c 语言,程序员至少不用亲自调度进程了。java 出现之后,连内存都不用管了。而(世界上最伟大的) php 出现之后,网络编程的门槛进一步降低,任何人都可以在短时间内搭建一个网站。

    原来的那些问题去哪儿了呢?被少数造“”轮子的程序员们解决了——那些写操作系统、编译器、虚拟机、运行时环境、框架…等等的程序员们。这个趋势一直在持续——新兴的 rust、golang 等语言试图解决多核时代出现的并发问题,hadoop、spark、mesos 试图屏蔽分布式系统底层的细节……可以预见,以后的并行编程和分布式编程门槛将会大大降低。这个过程是必然的,因为一项技术的发展,就是为了让更多的人能更方便的使用它。

    而这些计算机工具不能直接应用于业务,因为计算机不能理解人类的语言,所以就有了大量的程度员存在,把人类的语言“翻译”成计算机语言。这些程序员是使用“轮子”的。当然这之间并不是非黑即白的,一个软件在多大程度上可以被称为轮子,取决于它的复用性。如果一段代码只能在一个地方使用,它显然不能称为轮子。而事实是,大部分为具体的业务逻辑所写的代码,复用程度很低。

    对于把通用计算机工具应用到具体业务这个过程,中间到底有多少问题是技术性的?大部分技术困难被操作系统、编译器、虚拟机解决掉了,剩下的主要是大型软件(如果这是个大型软件)的复杂性控制——而这个问题又主要由少数高级别的架构师负责。对于写具体代码的程序员,剩下的技术性困难已经很少了。

    举一个我供职过的公司,这是一家互联网公司,整个网站 99%的代码是 php,基本上没有 java。没有专门的前端工程师,php、html 和 java script代码混在一起。测试几乎等于没有,基本都是开发人员自测。上线流程只是个形式,质量控制部门唯二的作用就是向服务器上同步代码和出现事故之后给开发人员定责任。我曾经和另一个部门合作,他调用我提供的接口,而他在我的接口没上线的时候就上线了,导致一场事故。我本来是算法工程师,写 php 只是客串,而在这个过程中,没有任何上线依赖的控制,连提示也没有,甚至没有人对我进行上线流程的培训。然而,这是一家中等规模的互联网公司,己经发展了十来年,占据了所在细分市场领域的头号份额,并且己经上市。

    我举这个例子并不是要黑它,而是想用事实支持上面的观点:大部分程序员,大部分所谓的“科技”公司,所面临的技术问题比想象的要少的多(这也许是那家公司没有 CTO 的原因)。

    这不是个别情况,大多数公司都存在类似的问题——从技术角度看,它就是个渣,你会很奇怪它怎么还没死。然而事实是,它不但没死,反而活的生机勃勃,甚至上市了。公司的拥有者们早已实现了屌丝逆袭迎娶白富美的理想,而辱骂他们的程序员们还在苦苦的为房贷或者首付挣扎。这里面,有大量的非技术因素起着关键作用,尽管它们都自称科技公司。

    越来越多的人意识到了技术的局限性。年初,一个同学找工作,他向来是个“纯技术流”的工程师,曾经写过很好的技术博客,甚至发起过开源项目。然而这次他说,“不想再做最底层的工程师了”,希望能做一些“高层的、能看到项目整体的”、以及“和人打交道,能够把自己的想法向外推动,并产生价值”的工作。于是,他去某公司负责带几个小弟去了。当我把这些转述给另一个同学的时候,他的反应是“我最近也有这样的想法”。还有个同学,说写了几年 C++,技术上没学到多少,反而是接触的业务知识比较多。再比如我之前的 leader,他是数学博士出身,曾经对算法有一种近乎天真的信仰;在我离职的时候,他已经完全转型为业务和产品导向了。而某个几年前就开始淡化技术,聚会时大讲“软实力”的同学,早已在 BAT 做了 Team Leader,生活滋润,终日以跑步为乐。为何?其实原因很简单:公司里没有那么多技术问题需要解决。

    《代码大全》里有个比喻,如果你的问题是给自己的爱犬造一个小窝,那么动手做就是了,如果出了什么错误,大不了重做一个,最多浪费一下午的时间。而造一个摩天大楼就不同了。所以,如果写一份“狗窝”级别的程序,算法、数据结构、设计模式这些又有多大意义呢?甚至违反了 DRY 原则也没关系,反正一段代码也拷贝不了几次,出了 bug 就改,大不了重写一次,最多浪费一下午。而且,说不定这个项目两周之后就被砍掉了。如果你做的是一份“造狗窝”的工作,就算你有造摩天大楼的技术,和屠龙之技又有什么分别呢?唯一的“好处”就是你会据此向老板提出更多的加薪要求,以至于老板对你“另眼相看”。

    程序员应当破除对技术不切实际的幻想——这不是说技术不重要,而是说要实事求是的分清,哪些是造狗窝的工作,哪些是建普通楼房的工作,哪些是造摩天大楼的工作。

    再谈算法

    同理,算法工程师应当破除对算法不切实际的幻想,把注意力集中到数据的理解、清洗、预处理、人肉特征、业务应用(而这些往往和屌丝、苦逼等形容词联系在一起)上来。

    未来,机器学习工具将更加标准化、平台化、通用化,并且进一步降低使用门槛。与算法本质无关的工程细节,比如数据存储方式、梯度下降过程、并行化、分布式计算等,将被制造“轮子”的程序员们屏蔽。算法工程师可能只需用类似 Hive 的方式,写几个类似 SQL 的语句就可以完成模型的训练、交叉验证、参数优化等工作。

    而机器唯一不能替代的就是对数据的理解,这是算法工程师存在的价值。而数据是和业务强相关的,算法工程师将更加接近产品经理的角色,而不是程序员。深入理解数据、业务和产品,寻找模型和它们的结合点,将成为算法工程师的核心竞争力。

    插一句,相对于本文的观点,Deep Learning 在某种程度上是一种的例外。它试图解决特征工程的问题,也就是在某种程度上代替人提取特征。当然,它还比较初级,另外它最多只能解决特征变换问题,仍然处理不了数据清洗和预处理中需要用到领域知识的情况。

    这里刘同学提出一个问题,那就是算法工程师对算法需要理解到何种程度?事实是,即使从算法的应用出发,工程师也需要掌握模型的优缺点、适用场景、模型选择、参数调优等技术。这是毫无疑问的,从这一点上说,算法工程师需要一定的技术能力,这点又和产品经理不同。

    但是这就有另外一个问题:模型选择和参数调优技术,是否是通用的?还是和具体的数据高度相关的?比如,是否存在这样的现象,同样的调优技术,在(比如说)电商数据上表现很好,到了社交数据上就不行了?这个问题我暂时没有答案,如果谁知道,请告诉我。不过,一个现象是,目前做机器学习模型相关的项目,在改进的时候,基本上都采用试错的方式,就是先做出改动,然后上线观察效果;如果不好,就换种方法;如果效果有所改进,也往往没有人知道为什么。如果存在一种通用的判断模型优劣的技术,我们为什么还要采取这种近乎穷举的方式呢?

    从“ IT 精英”到“ IT 民工”或者“码农”,这种称呼上的转变并非笑谈,而是真实的反应了计算机编程领域门槛逐步降低的过程。所以,我们应当给听上去高大上的“算法工程师”或者“数据科学家”起一个类似的外号,比如“数据民工”、“机农”或者“蒜农”之类,以免不明真相的孩子们被“高大上”的称号吸引而误入歧途。

    其它

    看的出我是一个比较纯粹的技术人员,因为对于非技术的东西,我了解不够,说不出那是什么,只能用“其它”一词概括。

    这“其它”,基本上是“人”的问题——比如前面提到的“如何推动自己的想法”,“软实力”之类,大的包括机遇,小到“发邮件应该抄送给谁”这种细节。

    当然,如果你是个对技术本身感兴趣的人,这些讨论不适用,因为对于这类人,技术本身就是目的,不是手段。这里的视角,仅仅是社会普遍意义上的职业发展角度。无论是想在公司内部获得升迁,还是通过跳槽而得到晋升,还是自行创业而实现人生目标,技术都只是你的一种技能。如果再想想大部分公司里提供的是一份“造狗窝”级别的职位,这种技能起的作用又有多大呢?

    不过多说一句,要求程序员“对技术感兴趣”,甚至“在业余时间以写代码为消遣”,是一种相当荒谬的事情。试想,招聘销售人员的时候,从未有人要求求职者“对喝酒应酬感兴趣”;招聘财务人员的时候,也没有人要求“对加减数字感兴趣”;招聘外科医生的时候,也绝不会要求“平时以解剖人体为消遣”。为什么程序员这种职业就要搞特殊?

    究其原因,大概是大家还沉浸在对技术的一种非理性崇拜之中(当然崇拜和亵渎往往并存)——“技术改变世界”这句话常常被提到。这句话没错,但是要搞清楚,“技术改变世界”不等于“每一项技术都能改变世界”,更不等于“每一个技术人员都能改变世界”。其实,程序员这一行和其它任何一个需要专业技能的行业没什么区别,只是一种谋生的手段而已。

    大部分所谓的“科技公司”也并不是真正的科技公司,顶多是“使用科技的公司”。其实,在金融领域,对 IT 的要求要高多了,各大银行也有自己的软件开发部门,但是没人把它们归到 IT 行业,而是属于金融行业。然而,那些开商店的,开饭店的,卖房子的,给人说媒的,集资的,他们似乎只要做个网站,就成了“科技公司”了,这难道不是很荒谬吗?(当然,像亚马逊这种从一个卖书的起家,居然后来搞起了云计算、推荐系统、无人飞行器等技术创新的,不在此列。)在这些公司当中,技术到底起多大作用呢?

    也许相当一部分程序员们会自以为技术很重要,他们沉浸在对技术的憧憬和信仰中,内心深处坚定的相信自己可以通过技术能力的提升,来谋取更高的职位,走向人生巅峰。然而,大多数时候这只是一种自欺欺人的幻想罢了。天朝的程序员们有一种矛盾心态,一方面自称“民工”,认为编程是一种只适合 30 岁之前的年轻人从事的体力劳动,而另一方面却又把技术看的非常重要,甚至在业余时间也喜欢大谈技术,或者以攻击其他程序员使用的技术为乐。如此抱着技术不放,并不是因为多么热爱技术,而是因为他们只会技术。没有人愿意在别人面前展示自己的劣势。把技术的地位抬的越高,仿佛自己就显得越重要,而那些在需要人际交往、推动自己的想法、和产品经理讨论需求的时候所表现出的能力低下,似乎就不重要了。

    这是人性的弱点——对自己某种能力盲目而过分的自信,甚至把它作为自己的精神支柱。也许他在这个方面的确很擅长,但是自我评估却比实际更高。诚然,自信是必要的,也是人生存和立足的精神基础之一。然而自信是把双刃剑——不切实际的自信(也许应该叫自大了),会蒙蔽人的双眼,扭曲事实。

    那么我们应该怎么做呢?首先比较悲观的一点是,如果你从事着一份技术上处于“造狗窝”级别的工作,那么很遗憾,提高自己的技术水平恐怕对于在公司内部的职业发展没什么帮助。

    如果你是一个真正对技术有兴趣的人,可以考虑一下《黑客与画家》里提到的一类“真正的程序员”的工作方式:他们求的一份“白天的工作”,这份工作仅仅用来生存,而在业余时间写一些“真正有价值”的代码。

    恐怕大部分程序员都不是对技术有兴趣的吧?如果你的目标是事业上的发展,无非是跟人混和创业两种方式。跟人混,要么内部晋升,要么通过跳槽。前者需要老板认为你牛逼;后者需要别的公司的老板认为你牛逼。注意,这里有个关键词“认为”,因为人的主观印象和客观事实之间总是有差距的,而且这个差距往往超乎人的想象。所以重点是制造一种“牛逼”的印象,而实际上牛不牛逼并不重要,牛逼更好,不牛逼也可。

    如果你想走技术路线,可以考虑去找一份“建造大楼”级别的工作,在那里,技术成为决定产品成败的主要因素。这种级别的项目,一般只有大公司做的起。老板对于员工技术能力的评估,还是比较容易做到客观的,因为代码在那里,牛不牛逼,一运行便知。但是对于所谓“软实力”,往往就不好评判了,主观性很大。

    也正因如此,往往有很多人觉得自己很牛逼,而老板不这么认为(错的不一定是老板,也可能是这个人自大),所以一怒之下走上创业的道路。自己给自己当老板,终于不用在意老板的印象和事实之间的差距。然而这条路往往更为艰难,它对人的综合素质要求比较高。如果一个程序员在工作中不能和同事顺利的合作,那很难想象他能够满足创业者所需要的各种素质。所以,要走这条路,得有心理准备。

    总结

    技术是为人服务的,IT 业的发展过程,是在逐步降低计算机的使用门槛,使得越来越多的人能够使用这种工具。这是好的,但它同时也降低了程序员这种职业的技术含量。如果真的想做技术,那么去做一些真正的技术。否则,就需要多多关注技术以外的东西,单纯寄希望于技术,只能用来安慰自己,而不能获得真正的职业发展。
    simuhunluo
        66
    simuhunluo  
       2018-09-21 00:33:29 +08:00 via Android   ❤️ 1
    @q397064399 你这字数。超过 800 了吧。
    sammo
        67
    sammo  
       2018-09-21 02:16:30 +08:00
    本帖和这个帖子 ( https://www.v2ex.com/t/490664?p=1 ) 配合看,
    总觉得这个技术行业,哦不,这群人,有一些微妙的违合感。
    仿佛总是被人当猴子一样耍,还不知道为什么
    johnnie502
        68
    johnnie502  
       2018-09-21 03:37:46 +08:00   ❤️ 2
    开发本来就是执行用的,好比房地产里面的施工队。从来没看到哪个施工队因为售楼小姐拿了高额提成心里不平衡要上网发帖找安慰的。
    TheBladeDancer
        69
    TheBladeDancer  
       2018-09-21 08:42:59 +08:00
    多加点 bug 就好了
    Hipan
        70
    Hipan  
       2018-09-21 08:49:35 +08:00 via Android
    @chenyu8674 开玩笑吧。兴趣广泛,够主动,还有技术,那早就踩在主管头上飞起来了
    wupher
        71
    wupher  
       2018-09-21 09:12:49 +08:00
    你看,他已经指出了你在这个公司的天花板,我觉得比继续忽悠让你混混厄厄这要强多了。

    剩下的就看你了:

    要么,别做技术,转型市场、产品、管理;

    要么,去一家技术关系很大的公司吧。
    learnshare
        72
    learnshare  
       2018-09-21 09:13:27 +08:00
    跟技术关系真不大,技术只是实现业务的工具而已,开发只是做工具的工具
    技术对于业务来讲,算是必要,但并不重要
    wzhndd2
        73
    wzhndd2  
       2018-09-21 10:47:51 +08:00
    所以说,做技术的要留点 bug,不要一次性把项目做得太好,代码写得屎一些,糊弄糊弄,后期有问题了,他们就会求着你来改了,然后呢,你再演演戏,假装这个问题很难改,要么就演戏自己最近好忙,还有什么什么需求要做,那他们才能体会到你的重要性
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1098 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 19:28 · PVG 03:28 · LAX 12:28 · JFK 15:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.