如果你緊跟最新的編程語言和框架,那就太棒了:你已經掌握了寫出良好代碼的技術能力。但是要想在崗位上真正脫穎而出,你還必須具備一(yī)些特質。下(xià)面就是成爲一(yī)名優秀程序員(yuán)所必須具備的10個特質。
1. 發展全面。
深入了解一(yī)門技術雖然很好,但是現實世界中(zhōng)的問題從來都無法僅靠一(yī)種技術就能夠解決。即使别人雇傭你爲專業技術人員(yuán),你仍然需要明白(bái)你所掌握的技術如何與組成應用生(shēng)态系統的其他軟件、硬件和網絡進行交互。你還需要以多種不同的方式爲項目作出貢獻,隻要項目需要更多支持,就及時給予幫助。
2. 享受解決難題的過程。
應用開(kāi)發并不是一(yī)蹴而就的。在開(kāi)發過程中(zhōng),要搞清楚代碼無法編譯的原因、故障爲什麽發生(shēng)以及學會如何解決生(shēng)産中(zhōng)的問題,這些都需要解決問題的能力,以及堅信可以找到解決辦法,堅持不懈不放(fàng)棄的信念。如果你能在壓力之下(xià)解決難題,那就更好不過了——當系統癱瘓的時候,你可以想象管理層可是會在你解決問題的時候,一(yī)直死盯着你的。
3. 熱愛學習。
技術在不斷的演進。你今天所使用的工(gōng)具和語言并不一(yī)定會是你明年使用的工(gōng)具,更不用說十年之後了。因此,你需要不斷地學習新技能,這樣才能參加未來的項目。你的老闆可能會提供持續的培訓,但是最優秀的程序員(yuán)會自己花時間自學。
4. 善于溝通。
程序員(yuán)的工(gōng)作并不僅僅是和技術打交道。程序員(yuán)還需要和商(shāng)業用戶交流,理解他們對應用的需求。他們還經常需要輸出技術文檔,因此寫作清晰也是很重要的——即使隻是輸出一(yī)份進度報告。
5. 自信。
開(kāi)發一(yī)個系統并不隻有一(yī)種方法。不管你的想法多麽的出色,如果你藏在心裏,那麽這些想法也是毫無價值。最優秀的程序員(yuán)對自己的想法非常自信,在設計讨論階段敢于說出自己的意見,這樣甚至可以左右應用的架構設計。要增強自己的信息,可以先提一(yī)些小(xiǎo)建議,而不是一(yī)開(kāi)始就提議重新設計整個應用。
6. 對商(shāng)業的好奇心。
公司通過技術解決商(shāng)業問題。你對公司的業務了解的更深,你就能越容易地理解公司想要解決的問題,更順利地開(kāi)發出幫助公司發展的解決方案。你應該充分(fēn)利用與商(shāng)業用戶交流的機會,詢問他們在工(gōng)作中(zhōng)所面臨的困難。如果你真正對商(shāng)業感興趣,你可以參加一(yī)些課程,甚至試着獲得一(yī)些商(shāng)業領域的資(zī)格認證。
7. 注重團隊合作。
電(diàn)影裏通常會美化某一(yī)個程序員(yuán)的作用,計算機專業的學生(shēng)也是常常自己一(yī)個人完成作業,但是現實世界中(zhōng)的項目都是需要團隊實現的。因此,一(yī)名程序員(yuán)能否與同事融洽相處也很重要。你需要能夠與不同能力水平的人打交道,尊重他們的不同意見。如果可能的話(huà),盡量了解你的隊友,把他們當作你的朋友,而不是技術人員(yuán)。時常聊一(yī)聊項目之外(wài)的事情,也會增進同事之間的關系,工(gōng)作上的合作也會更容易。
8. 明白(bái)截止日期的重要性。
最優秀的項目經理在安排項目截止日期時,會考慮項目開(kāi)發人員(yuán)的意見,盡管有時候外(wài)部因素會縮短項目日程。不管怎樣,隻要你同意完成一(yī)項任務,你就要全力以赴,在截止日期之前完成工(gōng)作,即使這意味着你要加班。當然,你沒有必要爲了公司和工(gōng)作放(fàng)棄自己的個人生(shēng)活,但是你所展示出的對完成項目的決心和努力會給同事留下(xià)積極的印象。
9. 适應性強。
項目和優先級會因爲多種原因不斷變化,因此程序員(yuán)需要能夠随時轉變,專注在當前最重要的事情上面。這些可能細微、暫時的更改,也有可能是重大(dà)且長期的變化。如果是暫時的,那請務必做好記錄,好在事情穩定下(xià)來之後可以回歸到正常的開(kāi)發中(zhōng)。如果是長期的,就要花時間去(qù)理解新的場景,研究如何融入進去(qù)。這也可能會提供幫助你達成目标的新機遇。不管發生(shēng)什麽情況,要時刻保持專業的水準,不要面對困境就自我(wǒ)(wǒ)沉淪。
10. 把自己當成産品的主人。
嚴格來說,你編寫完成可以順利編譯、通過測試用例的代碼之後,你的工(gōng)作就結束了。如果你能夠繼續參與産品生(shēng)命周期的其他階段,那你就十分(fēn)出衆了——這意味着,你要願意協助測試、開(kāi)發、培訓用戶和解決開(kāi)發中(zhōng)的問題。盡管這些工(gōng)作對你的工(gōng)作更有好處,但實際上你獲得的卻更多,因爲你親自看到并體(tǐ)驗了你寫的代碼在實際生(shēng)産時的效率和作用。