如何成為一個成功的軟體工程師

2016-04-04    分類:推薦閱讀、程式設計師人生、首頁精華2人評論發表於2016-04-04

本文由碼農網 – 小峰原創翻譯,轉載請看清文末的轉載要求,歡迎參與我們的付費投稿計劃

在這篇文章中,我們將討論成為一個成功的軟體工程師需要注意哪些要點,以便於鞭策自己也成為一個成功的軟體工程師。

背景

上週,我參加了印度德里最值得期待的會議——C# Corner annual conference。如果你需要了解更多,那麼請點這裡。當我知道我有機會聆聽大師級談話的時候,真的非常驚喜。我學到了很多。下面我會把我聽到的來自於Mr. Glenn Block的關於“如何成為一個成功的軟體工程師”的要點分享給大家。這些內容激勵了所有的與會者。Mr. Glenn Block是一位前微軟員工,他曾在微軟工作了近10年,並且他一直是Azure、WCF、.NET等的一部分,目前,他正擔任著Splunk的首席產品經理。

我在寫這篇文章前得到了Mr. Glenn Block的允許。

如何成為一個成功的軟體工程師?

我發現Mr. Glenn Block提出的所有建議都非常有意義,並且我們每個人都應該好好學習。

不要害怕失敗

我們是開發人員和程式設計師。我們也是人,我們也會犯錯。你是不是沒有任何錯誤就建立好了軟體無關緊要。反倒是如果你這麼說了,那麼你可能需要確定你的軟體是否能夠正常工作。記住愛因斯坦有一句名言:“不要害怕失敗。”

不要害怕失敗,失敗是你最好的老師。我們都曾犯過一些導致我們失敗的錯誤,但更重要的是要從錯誤中學習。如果你這樣做了,那麼也許你的下一次嘗試就成功了。

如果你從來沒有失敗過,那麼說明你畏頭畏尾,從來沒有嘗試過任何新的東西。

不要害怕尋求幫助

我們都工作在一個會犯錯會失敗的環境中。所以,你不應該害怕尋求別人的幫助。這樣可以減少你的工作壓力,並讓你能夠按時交付產品!而這正是你的經理對你的要求。有時候,你的後輩也能指引你走向正確的道路。所以,不要害怕尋求幫助。讓你的自負隨風而去吧。

做一個持續的學習者

這個時代每時每刻都有新事物被發明被創造。這在IT行業也是如此。每一天都有新的東西需要學習。在一天結束時,你學到了什麼才是最重要的。你應該嘗試所有與開發相關的技術。同時,重要的要掌握其中一些技術。

你不能掌握所有內容

在看完以上幾點之後,你的腦海中可能會出現這樣一個念頭:“我怎麼才能學習所有的內容呢?”當我說要成為一個持續的學習者時,其實這受你真正能學到什麼的限制。你只需要去嘗試你認為對你的程式設計生涯有幫助的技術。當然,正如我在上面所說,你必須掌握其中的一些技術。

重視你的程式碼

在你寫程式碼的時候,只要確保程式碼確實能用一種清晰和易於閱讀的方式如願實現目標即可。我的朋友,Mr. Dhananjay Kumar說Mr. Glenn Block寫程式碼就像是詩人在寫詩歌一樣,非常值得我們借鑑。此外,程式碼的可維護性也非常重要,否則維護這些程式碼的人搞不好在幾天/月/年之後就得經歷一場求生不得求死不能的痛苦。

找導師,成為導師

老師能夠傳業授道解惑,能幫助我們理解學習的內容。因此,找到一個能指點正確方向的導師尤為重要。向你的導師學習,因為導師可以教你許多他/她從他/她的生活中總結出來的內容。正如大家都知道的,“經驗讓人完美”!一旦你學會了,那不妨也成為別人的導師,分享你從你的導師那裡學到的知識。當然,在做導師的時候,請確保不要誤人子弟。

不要拖後腿

不可否認我們周圍有不少拖後腿的人。雖然沒有強制要求說所有人都必須優秀。但是有時你可能會不得不和一個消極被動的人一起工作。但是重要的是,你得保持住自己的樂觀和主動性。

不要過度承諾

我們的專案都有時間期限,這是我們都知道的。你在時間框架中能做什麼是有限制的。要去理解那些。當你接受需求列表時,你應該清楚你需要付出什麼樣的努力以及多少時間才能完成工作。如果不能滿足你的經理/客戶給出的時間框架,那就隨時告知報告人。釋出如他們期望那樣而非滿是bug的產品很重要。所以,千萬不要過度承諾。如果你這樣做了的話,那就準備好再找一份工作吧。因為你可能會被炒魷魚。

永遠不要在你想說“No”的時候違心地說“Yes”。

正確的想法不必是你的想法

這一點還需要我解釋嗎?

我們都在工作,我們都有腦子,我們都有自己的想法。有時候你的後輩也可以教你很多,有時候他解決問題的速度快於你。承認這一點,並贊同他們給出的解決方案。集思廣益將有助於按時交付專案。重要的是,這能幫助你做到不以自我為中心。

做一個良好的傾聽者

做一個良好的傾聽者,意味著你可以通過他人的角度來看事情。這將豐富你的閱歷提高你的聲譽。如果他們錯了,你就向他們解釋他們錯了以及為什麼。

測試,測試,還是測試

測試是軟體開發週期中最重要的角色之一。沒有經過適當測試之前永遠不要釋出你的產品,因為測試是捕獲bug的階段,而bug是為客戶和管理者所不喜的。如果你認為你已經做完測測試了,那麼再做一次。

問:開發人員說的最多的謊言是什麼?

答:我已經做過單元測試了。

模式

始終追求適合你專案的最相關的模式。如果你根據自己的要求選擇模式的話,它可能會在最後的週期使你功虧一簣。

問:軟體開發中最重要的階段是什麼?

答:需求收集或需求理解。

成為社群的一部分

這一點也非常重要。你需要成為一些社群的一份子,因為這些都能給我們提供幫助。推薦一些很不錯的社群:

這種方式可以讓你在網路世界中被大家所關注。分享你的所有知識,並儘可能地從各種資源獲取知識。

致力於OSS(Open Source)

如果你得到一個機會可以致力於開源專案,那麼一定不要錯過,一定要勇往直前。這將增加你的聲譽,因為開源專案正在被數十億使用者使用。

結論

最後但並非最不重要的一點,如果有任何遺漏的地方,歡迎給出你的建議和反饋。

譯文連結:http://www.codeceo.com/article/how-to-be-successful-software-engineer.html
英文原文:How to Be a Successful Software Engineer
翻譯作者:碼農網 – 小峰
轉載必須在正文中標註並保留原文連結、譯文連結和譯者等資訊。]

相關文章