從合格到優(yōu)秀,程序員需具備這幾項關鍵品質
大多數軟件開發(fā)人員追求的不僅僅是稱職,而是能夠脫穎而出。
如今,網課越來越多,似乎沒有必要再去學習如何成為優(yōu)秀的軟件開發(fā)人員。然而,很多的程序員都仍然會去大學進修計算機科學,因為獲得CS學位有助于更好地理解其體系結構,全面地看待未來的軟件開發(fā)。很多的程序員總是試圖了解新技術、新語言和新趨勢等等。
編碼知識是一定要掌握的,但并不意味著就要學習互聯(lián)網上的所有東西,沒有人能夠全部吸收。
一些優(yōu)秀的程序員不僅精通技術技能,還擅長商業(yè)領域和人際交往;他們知道企業(yè)想要什么,應該給公司上交什么樣的東西;他們知道如何與他人高效合作,這比孤軍奮戰(zhàn)能收獲更多的東西。
要想成為一名優(yōu)秀的程序員,方法不止一種。但比較好的方法就是成為優(yōu)秀編程團隊中的一員。
以下是優(yōu)秀的軟件開發(fā)人員需具備的一些品質:
積極的態(tài)度
優(yōu)秀的程序員會關注其產品,專注、積極、有足夠的耐心地來解決最乏味和最具挑戰(zhàn)性的問題,對自己的編碼引以為豪,并致力于編寫團隊其他開發(fā)人員易讀易理解的代碼。
因為他們知道自己在做什么,所以必要時刻,他們會挺身而出,并不會被困難嚇倒。
自負不會成為他們接受反饋路上的絆腳石,恰恰相反,他們等待和尋求對工作和行為有建設性的反饋。
優(yōu)秀的溝通能力
優(yōu)秀的溝通能力與優(yōu)秀的技術技能直接相關。
優(yōu)秀的開發(fā)人員能迅速找出問題的關鍵,提出假設并找出解決方案。他們通過提出正確的問題,記錄收到的答案,從而快速理解概念,這不僅僅是為了自身,更是為了整個團隊。
此外,通過成為一個更好的溝通者,他們可以利用他人的專長,并為周遭的人提供自身優(yōu)勢。
擅長時間和任務管理
他們非??煽壳覍⒆詈笃谙蘩斡浽谛?。他們深諳人們總是低估完成一項任務所需要的努力和時間,但他們通過使用技術、策略(如敏捷點)和工具來訓練自己的管理能力。
良好的團隊合作精神
無私的分享知識并幫助提高其他開發(fā)人員,是優(yōu)秀的開發(fā)人員需具備的另一個優(yōu)秀品質。
他們關心的是集體榮譽,而非個人利益。當隊友陷入困境時,他們會施以援手,也會虛心接受批評。他們教授新技能、為開源做貢獻、編寫文檔,這不僅幫助了團隊成員也幫助了開發(fā)者社區(qū)。
關注終端用戶
企業(yè)要求什么,合格的程序員就做什么,但優(yōu)秀的程序員則做最有利于軟件終端用戶的東西。即使提出的意見困難復雜,他們也會想出最適合終端用戶的解決方案。
合格 vs 優(yōu)秀
合格的程序員是聰明的,但優(yōu)秀的程序員是睿智的。
同樣的,合格的程序員會將代碼中使用的大量算法熟記在心,優(yōu)秀的程序員則知道使用哪些函數庫,所以不必不斷地編寫算法。
上交前,合格的程序員會確保所有功能都可以完美運行。優(yōu)秀的程序員會管理項目范圍,以便在最后期限內提供關鍵特性。
合格的程序員通過編寫復雜的定制代碼來展現天賦,但優(yōu)秀的程序員則會用盡可能簡單而有效的代碼來解決問題。
事實上,從合格程序員到優(yōu)秀程序員的轉變往往需要激情、奉獻、實踐、理解、時間、腳踏實地的努力和豐富的經驗(十年的摸爬滾打遠比年復一年度日更重要)。
優(yōu)秀的程序員給人的感覺有點像企業(yè)家,而不像一個科技怪人。他們了解自己在增值鏈中的角色,知道自己不僅在編寫代碼,還在提供新的價值——給用戶、企業(yè)和周圍的人帶來新的機會。
優(yōu)秀的程序員總是討人喜歡的,會抽出時間與團隊中的其它開發(fā)人員溝通相處。