26 岁了,想自学嵌入式开发,该怎样入手呢? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
taisenjay
V2EX    职场话题

26 岁了,想自学嵌入式开发,该怎样入手呢?

  •  
  •   taisenjay 2020-06-15 19:49:23 +08:00 8379 次点击
    这是一个创建于 1948 天前的主题,其中的信息可能已经有所发展或是发生改变。

    时光飞逝,不知不觉大学毕业已 4 年,年岁渐长,对未来的路却始终迷茫,我这样的一个没有家底,没有学历,没有颜值的普通青年将来如何在形势日趋严峻的社会立足呢?

    最近搬家,翻出了角落里已布满灰尘的学位证书,这才陡然惊醒我的大学专业计算机科学与技术还加了一个(嵌入式软件人才培养)的括号,虽然学校根本没有开设嵌入式相关的课程,看着眼前一眼望到头的工作与生活,突然萌生了成为一名真正的嵌入式软件人才的冲动。

    70 条回复    2020-07-29 13:26:35 +08:00
    fanhaipeng0403
        1
    fanhaipeng0403  
       2020-06-15 19:56:23 +08:00
    不建议入手。
    henrywu001
        2
    henrywu001  
       2020-06-15 19:57:26 +08:00
    去读研或考公更有意义。
    taisenjay
        3
    taisenjay  
    OP
       2020-06-15 20:16:37 +08:00
    @henrywu001 读研年纪不小了,非全日制研究生资金压力又很大。目前就在体制内工作,对计算机岗位公务员的工作内容很了解,实话说就是不想在体制内彻底变成与社会脱节的隐形失业人口才萌生学习一门技术的想法的。
    systemcall
        4
    systemcall  
       2020-06-15 20:16:43 +08:00 via Android
    先复习电路、模电、数电、C,51,看能够想起来多少
    taisenjay
        5
    taisenjay  
    OP
       2020-06-15 20:18:12 +08:00
    @systemcall 我能说我们大学完全没上过这些课吗,坑爹的学校挂羊头卖狗肉,其实学的是.Net
    systemcall
        6
    systemcall  
       2020-06-15 20:20:43 +08:00 via Android
    @taisenjay 那你们学校可真好。我们学校 cs 也学数电。
    如果学电路、模电、数电有困难,劝你不要入这行,坑太多了
    .net 的话,看能不能去传统行业,应该还有在用的
    taisenjay
        7
    taisenjay  
    OP
       2020-06-15 20:22:08 +08:00
    @fanhaipeng0403 为什么不建议呢,之前干了几年的 Android 开发,天天加班,不是据说嵌入式比纯软件开发工作量小,职业生涯长的吗?
    thomaspaine
        8
    thomaspaine  
       2020-06-15 20:24:16 +08:00
    你要是为了赚钱学,那不推荐,推荐走软件工程师方向

    你要是为了兴趣学,那推荐 arduino 配个 esp8266 或者 esp32,搞搞 iot 小玩意还是蛮有趣的
    taisenjay
        9
    taisenjay  
    OP
       2020-06-15 20:31:48 +08:00
    @thomaspaine 软件工程师我觉得人到中年后身体精力很难跟得上,至于赚钱,我也没啥大的野心,只要能养活自己就知足了,我计划着在现在的单位一边混着一边学习,到 35 岁以后有一技之长之后再出去找工作
    ipadpro4k
        10
    ipadpro4k  
       2020-06-15 20:32:37 +08:00 via iPhone
    真爱生命,远离 embed
    taisenjay
        11
    taisenjay  
    OP
       2020-06-15 20:33:47 +08:00
    @ipadpro4k 这行比软件开发更透支生命啊?
    fishofcat
        12
    fishofcat  
       2020-06-15 20:37:38 +08:00
    嵌入式真没意思,工资太低了
    taisenjay
        13
    taisenjay  
    OP
       2020-06-15 20:38:31 +08:00
    @fishofcat 会比我更低吗,我房价 3 万多的二线城市,5000 多月薪
    lpf0309
        14
    lpf0309  
       2020-06-15 21:19:41 +08:00 via Android
    有些人以为嵌入式挣钱,却不知道是在工厂里拿低工资,有些人以为会计律师挣钱,却不知道没考证前月薪 3k,有些人以为医生挣钱,却不知道县医院都要硕士了。
    peachpeach
        15
    peachpeach  
       2020-06-15 21:20:17 +08:00 via iPhone
    没楼上说的那么恐怖,嵌入式除了玩单片机,soc 还能做做应用层开发的啊。

    而且嵌入式的技术迭代没那么快,把基础打扎实了,月薪过万轻轻松松。

    时间长了,也不错的。
    taisenjay
        16
    taisenjay  
    OP
       2020-06-15 21:28:10 +08:00
    @peachpeach 大佬有自学路线推荐吗
    peachpeach
        17
    peachpeach  
       2020-06-15 21:30:09 +08:00 via iPhone
    @peachpeach
    入手的话,c 语言,unix 环境高级编程,linux 系统学习。

    剩下的就是,数据结构和算法,计算机网络,网络编程,操作系统,多线程编程。
    看看知名开源代码,比如 nginx,学学编程规范,多线程,人家的内存管理等等。

    如果玩单片机,写驱动,学学韦东山的教程。
    taisenjay
        18
    taisenjay  
    OP
       2020-06-15 21:31:30 +08:00
    @peachpeach 谢谢谢谢
    fanhaipeng0403
        19
    fanhaipeng0403  
       2020-06-15 21:32:31 +08:00   1
    @taisenjay 工资不高,学习困难(硬件环境搭建很麻烦,调试玄学), 就业环境一般。
    muooOOO
        20
    muooOOO  
       2020-06-15 21:35:51 +08:00 via Android
    嵌入式因为技术迭代慢,所以从业周期相较于 cs 会长一些。又因为偏底层,所以能够下沉到各行各业,比较好找工作。缺点嘛,就是工资低,而且坑多技术杂,数电模电,单片机,寄存器,裸机开发,原厂驱动,Linux 移植,Linux 驱动,qt,安卓底层。。。
    oubl23
        21
    oubl23  
       2020-06-15 21:39:20 +08:00
    @taisenjay 你这个二线城市是哪
    dabang007
        22
    dabang007  
       2020-06-15 21:41:21 +08:00
    @thomaspaine arduino 做玩具可以,做工业级别开发不建议
    还有,统一楼上的,嵌入式能不搞就不搞,非常多的坑
    peachpeach
        23
    peachpeach  
       2020-06-15 21:43:46 +08:00 via iPhone
    如果你要搞钱,要靠自己成家,买房子。
    转互联网,去北上广深。
    身体要扛得住。想赚快钱,别来嵌入式,除非你像我一样,不打算结婚的这种。
    henrywu001
        24
    henrywu001  
       2020-06-15 21:47:24 +08:00
    @taisenjay “到 35 岁以后有一技之长之后再出去找工作” 你这想法太错了,听我的待在体制了,读个在职研究生,也就 2 年左右,然后考职称。
    taisenjay
        25
    taisenjay  
    OP
       2020-06-15 22:00:08 +08:00
    @peachpeach 对啊,就是不打算结婚了
    @oubl23 南京
    @henrywu001 没意思的,读了在职研究生本单位也不会加工资的。职称这东西,先要评上,然后还要等单位职称空缺出来,然后再大家开始勾心斗角,八仙过海各显神通,竞聘这个稀缺的职称,一顿操作猛如虎,最后发现工资就涨了几百块
    peachpeach
        26
    peachpeach  
       2020-06-15 22:09:41 +08:00 via iPhone
    @taisenjay
    南京是互联网洼地,但是嵌入式还可以,很多做产品的公司,我之前的同事,工作了 7 年,出去找工作依然很好找,虽然加班,但是不像互联网那么变态。

    待遇也不错,不到 20k,但是差的也不远。
    taisenjay
        27
    taisenjay  
    OP
       2020-06-15 22:27:48 +08:00
    @peachpeach 谢谢大佬
    ReturnNull1
        28
    ReturnNull1  
       2020-06-15 23:25:40 +08:00   5
    刚好我在嵌入式行业内。
    给楼主几条建议
    1 )建议走嵌入式软件开发方向,硬件方向太吃经验,入行工资低
    2) 建议掌握数字电路、模拟电路、C 语言,C++等知识
    3 )画图软件至少得会一种,比如 ad
    4 )熟悉 8 位单片机,熟练掌握 32 位单片机,工作建议最起码上手的是 32 位单片机,专门搞 8 位单片机就是个坑
    5) rtos 得会,行业内也有很多这种岗位
    6 ) stm32 真香,所以我选择 Linux
    7 )入行前期有技术阵痛期,自己多学,后期各种外设熟练了就会玩了,该走的坑走了几遍,就好走了
    8 )楼主加油!
    thomaspaine
        29
    thomaspaine  
       2020-06-15 23:46:30 +08:00
    @dabang007 对啊,所以我是说有 up 主兴趣玩玩的话还是不错滴

    另外原理嵌入式+1,工资不高,加班多,学的又多又杂,而且都是在偏远地区干活,没意思
    coray
        30
    coray  
       2020-06-15 23:56:02 +08:00 via iPhone   1
    @lavenderkissyou 有点杂了,看的懂芯片 ds 和原理图就行了,硬件设计交给电子工程师就可以了吧
    ReturnNull1
        31
    ReturnNull1  
       2020-06-15 23:59:53 +08:00
    @coray 小公司的话,软硬一条龙都得干 [狗头]
    当然了,大厂软硬有区分,所以建议能进大厂就进大厂
    MrKou47
        32
    MrKou47  
       2020-06-16 00:37:27 +08:00 via iPhone
    直接搜通信或者电信专业的课程,上完课你就是个嵌入式人才了。。我学电信的同学现在基本都在搞 fpga,lz 学学这个也不错
    z7356995
        33
    z7356995  
       2020-06-16 04:33:45 +08:00 via Android
    自学? 不由得想起我差一点妻离子散的五年呀,2010 年左右,也开始自学嵌入式,准备开发一个物连网硬件产品,嵌入式开发调试硬件,,画图,出板,一个地方错了,,版要重新画过,,PCB 板印一次要多少钱,,自己一个人,,各种电阻电容,热风枪,,软件,硬件,,一个团队做的事,在家很难做好
    huangya
        34
    huangya  
       2020-06-16 08:39:56 +08:00
    当初在学校的时候,喜欢 linux,且又喜欢小而精又五脏俱全的开发板,所以留在了这个行业,建议去大一点的嵌入式场,那里软硬分离,我干的是软件部分,如楼上所说,小厂是软硬都要干,这样很不好,因为人的精力是有限的,很难样样精通。只做软件部分的话,可以更快入行。
    alw
        35
    alw  
       2020-06-16 08:40:13 +08:00   1
    嵌入式明显比不过纯软件啊,自己玩玩就好。
    加不加班取决于在哪种公司,比如互联网是属于那种快速抢市场的,所以要经常加班。
    cshlxm
        36
    cshlxm  
       2020-06-16 09:00:52 +08:00
    硬件性能越来越高,价格又越来越低,基于 linux 的软件开发是未来....如果没有硬件电路基础,其实只学学纯软件的话,又想嵌入式软件开发也是可以的,只是偏软一些。和传统的软开差别没那么明显。
    ethanSong
        37
    ethanSong  
       2020-06-16 09:30:06 +08:00
    @taisenjay 嵌入式就直接 C 语言入门,然后 stm32 单片机或者 51 单片机入门,然后基本可以找个比较基础的工作,然后后续学习个嵌入式的实时系统,后续再进阶得学习 Linux 驱动这方面的了,怎么说呢,嵌入式这行业门槛肯定有,但是大部分你其实都是原厂的基础上修改修改,再加上一些供应商给你适配的驱动。这是我了解到的一些信息。
    ESeanZ
        38
    ESeanZ  
       2020-06-16 09:33:22 +08:00   1
    和楼主一样,我是学 java 的也准备往嵌入式这块走(纯属爱好,如果干得好才转行),现在还在复习电路基础。
    summer20100514
        39
    summer20100514  
       2020-06-16 10:07:29 +08:00
    嵌入式工程师表示嵌入式的技术栈挺杂的:数电模电、c 语言、数据结构、计算机组成原理、操作系统、汇编、协议栈、Linux 等等。学是学不完的,先找准一个方向吧
    shaopu
        40
    shaopu  
       2020-06-16 10:33:26 +08:00
    统一楼上的,没有一个人说好。
    如果为了钱,还是别玩这个,为了兴趣,那就随意了。
    "电工"真的没钱途。
    sparkmlib
        41
    sparkmlib  
       2020-06-16 10:36:54 +08:00
    49 年入国军
    30624300
        42
    30624300  
       2020-06-16 10:45:43 +08:00
    想赚钱就做学纯软件,想舒服就好好呆体制内,如果是一时兴起可以当兴趣学,嵌入式真的不是你想进就能进的
    damai0419
        43
    damai0419  
       2020-06-16 11:15:25 +08:00
    我是写 javaweb 的 我想往物联网上转
    shelterz
        44
    shelterz  
       2020-06-16 11:18:36 +08:00
    夕阳产业了,现在都是原厂提供方案,很少需要公司自己开发的,除非一些定制化的需求和改 BUG.
    justjcdd
        45
    justjcdd  
       2020-06-16 11:30:52 +08:00 via Android
    经历相同,专业相同,不过 2 年已过哈哈
    Heartbleed
        46
    Heartbleed  
       2020-06-16 11:33:45 +08:00
    看到“嵌入式培养”和“南京”,楼主不会和我一个学校的吧
    ckelsel
        47
    ckelsel  
       2020-06-16 12:55:25 +08:00
    直接入行嵌入式 linux 开发,后期可以转 android framwork,工资不低的,有个同事刚跳去 vivo,年薪 60W 。
    感兴趣可以私信我,我带你学
    glasslion
        48
    glasslion  
       2020-06-16 15:44:14 +08:00
    @Heartbleed 南邮的?
    lixingcai
        49
    lixingcai  
       2020-06-16 16:35:44 +08:00
    在坑里的人强烈建议您充分考虑清楚。
    sunmker
        50
    sunmker  
       2020-06-16 16:50:18 +08:00
    学电路课的时候可把我苦的……
    LANB0
        51
    LANB0  
       2020-06-16 17:17:35 +08:00
    @ckelsel android framwork?求指导上升路线,目前嵌入式 linux 应用开发 5 年经验,瓶颈中。
    youxiachai
        52
    youxiachai  
       2020-06-16 17:18:14 +08:00
    嵌入式..试错成本太高了......
    公司,不愿意招新人...老人,又没经验熬....
    当个兴趣学学还好...
    真要吃饭..还不如搞搞前端....
    lijingyu68
        53
    lijingyu68  
       2020-06-16 17:22:55 +08:00
    我最近也在往这个方面转,但现在存在两个问题比较突出,一个是工资太低,二个是学习成本较高。

    我个人的想法是先自己玩玩 rust 嵌入式,等市场成熟了跳,本人的话,现在在从事前端。
    maddot
        54
    maddot  
       2020-06-16 17:25:05 +08:00 via Android
    电子信息工程专业,班里搞技术的都是软件开发…
    TimeRain
        55
    TimeRain  
       2020-06-16 17:33:38 +08:00
    建议不学嵌入式,工资低是一方面,还有这个变现太慢
    lxxiil
        56
    lxxiil  
       2020-06-16 17:39:33 +08:00 via iPhone
    同体制内,副业收入超过主业几倍,主业收入给你人生风险兜底难道不好吗?如果要实现人生理想,建议现在就离开出去拼一拼,35 岁再离开体制内毫无竞争力可言。
    peachpeach
        57
    peachpeach  
       2020-06-16 18:18:58 +08:00 via iPhone
    @lxxiil
    求问副业主要做啥呢?
    shijingshijing
        58
    shijingshijing  
       2020-06-16 18:33:33 +08:00
    请看下面 17 楼,劝退一个是一个。

    t/431308
    taisenjay
        59
    taisenjay  
    OP
       2020-06-16 18:38:19 +08:00
    @lxxiil 前辈您好,我的人生理想就是更安心的混日子,主要还是想学一门技术,为了防止将来因为意外不得不出去靠自身本事谋生。想问前辈您的副业是怎么做到那么成功的
    taisenjay
        60
    taisenjay  
    OP
       2020-06-16 18:39:29 +08:00
    @ckelsel 求大佬指点迷津
    taisenjay
        61
    taisenjay  
    OP
       2020-06-16 18:49:03 +08:00
    @shijingshijing 认真看完了大佬的每一个字,膜拜
    Takizawa
        62
    Takizawa  
       2020-06-16 18:53:26 +08:00
    楼主千万慎重,你想去嵌入式软件开发,不如好好搞安卓,以后的车联网,各种物联网,很多可能都是基于安卓的。另外,我外甥(只比我小 4 岁)在南京,是做嵌入式软件开发的,属于上汽旗下的子公司,做车机中控的,工资税前 7000,16 薪。
    taisenjay
        63
    taisenjay  
    OP
       2020-06-16 19:27:59 +08:00
    @Takizawa 谢谢前辈,主要还是想有一技之长,除非暴富了或者被开除了,不然会一直在这混着的
    Takizawa
        64
    Takizawa  
       2020-06-16 19:38:18 +08:00
    @taisenjay 这。。。我还博士在读。。您才是前辈
    systemcall
        65
    systemcall  
       2020-06-16 19:59:42 +08:00 via Android
    没必要学 51,建议学安卓之类的东西。学 51 的话还没学会就失业了,而且会的人太多了
    嵌入式,软->硬,个人观点:
    安卓--Linux--STM32 等 32 位单片机--STM8 等 8 位机
    嵌入式设备里面有多种架构的 MCU 和 AP,而且东西很杂,坑很多
    你可以多留意一下周围的东西的系统,比如有触摸屏的东西很多是安卓系统的,动画比较生硬的就是 STM32 的,因为便宜而且开机快。功能简单的很多是 STM8 的,51 的也有但是少多了。前几年流行 iot,路由器芯片和机顶盒芯片、esp8266 之类的带网络的单片机很流行,再就是搞移动支付之类的名堂、共享单车、智能水表的时候有些东西
    如你所见,现在很多东西都换成安卓了,手机软件、电视软件也不算嵌入式了
    lxxiil
        66
    lxxiil  
       2020-06-17 08:50:04 +08:00 via iPhone
    @taisenjay 体制内空闲时间多得很,拿来专研你自己喜欢的技术,每天抽 2 小时学习新知识。
    lxxiil
        67
    lxxiil  
       2020-06-17 08:57:29 +08:00 via iPhone
    @taisenjay 顺便带一个很现实的现象,以后你找老婆时候对方家长更看重的是你的工作稳定性而不是你的收入多少。就我经验而言 公务员〉垄断国企〉普通国企〉事业单位 最后的才是私企,it 行业 35 岁以后上不到管理岗就等着被裁,技术更新换代太快了
    ckelsel
        68
    ckelsel  
       2020-07-24 09:46:17 +08:00
    @LANB0 方向是做 framework 的音视频优化,找 framework 的工作
    ckelsel
        69
    ckelsel  
       2020-07-24 09:49:38 +08:00
    @taisenjay 想学嵌入式加我 Q,MTI0MTE2NjE0
    wuweidong0107
        70
    wuweidong0107  
       2020-07-29 13:26:35 +08:00   1
    可以看下我在知乎的回答:
    https://www.zhihu.com/question/408139731/answer/1355187726

    说多了劝退,说少了难找工作。

    尽量抓住下面这些主干:

    C,越熟悉越好

    C++基础,加分项

    数据结构,也是抓住部分常用的就好。

    算法,面试要用,工作则不一定,实际编程我个人用不上。

    Linux 的使用,会几个常用命令。

    Linux 系统编程,越熟悉越好。

    Linux 驱动,嵌入式软件分为上层软件和底层软件,做底层软件的话越熟悉越好,不过学生很难有多深入学习,能做到玩转字符设备也就合格了。

    硬件知识,数电模电我也不太懂,但是我能看芯片手册,原理图,了解各种总线和通讯协议,知道通过寄存器控制芯片。

    Linux 内核,学生能看完<Linux 内核设计与实现>,并且做一些字符设备的实现,也就合格了。

    Qt,嵌入式应用开发要用。学这个得和 C++结合在一起学,也是完整读完一本书,写过一些 demo,就合格了。

    脚本语言,Shell/Python,调试或者一些重复的工作用得上,会的话加分。

    暂时没想到了,还有困惑的话,我也帮不了你啦。

    欢迎关注我的公众号:[嵌入式 Hacker],思考技术,也思考人生。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4619 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms UTC 10:01 PVG 18:01 LAX 03:01 JFK 06:01
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86