嵌入式還是安卓應用開發?

我是一名自動化專業的大二學生,學過51,C,現階段正在學STM32。之前一直想以後從事嵌入式,走ARM+Linux路線,做驅動開發。前段時間和同學合作做個項目,終端控制是基於安卓手機的,一下子讓我對這個目標有點動搖。自己其實也不是很想做硬體,一方面,硬體相比軟體投入的資金更多(學校方面也不提供資金補助),另一方面,招聘的時候招底層驅動的要比應用層的少的多,且對學歷和經驗要求也很高,而做應用開發貌似一台電腦就差不多了。個人對安卓應用開發也有點感興趣,前段時間還學了一下JAVA。目前的情況很糾結,不知道是不是該放棄自己專業在硬體上的優勢而去學安卓開發,還是繼續保持這種硬體上的優勢走ARM+Linux一步一步地從底層驅動學到應用層(其實也很擔心這樣做,畢竟嵌入式很廣,這樣什麼都涉及的話是不是會導致缺乏核心競爭力)。這個問題苦惱了我很久,希望有前輩能夠幫忙指點一下,在此,感激不盡。


我是典型的嵌入式轉Android開發。

大學前三年一直在實驗室折騰嵌入式,各種智能車~四軸飛行器。從晶元選型,電路設計,嵌入式C到各種終端上位機一手包辦。(一手包辦是誇張說法~~就是都折騰了一遍╮(╯▽╰)╭)

ARM~FPGA~DSP晶元玩一圈,stm32+ucos iii +emWin也搞過。可惜Linux沒怎麼搞~

現在是移動互聯網的時代了,時代拋棄了電工們,做底層硬體和底層驅動這種越來越不吃香了,因為底層的東西,特別是驅動,變化是很慢的,無論來什麼晶元,都是那幾種匯流排協議嘛,跟廠商買晶元基本都幫你做好驅動程序了,拿來改改就自己用了。

現在Linux驅動的崗位也比較少,而且學習難度還不小。要是能進原廠做研發還好,要進了一般公司,也就是改改代碼移植移植一下的活了。

當然,底層是支撐應用的根本,崗位永遠都會有,屬於傳統的常青樹的技能,只要熬過一兩年就好過很多。不像某些一旦不流行就會悲劇的技術。

我在學Android之前,以為自己懂得比較多了,了解過別的領悟和技術才知道自己原來不值一提,我到現在也還是小菜鳥,只是我比起以前,自信了許多。

多去體驗新鮮的事物,眼光和見識有了,就會做出自己的選擇,不必問人了。


樓主說的,我恰巧全做了個遍。

以前做嵌入式,我做過Cortex M系列的模擬器工具,含windows調試工具和模擬器固件。

所以,windows mfc什麼的尚算熟悉,嵌入式arm也不陌生。

51程序也接觸一些,印表機程序,簡單的控制程序等。編程來說,51沒arm方便。

現在做嵌入式,先搞安卓下面的linux的某些驅動,觸摸屏、有線網之類,

再在自己修改的安卓系統上,實現某些特定行業的應用。比如日本某連鎖店的應用。

所以安卓app開發也少不了。

當然,要玩安卓,linux更加少不了,寫jni就如同寫linux應用嘛。

好在早年,在linux下做過不少Web Camera的內容。當然,要做web camera,

要寫html嗎,要寫activex控制項。。

所以同學,苦逼吧,能選硬體就選硬體吧,沒有興趣,莫入嵌入式。。


你現在才大二,廣就廣吧,沒有一定經驗,想精很難。

做工程師,不靜下心來,扎紮實實積累五六,不會有太精的方向的,不管你做的是硬體還是軟體

針對你的問題,作工程師一定要低調務實,要執著鑽研,因此如果不是自己的愛好,堅持比較難。如果你覺得要學很多東西比較難受,那麼去做市場和銷售吧,那裡沒有這麼枯燥,錢多,還不愁找不到對象


個人覺得電子系的比賽沒有跟上潮流。我是說賺錢的行業大潮。上次搞了個linux攝像頭應用去參加比賽,電子系的老師們評委們壓根瞧不起這種純軟體的東西


