首先第一條就是重點院校,很顯然這條過不去,這個就像人的身高一樣!不過,我認為這個不是必要條件,如果以這個標準來衡量的化,google和microsoft會錯過很多人才。
第二條是流暢的英語能力,這個需要環境和時間來磨練,更重要的是個人的毅力,我想你應該可以達到。
第三條必須精通至少一種作業系統,unix/linux or windows ... ..., 軟體的基礎是平台,而現代的作業系統就是這樣的平台,所以這個是必要條件,一般人可以通過時間和毅力,還需要聰明才智才能達到,這條我想你也應該可以達到。
第四條c/c++語言能力,這是一條必要條件,如果你是一個軟體工程師,你不可能不會,也不應該不會c/c++,可能程度不同,這條我已經基本達到。
第五條不僅要瞭解系統的內部,還要瞭解系統的應用,至少會使用一種指令碼語言,如shell, python, javescript ... ...。一個現代的軟體工程師不應當只懂底層的,更應該懂應用(進階應用程式),這條需要時間和精力來達到,我想你可以達到。
第六條演算法,軟體開發的基礎也是靈魂,必要條件。沒有脫離演算法的軟體,這裡就關係的了你對c的掌握,大部分高效的演算法都是用c來實現的,如果你寫的軟體沒用到任何演算法,只能證明你是一個不合格的軟體工程師,演算法使得軟體運行更有效率。這條也是靠時間,實踐還有一點點天賦才能達到的,我想你應該可以。
第七條架構設計,不懂架構的軟體工程師頂多可以算是一個coder,作為一個現代的軟體工程師至少需要知道什麼是系統設計,模式設計,並能進行基本的運用,這條我已經基本達到。
第八條測試,不是只有測試工程師才需要知道如何去測試,一個現代的軟體工程師更需要知道基本的測試知識,這樣才能保證你的程式對系統有價值,這條可以通過學習和交流來達到。
第九條資料存放區,現代的軟體沒有不需要資料存放區的,資料存放區在檔案,資料庫或是其他載體,一個現代的軟體工程師需要熟練的運用資料存放區,最好的就是精通sql。這條我想通過一段時間的磨練你應該可以達到。