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

卷应用层的开发技术永无出头之日,求老哥指一个底层开发方向

  •  1
     
  •   liangkang1436 · 169 天前 via Android · 11006 次点击
    这是一个创建于 169 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近在整理我学习过的应用层的开发技术,发现大多数技术其实没有什么深度,我们学习的大多数技术其实就是步骤记录,操作指南,也正因为如此,培训班可以将 0 基础的人培养为一个初级程序员,web 开发也会越来越卷,技术也越来越不值钱,同时因为都是应用层的技术,所以一旦语言不流行或者框架不流行,自己就得学新的技术栈,疲于奔命,具体的观点,在我的博客的文章,https://xiashuo.xyz/posts/others/dev_thought/is_programming_technology/,中详细描述过,



    也正因为如此,小弟想请教大哥们,有那些偏底层的开发,是有一定门槛,同时在技术的发展过程中比较稳定的,我自己只能想到 Linux 内核相关的开发、中间件开发这样的工作,求各位大哥们教教老弟
    第 1 条附言  ·  169 天前
    97 条回复    2023-11-14 08:39:30 +08:00
    afeiche
        1
    afeiche  
       169 天前
    编译器、音视频、无线传输
    borivosky
        2
    borivosky  
       169 天前
    链接点进去直接带了后面的内容显示有问题,可以改一下
    thiiadoewjwe
        3
    thiiadoewjwe  
       169 天前   ❤️ 2
    工业软件图形学
    murmur
        4
    murmur  
       169 天前   ❤️ 1
    底层要数学,有的还要高数、随机过程这些东西,数学不好的真卷不动,底层优化需要严谨的数学和工程性证明的
    liangkang1436
        5
    liangkang1436  
    OP
       169 天前 via Android
    @borivosky 不好意思,在地铁上用手机发的帖子,没有编辑格式,等到了公司就 append 一下
    chendy
        6
    chendy  
       169 天前
    写了 10+ 年 java ,刚才还在改 jsp 的表示,这玩意真稳定啊…
    我觉得楼主要不要逆向思维一下,考虑一下需求和业务呢?
    yolee599
        7
    yolee599  
       169 天前 via Android
    自己实现一个 TCP/IP 协议栈?完全不用别人的库,如果你能实现出来就可以进行下一步了,不然趁早放弃
    AlanStar
        8
    AlanStar  
       169 天前
    要不考虑考虑通信协议
    xubingok
        9
    xubingok  
       169 天前   ❤️ 6
    应用层缺少深度我认可...
    但如果你觉得永无出头之日就换底层开发的话,你会失望的哈哈哈.
    xinyu391
        10
    xinyu391  
       169 天前
    全栈: 前端,后端,应用层;还不够,就再加个算法层
    xuxu5112
        11
    xuxu5112  
       169 天前   ❤️ 3
    哎,感觉底层更惨烈,大家永远用最优秀的那一个。
    surrenal
        12
    surrenal  
       169 天前
    问题是大多数老板看不到底层的价值,能生产直接价值的技术 才是当前老板们需要的
    Georgedoe
        13
    Georgedoe  
       169 天前   ❤️ 1
    业务层都写不明白还想写底层
    iorilu
        14
    iorilu  
       169 天前
    可以学习下最近流行的各种使用 web 技术开发桌面 gui 的应用
    putaozhenhaochi
        15
    putaozhenhaochi  
       169 天前 via iPhone
    底层可不是几年就能卷出来的
    buf1024
        16
    buf1024  
       169 天前   ❤️ 1
    底层的工作机会更少,也很内卷。
    xieren58
        17
    xieren58  
       169 天前
    国内技术都没啥出路...
    shijingshijing
        18
    shijingshijing  
       169 天前
    底层要学得东西更多,而且比应用层更难,还高度与硬件绑定,只是生命周期长一点,也不存在绝对的铁饭碗。想想看前面做 PalmOS ,Windows Phone 操作系统级别开发的,还不是惨。
    liangkang1436
        19
    liangkang1436  
    OP
       169 天前
    @afeiche 无线传输指的是啥,文件隔空投送这类?
    @thiiadoewjwe 这个国内自己都没起步,手动笑哭.jpg
    @murmur 学啥不是学呢,学吧
    @chendy 前两天看个帖子,还在说 jsp 被淘汰了,手动笑哭.jpg ,需求和业务是个方向,谢谢老哥
    @AlanStar 通信协议是个方向,谢谢老哥
    owen800q
        20
    owen800q  
       169 天前 via iPhone   ❤️ 1
    @buf1024 并不是吧,十分幸运刚毕业就进了某游戏公司做反外挂研究开发,入行 8 年了,中间做了 4 家公司 都是一面就过了,主要是不好招人,外面的培训班相关的二进制安全课程都是二十多年前的技术,现在的游戏公司都不招培训班的,現在游戏安全入行门槛极高,没打过国际性的 CTF, 连面试机会都没
    8355
        21
    8355  
       169 天前   ❤️ 1
    看来还是认知有问题,你做应用层做不下去了,看到一个做底层的人过的很好,所以你理解为做底层比应用层好。。。是吧。。
    你所理解的底层岗位更少,更需要资历,应用层为什么人最多,因为 99%的公司不需要底层开发。
    单纯的硬件发展+技术更新已经足够应付业务的发展了,现在做底层开发的大佬都是哪年毕业的你要不要去问一问。。
    hitmanx
        22
    hitmanx  
       169 天前   ❤️ 6
    我的建议是你最好选一个你比较感兴趣的方向。原则是当做起来的时候,哪怕给你一本几百上千页的 spec 读起来也不会觉得痛苦的。兴趣就是核心竞争力,剩下的积累只是时间的问题。

    另外需要做好一个心里准备是,底层的东西大部分时间都需要和硬件进行绑定的。写一个硬件的驱动程序之类的就不说了,哪怕是那些操作系统、编译器等等看上去光鲜亮丽的方向,实际上大部分人做的也是和底下硬件、指令集适配那一块,比如把一个已经工作的功能移植到一个新平台上,或者修复在某一个硬件平台上的 bug 。一些核心内容经过这么多年发展早已定型,而一些创新内容什么的,基本是要有研究背景的,普通工程师不挨着边。
    hydyy
        23
    hydyy  
       169 天前
    底层别琢磨了 还不如卷卷业务,转行产品
    0xvincebye
        24
    0xvincebye  
       169 天前   ❤️ 5
    @owen800q 你这段话意思不就是机会更少,更加内卷吗?除了第一句介绍一下自己多么幸运
    artnowben
        25
    artnowben  
       169 天前   ❤️ 1
    内核方向主要都是老人,都在几个大厂,坑很少。
    网络方向可以关注一下,稍微好一点点:
    1. 7 层网关:nginx 、envoy 开发等
    2. 3-4 层网关:如 DPDK 开发,可以参考 dpvs, dperf 项目了解一下 https://dperf.org/
    yiyiwa
        26
    yiyiwa  
       169 天前
    搞 UVM ,system verilog 吧。 这个底层的现在特别火。
    liangkang1436
        27
    liangkang1436  
    OP
       169 天前
    @8355 @hitmanx 谢谢老哥提供的视角,谢谢
    cloud107202
        28
    cloud107202  
       169 天前
    你这 title 就说反了,应用层路才宽,需求多且可持续
    liangkang1436
        29
    liangkang1436  
    OP
       169 天前
    @artnowben 老哥的回复最实在,我去了解了解
    superkeke
        30
    superkeke  
       169 天前
    @xieren58 国内除了考公入编,有啥有出路的
    c2const
        31
    c2const  
       169 天前
    应用层岗位多,人也多;底层岗位少,人也少 :(
    ------------------
    五、六年前,同学转前端互联网相关,一周 10 个面试,我去底层安全,一周 1 、2 个面试,要求高,薪资也还行 :(

    ------------------
    底层开发的混子相对少一些,而且比较难混得动,混不动的转岗转行,开发岗位少,竞争其实也大。但主要还是选业务方向,欢迎来卷底层 :)

    但现在大陆互联网这就业环境,选啥都差不多,无外乎早失业、晚失业、牛马就业 ,能润尽润海外,不能也撑过寒冬吧 :)
    iamppz
        32
    iamppz  
       169 天前 via iPhone
    业务才值钱,底层工作门槛高机会少
    willis0611
        33
    willis0611  
       169 天前
    可以试试学习游戏后端主程、搜索推荐广告引擎开发等~ 机器学习相关~
    clemente
        34
    clemente  
       169 天前   ❤️ 1
    底层开发 只有打工一个 路子 不能创业
    Loi
        35
    Loi  
       169 天前
    要赚钱的话还真是离钱越近的岗位越赚钱,能拉到业务接到单,就是大爹
    lmw2616
        36
    lmw2616  
       169 天前
    应用层应该去卷业务而不是前端技术
    GrayXu
        37
    GrayXu  
       169 天前
    op 的想法其实挺合理的,像前端框架迭代就快的离谱。底层也不用像前面说的到 compiler 这么底层吧。。大厂做 infra 做 DB 的坑还是不少的
    jrtzxh020
        38
    jrtzxh020  
       169 天前
    @shijingshijing PalmOS 可惜了,当年 palm pre 是真的丝滑。。。
    lmw2616
        39
    lmw2616  
       169 天前
    尤其是行业应用,比如 电力、医疗、制造 ,业务才是壁垒而不是技术
    cover
        40
    cover  
       169 天前
    底层不也服务业务吗,如果业务不行,照样很难有出头之日,何况目前技术的发展程度,你要卷一个新的底层/老的成熟底层 真的太难了
    afeiche
        41
    afeiche  
       169 天前
    @liangkang1436 无线传输现在应该就是通信协议+硬件,其实还可以考虑嵌入式的。
    xuanskyer
        42
    xuanskyer  
       169 天前
    有没有一种可能,并不是技术的问题
    buf1024
        43
    buf1024  
       169 天前
    @owen800q 等过了 35 再来看这个问题。
    tool2d
        44
    tool2d  
       169 天前   ❤️ 1
    这行业做底层开发的,少说也工作 10 年~ 15 年经验了,怎么可能卷的过。

    大牛之所以成为大牛,并不是因为占了一个好坑位,而是人家智商高,本来就很牛。

    同样的赛道,我们普通人去竞争,就未必能成为大牛。
    wusheng0
        45
    wusheng0  
       169 天前
    浏览器引擎、内核有搞头吗
    wusheng0
        46
    wusheng0  
       169 天前
    设备形态怎么变化,无非就是声音、视觉吧。
    应该可以从这两个方面找相关的产业和方向,底层音视频、图形学什么的
    mwuxlcanrh
        47
    mwuxlcanrh  
       169 天前
    底层更卷。比如类 redis 的东西不知道有多少了,实际上大家用的只有 redis 。
    池子越大越容易混。
    jrient
        48
    jrient  
       169 天前
    城里的人想出去,城外的人想进来
    你想想你是城里的人还是城外的人
    DaveMo
        49
    DaveMo  
       169 天前
    AI 都在要把 0101 转出自然语言了,一直靠代码编程必然是没出路
    lambdaq
        50
    lambdaq  
       169 天前
    要想稳定?小型机+COBOL 最稳定。
    jones2000
        51
    jones2000  
       169 天前
    @wusheng0 有搞头, 你把 linux 或 windows 整个移植到浏览器里面,exe 可以在页面里面执行,一个页面一个独立的沙盒操作系统。 有钱途吗?
    chenyu0532
        52
    chenyu0532  
       169 天前   ❤️ 1
    曾经我也认为搞底层才是 NB 的。后来懂了,NB 是 NB ,但是确实很难。

    现在想开了,就搞应用层,但也不一门心思搞代码,多理解业务。
    avalon8
        53
    avalon8  
       169 天前
    思维发散下,做产品,搞管理
    konakona
        54
    konakona  
       169 天前
    我感觉得看你的语种,比如 C 或 C#你才能接触到偏底层的知识,Golang 你可以接触到区块链和 devops 底层。
    如果是 web 开发,你是前端的话可以折腾 rust 给自己锦上添花。如果是 php 就可以考虑 C 了。
    linuxsuren
        55
    linuxsuren  
       169 天前
    找个工作中用到的开源项目参与进去,你逐渐也就可以做的很深入
    qcbf111
        56
    qcbf111  
       169 天前
    这样看来游戏开发可真是个无底洞, 越深入做的越久越觉得还有好多不会的 从多路复用含有复杂状态的分布式到二进制协议封包自定义, 到 UI 展示几个按钮可以同时一起给 GPU 画, 到多个角色同屏降低 cpu 开销, 到降低 cpu 的 cachemiss, 把逻辑放到 gpu 计算. 再到 gpu 计算,NPR,PBR 效果
    guabimian
        57
    guabimian  
       169 天前
    脱离业务的底层是最容易被开源项目替代的,很多年前公司还都是自己实现类似 redis 这样的服务哪。
    而且做底层的因为远离业务很难有升职机会,基本都是做业务的上位,原因当然大家都知道。
    manasheep
        58
    manasheep  
       169 天前
    底层是科学,上层是技术,你要是没有那么强的科研能力,还是不要惦记为好。
    ash1n2
        59
    ash1n2  
       169 天前   ❤️ 1
    底层的进展比较缓慢,但是坑位也少,像我们团队目前的性能优化方向全职岗位没太多公司有岗位。。
    deno2h
        60
    deno2h  
       169 天前
    搞好业务才能有发展,没有业务,就没有生存的土壤
    ash1n2
        61
    ash1n2  
       169 天前
    而且技术的深浅的重要程度取决于你的目标,如果你的目标是想赚很多很多钱,那可能钻研技术并不是一件好事;而如果你的目标是通过技术赚一些钱,那可能比较适合。先想清楚自己想要什么再考虑要做什么会比较好,越底层的团队感知力越弱,在业务下行的时候越容易成为成本团队。
    keymao
        62
    keymao  
       169 天前
    "大多数技术其实没有什么深度" 人家给你包装好了 ≠ 没有深度 你现在在用的很多方便的东西,架构之精妙推荐你去多钻研一下,包括很多人说学科教育与实际生产相脱节,其实学校里教你的一些脱节内容才是需要你真正去了解的内容。 因为现在生产用到的这套东西多半是构建于这些“脱节”内容之上的。
    luny
        63
    luny  
       169 天前
    底层,类似 linux 内核这样的,自学的效果并不好,还是需要实际项目推动,积累经验
    xinmans
        64
    xinmans  
       169 天前
    如果能做到 7 天快速学习一门语言,这些都不是问题,什么是问题,是你切入到新场景的机会,这是个问题。
    guazao
        65
    guazao  
       169 天前
    协议栈、通信协议
    可以看一下这个库 https://github.com/hankai17/quic-fiber 是用 c11 协程实现的
    把 quic 的传输控制逻辑抽取出来
    Guo8a
        66
    Guo8a  
       169 天前
    研究逆向吧

    「安全攻防」或「歪门邪道」任你选择
    jiehuangwei
        67
    jiehuangwei  
       169 天前
    就得卷业务啊,一是与钱最近,二是变化无穷,永远有需求的。
    底层多少年不变,也不好卷
    xz410236056
        68
    xz410236056  
       169 天前
    @murmur #4 连机器学习那些一阶线性回归方程啥的,算偏微分的东西都能封装成一句函数,硬件层的东西一样掉包侠
    zomco
        69
    zomco  
       169 天前
    VPN 协议
    giter
        70
    giter  
       169 天前
    @xz410236056 调包无出头之日,写包才有光明的未来
    majianglin
        71
    majianglin  
       169 天前
    底层要去大厂,能进去就可以卷一辈子
    PTLin
        72
    PTLin  
       169 天前
    我也是这么想的,所以最近在学 Linux 内核相关的技术。
    doyel
        73
    doyel  
       169 天前
    @putaozhenhaochi 不单是几年的问题,不是金字塔尖基本上卷不出来。。。
    ly529
        74
    ly529  
       169 天前
    Framework 层开发吧,比底层要容易点吧,现在车机也挺火的,就业面也广
    aonshuy
        75
    aonshuy  
       169 天前
    学完之后发现,更无出头之日,开发只是工具,值钱的是业务、生意
    CrazyRundong
        76
    CrazyRundong  
       169 天前 via iPhone
    欢迎来 NV 做 GPU 计算体系架构,AI 时代最底层最硬核的工作之一
    James369
        77
    James369  
       169 天前
    相对应用来说,底层是枯燥乏味的,可要想清楚了。
    rocmax
        78
    rocmax  
       169 天前 via Android
    做底层先别考虑出不出头,兴许会饿死
    eqing
        79
    eqing  
       169 天前
    信创相关
    thtznet
        80
    thtznet  
       169 天前
    你这个想法有点像做销售的认为自己无出头之日应该回内勤做客服。我只能说在每个领域都有出头的人和没出头的人。换赛道并不会让人直接出头,只是看你自己更适合哪个赛道。
    Features
        81
    Features  
       168 天前
    底层的需求跟应用层比例大概是 1:100 甚至更多
    底层要求高性能,高稳定性,不是一般人能搞定的
    搞定以后基本都开始套娃了
    比如一个汇编开发的驱动,会被 C ,JAVA ,node ,C#,C++等等再套一遍给各自的生态进行调用
    zdxddt
        82
    zdxddt  
       168 天前
    应用层我还可以发展下副业,做做自己的小产品或者做做外包,多少算是个盼头。 到了底层,这种机会可就更少了
    mmdsun
        83
    mmdsun  
       168 天前
    卷应用层最大出路就是 独立开发者、做项目创业、,然后实现财富自由。
    sparrowMan
        84
    sparrowMan  
       168 天前
    我只能说 国内技术没啥好的出路 可以跳出技术的思维 搞点别的
    enchilada2020
        85
    enchilada2020  
       168 天前 via Android
    @mmdsun 这条路怕是不比卷底层容易多少吧。。
    kingjpa
        86
    kingjpa  
       168 天前
    你要做的是提高眼界 站在巨人的肩膀上,gpt 出来 已经有多少人靠着这个 api 实现了发家致富
    tianshilei1992
        87
    tianshilei1992  
       168 天前
    compiler :-)
    levelworm
        88
    levelworm  
       168 天前
    我觉得 OP 想法合理,问题是的确需要手上一把技术,要不就是有贵人提携。
    dayeye2006199
        89
    dayeye2006199  
       168 天前 via Android
    这个问题很简单,你平时用什么搞你自己的应用,你挑个顺眼的多研究研究, 以后就干这个就行。

    比如你用 Webpack 用的多,那就研究打包工具怎么写好了。

    你说你懒得研究,或者看不懂,那当我没说…
    duke807
        90
    duke807  
       168 天前 via Android
    > 我们都知道,软件开发技能有时效性,十年前学习的编程知识,十年后几乎肯定不能用于生产。那样的话,软件开发就不能算真正的知识,只是一种实施的细节。

    我十年前学习的 verilog 、c 、shell 、vanilla js 、python 都在用于生产
    minami
        91
    minami  
       168 天前
    多媒体、传输协议、BIOS 开发
    16fat
        92
    16fat  
       168 天前
    @wusheng0 可以学习它的代码、架构;就业层面,之前很多搞跨平台渲染,到最后都不如 Native ,所以现实中岗位并不多。
    fyxtc
        93
    fyxtc  
       168 天前
    业务才是最值钱的,大部分产品应用层是离业务最近的地方,换个角度看问题,可能会得出不一样的结论
    onice
        94
    onice  
       168 天前   ❤️ 2
    程序员都有个惯性思维,觉得技术越牛逼就越值钱。

    实际上在市场中,技术只是实现商业目的的手段。

    当然也有值钱的技术,,但是值钱的技术都是垄断的技术。

    中国从来都不是一个重视技术的国家。在中国,我们被教育要有奉献精神,以吃苦耐劳作为美德。

    还有中国知识版权保障也不完善,,你开发了新技术,,别人直接抄就完事。

    Adobe 全家桶这些软件就挺有技术含量的,但他们都没有诞生在中国。

    ChatGPT 也是最开始诞生在美国。

    还有最近我在学习的 Docker 和 k8s ,他们都诞生在美国。

    你能叫得上名的跨时代的技术,这些技术就值钱,但他们都没有诞生在中国。

    在中国做技术是没前途的。大多数人只是用技术混个温饱而已。

    中国整个 IT 产业都没有核心技术,,商业公司也只是做应用层面的创新。

    所以,对于国内的环境来说,业务盈利比技术牛逼更重要。

    要想出头,,可以学习雷军,,从技术开始作为起点,转管理。然后成为职业经理人,一级一级晋升,成为公司合伙人或 CEO ,拿到公司的股权,,能够享受分红了,才能说是出头了。

    在中国,卷技术,就是一条死路。记得之前看过一个新闻,,说是一个工人焊接飞机发动机,全国只有他能做精度这么高的事,但是他的月薪却只有几千元,媒体还歌颂他的无私奉献。
    liangkang1436
        95
    liangkang1436  
    OP
       168 天前 via Android
    @onice 谢谢老哥,你的回答,深入人心
    keepRun
        96
    keepRun  
       168 天前 via Android
    一个人所获得的薪资是跟其所处行业的竞争烈度高度相关
    levelworm
        97
    levelworm  
       165 天前 via Android
    @liangkang1436 他说的有道理,但是你也要想清楚,自己是真的对技术感兴趣,还是就是想靠着技术发财。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2948 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 14:06 · PVG 22:06 · LAX 07:06 · JFK 10:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.