偉大程式設計師的十個特質

codingpy發表於2015-12-06

  如何才能成為一名偉大的程式設計師,歷來都是大家討論的焦點話題之一。網路上已經有很多有關這方面的文章,今天分享的則是程式設計培訓機構CodingDojo網站上的一篇文章,本文從偉大程式設計師的10個共同特質出發,對這一焦點話題進行了闡述。

  如果你緊跟最新的程式語言和框架,那就太棒了:你已經掌握了寫出良好程式碼的技術能力。但是要想在崗位上真正脫穎而出,你還必須具備一些特質。下面就是成為一名優秀程式設計師所必須具備的10個特質。

Python程式語言的發明者:Guido van Rossum

 1. 發展全面。

  深入瞭解一門技術雖然很好,但是現實世界中的問題從來都無法僅靠一種技術就能夠解決。即使別人僱傭你為專業技術人員,你仍然需要明白你所掌握的技術如何與組成應用生態系統的其他軟體、硬體和網路進行互動。你還需要以多種不同的方式為專案作出貢獻,只要專案需要更多支援,就及時給予幫助。

 2. 享受解決難題的過程。

  應用開發並不是一蹴而就的。在開發過程中,要搞清楚程式碼無法編譯的原因、故障為什麼發生以及學會如何解決生產中的問題,這些都需要解決問題的能力,以及堅信可以找到解決辦法,堅持不懈不放棄的信念。如果你能在壓力之下解決難題,那就更好不過了——當系統癱瘓的時候,你可以想象管理層可是會在你解決問題的時候,一直死盯著你的。

 3. 熱愛學習。

  技術在不斷的演進。你今天所使用的工具和語言並不一定會是你明年使用的工具,更不用說十年之後了。因此,你需要不斷地學習新技能,這樣才能參加未來的專案。你的老闆可能會提供持續的培訓,但是最優秀的程式設計師會自己花時間自學。

 4. 善於溝通。

  程式設計師的工作並不僅僅是和技術打交道。程式設計師還需要和商業使用者交流,理解他們對應用的需求。他們還經常需要輸出技術文件,因此寫作清晰也是很重要的——即使只是輸出一份進度報告。

 5. 自信。

  開發一個系統並不只有一種方法。不管你的想法多麼的出色,如果你藏在心裡,那麼這些想法也是毫無價值。最優秀的程式設計師對自己的想法非常自信,在設計討論階段敢於說出自己的意見,這樣甚至可以左右應用的架構設計。要增強自己的資訊,可以先提一些小建議,而不是一開始就提議重新設計整個應用。

 6. 對商業的好奇心。

  公司通過技術解決商業問題。你對公司的業務瞭解的更深,你就能越容易地理解公司想要解決的問題,更順利地開發出幫助公司發展的解決方案。你應該充分利用與商業使用者交流的機會,詢問他們在工作中所面臨的困難。如果你真正對商業感興趣,你可以參加一些課程,甚至試著獲得一些商業領域的資格認證。

 7. 注重團隊合作。

  電影裡通常會美化某一個程式設計師的作用,計算機專業的學生也是常常自己一個人完成作業,但是現實世界中的專案都是需要團隊實現的。因此,一名程式設計師能否與同事融洽相處也很重要。你需要能夠與不同能力水平的人打交道,尊重他們的不同意見。如果可能的話,儘量瞭解你的隊友,把他們當作你的朋友,而不是技術人員。時常聊一聊專案之外的事情,也會增進同事之間的關係,工作上的合作也會更容易。

 8. 明白截止日期的重要性。

  最優秀的專案經理在安排專案截止日期時,會考慮專案開發人員的意見,儘管有時候外部因素會縮短專案日程。不管怎樣,只要你同意完成一項任務,你就要全力以赴,在截止日期之前完成工作,即使這意味著你要加班。當然,你沒有必要為了公司和工作放棄自己的個人生活,但是你所展示出的對完成專案的決心和努力會給同事留下積極的印象。

 9. 適應性強。

  專案和優先順序會因為多種原因不斷變化,因此程式設計師需要能夠隨時轉變,專注在當前最重要的事情上面。這些可能細微、暫時的更改,也有可能是重大且長期的變化。如果是暫時的,那請務必做好記錄,好在事情穩定下來之後可以迴歸到正常的開發中。如果是長期的,就要花時間去理解新的場景,研究如何融入進去。這也可能會提供幫助你達成目標的新機遇。不管發生什麼情況,要時刻保持專業的水準,不要面對困境就自我沉淪。

 10. 把自己當成產品的主人。

  嚴格來說,你編寫完成可以順利編譯、通過測試用例的程式碼之後,你的工作就結束了。如果你能夠繼續參與產品生命週期的其他階段,那你就十分出眾了——這意味著,你要願意協助測試、開發、培訓使用者和解決開發中的問題。儘管這些工作對你的工作更有好處,但實際上你獲得的卻更多,因為你親自看到並體驗了你寫的程式碼在實際生產時的效率和作用。接下來,你就需要充分利用這份經驗心得,讓自己的下一個應用變得更棒!

  原文:http://www.codingdojo.com/blog/trait-of-great-programmers/

相關文章