我是老温,一名热爱学习的嵌入式工程师
' X$ R; ^2 O) `% e9 ~. q关注我,一起变得更加优秀!/ j9 E7 L7 c7 Z1 W7 V: n
注:此处嵌入式软件,特指基于Linux平台,单片机和其他rtos不在讨论范围。( T* l3 W+ b& G( i4 ~: N
笔者从事嵌入式软件开发有6,7个年头,bsp,驱动,应用软件,Android hall,framework等都有涉猎,平时除了关注嵌入式行业的发展,也多少对Web,后台服务端,分布式等方向的技术有一些关注。: K# E) Z! {0 j N- {1 M0 `
近期有萌生换个行业方向的想法,想做做后台服务器相关的开发,由于之前工作中并没有这方面的实际需求,只是自己平时关注,了解了些知识,0 h0 Z; T/ q9 \8 \
比如:NIO,epoll,ngnix,zeromq,libevent,libuv,高并发,分布式,Redis,Python,tornado,django,涉猎比较杂,都了解个皮毛,不精。
# e; p2 O6 F4 Z# B
hxgzo3ux5qt640134080124.jpg
3 L! D( }+ |, y4 G) E2 p/ y, c
意外的是,嵌入式屡屡被互联网行业鄙视,面试机会都寥寥无几,此时我想,到底是什么问题呢,难道嵌入式出身的,就这么不受待见吗?/ A+ J/ Q4 L7 t! e8 a1 O) x/ {
想当初,嵌入式驱动开发,可是趋之若鹜的技术方向(有点夸张,不过10年前的嵌入式,可是听着比做Java web的要牛逼些噢),问题总是有原因的,我说下自己的理解:
" a- @( g' v' C# W6 [/ t C7 _打开拉勾等招聘网站,搜索架构师,会出现各种系统架构师,web架构师,后台服务端架构师等等,但是唯独很难看到嵌入式软件架构师。
: R3 D# d: P& Q) U& e, V. G: @嵌入式软件不需要架构吗,驱动不需要架构吗?答案是当然需要,但为什么没有这方面的职位?! B* \9 O& \6 a- i/ X1 G5 i$ N
我的看法是:目前国内的嵌入式开发主要分为嵌入式底层开发和嵌入式应用开发,嵌入式的底层开发一般叫做驱动开发,或者bsp开发,有时也有称之为linux内核开发,名字听着都很高大上。* ]8 B9 Z$ E1 o
Linux kernel 的架构师是 Linus 等一众内核开发维护者,因为本身Linux kernel 或者操作系统就是一个通用的平台,解决的是通用问题,
0 i; k+ q2 O5 r5 O7 pLinux开源届的大牛都已经制定好了架构规则,留给可发挥的地方并不多,大部分工作只需要按照规则框架填充就可以了,而且以目前国内大部分公司的业务需求,只是在做外围设备的集成,# b$ ~$ y. Q( I9 m
嵌入式平台的porting,搭建裁剪,业务需求完全不会超过kernel里提供的功能范围,导致没有什么新的架构需要开发人员去设计,实现。+ r$ m& I1 `; b( Y: L7 a
那嵌入式bsp开发人员都在做什么:除了调试多种多样的外设,替硬件擦屁股,就是解些稳定性的bug了,* [( i- ?) a& ^% x; s8 S
( 这里对具体工作不详细描述了,调试外设只会增加一些经验,增加广度,对提高深度贡献不大,只是按不会调试 -> 会调试 -> 调试的快这个路线发展,而解稳定性问题确实是需要一些积累经验)9 K$ s4 H9 b* c
n3a1uh02a14640134080224.jpg
$ P- m6 I6 W# |9 p4 ?
而嵌入式应用软件开发,一般行外人会觉得业务逻辑比较简单,容易被很多人忽略,所以招聘方也会感觉没有什么必要找架构师级别的了。, K3 ]& [) M( F1 j$ i
至此感觉嵌入式技术相关的行业的确不需要架构师,被互联网行业的鄙视也没什么大惊小怪的,而对于嵌入式底层的开发,有能力对kernel,驱动架构提出架构层优化的,国内的开发人员应该为数不多。8 K% A2 p( a% C% {
所以对于大部分普通人,还是不要“妄想”做 Linux kernel 的架构师了(当然我相信国人中一定存在有这个能力的大牛),发现和解决一些业务上的 bug,可能会更靠谱些。& M8 H( I/ V% [2 A2 I5 P
那么,对于嵌入式应用层开发,你认为,需要进行嵌入式软件架构设计吗?
3 H4 a P5 `: ]' E+ g$ O来源:https://www.cnblogs.com/lizhensheng/p/11117388.html
3 B/ i( N3 Q* C4 t! F$ ?: Q
4uiks04wyi1640134080325.png
5 E" ~0 [3 M a( W8 B% o5 S
-END-
- q/ c% w* D! X- X: w& E往期推荐:点击图片即可跳转阅读" d, M6 f1 B, D
5 { c3 c! \: F1 l% x ^
5 Q" P t3 h- N! K2 M8 j+ K 8 t: T7 W& p7 `# O4 G
. X$ ?' m4 }9 j1 T1 X
wonfxkxgfmk640134080425.jpg
% \( B+ p; C- ]7 m* Y
8 w+ B: r$ ?9 c3 S 搞嵌入式硬件,一不小心把全公司都得罪了!
7 h* R8 W" F; Q) l : Q" e1 a& e* Z, b8 t6 q# F2 S
" R$ S9 A; R* ^ 8 ]$ @+ u/ |2 k$ Z( Y
( m/ }: r- k+ \1 I
aui2bsgdmki640134080525.jpg
+ @6 O4 \# W: Z
- ?% G# W4 |6 k& ]- W 最近都在传,C/C++ 大限将至,面临淘汰。
. q& p* I2 A9 v7 r6 G' r 7 f! o0 B) i4 B* ?
, o1 R- K9 F1 s# @& h8 l
, s5 t* E; h2 R0 }( N: u* z1 u5 F
vz52nhygfwv640134080625.jpg
& a$ j8 F- t; k& m
9 B B, c0 {/ t1 }2 U
嵌入式MCU工程师,面试常被问及的问题。( `1 U" y* i2 V$ ~
; I0 E2 F* ^+ X2 @ * \9 F6 T; X6 G- ?
3 f" ~" |: f; B j
我是老温,一名热爱学习的嵌入式工程师+ o& K- x; a# r
关注我,一起变得更加优秀! |