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