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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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