不要在小公司作底層軟件開發

       本博客與本人在csdn上的博客同步:https://blog.csdn.net/qiuzhizhecsd/article/details/78993953 轉載請註明出處程序員

  在這裏makekam對底層軟件的理解就是指驅動開發,代碼移植等工做。其中也包括底層的算法。在小公司作軟件不要作底層軟件開發,猶如在公司作硬件開發不要只是焊接電路板。
        小公司處於產業鏈的最末端,沒有本身的核心技術,只是針對用戶需求完成一些系統集成和定製。而核心技術具備廣泛適用性如「組合導航技術」、「操做系統移植與軟件框架」等技術並不侷限於某個領域,這些技術大公司能夠集中力量突破,而後將技術賣給各個小公司。因此廣泛適用性的技術每每來自大公司。所以,小公司的底層軟件要麼是測試供應商的軟硬件產品,而後與供應商溝通測出的問題,要麼是讓本身公司的代碼匹配供應商的產品,好比驅動開發、代碼移植等。這些工做每每代碼量奇少無比,體現不出高級程序員和低級程序員的區別,由於作這些事主要是看外設文檔,與供應商溝通。只要花費人和時間,這些事情都能完成。算法

        除此以外,作底層開發還要替硬件填坑背鍋。小公司缺乏硬件測試流程,問題每每在產品運行時才能發現。假設makekam是作底層軟件開發的,當作硬件的人焊接的板子有問題時,這些問題每每沒法完全排除是軟件致使的,因此作底層軟件的makekam就要花幾天時間把底層代碼查個遍來分析問題,最後才能讓硬件的人用十五分鐘解決問題。框架

        也許你會說,作底層軟件作的多了不就積累了不少經驗嗎?其實否則,只要公司決定出錢購買另外一款外圍設備,那麼以前的經驗就很難用得上了。並且底層開發代碼量很小,只是匹配主控芯片和外設,哪裏有什麼創新,哪裏有什麼複雜度?並且更重要的是,公司的領導內心永遠不惦記你,這是由於,公司領導想的都是公司的項目,而這些項目的主要困難是什麼?毫不是底層軟件開發!底層軟件開發只須要人和時間就必定能夠完成,這是一個必然事件。而充滿不肯定性的應用層開發和項目成本估算還有項目需求分析纔是這個項目成敗的關鍵。所以,對於領導來講,在項目肯定以前須要和三我的溝通,第一是和客戶溝通,由於客戶決定產品研發方向,第二是和外設供應商溝通,由於只有外設供應商才知道項目的開發平臺的屬性與成本。第三是和作應用開發的人溝通,由於項目的主要工做量是在應用層。領導不會和作底層軟件的人溝通,由於底層軟件只是一個橋樑,一個臺階,一個墊腳石。底層軟件作的再好,也只不過是把系統作穩定,項目的價值的提高取決於業務目標和應用開發。測試

        總之,在小公司,面向客戶,面向應用纔有前途。由於小公司存在的意義就是面向客戶整合產業鏈上游資源。spa

相關文章
相關標籤/搜索