對于想要成為物聯(lián)網(wǎng)工程師,面對碎片化極為嚴重的物聯(lián)網(wǎng),我們首先要掌握哪些方面?且想要從事物聯(lián)網(wǎng)開發(fā),是否要必須嵌入式知識基礎?物聯(lián)網(wǎng)是新一代信息技術的重要組成部分,傳統(tǒng)的嵌入式系統(tǒng)與互聯(lián)網(wǎng)的發(fā)展衍生出了物聯(lián)網(wǎng),物聯(lián)網(wǎng)應用開發(fā)是典型的嵌入式開發(fā),因此嵌入式是物聯(lián)網(wǎng)開發(fā)的基礎。
不過,對于初級入門者,或許會存在一定的誤解,其可能認為掌握了嵌入式開發(fā)的技術就等于已經(jīng)懂了物聯(lián)網(wǎng),但事實并未如此。
物聯(lián)網(wǎng)技術不是單獨的一個技術,它是多種技術的融合。物聯(lián)網(wǎng)涉及感知、控制、網(wǎng)絡通信、微電子、軟件、嵌入式系統(tǒng)、微機電等技術領域,因此物聯(lián)網(wǎng)涵蓋的關鍵技術也非常多,大致劃分為感知關鍵技術、網(wǎng)絡通信關鍵技術、應用關鍵技術、共性技術和支撐技術。
所以,對于開發(fā)者而言,首先要對物聯(lián)網(wǎng)有整體的認識,圍繞著未來的發(fā)展方向來找準自己的方向,學習精通其中的一個或幾個關鍵技術,理論和實踐項目配合,才能在未來的工作中有好的發(fā)展。
二、物聯(lián)網(wǎng)的實戰(zhàn)技能
當然以上僅是進入物聯(lián)的步,至于如何進階?在此,答主以自身從Linux開發(fā)工程師轉變成物聯(lián)網(wǎng)軟件架構師為例,分享多年的成長心得:
1、首先要跟上時代的趨勢,不能坐以待斃,要主動去發(fā)現(xiàn)機會并不斷地嘗試。同時,對新的商業(yè)模式和新技術保持開放的心態(tài),要學會接納并分析其是否能成長為新的趨勢;
2、從Linux底層驅動開發(fā)到上層云計算,Java應用開發(fā)的轉換是需要時間和技術積累;
3、技術棧需要重新建立。思考問題的方式也要隨之轉變,從面對硬件和機器語言轉換為面向客戶需求、面向用戶體驗。這種轉變過程從心理上要做準備。
4、多參加技術交流,保持學習的態(tài)度,通過獨立實現(xiàn)一個規(guī)模比較小的網(wǎng)站系統(tǒng)、小程序等項目開始,發(fā)展成為全棧,繼而提升為軟件架構師。
此外,由于物聯(lián)網(wǎng)范疇之廣,決定了其上手的路途充滿荊棘?;诖?答主從物聯(lián)網(wǎng)BU的軟件架構師角度出發(fā),表示需要具備以下實戰(zhàn)技能:
1、深入掌握2-3門編程語言,如Java、C或Python;
2、對操作系統(tǒng)要有深入的了解,包括進程、線程、存儲、內(nèi)存管理、鎖機制等知識點;
3、對Linux操作系統(tǒng)需要有深入了解,譬如從shell到內(nèi)核的運行機制等;
4、有終端設備驅動開發(fā)經(jīng)驗和匯編經(jīng)驗;
5、對軟件算法的理解越深越好;
6、在網(wǎng)絡層面,要對TCP/IP、HTTP和組網(wǎng)等技術有一定的了解;
7、數(shù)據(jù)庫MySQL、NoSQL等持久化技術;
8、云計算IaaS、PAAS、SaaS 和Devops技術;
9、持久熱愛互聯(lián)網(wǎng)技術,并堅信技術的力量。