我是老温,一名热爱学习的嵌入式工程师( u* Y3 z9 s9 D. F; L6 l# r
关注我,一起变得更加优秀!1 C1 G# F' o0 x) Z& F
注:此处嵌入式软件,特指基于Linux平台,单片机和其他rtos不在讨论范围。
, P) t7 X0 ]1 f/ \笔者从事嵌入式软件开发有6,7个年头,bsp,驱动,应用软件,Android hall,framework等都有涉猎,平时除了关注嵌入式行业的发展,也多少对Web,后台服务端,分布式等方向的技术有一些关注。
; @# g, m* _* l9 A0 j1 U2 t3 }. p近期有萌生换个行业方向的想法,想做做后台服务器相关的开发,由于之前工作中并没有这方面的实际需求,只是自己平时关注,了解了些知识,
* W- C4 k. W1 X6 b/ j' ]2 u比如:NIO,epoll,ngnix,zeromq,libevent,libuv,高并发,分布式,Redis,Python,tornado,django,涉猎比较杂,都了解个皮毛,不精。, l" [, S/ E+ J4 L1 C
hxgzo3ux5qt640134080124.jpg
; M2 E0 k* q: r, y- k6 O2 E% y/ ]& |" `
意外的是,嵌入式屡屡被互联网行业鄙视,面试机会都寥寥无几,此时我想,到底是什么问题呢,难道嵌入式出身的,就这么不受待见吗?. m9 f' Y2 j$ z/ C+ M
想当初,嵌入式驱动开发,可是趋之若鹜的技术方向(有点夸张,不过10年前的嵌入式,可是听着比做Java web的要牛逼些噢),问题总是有原因的,我说下自己的理解:
( _9 D! o+ L7 j* b4 s) \4 c; d打开拉勾等招聘网站,搜索架构师,会出现各种系统架构师,web架构师,后台服务端架构师等等,但是唯独很难看到嵌入式软件架构师。
' X- t% H7 M) K, d嵌入式软件不需要架构吗,驱动不需要架构吗?答案是当然需要,但为什么没有这方面的职位?
1 @. z. l. e" A2 d$ v我的看法是:目前国内的嵌入式开发主要分为嵌入式底层开发和嵌入式应用开发,嵌入式的底层开发一般叫做驱动开发,或者bsp开发,有时也有称之为linux内核开发,名字听着都很高大上。4 U- Y3 n5 `: q% J
Linux kernel 的架构师是 Linus 等一众内核开发维护者,因为本身Linux kernel 或者操作系统就是一个通用的平台,解决的是通用问题,* O4 w& Y" x5 ]3 z
Linux开源届的大牛都已经制定好了架构规则,留给可发挥的地方并不多,大部分工作只需要按照规则框架填充就可以了,而且以目前国内大部分公司的业务需求,只是在做外围设备的集成,
4 O* G0 h- ^- b, E+ G7 b/ y嵌入式平台的porting,搭建裁剪,业务需求完全不会超过kernel里提供的功能范围,导致没有什么新的架构需要开发人员去设计,实现。
* z. s1 p9 }, F5 R那嵌入式bsp开发人员都在做什么:除了调试多种多样的外设,替硬件擦屁股,就是解些稳定性的bug了,
9 A( |, ?0 K, f2 m0 i( 这里对具体工作不详细描述了,调试外设只会增加一些经验,增加广度,对提高深度贡献不大,只是按不会调试 -> 会调试 -> 调试的快这个路线发展,而解稳定性问题确实是需要一些积累经验)
0 I* i3 }$ n5 d& n7 ?9 g+ X
n3a1uh02a14640134080224.jpg
' g( e/ S1 P# Y& A0 R6 c
而嵌入式应用软件开发,一般行外人会觉得业务逻辑比较简单,容易被很多人忽略,所以招聘方也会感觉没有什么必要找架构师级别的了。" w- o, f0 v( `/ j
至此感觉嵌入式技术相关的行业的确不需要架构师,被互联网行业的鄙视也没什么大惊小怪的,而对于嵌入式底层的开发,有能力对kernel,驱动架构提出架构层优化的,国内的开发人员应该为数不多。
$ v) h& M) h" h所以对于大部分普通人,还是不要“妄想”做 Linux kernel 的架构师了(当然我相信国人中一定存在有这个能力的大牛),发现和解决一些业务上的 bug,可能会更靠谱些。" N9 I3 [" O# V' W; B1 T
那么,对于嵌入式应用层开发,你认为,需要进行嵌入式软件架构设计吗?
: ~: y9 C8 N* ]( ?- o来源:https://www.cnblogs.com/lizhensheng/p/11117388.html
- {" `! K; @4 [: n3 q- l
4uiks04wyi1640134080325.png
4 X& j: G* g( O" z0 s6 G
-END-
`2 @: P% E s# C) j' v; L往期推荐:点击图片即可跳转阅读" j. o9 V, u) i$ {3 A: D7 Z
- F6 a6 e# k8 g" z9 e7 Z: N% d
3 S. K$ Y0 R. A+ J
$ {. {! b+ G; v* K9 `& ~ 9 B' c: h- k) z8 N" Y$ Z
wonfxkxgfmk640134080425.jpg
/ k, P5 d) s7 }! | 2 c8 |2 N6 O5 p4 H
搞嵌入式硬件,一不小心把全公司都得罪了!
$ i) Y% Z. G) u4 i! R0 _
9 Y) ]2 a$ j" t/ n2 }% J ?" d/ o
( N/ Z9 D1 `, l: E, [) S8 v( T 1 h; n! o n. X( w! u5 r, B
# J# y! \5 T; i5 f8 l- B
aui2bsgdmki640134080525.jpg
) O, \9 Q1 I6 e8 d A% P
; ]+ g# K4 |) Z4 d9 \
最近都在传,C/C++ 大限将至,面临淘汰。
' ]9 y# n% T% _$ e/ k- l
: F2 S; C2 s0 h2 o$ B; i+ f 7 |( W2 U' J, e1 Q: S5 w
7 O8 z+ n& [' S8 `' \# D6 l
vz52nhygfwv640134080625.jpg
) c$ R; v/ ^7 H4 w- R) t
' ~# Q0 }4 {7 M8 Z5 r& [ 嵌入式MCU工程师,面试常被问及的问题。
% c; e6 x/ u& p$ r8 w) U* [
7 H3 J1 V7 p L' ^# K
7 M/ r+ L) T% T! @* e0 Q X: r9 e' K4 h
我是老温,一名热爱学习的嵌入式工程师
9 o# f) M' ~0 O6 X关注我,一起变得更加优秀! |