作者Lixe (极光)
看板Soft_Job
标题Re: [请益] 韧体工程师如何选择方向?
时间Fri Mar 11 04:21:51 2016
※ 引述《classic500ml (TB)》之铭言:
: 大家好
: 小弟最近想换工作,不过实在不清楚大环境方向,
: 想寻求各位前辈指点迷津!!先谢谢大家了orz!!
: 我的背景:
: 国立科大,电子电机相关科系毕业(不是资工)。
: 退伍後担任软体工程师三年多(没换过工作),
: 专长C/C++,全部靠估狗,边上班边学,三年做了好几个嵌入式系统案子。
: 公司是消费性电子产业,所以产品都是要透过GUI才能让user使用。
: 工作分配是我跟一家外包两个人写,各忙各案子这样,
: 简单来说:
: 外包的案子,外包全部自己搞定。
: 我的案子,只有GUI我能自己搞定,其他像是 linux porting, driver, firmware等等,
: 都要靠外包商搞定。
: 我在这些非GUI部分中,对於"原理、基本概念、大方向"大致也都了解,但是都没有实际
: 做过。
: =================================
: 写了三年多GUI,觉得在这样下去不行了,
: 所以想转换方向,目前是想找韧体工程师,
: 但是打开104真的是眼花撩乱,
: 想请问:
: 1. 假设我以"外包商的能力"当目标,我该找什麽样的 "产业or工作内容" 呢?
: P.S.
: 至少我目前觉得外包商能力很强,
: 从linux移植到arm上,到driver,firmware,GUI等等,
: 都可以一条龙全部搞定,
: 公司专案内容也可以说包山包海吧,
: 就我目前有经历过的就有:
: USB storage、SD、LCD、touch panel、WIFI、ethernet等等,
: 以上也是外包一个人搞定。
: 2. 或者是说我应该只朝一个方向做深入发展呢?
: 看了104职位名称:
: EX: 影像处理IC韧体设计工程师、蓝芽韧体设计工程师、Nand Flash韧体设计,等等一堆
: 。
: 每个都是很专业领域,很担心产业选下去,路越来越窄...
: 抱歉文长,然後再次谢谢大家!!
小弟是人在美国系统厂工作的韧体工程师,想分享一些经验。
我个人认为做韧体主要三个能力:
1. C 语言。
语法或指标只是基本,给你一包 open source 你要能在短时间看懂
且进一步修改。进一步开发环境、toolchain、gdb、make 都是基
本功。
2. OS / architecture
对 OS 的观念掌握度高吗?paging、virtual memory、file system
等都会用到。常见的状况是给你一个破破的文件要你写个 driver,
找 ODM 没用因为他们也不会,找原厂没用因为没给钱 XD。
ARM 的架构也要熟。kernel 出现 stack dump 如何去找到凶手等。
各种稀奇古怪的 bug 到底跟硬体有关或无关也要靠你厘清,还是有人
code 乱写导致同步烂掉,各种状况考验你的基本功力。
3. 耐心与学习
在没足够的文件下要让 HW 动起来,try & error 少不了。issue 太广
,只要是底层都你的,自然必须一直学习。
做 porting 只是韧体工程师的一部分,更进一步是对 Linux kernel 与对
系统的掌握度。东西太多都是遇到 issue 以後边学边解。但只要基本功紮实
基本上都能学的起来也能做的出来。
因此个人建议将基础功打好,从 C 的指标,简单的 device 与 kernel
module 开始。良好的观念可以让你面对复杂的问题时有个头绪。公司也要
慎选,尽量找老板会认真面对 issue 并想解决的地方工作。小弟在台工作时,
共事过的ODM 韧体工程师,强的不是没有,只是非常的少,摆烂的居多,还有
摆老的。毕竟对这些公司而言,卖的是硬体,软体只是验证硬体用的,
在这种地方公司自然不重视软体,也学不到东西。
而美国的就业市场,小弟的观察是韧体工程师相对蓝海,大概太黑手想做的
人不多,机会也多。mobile app 或 front end 等反而竞争激烈。另外高薪
伴随着高税与其他状况,这就是别的故事了,但可以确的定是做 10 年就退
休的人是凤毛麟角。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 96.45.34.20
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1457641313.A.52B.html
1F:推 essay1029: 谢谢分享!!!!! 03/11 06:25
2F:推 bab7171: 感谢 03/11 06:53
3F:推 csfgsj: @lensuper 救星来了 03/11 09:22
4F:推 doranako: 文中第2点是打好地基,我觉得最值得下苦工 03/11 09:59
5F:→ csfgsj: 第2点非本科系比较欠缺,是比较吃力的部分 03/11 10:05
6F:→ csfgsj: 有的OS书还用JAVA写,真是匪夷所思,这样的书也在出 03/11 10:06
7F:推 chuegou: 非本科,最大罩门在OS架构+1 03/11 10:39
8F:→ badyy: 原厂的sdk/bsp基本功能上都是好的! 03/11 11:33
9F:推 littlebau: 谢谢分享 03/11 12:07
10F:→ lensuper: 我查过linkedin,美国纯软职缺比韧体多很多很多很多很多 03/11 19:04
11F:→ lensuper: 有看到一篇文章,最後也是放弃了韧体与IC设计,改走应用 03/11 19:06
14F:→ lensuper: l, 最後是html,连结太长了。 03/11 19:09
15F:推 amatt: 简单几点道出这行的血泪,光是加强C这点就是5年以上跑不掉 03/11 19:11
16F:→ amatt: ,再加上kernel, 10年是基本,除非每年关war room. 03/11 19:11
17F:→ amatt: 打错,是每天 03/11 19:12
18F:→ lensuper: 养成时间长,薪水不会比纯软多,台湾除外。 03/11 19:14
19F:→ lensuper: 练功不易,杂事繁多,薪水不高 03/11 19:14
20F:→ king19880326: 那篇blog是因为他是做通讯的,通讯的phd工作机会很 03/11 23:51
21F:→ king19880326: 少。你去看他在Facebook做的是infra,ㄧ点也不应用 03/11 23:52
22F:→ king19880326: X层好吗== 03/11 23:52
23F:推 classic500ml: 三楼XD 03/12 18:24
24F:推 jimmytzeng: 推~ 03/12 20:15
25F:→ lensuper: 通讯也只是一个EE的分支而已,通讯也是可以修IC设计 03/14 18:46
26F:→ lensuper: 走网路通讯的也需要修资料结构,演算法的,跟CS一样 03/14 18:47
27F:→ lensuper: 我并不会觉得那位大大是因为做通讯的关系 03/14 18:48
28F:→ lensuper: 而很难找程式的工作,主要是论文的内容 03/14 18:51
29F:→ lensuper: 还有就是篇底层的软体职缺本来就少少少 03/15 19:40