電子產(chǎn)業(yè)一站式賦能平臺(tái)

PCB聯(lián)盟網(wǎng)

搜索
查看: 27|回復(fù): 0
收起左側(cè)

嵌入式軟件,寫代碼之前,真的不需要進(jìn)行軟件架構(gòu)設(shè)計(jì)嗎?

[復(fù)制鏈接]

455

主題

455

帖子

849

積分

二級(jí)會(huì)員

Rank: 2

積分
849
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 昨天 17:50 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
我是老溫,一名熱愛學(xué)習(xí)的嵌入式工程師, a5 l- l. e* C7 b! \
關(guān)注我,一起變得更加優(yōu)秀!/ e( a" ~1 m' h& g
注:此處嵌入式軟件,特指基于Linux平臺(tái),單片機(jī)和其他rtos不在討論范圍。: _8 E3 Y" y- C0 H2 t( d1 ?( x
筆者從事嵌入式軟件開發(fā)有6,7個(gè)年頭,bsp,驅(qū)動(dòng),應(yīng)用軟件,Android hall,framework等都有涉獵,平時(shí)除了關(guān)注嵌入式行業(yè)的發(fā)展,也多少對(duì)Web,后臺(tái)服務(wù)端,分布式等方向的技術(shù)有一些關(guān)注。
7 O9 R: i5 D( C( b7 g1 d  E近期有萌生換個(gè)行業(yè)方向的想法,想做做后臺(tái)服務(wù)器相關(guān)的開發(fā),由于之前工作中并沒有這方面的實(shí)際需求,只是自己平時(shí)關(guān)注,了解了些知識(shí),8 k( m' K& L8 q) W3 C
比如:NIO,epoll,ngnix,zeromq,libevent,libuv,高并發(fā),分布式,Redis,Python,tornado,django,涉獵比較雜,都了解個(gè)皮毛,不精。
' R1 T+ t' z$ z0 \# t8 n* ? 5 a  x- j2 {) z8 L! v4 }
意外的是,嵌入式屢屢被互聯(lián)網(wǎng)行業(yè)鄙視,面試機(jī)會(huì)都寥寥無幾,此時(shí)我想,到底是什么問題呢,難道嵌入式出身的,就這么不受待見嗎?8 }: e4 }* r* f# y
想當(dāng)初,嵌入式驅(qū)動(dòng)開發(fā),可是趨之若鶩的技術(shù)方向(有點(diǎn)夸張,不過10年前的嵌入式,可是聽著比做Java web的要牛逼些噢),問題總是有原因的,我說下自己的理解:
: O  W3 @* _/ n* F0 t打開拉勾等招聘網(wǎng)站,搜索架構(gòu)師,會(huì)出現(xiàn)各種系統(tǒng)架構(gòu)師,web架構(gòu)師,后臺(tái)服務(wù)端架構(gòu)師等等,但是唯獨(dú)很難看到嵌入式軟件架構(gòu)師。+ o- R9 f$ m2 e4 s3 w. G8 m4 P
嵌入式軟件不需要架構(gòu)嗎,驅(qū)動(dòng)不需要架構(gòu)嗎?答案是當(dāng)然需要,但為什么沒有這方面的職位?
' b2 Q; ?$ L* L. E9 H我的看法是:目前國內(nèi)的嵌入式開發(fā)主要分為嵌入式底層開發(fā)和嵌入式應(yīng)用開發(fā),嵌入式的底層開發(fā)一般叫做驅(qū)動(dòng)開發(fā),或者bsp開發(fā),有時(shí)也有稱之為linux內(nèi)核開發(fā),名字聽著都很高大上。
8 D/ \9 H& I' n0 tLinux kernel 的架構(gòu)師是 Linus 等一眾內(nèi)核開發(fā)維護(hù)者,因?yàn)楸旧鞮inux kernel 或者操作系統(tǒng)就是一個(gè)通用的平臺(tái),解決的是通用問題,. k& D1 m5 m  K9 f2 ]2 S
Linux開源屆的大牛都已經(jīng)制定好了架構(gòu)規(guī)則,留給可發(fā)揮的地方并不多,大部分工作只需要按照規(guī)則框架填充就可以了,而且以目前國內(nèi)大部分公司的業(yè)務(wù)需求,只是在做外圍設(shè)備的集成,
2 T! T$ g$ v7 L* d/ x嵌入式平臺(tái)的porting,搭建裁剪,業(yè)務(wù)需求完全不會(huì)超過kernel里提供的功能范圍,導(dǎo)致沒有什么新的架構(gòu)需要開發(fā)人員去設(shè)計(jì),實(shí)現(xiàn)。1 z1 c  a, x2 g  Z- o; P  d9 X7 N  [
那嵌入式bsp開發(fā)人員都在做什么:除了調(diào)試多種多樣的外設(shè),替硬件擦屁股,就是解些穩(wěn)定性的bug了,, p" n- M" S" ]; d6 K5 F
( 這里對(duì)具體工作不詳細(xì)描述了,調(diào)試外設(shè)只會(huì)增加一些經(jīng)驗(yàn),增加廣度,對(duì)提高深度貢獻(xiàn)不大,只是按不會(huì)調(diào)試 -> 會(huì)調(diào)試 -> 調(diào)試的快這個(gè)路線發(fā)展,而解穩(wěn)定性問題確實(shí)是需要一些積累經(jīng)驗(yàn))
  n2 h( P, i; c6 [$ J0 ?% r; s
6 q) n( Z) G$ u" D) ^& ~4 _* m而嵌入式應(yīng)用軟件開發(fā),一般行外人會(huì)覺得業(yè)務(wù)邏輯比較簡單,容易被很多人忽略,所以招聘方也會(huì)感覺沒有什么必要找架構(gòu)師級(jí)別的了。
+ }1 Q( n+ t) d& x- }至此感覺嵌入式技術(shù)相關(guān)的行業(yè)的確不需要架構(gòu)師,被互聯(lián)網(wǎng)行業(yè)的鄙視也沒什么大驚小怪的,而對(duì)于嵌入式底層的開發(fā),有能力對(duì)kernel,驅(qū)動(dòng)架構(gòu)提出架構(gòu)層優(yōu)化的,國內(nèi)的開發(fā)人員應(yīng)該為數(shù)不多。% e1 }& F3 \* ?) L7 j6 a
所以對(duì)于大部分普通人,還是不要“妄想”做 Linux kernel 的架構(gòu)師了(當(dāng)然我相信國人中一定存在有這個(gè)能力的大牛),發(fā)現(xiàn)和解決一些業(yè)務(wù)上的 bug,可能會(huì)更靠譜些。( m' c8 D4 n! X" O4 |1 q
那么,對(duì)于嵌入式應(yīng)用層開發(fā),你認(rèn)為,需要進(jìn)行嵌入式軟件架構(gòu)設(shè)計(jì)嗎?% X% B% ~, B  I; @" `( F1 t
來源:https://www.cnblogs.com/lizhensheng/p/11117388.html
  G! E( g- L) g1 p' u: h: S
# ?, r! w# q+ F" r6 D% k-END-9 |1 y% @; d" T
往期推薦:點(diǎn)擊圖片即可跳轉(zhuǎn)閱讀
1 _' h: A( u; r7 A; _                                                        " G/ U& ~  d( ~8 j  e: F
                                                                9 }! i7 K; v7 [
                                                                       
# r$ M0 H/ A: t( s1 S                                                                               
- g( g$ @4 n3 L5 r 1 A0 g+ c. V* U2 K
                                                                               
7 s. H9 ~$ T5 L: P. O  x                                                                                        搞嵌入式硬件,一不小心把全公司都得罪了!
/ E5 @; @  h+ W- K& l                                                        9 U( J9 p# b/ ^$ J+ N
                                                               
# X8 N  F3 g. e/ z+ i                                                                        / p  E+ f$ I: X7 C! o
                                                                                $ a" t& P. n* r* i" M  o$ I6 t& D

; o5 A) u) k/ O6 r1 w                                                                               
: {$ k: t( O8 w" H: C                                                                                        最近都在傳,C/C++ 大限將至,面臨淘汰。
4 R; u  w6 h0 V* k                                                                6 \& B* D0 I. y6 r7 ?7 y% l5 x! r
                                                                        7 W- S) a% @( C. N3 E8 W- q( y
                                                                               
" n% D' q5 C. O* B8 ]( q0 e+ C9 q6 b% f4 \
* s% z8 }+ i* U2 h1 l                                                                               
( T/ d5 l! M& p' M: Y) a                                                                                        嵌入式MCU工程師,面試常被問及的問題。
7 w. m4 g' O2 W                                                                                1 ^! M+ d6 P& ^% v
                                                                        % Y' H" d1 ^$ I7 t7 T4 p% I( R
                                                                7 p$ d! Y% v, |: ^" X& q/ t
                                                        我是老溫,一名熱愛學(xué)習(xí)的嵌入式工程師
' h% F# u3 K$ r) x關(guān)注我,一起變得更加優(yōu)秀!

發(fā)表回復(fù)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則


聯(lián)系客服 關(guān)注微信 下載APP 返回頂部 返回列表