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

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

搜索
查看: 29|回復(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í)的嵌入式工程師
) K- i) x8 p. _. p* H關(guān)注我,一起變得更加優(yōu)秀!
  I& C: I/ Q! u6 y+ s9 z注:此處嵌入式軟件,特指基于Linux平臺(tái),單片機(jī)和其他rtos不在討論范圍。
6 A( }& v3 O  l# W筆者從事嵌入式軟件開發(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)注。5 e# q2 c6 O& U
近期有萌生換個(gè)行業(yè)方向的想法,想做做后臺(tái)服務(wù)器相關(guān)的開發(fā),由于之前工作中并沒有這方面的實(shí)際需求,只是自己平時(shí)關(guān)注,了解了些知識(shí),
3 Q8 h# H$ m! L/ ~* J比如:NIO,epoll,ngnix,zeromq,libevent,libuv,高并發(fā),分布式,Redis,Python,tornado,django,涉獵比較雜,都了解個(gè)皮毛,不精。
0 X" F9 X" Q: \( d5 l
* R3 d% B" R# b! r$ l+ C: |8 k! O意外的是,嵌入式屢屢被互聯(lián)網(wǎng)行業(yè)鄙視,面試機(jī)會(huì)都寥寥無幾,此時(shí)我想,到底是什么問題呢,難道嵌入式出身的,就這么不受待見嗎?0 ?. A7 ~- }7 D: j; v* a
想當(dāng)初,嵌入式驅(qū)動(dòng)開發(fā),可是趨之若鶩的技術(shù)方向(有點(diǎn)夸張,不過10年前的嵌入式,可是聽著比做Java web的要牛逼些噢),問題總是有原因的,我說下自己的理解:# W& ^  E. w$ S$ z& I- |
打開拉勾等招聘網(wǎng)站,搜索架構(gòu)師,會(huì)出現(xiàn)各種系統(tǒng)架構(gòu)師,web架構(gòu)師,后臺(tái)服務(wù)端架構(gòu)師等等,但是唯獨(dú)很難看到嵌入式軟件架構(gòu)師。; d* U1 ^: x) P/ c6 Z; J
嵌入式軟件不需要架構(gòu)嗎,驅(qū)動(dòng)不需要架構(gòu)嗎?答案是當(dāng)然需要,但為什么沒有這方面的職位?& N2 Z& N( f. }* J" O
我的看法是:目前國(guó)內(nèi)的嵌入式開發(fā)主要分為嵌入式底層開發(fā)和嵌入式應(yīng)用開發(fā),嵌入式的底層開發(fā)一般叫做驅(qū)動(dòng)開發(fā),或者bsp開發(fā),有時(shí)也有稱之為linux內(nèi)核開發(fā),名字聽著都很高大上。
* ]  `+ L( K7 CLinux kernel 的架構(gòu)師是 Linus 等一眾內(nèi)核開發(fā)維護(hù)者,因?yàn)楸旧鞮inux kernel 或者操作系統(tǒng)就是一個(gè)通用的平臺(tái),解決的是通用問題,
1 ~8 d# ?5 g, K/ N) zLinux開源屆的大牛都已經(jīng)制定好了架構(gòu)規(guī)則,留給可發(fā)揮的地方并不多,大部分工作只需要按照規(guī)則框架填充就可以了,而且以目前國(guó)內(nèi)大部分公司的業(yè)務(wù)需求,只是在做外圍設(shè)備的集成," t3 W$ W, L9 |" y5 M
嵌入式平臺(tái)的porting,搭建裁剪,業(yè)務(wù)需求完全不會(huì)超過kernel里提供的功能范圍,導(dǎo)致沒有什么新的架構(gòu)需要開發(fā)人員去設(shè)計(jì),實(shí)現(xiàn)。
4 d' G3 P$ h$ u" K8 R那嵌入式bsp開發(fā)人員都在做什么:除了調(diào)試多種多樣的外設(shè),替硬件擦屁股,就是解些穩(wěn)定性的bug了,
( m+ k( s/ r+ D- y& e* U9 y( 這里對(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))! ~* U$ m  `+ i/ \
/ r" H1 p& p4 _& D) V4 g& D
而嵌入式應(yīng)用軟件開發(fā),一般行外人會(huì)覺得業(yè)務(wù)邏輯比較簡(jiǎn)單,容易被很多人忽略,所以招聘方也會(huì)感覺沒有什么必要找架構(gòu)師級(jí)別的了。8 V  b/ I/ u9 d; s, d, R, C
至此感覺嵌入式技術(shù)相關(guān)的行業(yè)的確不需要架構(gòu)師,被互聯(lián)網(wǎng)行業(yè)的鄙視也沒什么大驚小怪的,而對(duì)于嵌入式底層的開發(fā),有能力對(duì)kernel,驅(qū)動(dòng)架構(gòu)提出架構(gòu)層優(yōu)化的,國(guó)內(nèi)的開發(fā)人員應(yīng)該為數(shù)不多。
/ M+ g5 y8 ?" P( y# x4 a9 x2 K% P所以對(duì)于大部分普通人,還是不要“妄想”做 Linux kernel 的架構(gòu)師了(當(dāng)然我相信國(guó)人中一定存在有這個(gè)能力的大牛),發(fā)現(xiàn)和解決一些業(yè)務(wù)上的 bug,可能會(huì)更靠譜些。5 `/ s9 Y; `5 Z( ]& a; N
那么,對(duì)于嵌入式應(yīng)用層開發(fā),你認(rèn)為,需要進(jìn)行嵌入式軟件架構(gòu)設(shè)計(jì)嗎?: l) W* E+ U' y* T
來源:https://www.cnblogs.com/lizhensheng/p/11117388.html8 [/ v7 y! Y& N% l* [) m/ T8 T, y( e3 ^; n
% ^1 f6 Q/ N" p7 P
-END-  z% k' M+ |9 p( g# Y( l
往期推薦:點(diǎn)擊圖片即可跳轉(zhuǎn)閱讀' K$ v% T  g8 B  {5 A/ D% k
                                                       
