怎樣才能成為一名優秀的軟體開發者

時間 2021-08-11 16:27:29

1樓:中公教育it優就業

學習某件事的第一步是承認你不知道。這聽起來很正常,但經驗豐富的程式設計師還記得要真正讓自己承認這一點需要花多長時間。

不要試圖證明自己是正確的

新手(以及很多經驗豐富的開發人員)會看著他們自己寫的**,欣賞它的奇妙。他們編寫測試來證明他們寫的**是可以執行的,而不是試圖讓它執行失敗。真正優秀的程式設計師會積極地尋找他們的錯誤在**,因為他們知道終端使用者會發現這些遺漏的bug。

“**可以執行了”這個目標不是終點,而是起點

是的,你的第一步總是想寫出質量很高的**,而且**上面都寫滿了註釋。但是一般的程式設計師在這一點上就退出,然後繼續下一件事。

但是一旦“完成”就停止了這種思想就像是拍一張快照,然後期待它是一件藝術品一樣。偉大的程式設計師都知道第一次迭代只是一次迭代。它執行起來了,恭喜你!

但你的工作還有很多。現在,使它變的更好。

其實這個過程就是在定義“更好”的含義。讓它變得更快能有什麼價值嗎?可重用更高有什麼好處嗎?更可靠嗎?答案隨著每個應用程式的不同而不同,但是過程都是一樣的。

寫三次**

好的程式設計師目標是寫出可以執行的軟體就可以了。偉大的程式設計師寫出來的軟體目標是執行得非常好。通過一次編寫這種情況幾乎不可能發生。最好的軟體通常被寫三次:

首先,編寫軟體以向你自己(或客戶)證明解決方案是可行的。其他人可能沒有意識到這只是一個概念驗證,但你確實這麼做了。

第二次可以讓它正常地執行。

第三次你能夠讓它平穩的執行。

當你看到最優秀的開發人員的工作時,這種級別的工作可能並不明顯。他們所做的一切看起來都很出色,但你沒有看到的是,即使是開發界的大腕兒,也可能在向其他人展示他們的軟體之前就已經拋棄了第一個和第二個版本。拋棄之前的**並開始編寫另一個版本是一種強大的方式,可以將“更好地”融入到您的個人工作流程中。

如果沒有其他情況,通過“寫三次**”可以告訴你解決問題的方法有多少種。而且它可以防止你陷入停滯不前的狀態。

閱讀大量的**

閱讀他人**的原因也很重要,只是不是很明顯而已。

那塊**我該怎麼寫呢?既然你已經看到了別人的解決方案,那你會有什麼思路呢?

我學到了什麼?我如何將這種技術應用到我過去編寫的**中?(“我從來沒有想過可以使用遞迴下降處理那塊的邏輯”)。

我如何改進這段**?如果這是一個開源專案,你對自己的解決方案更有信心,那就去做吧!

以作者的風格編寫**。練習這個可以幫助你進入作者的思維,這可以提高你的同情心。

不要只是漫不經心地思考這些步驟。寫下你自己的答案,無論是在個人日誌、部落格、審查**的過程中,還是與其他開發人員交流的論壇中。就像向朋友解釋問題可以幫助你解決問題一樣,記錄和分享你的分析可以幫助你理解為什麼你會以一種特定的方式對別人的**做出反應。

這是我之前提到的自省的一部分,幫助你冷靜地判斷你自己的優點和缺點。

不要把編寫**僅僅看作是任務

從事個人程式設計專案有很多優勢。首先,它為你提供了一種學習工具以及學習技術的方法,而這些工具和技術在你當前的工作中是用不到的,但是這將使你在下一份工作中更有市場。無論你是為開源專案做貢獻,還是為當地社群組織做公益工作,你都能獲得技術技能和自信。

(此外,你的個人專案向潛在僱主證明,你是一個從不停止學習的人。)

編寫**的另一個好處是它強迫你自己去解決問題。你不能把這些難啃的問題留給別人,所以它會讓你過早地尋求幫助。

盡一切可能做到與其他開發人員面對面的工作

傾聽別人的意見是很有幫助的。這可能意味著結對程式設計,或者參加黑客馬拉松,或者加入一個程式設計使用者組(比如vermont

coders

connection)。當你為一個開源專案做貢獻時,要關注一下你從使用者和其他開發者得到的反饋意見。你在他們的批評中看到了什麼共同點?

