如何讓做一名優(yōu)秀的軟件開發(fā)工程師?
2015-07-03 11:33:27 訪問:
扎實的基本功是成為優(yōu)秀軟件開發(fā)工程師的前提條件,軟件開發(fā)工程師的素質(zhì)即是否具備扎實的基礎(chǔ)。通?;竟υ诰幊誊浖_發(fā)環(huán)節(jié)體現(xiàn)在兩個方面:一是編程語言,二是數(shù)據(jù)結(jié)構(gòu)和算法。
只有注重質(zhì)量的軟件開發(fā)工程師,才能寫出魯棒穩(wěn)定的大型軟件。在軟件開發(fā)過程中,軟件公司總會格外關(guān)注邊界條件、特殊輸入等看似細(xì)枝末節(jié)但實質(zhì)至關(guān)重要的地方,以此來分析軟件開發(fā)工程師是否注重代碼質(zhì)量。很多時候,軟件公司發(fā)現(xiàn)軟件開發(fā)工程師寫出來的代碼只能完成最基本的功能,一旦輸入特殊的邊界條件參數(shù)就會錯誤百出甚至程序崩潰。
只有思路清晰,軟件開發(fā)工程師才有可能在軟件開發(fā)過程中解決復(fù)雜的問題。有時軟件公司會有意出一些比較復(fù)雜的問題,以考查能否在短時間內(nèi)形成清晰的思路并解決問題。對于確實很復(fù)雜的問題,軟件公司甚至不期待軟件開發(fā)工程師能在軟件開發(fā)不到一個小時的時間里給出完整的答案,他更看重的可能還是軟件開發(fā)工程師是否有清晰的思路。軟件公司通常不會喜歡軟件開發(fā)工程師在沒有形成清晰思路之前就草率地開始寫代碼,結(jié)果寫出來的代碼容易邏輯混亂、錯誤百出。
優(yōu)秀的軟件開發(fā)工程師對時間和空間的消耗錙銖必較,他們很有激情不斷優(yōu)化自己的代碼。當(dāng)軟件公司出的題目有多種解法時,通常他會期待軟件開發(fā)工程師最終能夠找到最優(yōu)解。這就要求軟件開發(fā)工程師在軟件公司提示還有更好的解法時,不能放棄思考,而應(yīng)該努力尋找在時間消耗或者空間消耗上可以優(yōu)化的地方。
IT行業(yè)知識更新很快,因此軟件開發(fā)工程師只有具備很好的學(xué)習(xí)能力才能跟上知識更替的步伐。通常軟件公司有兩種辦法考查軟件開發(fā)工程師的學(xué)習(xí)能力。第一種方法是詢問軟件開發(fā)工程師最近在看什么書、從中學(xué)到了哪些新技術(shù)。軟件公司可以用這個問題了解軟件開發(fā)工程師的學(xué)習(xí)愿望和學(xué)習(xí)能力。第二種方法是拋出一個新概念,接下來他會觀察軟件開發(fā)工程師能不能在較短時間內(nèi)理解這個新概念并解決相關(guān)的問題。