不要把自己限制的這麼死嘛,才大二就應該拓廣視野的,什麼都要會一點,之後你才能知道你自己最喜歡什麼嘛。這一行一定是要以興趣為導向的,因為哪個方向都很不錯,做你自己喜歡的方向,至少會有自豪感不是嗎?

比如我,大學搞了單片機,發現還是覺得自己偏好硬體一些,又學了FPGA,越學越覺得還是不要做SOC了,用FPGA做演算法更有意思。

結果工作用的是DSP= =。


大二啊,我大二的時候還在學電機拖動呢。。。。。。。。看到自動化心碎啊。。。。。。。

嵌入式還可以和自動化相關一點;

安卓就是和自動化半毛錢關係都沒有了;

------------------------------------------------------------------------------------------------------------------------------

嵌入式工資目前應該比安卓少不少,少很多錢

--------------------------------------------------------------------------------------------------------------------------------

硬體上的優勢,我覺得到目前你只是學了電學的基本課程,離自動化好比較遠,現在選擇安卓應用開發還是可以的,學科影響不大的

而且和你說的也一樣越底層的需要的學歷和經驗越高,如果以後有碩士的想法,

嵌入式範圍太大了,arm+linux也只是一個方面

我覺得嵌入式底層驅動開發目前不如應用層和安卓的工資高

--------------------------------------------------------------------------------------------------------------------------------

核心競爭力這個我覺得核心競爭力,自動化導論裡面就說過我們是萬精油專業,哪有核心競爭力,除了秀一下控制理論


不得不說你們都和我的經歷一樣誒。搞過智能車、電子設計、博創杯什麼的。學習過html,http://asp.net,Java,C,Csharp,Android,嵌入式Linux,ARM也搞過伺服器架設,app開發等等。最後的結果是,什麼都不會。所以,一開始就要埋頭苦幹,一條路走到黑。不要想太多。


題主的經歷和我也太像了吧,我也是先學的51 stm32 準備嵌入式的路上走到黑。不過最近看了看Android開發,覺得很有意思,就我而言我覺得,喜歡就去學,年輕有的是時間


今年找工作,發現嵌入式硬體(包括驅動)方面,要的大都是碩士以上學歷,本科根本就不看……然後,好多公司與我擦肩而過,最後導致沒在嵌入式方面找到工作,轉向了軟體方向…今年的嵌入式方向求職經歷 嵌入式方向還是應用開發方向? 樓主參考著看一下……希望對你有幫助


我表示看完所有人的答案,我有點醉。你所說的什麼安卓開發,或者硬體都是一種手段,而不是方法,大二自動化學的什麼?高數?電路,模電?數電?這些東西才是你應該關注的東西,如果你想做嵌入式,無論軟硬體,先把這些基礎的東西學好,順便去學學計算機的基礎知識,還有數據結構,或者演算法之類的東西。這些東西都決定你以後能不能飛,以及飛多高的問題。

試問一下,你會安卓,除了找個工作有點優勢外,能有什麼用?不過是個高級的技工,和藍翔學個挖掘機沒有什麼區別。你要清楚這些東西只是工具。

所以我的建議就是,學好基礎知識。如果你對安卓感興趣,就抽時間學學。


app開發方向

同時研究底層

如果還懂java後台就夠好了

利益相關:看我標籤 對了 我也是學自動化的


看了題主的問題,題主對於未來的方向有點迷茫,你才大二不要這麼早就把自己限制住。

樓主所說的這些我都有接觸,先說一下我的經歷。我一開始是從事Linux跟Android驅動開發,目前在做底層的同時也在負責android跟iOS的app開發。誠如題主所說硬體行業里底層驅動相對於上層應用來說人才需求量要少很多。非晶元原廠的工程師做的更多的是調試板子,移植驅動,這相對於寫驅動代碼來說層次要低很多,普通的驅動工程師需求少,晶元原廠的需求更少。另一方面硬體的競爭越來越激烈,利潤也越來越薄,而軟體的利潤越來越高,未來更多企業賣的是服務,即使是傳統做硬體的廠商也在慢慢增加軟體的比重,我們公司這邊硬體現在差不多是半賣半送的趨勢了。