這樣做你可能會很幸運地認識了一位可以完全信任的導師,無論是編碼技術還是職業決策,你都可以完全信任他。所以不要浪費這些機會。

你是在學習技術,而不是在學如何使用工具

程式語言、工具和方法這些都只是一時的。這就是為什麼需要你在這麼多的語言和框架中儘可能多的獲得經驗。重點關注程式設計基礎,因為基礎永遠不會改變;更關注體系結構而不是如何程式設計。

如果你覺得做某件事只有一種正確的方式,那可能是時候進行現實核查了。條條框框的限制會妨礙你學習新事物的能力,也會使你很難適應變化。

2樓:安徽新華電腦專修學院

不要自我為中心

由於我熟練掌握這門技術,曾經有過在一個大型團隊工作的機會。最重要的是我早期所學到的團隊活力,就是那種團隊間攜手並進的協作。

在一個團隊,大部分時間你要做的就是互相學習,這種工作環境應該被讚揚和共享。

如果你是一個傲慢或者自我的人,而且不想分享你的工作和知識,那麼在這種工作環境下工作,你一定會覺得不適應。

要有責任心

非專業人士不需要為他們的工作負責,他們認為那是經理的事。因此一到下午5點,就會忘了剛剛分配給他們的工作。

而一個專業的程式設計師是絕對不能接受這一點的。如果因為你的bug造成公司損失數千萬美元,你感覺如何?

這個問題還要取決於管理層的解決方案,以及公司如何處理。每個公司都應該鼓勵開發者為他們自己的行為負責,更重要的是為他們所寫的**負責。

如果你的錯誤已經危及到了伺服器,那麼請盡你最大的努力盡快解決它,即使需要你熬夜處理。這將有可能使你擺脫非專業人士的稱呼,並且還可能會獲得更高的薪水。

接受批評

沒有bug的軟體是不存在的,我們或多或少都會犯一些愚蠢的錯誤。

而重要的是我們如何處理像“作為開發者你是怎麼考慮的”這樣的批評。

任何批評都應該有可取之處,都值得你去學習,因為那樣會讓你在自己所處的工作崗位上變得更優秀,尤其是被比你有著更豐富經驗的人批評。

有良好的職業道德

成為一名專業人士是不容懈怠的,學習也不只是朝九晚五的事。

不斷的學習,實踐和提高自己是對自己的一種投資,並且這是你自己的責任,而不是你僱主的。

你應該利用工作之外的時間來學習(即是說你不能佔用你僱主的時間,來學習最新的sitepoint教程。)嘿!很簡單的!學習起來吧!

你也許會說沒有充足的時間。那麼你錯了,你當然有!你一定要相信你很聰明。如果你想認真對待你的事業,那麼請把它當回事兒,專注些。

早上早點起床,下午下班晚點走,利用這些額外時間,在不影響你的健康和家庭的情況下,來擴充套件你的優勢。

下班前的短短半小時,也就意味著你每週會額外多出5個小時來學習。

怎樣才能成為一名優秀的導購員,怎樣才能成為一名優秀員工?

壬怡牽素欣 導購員 通常是一種長期行為,從某種意義上來講,他們是處於某一特殊環境的業務員,是直接面向顧客的終端業務員。一 衡量成功導購員的標準是什麼 第一,他必須是一個忠於職守的好員工。忠實履行公司的政策 維護公司形象及品牌聲譽 妥善處理各種關係,這些是作為好員工的基本標準 第二,他必須是一個導購能...

如何才能成為一名科學家,怎樣才能成為一名優秀的科學家

首先要對你表示敬意,因為很多人包括我都有過理想,但是都被現實磨滅了。希望你能堅持。你是學物理的,知道能量守恆,拿到現實中也是一樣的,想得到什麼就要付出什麼,甚至付出要比得到的少很多。你的理想註定是一條孤獨的路,在這條路上能給你幫助的人太少了。因為從來沒有一個科學家他的所有知識都是別人教給的。要做科學...

怎樣才能成為一名優秀的WEB前端工程師?需要掌握哪些專業技能?虛心求教

成為一名優秀的web前端工程師,易龍天網認為需要具備如下四點專業技能 第一 必須熟練掌握基本的web前端技術,比如 css js html jquery 等等。第二 必須掌握 的效能優化 seo ue 伺服器端 相容性 存在的bug等。第三 學會用工具輔助開發。第四 有良好的 規範編寫習慣 web前...