中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

編程生涯 21 載,那些我踩過的坑

發布時間:2020-08-09 22:15:31 來源:ITPUB博客 閱讀:121 作者:千鋒Python唐小強 欄目:web開發

“作為一個有著21歲編程年齡的中年程序員,我可以自豪地說,我成功地經歷了軟件行業這個充滿變數的世界的高峰和低谷。這篇文章記錄了迄今為止我在軟件開發的職業生涯中所犯的錯誤,同時也是如何避免這些錯誤的一本指南。”

編程生涯 21 載,那些我踩過的坑

感覺一切就像發生在昨天一樣。今天我在這里,作為一個有著21歲編程年齡的中年程序員,可以在博客上自豪地說,我成功地經歷了軟件行業這個充滿變數的世界的高峰和低谷。是的,至少我可以說,今天對我來說是一個標志性的時刻。

俗話說,犯錯是通向偉大的學習之路的一部分,快速而經常的失敗是成功的標志。人們應該優先考慮的是:如何避免犯一次以上的同樣的錯誤。

是的,從自己的經歷中吸收經驗和教訓是最有效的學習方式,但是通過借鑒他人的經驗而獲得知識是一種更快,更聰明的方法,它可以減輕痛苦。畢竟,生命是短暫的,你不可能在一輩子的時間里犯下所有可能的錯誤。

從事一份軟件開發工作是掌握你的技術之旅的開始。和任何領域一樣,你會面臨各種挑戰,你有機會做正確的事,同樣你也有可能做完全錯誤的事。這篇文章記錄了迄今為止我在軟件開發的職業生涯中所犯的錯誤,同時也是如何避免這些錯誤的一本指南。

不把薪水存起來,以備不時之需

你的職業生涯的軌跡在很大程序上取決于你決定如何花掉你最初的薪水。你會很想把這些錢花在買一輛更好的汽車,更換你的衣服,和去更高檔的餐廳上。

雖然偶爾揮霍并沒有錯,但你需要計劃把錢花在獲取知識上。這不僅能給你帶來最大的投資回報,而且還會隨著時間的流逝持續給你帶來好處。

讓自己變得不可或缺

盡管對擁有讓自己變成不可或缺的力量的追求會很誘人,但如果你一直這樣做,你會傷害到你自己的成長。

永遠記住,如果你想追求更高的目標,你需要讓自己從低的目標中解脫出來,培養并指導一個接班人來接替你。

自斷退路

即使你已經成為一個優秀的、舉足輕重的、炙手可熱的開發人員,你也不可以燒掉自己的“橋”(譯注:自斷退路)和挑起不必要的爭斗。軟件開發行業是一個小圈子,你現在正在燒掉的“橋”會在你最需要它們的時候給你帶來麻煩。

即使是和你不喜歡的人相處,你也要謙虛,誠懇并維持良好的關系。

不分享知識

根據我的經驗,精通技術是贏得團隊成員尊重的最可持續的方式。話雖如此,但是精通技術而不與團隊成員分享知識,必然會給你帶來災難性的后果。

精通知識是成功的一半,而分享它則是成功的另一半。優秀的程序員會和新手程序員交流,并向他們展示解決問題的方法。他們不僅會告訴新人們如何解決問題,而且會解釋為什么他們采用這種方式解決問題。

忽視“軟”技能

程序員有時會忘記軟件開發是一項團隊運動,而一個項目是一群人的共同任務,他們必須并肩工作,互相支持,朝著一個共同的目標前進。

因此,如果一個程序員過于自大,對工作沒有熱情,或者不能有效地進行溝通,那么這不僅僅會對他自己的工作產生負面影響,而且還會拖慢整個項目進度或搞砸部分工作,從而對整個項目產生負面影響。因此,“軟”技能是必不可少的。

拘泥于一種技術

軟件行業永遠不會停止發展。同樣,專業的軟件開發人員也應該隨著行業的發展而不斷提升自己,并且必須與行業保持同步,與時俱進,以確保不被行業拋棄。

記住關鍵點是:你不需要對每項新技術都熟練地掌握,而是要獲取新的概念,并且學會以新的方式解決問題。優秀的程序員不僅僅會編寫代碼,而且還會不斷學習一些新的關鍵概念,以幫助他們以新的方式解決問題,并找到最有效的解決方案。

偷工減料

沒有所謂的“快速又骯臟的代碼”。骯臟的代碼就是壞代碼,不要偷工減料,也不要接受任何低質量的東西。

作為一名優秀的程序員,你的真正能力是在危機中體現的。如果在危機中你的表現和平時不一致,那么你就不能稱為一個好的程序員。

不寫軟件文檔

你的軟件有多好并不是唯一重要的。因為如果軟件文檔不夠好,人們也不會使用它。

不管最后期限是什么,不管工作量有多大,也不管不寫文檔的借口有多少,任何沒有文檔的軟件都是一只死渡渡鳥。道理就是這么簡單!!!

回避政治

我們經常聽到技術人員說:“把我排除在政治斗爭之外,我只想實現這項技術。”但這是行不通的。

哪里有技術,哪里就有改變。哪里有改變,就會有人將自己視為贏家或輸家。那就是政治開始的地方。你需要管理好它,找到繞開它的方法,并且成為贏家。除此之外,別無它路。

編碼前過度設計

在編碼之前進行良好的設計是一件好事,但是如果花費太多的時間在它上面,你會陷入“分析癱瘓”的境地。

