• 请不要在回答技术问题时复制粘贴 AI 生成的内容
kalsir
V2EX  ›  程序员

呐,问大家一个程序员的技能问题

  •  
  •   kalsir · Dec 4, 2017 · 5832 views
    This topic created in 3257 days ago, the information mentioned may be changed or developed.
    在实际项目或者工作中,到底是懂得计算机、操作系统、网络这些系统设计和原理重要,还是懂得算法重要?
    Supplement 1  ·  Dec 4, 2017
    感谢各位,事实上楼主运维,非开发类工种

    问这个问题主要是由于工作中上遇到的开发人员多半对系统、网络类知识很匮乏,网卡 discard 增长,网络背锅,udp buffer 满了,网络背锅,tcp 连接被对端 rst 掉了,网络背锅。。。诸如此类,更别提实际解决问题能力,只是甩锅而已


    另外,楼主理解大多数业务开发算法能力不能说很差,但也是基本用不到啥算法的,那这些人究竟在写啥,不懂系统,不懂网络,不懂算法.....码农真的已经成了廉价劳动力了?
    38 replies  •  2017-12-05 13:50:14 +08:00
    Lionhu
    Lionhu
    Dec 4, 2017
    1
    得看具体工作,没有前提条件无法得出结论,只能说都重要
    riggzh
    riggzh
    Dec 4, 2017❤️1
    2
    都重要,有些实现你不优化算法 性能问题折磨死你,相反你算法很强,但是遇到项目的非软件 BUG,你也得会排查
    yulitian888
    yulitian888
    Dec 4, 2017❤️2
    3
    这两组技能是对立的?
    riggzh
    riggzh
    Dec 4, 2017
    4
    当然,我是针对你所说的项目来的
    yulitian888
    yulitian888
    Dec 4, 2017❤️1
    5
    补充一下,上面敲快了直接发出去了。
    前者是知识(类比背英语单词,记住了就是你的),后者是技能(类比游泳、骑车,掌握了才是你的,看书学不会的),这两组能力根本就不是对立的好不好?
    coderluan
    coderluan
    Dec 4, 2017❤️3
    6
    实际工作中,能解决问题就行,谁管你是懂原理还是百度复制。
    Patrick95
    Patrick95
    Dec 4, 2017❤️1
    7
    都很重要,虽然你可能实际工作中用不到。
    但是能力和回报成正比,懂得越多自身价值越高。
    wxsm
    wxsm
    Dec 4, 2017❤️1
    8
    至少都要懂一点吧,不然容易成为井底之蛙,会被嘲笑的。
    zhx1991
    zhx1991
    Dec 4, 2017
    9
    map 和 list 哪个重要?
    cheesea
    cheesea
    Dec 4, 2017
    10
    操作系统,计算机网络这些是死知识,知道就是知道,不知道就是不知道。
    UnknownR
    UnknownR
    Dec 4, 2017
    11
    基础决定高度,你说的这些都是基础,我这种平时写脚本的都能遇到交叉关联的情况,更何况是复杂度高 n 倍的完整程序项目
    alcarl
    alcarl
    Dec 4, 2017 via Android❤️1
    12
    算法决定上限,前面那些东西决定解决问题的能力。撸业务代码确实用不到,但撸业务代码也不会一帆风顺的,总会碰到各种问题,这时候,刚说的那些就需要了
    daliang
    daliang
    Dec 4, 2017
    13
    这都不会还算程序员?
    DeweyReed
    DeweyReed
    Dec 4, 2017
    14
    第五个包子吃饱了不能说前四个没用的不是,哪个不重要呢。
    cxbig
    cxbig
    Dec 4, 2017❤️1
    15
    取决于你要做什么方向的工作

    你不可能学会所有的东西,所以除了工作的核心技能,按自己的喜好去扩展。
    总会找到合适的用武之地。
    jatesun
    jatesun
    Dec 4, 2017
    16
    还是觉得应该根据自己工作学习兴趣去学习。
    mskf
    mskf
    Dec 4, 2017
    17
    业务逻辑大多数不涉及算法,性能调优或者底层架构才会涉及到
    privil
    privil
    Dec 4, 2017
    18
    有些开发就是菜…… 当然你说菜在运维里面存在不存在,也是存在的
    Lpl
    Lpl
    Dec 4, 2017 via iPhone
    19
    我也是运维...你说的网卡 discard 满了,udp buffer 满了。。我都没遇到过,我感觉我也是菜
    dychenyi
    dychenyi
    Dec 5, 2017
    20
    换个思路,你们这些运维,真正网络负载大的时候能有几次,除此之外你们在干嘛?给每个员工修电脑么? 真是无聊又 low 的工种。
    而软件开发不仅仅是算法了,就像一套 office 办公套件,有什么算法,但你来开发出来看看呢。
    skadi
    skadi
    Dec 5, 2017
    21
    你要是遇上网络编程相关的开发者,能怼死你。
    kalsir
    kalsir
    OP
    Dec 5, 2017 via iPhone
    22
    @dychenyi 你以为,运维只有一种么……
    kalsir
    kalsir
    OP
    Dec 5, 2017 via iPhone
    23
    @skadi 身边都是网络底层和系统底层的开发,他们都懂网络懂系统,不会问这些低级问题
    slgz
    slgz
    Dec 5, 2017
    24
    @Gothack 身为网络底层和系统的开发人员来说,不懂网络,他怎么能胜任此工作。 再说,普通的开发人员,开发个 V2EX 此类的网站出来也不是很难。那你能说,他们不能胜任此工作?
    ioth
    ioth
    Dec 5, 2017
    25
    别想那么多,最重要。
    kalsir
    kalsir
    OP
    Dec 5, 2017 via iPhone
    26
    @slgz 兄台说的没错,但他们请求响应不过来的时候时不时来找茬就是他们不对了……
    dychenyi
    dychenyi
    Dec 5, 2017
    27
    @Gothack 很简单,本帖不就是你以为系列么, 我都说换个思路了, 你真以为我是那样认为的吗? 。。。
    你都说了,那些码农不搞算法不知道在干嘛, 我就类比,你们运维,不解决极端负载不知道干啥。
    还是 25 楼说的最好,别想那么多。
    qingfengxm
    qingfengxm
    Dec 5, 2017
    28
    何必相爱相杀,技术能力那个行业不是参差不齐,全是高手企业也养不起不是
    ofnh
    ofnh
    Dec 5, 2017 via Android
    29
    术业有专攻,不懂很正常啊,就好比你作为运维你也不懂算法
    bxqqq
    bxqqq
    Dec 5, 2017❤️1
    30
    大多数都在写逻辑啊...调用 api,我觉得你说的网络这个合格的码农都应该懂吧?现在还有几个职位不和网络打交道的...至于 os 什么的,这些知识个人觉得知识在 debug 的时候偶尔才用到,但是这些东西程序员是应该懂的,至于算法也是一样,不做算法岗,但是平时遇到个场景要知道用什么算法,看代码,别人写了个算法的代码能一眼看出来大概是什么,而不是完全没有概念,我觉得到这种程度就可以了。不过算法很锻炼思维,没事平时的时候可以多想想。
    vegito2002
    vegito2002
    Dec 5, 2017❤️1
    31
    全都是基础课吧
    vegito2002
    vegito2002
    Dec 5, 2017
    32
    真正需要的深度, 得看你工作中的项目是什么方面的了
    bramblex
    bramblex
    Dec 5, 2017
    33
    不懂算法+数据结构你操作系统网络能学好?
    你学的是怕不是名词解释……
    bramblex
    bramblex
    Dec 5, 2017
    34
    我还深刻记得我们操作系统老师从一段 linux 代码里面抽了一段经典代码给我们讲如何从四个方面进行算法效率的优化。
    bramblex
    bramblex
    Dec 5, 2017
    35
    可以这么说,你操作系统和网络里面的所有的算法,几乎都是被优化到通用场景下的极限的。
    SuperMild
    SuperMild
    Dec 5, 2017 via iPhone
    36
    你自己开发的产品,你可以自由决定怎样收费,怎样提供服务。别人开发的产品,不宜评价。

    好不容易有人走回用户交费使用服务的正统路线,非逼着人家靠弹广告收费才开心吗!
    SuperMild
    SuperMild
    Dec 5, 2017 via iPhone
    37
    发错了
    xiqingongzi
    xiqingongzi
    Dec 5, 2017 via iPhone
    38
    @dychenyi 好多运维其实干的是开发的活、搞各种各样的集群管理系统,比如 CMDB (好像叫这个,有次看到了)
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   3057 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 70ms · UTC 11:12 · PVG 19:12 · LAX 03:12 · JFK 06:12
    ♥ Do have faith in what you're doing.