. G5 Y4 s2 X) B7 ^3 U, h% R9 |                                                                4 L. u9 _$ H+ q+ |' o- A
                                                                       
0 R; I" y5 `% o' p1 r+ o                                                                               
; s, G$ @! `/ j' Q   B2 ]. C9 l& Z1 V
                                                                                4 F/ z8 i: |, m0 x, n4 o+ c
                                                                                        搞嵌入式硬件,一不小心把全公司都得罪了!
& y! g+ H  F, I7 t, U* _                                                       
8 s. F; ~7 r, J$ s6 {" @                                                               
7 G% W. k: {) P3 c. I' E( r, O4 Z' [                                                                        2 J. H% L* j! t
                                                                                1 ]- f5 `4 @- V; i
0 H# x: n3 c. F, D
                                                                               
! V2 Q1 Z: l+ H; W. O2 |! Z                                                                                        最近都在傳,C/C++ 大限將至,面臨淘汰。
# N% P* J2 P2 b6 \$ g4 G" Y4 s8 y                                                               
( Z9 [. h- v* z, G7 Z+ ?2 s  {  N                                                                       
! E' J3 \7 |* m, Z6 K- d; X                                                                               
, @0 T" l# z2 d- \+ q% G& I . D& n6 y" {: v$ b. t
                                                                                  }" l. u6 c( P( \( f) c! y6 N: \
                                                                                        嵌入式MCU工程師,面試常被問及的問題。5 _& K1 a* u/ G3 j, y* c
                                                                                5 G$ I' l' @) c. N6 [
                                                                       
- d5 R, C( ]3 ]& V7 b' o: [                                                                $ s; w- U! Q  ~; R
                                                        我是老溫,一名熱愛學(xué)習(xí)的嵌入式工程師: Y5 Z. A6 d, k0 J4 b
關(guān)注我,一起變得更加優(yōu)秀!

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

本版積分規(guī)則


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