對於題主來說應該根據自己的興趣去學習適合自己的東西,但是現在你才大二,沒必要完全限制住自己的方向。軟體與硬體都是相通的,你現在學的所有知識都是你未來的寶藏。我大學期間學的是物理光學,在做Android跟iOS app的時候,光學裡那些圖像處理的知識一直都讓我受益匪淺。

做底層跟做上層如果想學好都需要掌握紮實的基礎知識。工作中這兩者的壓力強度差不多,我有過板子調不通時的懊惱也有過各種軟體需求來不及處理時的被鞭策。

學習是自己的事情,不要老是去考慮成本。硬體確實花錢,我大學期間的第一塊板子是自己在寒風中工作了兩個月打工賺錢買的。如果遇到困難應該去想辦法解決。

情況就是這樣的情況,題主可以根據自己的實際去著重看看自己感興趣的東西,還是那句話在打基礎的時候不要限制自己的方向,另外加一句根據自己的興趣去做選擇。

弱弱的說一句,做這一行是很苦逼的,我現在才下班……如果你有機會,去考公務員吧


電子信息工程,大一大二一直在學單片機,原本想走嵌入式應用層,大二暑假由於參加一個比賽2014廣東省電子設計大賽二等獎——需要手機客戶端元素,開始自學安卓,後面就一直學到現在。支持第一個答案「多去體驗新鮮的事物,眼光和見識有了,就會做出自己的選擇,不必問人了。」,而更重要的是一旦選擇了方向就要堅持,三分鐘熱度只會浪費時間。共勉!


我現在就是一面嵌入式工程師,公司是五百強,負責任的跟你講,我們底層驅動十年前寫的現在繼續用著,而且未來會繼續用下去,也因為這樣,我們公司囤了一批老技術,年近50,每天工作兩個小時,瞎晃悠六個小時,照樣可以拿幾倍於我們的pay。這行的穩定性很好,起碼現在是這樣。

PS:我準備轉安卓,因為我已經難以忍受枯燥乏味的擺弄板卡


最近BLUES收到很多招聘需求,產品經理、安卓開發、IOS開發是其中最熱門的字眼,做產品的垂直細分領域,是目前很多創業公司的思路,於是招聘領域也被細分,專註互聯網企業,專註產品經理,專註開發,甚至100offer在專註程序員領域的時候,發明了這種拍賣的方式。

不少企業知道自己想招安卓開發,但不知道怎樣才是一個優秀的安卓開發。

不少優秀的安卓開發同學,知道如何寫代碼,但不知道如何規劃一個程序員的職業生涯。

面臨創業公司,大型企業,程序員應該如何選擇,也是很多人面臨的問題。

這篇文章,或許可以給大家一些參考。

在100offer每周的拍賣會中,我們發現Android開發常常是收到最多面試機會的offer之王。那麼,這些平均拿到48家企業面試機會的Android開發究竟有什麼過人之處呢?

Android平台憑藉著龐大的用戶基礎和開放的開發環境,吸引了越來越多的開發者。但是,Android開發真的是簡單的「能寫應用就行」嗎?NO!具備怎樣的技能,才能成為受市場歡迎的Android開發?

一名Andriod開發的技能體現在「實際量級下解決問題的能力」,流暢地寫出高質量的代碼,快速地消滅出現的bug,完美地解決隨時可能出現的問題。

更重要的是,一枚優秀的Android開發絕不會視野只局限在應用層,「對底層的理解」是決定你是否成為Top5%的關鍵,也是很多工作幾年後的Android開發職業上升的瓶頸。

具體落實到技能點,一名有2~3年工作經驗的Android開發,具備以下一半的技能點是合格,全部具備是優秀:

紮實的C++、Java基礎

熟悉網路編程,了解常用網路協議

熟悉掌握 Android 界面和交互開發

掌握至少一門資料庫語言

至少有一個完整的 Android 應用開發經驗

良好的編碼風格,溝通能力和團隊合作精神,有責任感

在 Google Play 上線過自己的 App,加分