不要試圖找到一個完美的設計,它在編程世界中是不存在的。尋找一個足夠好的設計,然后你就可以從它來開始。一個好的設計就像一張地圖,它應該進化,而不是一成不變。

低估“代碼感知”的重要性

根據Robert Martin的說法,“編寫干凈的代碼需要有意識地使用無數的小技巧,并且通過痛苦地獲得‘干凈’的感知來應用這些技巧。這些小技巧統稱為代碼感知(code-sense)。”

“代碼感知”不僅能夠幫助我們區分好代碼和壞代碼,而且還能夠幫助我們形成將壞代碼轉換成好代碼的策略。

選擇第一個解決方案

第一個解決方案(最容易想到的解決方案)很誘人,可能它是一個簡單的解決方案。但是,一旦你開始質疑你找到的所有解決方案,通常就會發現好的解決方案。

記住,作為一個程序員,你的工作不僅僅是要找到問題的解決方案,而是要找到最簡單、最優化的解決方案。

不知道什么時候不做某事

最好的程序員能夠確切地知道什么時候不做某事。

他們知道,從頭開始重寫一個庫只是為了使其更具可讀性,或者從較舊的框架切換到最新的框架并非總是明智的選擇。代碼的目的應該足夠清楚,以便在幾分鐘甚至幾秒鐘內掌握。

關鍵不是要規避風險,而是要謹慎地選擇做正確的事。

不承認自己知識的欠缺

你可能是個技術天才,但即使是一個天才也不會完全掌握所有的技術。這幾乎是不可能的。

而另一方面,即使是辦公室里最沒有經驗的程序員也可能會想出一個可持續的、高效的解決方案來解決當前的問題。優秀的程序員不會把他們的解決方案強加于團隊,相反,他們會建立一種民主制度,在這種制度中,最好的解決方案將獲勝。

對壓力低頭

代碼就像食物一樣。它可以是快速、良好或廉價的,一次實現它們中的任意兩個不難。但是,一個被壓力壓得喘不過氣來的糟糕程序員可能試圖讓團隊一次完成所有這三件事。他們受截止日期和其他人做出的承諾所壓迫,盡管他們非常清楚那是不可行的。

一個好的程序員要做的就是“弄清真實”,并以最快的方式向所有利益相關者傳達這個真實。

不建立人際關系和信任關系

程序員可以孤軍奮戰,但是,最好的程序員是那些精通人際關系的人。

建立信任和良好的人際關系的最簡單的方法是幫助其他團隊解決難題,這樣他們就開始欠你的“人情”,你可以在適當的時候毫不猶豫地要求他們的幫助。自愿主動幫助別人,或盡可能多地幫助別人完成他們的工作,這不僅能夠培養你的專業技能,而且還能在組織內建立你的影響力。

不看大局

作為一個程序員,大多數時候,你將在一段代碼上工作,或者可能在現有代碼中解決一些生產問題。你只是在做那些分配給你的工作,這沒有什么不對的。但是如果你想成為整個項目的一部分,你需要花點時間去了解項目的全部內容。

最好和最簡單的方法是得到一位導師的幫助,他可以幫助你更快地提高你的技能,讓你堅定地站在更大的項目視角上。

重復造輪子

優秀的程序員不會重復造輪子,他們總是盡可能地重用和構建現有的功能。這不僅僅會節省時間,而且會在共享代碼的開發人員之間建立起某種友誼。

對于你試圖解決的問題,很可能已經有了現成的解決方案。因此,當你試圖完成一項任務時,檢查一下是否有其他人已經解決了這個問題。這樣做,你不是在偷工減料,你是在減少工作量。

對業務規則不夠了解

程序員們有時會低估業務規則的復雜性。如果我們不清楚業務規則,我們就不知道如何有效地實現解決方案。

請記住,在進行編程時,你需要采用業務思維,并以業務術語創建一個可行的解決方案,以實現其目標,而不是專注于一個強大的技術解決方案。

不與團隊溝通

雖然對于溝通沒有固定的規則(事實上,在Limbo軟件項目中,“人員”被稱為資源),但作為向智人進化旅途的一部分,在工作中獲得一些和人相關的信息是必需的。

了解其他程序員的能力和局限性,再加上了解他們的興趣的話,將能夠讓你以更好的方式規劃開發。

不看重身體健康

身體健康是提升你的一切生活品質的基礎,包括你的事業。它能提高你的創造力、活力和勇氣,讓你度過不可避免的起起落落。

優先考慮你的健康狀況不是一次性的工作。這意味著你要把它安排到你的日常生活中,投資購買正確的食物和定期鍛煉,甚至放棄其他壞習慣。

結束語

任何職業都有起起落落,這完全取決于你的態度。你要么被消極的事情打倒,要么以積極的方式接受,并從中學習到經驗和知識,提升自己。

正如Carlton Fisk所說:

“不是你獲得了什么,而是你戰勝了什么。就是它決定了你職業生涯的高度。”

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

乌拉特中旗| 夏邑县| 若羌县| 韩城市| 开封市| 益阳市| 剑川县| 广河县| 桂东县| 溧阳市| 岱山县| 麦盖提县| 南木林县| 汉阴县| 高青县| 库车县| 静宁县| 东宁县| 莲花县| 昭觉县| 甘谷县| 航空| 辽宁省| 鹤壁市| 绵阳市| 银川市| 临潭县| 丘北县| 红原县| 平度市| 凌源市| 杭锦旗| 名山县| 青田县| 伊金霍洛旗| 天台县| 盐池县| 宁化县| 英吉沙县| 望城县| 南丰县|