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

现在开发做嵌入式入行容易吗?比起 Java 和前端?

  •  
  •   jiyan5 · 2023-04-13 09:34:38 +08:00 · 5195 次点击
    这是一个创建于 377 天前的主题,其中的信息可能已经有所发展或是发生改变。
    想做开发,看网上消息,前端和 java 卷的不要不要的,工作几年还不好找工作。问下已经在嵌入式领域工作的老哥
    30 条回复    2023-10-04 11:15:43 +08:00
    yinseyingji
        1
    yinseyingji  
       2023-04-13 09:42:35 +08:00   ❤️ 1
    如果计算机基础学的好,会 C 语言,懂点硬件的话,入行不难。嵌入式工作 10 多年了,只能说这个行业吃不饱饿不死,跟互联网行业没法比
    ixiaohei
        2
    ixiaohei  
       2023-04-13 09:49:31 +08:00
    嵌入式入门要求比 java 和前端高,门槛高会筛选一批人,可能有经验的人相对较少比较容易找工作;以前做 java 两三年的时候想转嵌入式,发现嵌入式岗位少的可怜,要求也高,最后没转成功。现在因为 IT 行情不好,java 服务端、安卓端和前端岗位都很少,另外这几年毕业的人比较多,这行其实入门门槛不高,所以人多卷的不行,对刚入门的人已经极其不友好了;因为有过面试官经验,自我感受比起当年看嵌入式岗位要求还要变态和卷,因为求职是在太多了(包括工作几年被裁的一大堆),都在挑性价比极好的
    Befehishaber
        3
    Befehishaber  
       2023-04-13 09:52:50 +08:00
    也分软件和硬件 主做软件会简单一点
    tangzs
        4
    tangzs  
       2023-04-13 10:00:26 +08:00
    应该是同样卷的,硬件价格血拼得历害
    duke807
        5
    duke807  
       2023-04-13 10:56:37 +08:00 via Android   ❤️ 11
    嵌入式做的好还是很不错的,年龄越大越吃香(平时要保护大脑,不能饮酒)

    不过,想做好,不爬几年坑是不用想的

    譬如,你在一段代码里面,加了一行 printf 就可以正常运行,不加的话,cpu 直接进入异常,你要有能力找出问题所在(这是一个真实案例,查到结果是 cache 和 dma 配合的时候,虽然 dma 搬运外设备数据到内存,接收的内存也是 cache line 对齐的,但是接收区域结尾没有加占位,导致另一个全局变量掉入 接收内存的最后一个 cache line 的尾部,导致无效操作该接收内存区域为 dma 搬运做准备的时候,错误的把该变量无效掉了,而这个变量又导致操作另一个数组的时候数据溢出)

    还有是路线的选择,平时选择用什么主系统也很重要,十年 linux 使用经验会让你实际用 linux 做产品的时候更顺手,而十年 windows 经验对做嵌入式产品基本没有价值
    kidult
        6
    kidult  
       2023-04-13 10:56:51 +08:00
    生产行业大部分是单休,工资偏低,人少不是没有原因的
    duke807
        7
    duke807  
       2023-04-13 11:04:37 +08:00 via Android   ❤️ 6
    而加了一行 printf ,再次编译改变了内存布局,受影响的区域换成了另一个变量,这个变量被意外窜改不足以让系统崩溃

    很多同行都是用类似加 printf 之类的方法绕过问题或者降低问题概率,而不是刨根问底解决问题,这样带着问题往下走,再次遇到新问题就是问题+问题,更加解决不了,这样他自然就成长不了多少
    wjx0912
        8
    wjx0912  
       2023-04-13 11:40:23 +08:00
    如果没做过开发的话,可以选嵌入式,比前端 java 简单
    fxxkgw
        9
    fxxkgw  
       2023-04-13 12:04:57 +08:00 via Android
    C 和 Linux 两项技能掌握就够了
    大量制造业岗位需要嵌入式岗位 所以卷不卷不提,起码可以有更多二线工业城市可选,比如:苏州 宁波 惠州 佛山等制造业发达地区
    yolee599
        10
    yolee599  
       2023-04-13 13:08:34 +08:00 via Android
    嵌入式不好入门,基本五年以上吧,工资再打个对折
    westoy
        11
    westoy  
       2023-04-13 13:12:12 +08:00
    这东西又不像软件, 你在家里随便学学就能学过了, 光一堆调试设备你不是已经吃上这碗饭的就不可能自己买了

    首先不是学这个出身的, 你得先找一家愿意带你的公司

    而且嵌入式大后期, 你不止是画 PCB 和写程序, 连进料你都要过手的
    LXGMAX
        12
    LXGMAX  
       2023-04-13 13:59:54 +08:00   ❤️ 1
    较高的硬件知识门槛让我在大环境失业潮比较淡定:别的行业人员转过来困难,竞争小
    roundgis
        13
    roundgis  
       2023-04-13 14:07:18 +08:00 via Android
    嵌入式有很多種

    帶不帶 os 是兩種玩法

    可能還需要懂點硬件 看得懂電路圖之類

    二十年前我就是做嵌入式的 後來轉行了 和我同期的人不是開公司就是轉行
    airqj
        14
    airqj  
       2023-04-13 14:10:28 +08:00
    @duke807 兄弟你这#5 的描述直接把楼主转行的欲望打没了
    press
        15
    press  
       2023-04-13 14:16:21 +08:00   ❤️ 1
    @duke807 嵌入式研究生在读,说几个好玩的事,有一回 STM32+LWIP+TCP 的时候发现数据超过 5 分钟必溢出,排查到最后发现是句柄没关,内存泄漏;还有一次是 SPI 命令死活发不出去,结果切到汇编发现 HAL 库和标准库汇编出来的指令不一样
    kita
        16
    kita  
       2023-04-13 14:23:14 +08:00
    嵌入式不难,难的是要做的领域。上面讲制造业,他们用 PLC 和 labview 的才多
    你弄电机控制,你懂控制工程吗?
    zzz22333
        17
    zzz22333  
       2023-04-13 14:37:56 +08:00
    这两年好多了,新能源和芯片把嵌入式工资给炒起来了,一些互联网大厂也有嵌入式岗位。
    yplam
        18
    yplam  
       2023-04-13 15:26:15 +08:00
    我们公司现在就是抽了一个后端小组出来写嵌入式,产品功能偏向网络相关,硬件只是简单的 io / i2c ,不涉及实时性,实践了半年,暂时效果良好,如果要转的话可以考虑往网络、GUI 相关方向,尽量往复杂的功能靠,或者走嵌入式 Linux 的方向。

    不过我了解到的嵌入式行业大多都不是应用有多复杂,而是如何以最低成本实现一个差不多可用的产品出来,譬如一个产品我觉得用 A7 或者 M4 级别的芯片做比较合适,然后别人用的 stm32f103 ,还是 20k RAM 的版本,还是国产替换品牌,售价都没你成本高。
    fengjianxinghun
        19
    fengjianxinghun  
       2023-04-13 15:32:14 +08:00
    不要碰任何硬件。。。真心话,纯 Ring3 软件和软硬结合比真是天堂
    jiyan5
        20
    jiyan5  
    OP
       2023-04-13 16:41:10 +08:00
    @fengjianxinghun 纯 Ring3 软件是啥意思? 不太懂, 老哥能举几个方向的例子吗
    shicang1990
        21
    shicang1990  
       2023-04-13 17:15:48 +08:00
    @duke807 哎哟,飞伞的大佬
    cssk
        22
    cssk  
       2023-04-13 17:16:49 +08:00 via iPhone
    难多了,珍爱生命,远离嵌入式
    basncy
        23
    basncy  
       2023-04-13 17:21:27 +08:00
    估且理解为比汇编高级的语言都是 R3. #20
    fox0001
        24
    fox0001  
       2023-04-13 20:22:48 +08:00 via Android
    入门的话,ESP32C3 + MicroPython ,很好入门,但也只是入门…
    Foreverdxa
        25
    Foreverdxa  
       2023-04-13 21:13:12 +08:00
    我只能说虽然在学校非常感兴趣,并且参加了比赛还拿到了国家级一等奖,出来工资 3500 ,嗯。。。岗位少,工资低,投入大(比如要买开发板,要买一些电子设备,这是偏软件方面),投入与收成不成正比,很难熬出来,工资低到只够生存啊,可能熬个几年会好转(可能有个别好学校的大神又会反驳,但是我身边的真实情况就是这样),然后我在实验室有自学其他的东西,后面找了 c++,真的是觉得一个电脑就行了,然后至于难易,个人觉得就心理和身体方面来都是纯软要简单些,可惜我现在也不好直接转互联网了,最多只能当兴趣玩玩。
    zhengzhongzhao
        26
    zhengzhongzhao  
       2023-04-13 21:23:03 +08:00
    rust
    emperinter
        27
    emperinter  
       2023-04-14 14:13:57 +08:00
    专业性强,门槛高,很多东西只有系统学习才知道到底是个什么鬼。网上都不见的能搜到资料,搜到的也不一定准确。
    duke807
        28
    duke807  
       2023-04-14 15:36:29 +08:00 via Android
    @duke807 补充一下 #5 楼,“不加的话,cpu 直接进入异常”,有问题的代码不是每次都进入异常,而是开机阶段小概率会异常,因为是多个线程在跑,dma 搬运和受影响变量作用于数组操作的先后顺序很关键,大概 50 次开机会有一次开不了机。
    coyoteer
        29
    coyoteer  
       351 天前
    家乡硬开发比软开发的机会多,可硬很难入门啊
    yudoo
        30
    yudoo  
       203 天前
    @zhengzhongzhao 嵌入式?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3191 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 14:38 · PVG 22:38 · LAX 07:38 · JFK 10:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.