對開源技術有強烈的興趣和愛好,有個人blog、Github賬號,參與或向開發者提交過 bug 和 patch 者優先

優秀Android開發的職業成長路徑是怎樣的?

在不同的職業發展階段,Android開發的薪水有非常大的差異,伴隨著技能和薪資的提升,一位比較順利的Android開發的職業成長之路是這樣的:

(美國Android開發的薪資分布 | from the PayScale salary survey)

1 初級Android開發:0~3年

在從事Android開發的前三年,在沒有遇到和解決足夠多的問題之前,你都是菜鳥。對僱主來說,與其社招只有兩年工作經驗的Android開發,不如通過校招自己培養,這也是100offer一般只接受2年工作經驗以上的程序員的原因。

2 高級Android開發:3~5年

這是你快速成長成熟的階段,此時你可能已經有過一次跳槽經歷,已經可以獨立帶領一個小團隊,成為一名技術Leader,或小型創業公司的CTO。

3 架構師:5~7年

成為一名架構師需要更強大的宏觀把控能力,可以從上而下看問題,具備良好的體力和思維能力。

4 研究員/管理總監:7年/10年以上

7年以上的Android開發如果走技術專業路線,首席架構師/研究員是開發者的最終職業目標。要成為首架/Fellow,不僅需要有紮實的基礎,還要具備高情商,以及hands-on寫代碼的能力。值得一提的是,情商在職業發展的後半段發揮著越來越大的作用,尤其體現在解決衝突中。

如果走管理序列,作為管理總監,則更關注前沿的方向和業務的把控。

當你拿到48個面試機會,如何選擇?

在100offer的拍賣中,如果你一下子收到了48個面試機會,該如何選擇呢?常有用戶向我們諮詢這種職業機會選擇問題。以下是在挑選職業機會中,工作2~3年的你需要考慮的幾個維度:

1 去創業公司還是大公司?

如果你是特別能解決問題,具有強烈的自我驅動力的程序員,建議你去創業公司。在那裡,一般你會得到更多的解決實際問題的機會,接受更多的挑戰。而大公司比較趨同於流程,如果你願意在團隊中安心地做一顆螺絲釘,在前人已經沉澱地較深的技術基礎上學習和修補,那麼,大公司也是不錯的選擇。

2 這個產品是否值得加入?

優秀的Android工程師一般也具有良好的產品思維,比起公司規模,他們更看重產品的前景。

但是,有一個常見的誤區首先需要釐清:用戶量並不是判斷一款產品值得加入的絕對標準。因為落實到你的目標:一款產品即使用戶量再大,你做的不過是其中的一個子集;另一款產品即使用戶量目前沒那麼大,但是如果你看好它,可以陪伴它一起成長,用戶量逐漸增長,豈不是更有意義。

介紹一個簡單快捷的產品判斷方法:在面試中和各種職位的面試官聊產品。

和Founder談,聊對產品的思考,看他對產品是否有相對長久的規劃和堅定的想法;

和技術Leader談,從他的業務敏感度,可以判斷這個公司對技術和產品的重視程度;

和產品經理談,聽專業的PM詳細介紹這款產品,了解他對需求的看法;

和自己談,最後問問自己對這款產品是否真的有興趣,再靠譜的產品你沒興趣也是白搭。

3 這個團隊是否有牛人值得信賴?

正如投資者往往投的是人,因為靠譜的人常常比靠譜的產品更重要。仔細考察這個團隊的背景,如果創始人和合伙人是這個領域的牛人,更重要的是他有過成功的經歷,那麼,加入其中的風險則可有效降低。在大公司中,跟對一個好領導的重要性也不言而喻。

總之,選擇比機遇更重要,面對眾多的職業機會保持清醒的頭腦,仔細做好基本分析,然後,「自信」地跟著感覺走就是了。

100offer拍賣中的Android offer之王怎麼樣?

我們統計了今年春節以來的12期拍賣中的Android offer之王,發現他們的背景有如下規律:

