-
1 # 數碼科技v愛好者
-
2 # 一分鐘說軟體
有些人在問,軟體開發人員如何發展,我整理了一下,覺得可以如下幾個過程,逐步深入。
1 基礎
這是每個開發者的起點。開發者剛剛學會了某種語言, 比如C語言,學習了基本的資料結構和演算法,並透過一些練習對知識點進行鞏固。這些練習主要以課後練習為主,是一些簡單的基礎概念的練習,比如列印輸出、接收使用者的輸入、陣列的遍歷、排序,或者連結串列等。
接下來是做一些簡單的專案,這些專案沒有複雜的演算法和高深的領域知識,比如資料的統計分析、產品的售後管理系統等。這些專案雖然簡單,卻是一個真實完整的專案。不僅練習了開發者對語言的應用能力,也體會了軟體開發的全生命週期,即軟體工程,從專案的需求分析,到設計開發,到軟體釋出和專案驗收,最後到軟體的維護。
透過簡單的專案,掌握了對語言的駕馭能力,並熟悉了軟體工程。隨著能力的提升,慢慢地就會接觸更復雜的專案,使自己能力得到進一步的鞏固和提升。
能力的提升方面包括:對語言的應用得心應手,對軟體的設計駕輕就熟。接觸並熟悉更多的語言,如動態語言Pyhton、指令碼語言Bash、新興語言Golang、Swift等。透過語言間的對比,對語言的優勢和缺點又比較清晰的瞭解,從而在專案中合理選擇語言。
2 架構設計和系統分析
隨著專案越做越多,會發現多數是在重複,到了一個瓶頸。這是可能要閱讀大量的書籍,向軟體架構和系統分析轉型。在設計軟體時,要多留意架構設計。軟體架構可以透過演化得到。但是若能看得更遠,提前做些設計,會事半功倍。
這個階段,可能要花大量的時間在業務領域。因為軟體技術已經暫時不需投入太多精力了,也有時間關注業務領域了。熟悉業務領域,能分析使用者的需求和約束條件,寫出資訊系統需求規格說明書,制訂專案開發計劃等,能根據實際工作環境,評估和選用適宜的開發方法和工具;能按照標準規範編寫系統分析、設計文件等。在實際專案中鍛鍊系統架構和系統分析能力。
願意的話,可以考一個系統架構師或者系統分析師。
3 基礎演算法和專案管理
發展到這個水平後,對軟體技術和業務領域都比較熟悉。所謂窮則獨善其身,達則兼濟天下。很可能會帶帶新員工。這是練習領導力的一個機會,可以體會一下如何帶人。為下一步帶團隊打下基礎。可以把手上的一些事情安排給他們做。自己抽身出來研究更重要的事。比如研究基礎演算法、拓展新的領域等。
其實到這個階段有兩個選擇,可以向專案管理進一步,做專案經理。也可以鑽研基礎領域,做領域專家。
回覆列表
思維功能想法,實現功能,完善圖形化操作介面,測試功能,版本釋出測試,使用者體驗公測,接受反饋bug修復,繼續公測,正式版上線,渠道推廣,使用者推廣,實現ip引流,獲得收益,擴大技術團隊,收集使用者反饋資料需要的產品,開發產品。然後迴圈