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

一年半 Java 经验,想转行嵌入式。

  •  
  •   vghh · 155 天前 · 6322 次点击
    这是一个创建于 155 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近感觉 Java 太卷了,而且自我感觉找不到什么核心竞争力。想着转行嵌入式会不会好一点?起码硬件还是吃经验的。目前,也有点左右为难,0 基础转行,感觉要 3-5 年后,才能回到目前的工资水平。

    53 条回复    2023-04-07 09:54:23 +08:00
    lhbc
        1
    lhbc  
       155 天前 via Android   ❤️ 6
    仔细思考一下,没有核心竞争力是 Java 还是行业还是别的原因。
    niantoudeyisi
        2
    niantoudeyisi  
       155 天前 via Android
    嵌入式很多方向。
    有的也和 Java 一样搬砖。
    vghh
        3
    vghh  
    OP
       155 天前   ❤️ 1
    @lhbc 工作以来做的都是 B 端场景,业务场景复杂点(也不是特别复杂)。没什么并发量,全是业务逻辑
    leipengcheng
        4
    leipengcheng  
       154 天前
    可以试试
    passer9527
        5
    passer9527  
       154 天前 via iPhone
    xinJang
        6
    xinJang  
       154 天前
    嵌入式只是这几年好了点
    电子专业过来人路过
    loken2020
        7
    loken2020  
       154 天前
    我觉得你可以考虑学习一下音视频技术,这门技术现在或者未来都会比较有前途,推荐阅读本人的新书《 FFmpeg 原理》
    Macolor21
        8
    Macolor21  
       154 天前
    @ljy65535 #3 做 B 端还不好?钱多事少。不确定你这边是不是这种。

    并发量除了大厂热门业务,边缘的并发也高不到哪里去,大多都是自己模拟的,就算是大厂的高并发业务,自己也要在内部演练高并发,而不是实际撑不住的时候再提高的。

    问题在于你们公司有没有资源给你做压测,你自己会不会做压测。
    vghh
        9
    vghh  
    OP
       154 天前
    @Macolor21 钱多事少可能有那么一点,但是感觉没成长啊。感觉谁来了都能做。一点竞争力都没有
    BwNVlwSq
        10
    BwNVlwSq  
       154 天前
    把业务写好也不是个轻松事啊
    做不了技术专家,做个业务专家也不差嘛
    vghh
        11
    vghh  
    OP
       154 天前
    @BwNVlwSq 大多数业务,感觉没什么业务专家一说。
    BKH3h4F
        12
    BKH3h4F  
       154 天前
    业务专家说到底就是个让你安分的幌子(个人拙见
    TofuBazinga
        13
    TofuBazinga  
       154 天前
    今年校招面的 java 进去大概率转嵌入式,我正愁的不行呢
    teenagerold
        14
    teenagerold  
       154 天前
    啊这,反向操作?嵌入式就有所谓的核心竞争力了? 现在芯片厂家买芯片送解决方案,开发基本也是堆业务。
    Nothing9527
        15
    Nothing9527  
       154 天前   ❤️ 1
    我看到的主流趋势是搞嵌入式的想转 Java, 少有搞 Java 的想转嵌入式的, 但是咱也不能随大流, 两个行业都呆过, 就说说我目前看到的.
    嵌入式目前随着很多芯片原厂方案越来越完善, 很多工程师目前只能干些移植类的活, 熟能生巧, 和你的"业务熟练"没啥区别. 如果有机会去芯片原厂的话, 可以试试,, 你说的吃硬件经验, 主要是这方面的工作.
    其他搞应用方案的公司, 不建议, 同等工资下, 大部分嵌入式的事都比 java 的事要多要杂.
    当然如果真的热爱嵌入式, 可以无视上述问题.
    个人观点: 嵌入式比较适合当爱好, 不太适合当工作.
    hello2090
        16
    hello2090  
       154 天前 via iPhone
    嵌入式你可以去苹果设计 CPU ,intel 也可以,搞得不错的话年薪 50 万美金总有的吧
    leegradyllljjjj
        17
    leegradyllljjjj  
       154 天前 via Android
    我想转行去做底层驱动这一块儿
    wjx0912
        18
    wjx0912  
       154 天前
    我是嵌入式转前端。感觉硬件门槛更低,一年就能做到天花板;底层驱动可能好点,但是路子很窄。IC 设计看学校和专业,本科生就不要想了
    tags
        19
    tags  
       154 天前
    嵌入式没钱,不要转
    darkengine
        20
    darkengine  
       154 天前
    为什么转行到嵌入式就有核心竞争力了?
    qping
        21
    qping  
       154 天前
    @loken2020 #7 你说的没有搜到 是《 FFmpeg 入门详解——音视频原理及应用》 这个吗
    loken2020
        22
    loken2020  
       154 天前
    @qping 搜索 ffmpeg 原理 罗上文,是一本电子书,没有出版。
    LANB0
        23
    LANB0  
       154 天前
    还是算了吧,java 至少有八股文可以卷。嵌入式卷啥?一眼可以看到头的行业,而且待遇和 java 是比不了的
    feng1o
        24
    feng1o  
       154 天前
    都一样,现在国内没什么技术是你想的那么牛,一旦你去做了就发现 99%的都是搬砖。
    嵌入式一样是写业务,调用 api ,硬件厂商给你全套方案,你对着人家 datasheet 掉接口,传参数设置开关定时器...,
    mlsnatalie
        25
    mlsnatalie  
       154 天前
    java 这么卷吗?我 android 开发,现在还在考虑要不要转 java 后端呢。android 开发越来越不行了啊,发愁
    djoiwhud
        26
    djoiwhud  
       153 天前 via Android
    感觉都是坑。嵌入式的中小公司开不起价。而且也是写业务为主。

    不过,java 这岗位真的卷爆炸了。
    mintist
        27
    mintist  
       153 天前
    我觉得楼主不用急,可以找几个嵌入式开源项目玩玩,看自己是否真的喜欢或者合适,最好自己买些元器件和组件模组 [基本不用焊接,人家把关键接口都引出来了] 来实现可以解决实际问题或者模仿某些简单产品功能,先过一轮,再看后面的打算

    ps:嵌入式是打通物理世界和数字世界的第一个关口,因为各种传感器都需要接到 MCU 上,然后读进来-处理下-再送出去,这个是嵌入式最有意思的地方。当然 MCU 部分不要用开源,最好直接厂商官方库,因为实际产品开发就是这样的。当然可以一开始用 arduino 或者 mbed 都可以。

    pps:嵌入式系统是一个很大的系统,我觉得不比 Java 简单,如果你只是让一个 MCU 把传感器读回来发出去,这种 demo 级别和产品比起来 5% 的工作量都不到,就比如一个嵌入式系统如何(设计)来保证整个系统功耗开销最小,你需要去权衡 [通信 vs 计算] , [代码复杂度-是否有必要 RTOS+tickless vs 开发时间] , [前后台 DMA/中断 管理 vs 协程非阻塞轮询] 等等,就是要回答别人:老子设计的系统功耗最优了,就是天王老子来也就这样了。
    hello2090
        28
    hello2090  
       153 天前
    @mintist 别说这么多了,人家就是因为 Java 卷,所以才要嵌入式的。还要人家自己开源项目玩玩,还系统开销,代码复杂度,你这不是自己卷自己吗?这不是楼主的目标啊
    qzwmjv
        29
    qzwmjv  
       153 天前
    嵌入式可比 java 窄
    marcong95
        30
    marcong95  
       153 天前
    算是在搞物联网,对接的那边的嵌入式开发拿着个 ESP-AT 这调调那调调的。真的想打个车冲过去把他们键盘抢过来自己写。

    JSON 字符串超过多少字节就一个腾讯会议过来说我搞上层开发的照顾一下他们。连不上网,就只会问我咋办。都明确给他们查出来是连不上网,就只会在群里 at 我。我能咋办,买张机票飞湖北给你配个 WiFi 咋滴?

    说实话,要是 LZ 想转的是这种嵌入式,建议别。
    duke807
        31
    duke807  
       153 天前
    @marcong95 和硬件通讯,特别是裸跑的 mcu ,本来就不应该用 json ,我上次让写 java 的改用 MessagePack , 对方死活不改,说有其它硬件走的是 json ,不能改,我说你加一个判断就行了,收到 json 返回 json ,收到 msgpack 则返回 msgpack ,因为要涉及到图片传输,如果不支持二进制会很麻烦,对方就是不配合,真的想打个车冲过去把他们键盘抢过来自己写。
    NGXDLK
        32
    NGXDLK  
       153 天前
    @BwNVlwSq 业务专家,这不自己骗自己嘛
    NGXDLK
        33
    NGXDLK  
       153 天前
    国内这环境等人口老龄化问题比较突出了应该会好一些吧
    werifu
        34
    werifu  
       153 天前
    @hello2090 美企设计 CPU 的基本招不了中国人了,合规相当麻烦,他们估计也不想惹火上身吧
    listenerri
        35
    listenerri  
       153 天前
    @duke807 #31 小白请教:为什么本来就不应该用 json 呢?
    marcong95
        36
    marcong95  
       153 天前
    @duke807 #31 刚开始搞的时候用的是百度 IoT Hub ,这东西全程 MQTT 消息都是 JSON ,也勉强调通了。但是这个东西前段时间下线了,就自己模仿着实现了一个。嵌入式那边趁着改版,就闹着要改消息格式。然后就改成了 x-www-form-urlencoded 不 x-www-form-urlencoded ,JSON 不 JSON 的一个奇奇怪怪的消息体。

    要是一开始就自己做的话,确实你这个 msgpack 可能会合适一点。但是如果本来要接云服务,我觉得 JSON 还是躲不掉吧。

    这个项目里,多少算个物联网设备吧,我觉得也不能算太裸的 MCU 吧,起码联网多少 BLE/WiFi/HTTP/MQTT 这种协议栈还是有的吧。所以他们就接了个 8266 ,然后 ESP-AT 一把梭。你要是让我自己一脚踢的话,找个什么包调一下 JSON 也不是很不合适吧?
    cy18
        37
    cy18  
       153 天前
    LZ 是想搞 MCU 裸奔,RTOS ,做 Linux BSP ,还是写嵌入式 Linux 应用?
    hello2090
        38
    hello2090  
       153 天前
    @werifu 那就自己做专家,中国第一芯片设计师?这个卷的人肯定不多,最多也就十几几十个人争,没 java 那么卷,赚的肯定也够多。
    litguy
        39
    litguy  
       153 天前
    先别考虑嵌入式,先在 JAVA 技术栈找个好赛道吧,你的问题不是语言的问题
    marcong95
        40
    marcong95  
       153 天前   ❤️ 1
    @listenerri #35 就我那个项目来看,设备端用了 ESP8266 的那个 ESP-AT 指令集,指令的响应好像是 256B 还是多少的字符串,超出的话要分两条指令处理。然后 JSON 确实是冗长了点,随随便便就超了。

    而且 JSON 是个结构不固定的树状结构,如果在裸 MCU 上弄不调库的话,是难受了一点点。但是为什么不调库呢~
    duke807
        41
    duke807  
       153 天前 via Android
    @marcong95 有些事不是调库就能解决的,调库解析 json 又会涉及到 malloc 动态内存分配,而动态内存分配又不能被用在对实时性、稳定性和安全性有非常高要求的场合,虽然你说的 esp32 里面有跑网络相关的复杂任务,但是外部的单独的 mcu 有时才是主控,只负责简单的核心业务,不希望搞的太复杂,越复杂 bug 就越多。另外提一下,at 命令也早应该被扫入垃圾堆。
    duke807
        42
    duke807  
       153 天前 via Android   ❤️ 1
    @listenerri
    json 不支持二进制,所以扩展性差
    不使用动态内存分配,很难解析 json 数据
    为了稳定性,mcu 一般不开动态内存分配,有一些行业明确不允许,譬如车规
    wuhao747003943
        43
    wuhao747003943  
       153 天前
    如果没有电子电路方面的基础 劝你慎重
    marcong95
        44
    marcong95  
       153 天前
    @duke807 #41 我能理解你的考虑,但是你既然联网了,我觉得就很难避开这种需要动态内存分配才能解析的东西了。毕竟互联网的环境还是比较复杂的。甚至由于一些奇奇怪怪的原因,你收到的 HTTP 响应不是 JSON ,是某些奇奇怪怪的网络环境下返回的一串 HTML 的话。例如非常久远的小米路由器会把 404 的 HTTP 请求替换成它自己的 404 页面。

    我觉得比较好的方案应该是二次开发 ESP32 的模块,负责进行网络访问,然后再用串口或者什么东西跟主控通信。那你就可以保持主控不需要 malloc 了
    LANB0
        45
    LANB0  
       153 天前
    @marcong95 物联网设备使用非定长 2 进制协议的都是异端,都不说弱网条件下的数据传输和流量消耗问题,MCU 哪里有条件 malloc 动态内存。你们这样把互联网的臭毛病到处搬,到处用 json 是做不好物联网的。
    mintist
        46
    mintist  
       153 天前
    @hello2090 张口就来,开口闭口 [卷] ,少点二极管思维吧
    hello2090
        47
    hello2090  
       153 天前 via iPhone
    @mintist 卷又不是我说的,楼主说的啊
    andbreak
        48
    andbreak  
       152 天前
    我一前端也想转行嵌入式
    vghh
        49
    vghh  
    OP
       152 天前
    @andbreak 为啥呢
    magicZ
        50
    magicZ  
       152 天前
    我上班前两年也发愁这个,然后我行动之后发现精力不济,还是继续干 Java 吧,
    你能学的东西还有很多,如果你接触不到不如考虑换工作吧。
    andbreak
        51
    andbreak  
       151 天前
    @ljy65535 想往底层发展
    lsiufD
        52
    lsiufD  
       151 天前
    干了 3 年 java ,现在回去读全日制专插本计算机专业,但是专业方向却是物联网专业的,老师一直说软件饱和了快去搞嵌入式吧,真的无感还是做 java 好了
    ayzhouwen
        53
    ayzhouwen  
       52 天前
    @wjx0912 前端门槛更低,java 后台也就那样,8 年 java
    关于   ·   帮助文档   ·   博客   ·   nftychat   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5289 人在线   最高记录 5634   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 66ms · UTC 06:18 · PVG 14:18 · LAX 23:18 · JFK 02:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.