在軟件開發公司中,一個卓越的公司中需要一些優秀的軟件開發工程師,但是怎么培訓和培養一些優秀的軟件開發工程師呢。
在軟件公司參加大學生實訓的學員,他們很大一部分是想從事和自己專業相關的行業,而對于軟件開發這一行的人,我們有個很大的挑戰,就是如何能夠用正確方法的做事情。什么是正確的方法,這依賴于你在做什么和做給誰。而究竟所謂“正確的方法”里都包括了什么內容,這并不是重點,重點是你是否能堅持按照這種方式做事。初級軟件開發工程師在這個問題是通常不能做到堅持,而資歷較深的軟件開發工程師卻能始終堅持原則。也許會有一個“非常棘手”的軟件工程,或者這個軟件工程很特殊,不能按常規過程開發。這只是個假象。好的軟件開發工程師知道即使在任何情況和環境下都要堅持做正確的事情。如果說按正確的方式開發將導致不能按時完成任務,那么,他們就會知道,這個軟件工程是不能按時完工的。不要妥協,工程質量是你作為一個優秀軟件開發工程師的唯一終極證明。確保你所有的代碼都是在正確的方法下100%正確的寫出的。要按一個優秀的軟件開發工程師的標準來要求自己。
首先要學會甘愿受苦。聽起來很傻,但卻是真的,優秀的軟件開發工程師都樂于承擔工作上給他們帶來的痛苦。你說出一個優秀的軟件開發工程師,我都能告訴你,在他或她的職業生涯里,各個階段,都曾有花好幾天時間去解決一個問題的經歷。優秀的軟件開發工程師品味著困難給他們帶來的挑戰,這讓他們日以繼夜,他們明白,問題必須要解決掉。
好的軟件開發工程師是通過痛苦的磨練才成為優秀的軟件開發工程師的。痛苦的磨練是說當你對這個問題實在無能為力時才去請求外援。求助就意味著認輸,所以盡量減少這種處境的發生。甘愿受苦。和問題做不懈的斗爭。這就是你要學會的。
當然這并不是說你不能尋求他人的幫助。而是你首先要嘗試自己去完成任務,如果你不能完成,再尋求幫助。不要在自己沒有努力過前就輕易的求助。你經常會發現,當你知道了解決方法后,你才認識到,你用自己的力量本也能解決這個問題的。
而且要學無止盡,在有些行業,你也許很多年不學新的東西也能干的很好,但軟件開發技術革新的如此之快,你不能不時刻關注。你的老板是由于你有某些技能才花錢雇你的,如果你的技能已經落伍、過期了,那你也就沒有價值了。想成為一名優秀的軟件開發員,你首先要承認你不是無所不知,你必須每天都要努力的尋找、學習新的知識。
在你現在的里或組織里尋找能讓你學習、讓你欽佩的人。在復雜的問題上征求他們的意見,看看他們是怎么思考的。向他們介紹你的解決思路,請他們給予批評指點。
優秀的軟件開發工程師不是天生的,是后天修煉的。如果你是剛剛意識到這些,那還不晚,你仍然有充分的時間來成為一個優秀的軟件開發工程師。耐心是關鍵。優秀的軟件開發工程師不是在旦夕之間就可以成就的。有些人可能要花上數年,有些人則需要十幾年。沒有人為你寫血淚史。好的公司當發現你有成為優秀軟件開發工程師的潛質時,會幫助你,為你提供舞臺。而你會通過你的努力工作、讓你的團隊進步來證明自己。要堅定,要自律,通往優秀軟件開發工程師的道路會很長。
優秀的軟件開發工程師從來不會說“這不屬于我的職責范圍”。他們總是愿意伸出支援和充滿愛心的手。他們經常在做自己的工作之余,去幫助那些編程新手。如果有件任務必須按時完成,而又沒有其他人能勝任,優秀的軟件開發工程會主動承擔起這項任務。他們從來不嘲笑來請求幫助的人,即使問題是那么的小、那么無意義、無價值。優秀的軟件開發工程重視他們的團隊,愿意為團隊做任何的事情。不管是要去寫多少行的代碼,還是去DIY一個復雜的圖片,優秀的軟件開發工程師都會立即行動起來的。