本科/研究生學歷+3~5年一線知名互聯網工作經驗+APP開發經歷+Github/Blog賬號+優秀的溝通能力+尋求好項目的跳槽意願這樣的Android開發是整個互聯網市場都需要的移動應用開發人才,無論是創業公司還是BAT、外企等大公司,都在100offer的拍賣會上向他們發出了面試邀請。

最後,分享100offer跟蹤的一組入職數據:

最受歡迎的Android開發人均收穫48個面試機會,已入職的Android開發平均薪資漲幅達35%,最高offer基本薪資為:30k*14,BAT和已獲千萬美金級融資的創業公司是最受青睞的僱主。

最後,請記住,成為搶手的Android開發證明了你的技術實力,具備大局觀和高情商的人才會走得更遠。

本篇文章轉載自公眾號:BLUES

【關注訂閱號:mcuworld 閱讀更多嵌入式精選資訊】


我和你專業差不多。

我的專業是電子信息工程(這貨是啥?)。

我參加過飛思卡爾,搞過51,MSP430,嵌入式。

一邊搞硬體一邊學習語言。c,c++。

然後天天都是配置寄存器,搞得好煩。於是就弄c++,java,android。

現在搞軟體。

我覺得,首先。你要確定是做硬體還是軟體。

再說搞什麼。我不喜歡硬體,於是做了軟體。


沒想到三年前困惑我的問題還在繼續困惑下一代吶。

如果要點建議的話,我建議做android,底層的封裝越來越完善。如果你嵌入式做的非常牛逼,那就做嵌入式,前提是你要找到合適的企業,在哪工作很重要。


無論你選擇什麼,不要被硬體上的投入絆住了腳。

大學期間1000以內的開發板應該已經足夠你學習了。這1000塊跟你工作之後的收入比起來根本不值一提。


安卓我不知道,我說說嵌入式。

12年畢業我從電子學畢業(非211 985),畢業前半年就進公司做嵌入式軟體(C+裸機/eCos實時操作系統/Linux移植、驅動+應用),到今年已經5年了。

12年我搜嵌入式職位時(深圳/51job),一天至少有18頁更新,16年搜的時候十多頁,今年(17年)搜的時候只有7頁,工作崗位縮水約3倍。

再說說我的薪資,12年畢業時試用4K轉正6K,去年5月跳槽後(16年)試用1.2W轉正1.4W,薪資和其他同等經驗軟體類崗位相差不大。

安卓沒有涉及,供你參考。


歷史總是驚人的相似!先回說說我的經歷,大四准畢業生一枚,現在是16年3月。我電子信息工程的,大二大三在電協呆,主要也是做51,stm32,參加兩次電賽得了次國二。上年10月份,出去找了份工作,做stm32的,智能家居的,小公司,技術就幾個人。項目做了一個,後面辭職了。在工作中,發現嵌入式真是累啊,下到pcb,焊接,上到驅動移植,操作系統(ucos)調試都是一手包辦。我還好,有專門硬體工程師畫板調試,但是你調軟體也必須懂啊。所以我是決心轉行了(最主要薪酬不高,公司做了3年多的,才7k多月薪)。現在回到學校,同學一堆畢業設計等著我做,當然是收辛苦費了。以後這段時間也是在迷茫:該轉哪一行!之前想去andriod或者ios,我有c/c++底,想來不難。到去了解了下,現在外面培訓班,4個月量產程序猿(質量大部分不咋地,但也有高手),初級市場飽滿,心酸啊。然後現在轉web前端,其實對前端也不是很了解,而且感覺需要學很多,都快畢業了,經歷壓力也大!html,css,javascript等等,都是從零開始。也不知道這條路以後怎麼樣,有大神或者前輩指導下么? 手機手打,有點亂,見諒!


推薦閱讀:

ColorOS、 OPPO、CM和OnePlus 之間是什麼關係?
小米為什麼一定要自主研發MIOS,跟MIUI有什麼不同嗎?
如何看待 Google 將 Kotlin 選為 Android 官方語言?
如何看待最近國產 Android 應用程序紛紛放棄 Android Design 的現象?
如何評價魅藍 6?

TAG:ARM | Android開發 | 嵌入式系統 | Android | 嵌入式開發 |