當前位置: 妍妍網 > 碼農

程式設計師缺乏經驗的 7 種表現,你中了幾個?

2024-05-24碼農

知道這些表現,你才能在自己的程式設計師職業生涯中不犯相同的錯誤。

軟體行業的工作經驗和你從事這個行業的工作年限直接相關。這句話在某種程度上是對的,但是你從事這項工作的年限,並不一定代表你獲得了相同年限的工作經驗,正如一句話所說:「我們以為我們是工作了十年,其實卻只有一年的工作經驗,只不過又重復用了九年」。

有一些人雖然工作了很多年,但工作表現就像剛入行的新人。他們幾乎不學習軟體開發的基礎知識 。除了最初幾年有所成長,後期一直停滯不前,而且他們不明白為什麽。

與此同時,我也曾與一些只有幾年工作經驗的開發人員共事,他們表現出驚人的增長潛力。他們工作態度端正,並且明白如何避免不稱職的行為。

根據開發人員的某些習慣,可以非常明顯地分辨出誰更專業,誰更業余。讓我們深入剖析下業余程式開發人員的 7 種表現,每個程式開發人員都應該引以為戒,這些錯誤會阻礙我們的職業發展。

1. 一次性送出大量程式碼

回憶下,你是否碰到過一次性送出大量程式碼的人,你都不想給他做程式碼評審。是的,不專業的開發人員就會這樣做。他們會在一次程式碼評審請求中包含多個模組的修改,而且會催促你優先評審他們的程式碼。

是啊,能不急嗎,排到後邊,還需要解決程式碼沖突的問題。這個問題在很多高級開發工程師中也存在,他們在功能開發期間不做任何送出,只有在功能徹底完工後,才會送出所有修改,於是程式碼評審中的任何意見都會引起大量的修改。

當我碰到這種程式碼評審請求時,我首先做的是要求送出者按功能模組將其拆分成多個小的請求。我只會對 issues(任務管理系統)中的第一個功能需求評審,然後將其轉回送出者。如果我有時間,我會和送出者連線進行程式碼即時評審。

你能做什麽:

  • 進行小的程式碼送出。一個好的做法是:每個工作日都進行程式碼送出。

  • 不要送出沒有編譯或者會導致構建失敗的程式碼。

  • 2. 程式碼寫的很爛

    缺乏經驗的開發人員寫不出漂亮的程式碼,他們寫出的程式碼會很混亂,而且分布在程式碼庫的各個部份。阿裏的【 Java開發手冊 】建議看看學習下。

    當你嘗試閱讀這類程式碼時,會感覺自己身處一座迷宮之中。你會逐漸忘記自己是從什麽地方開始的,要尋找什麽以及這段程式碼完成了什麽功能。

    有經驗的開發人員知道程式碼如何設計。除非要開發的功能顯而易見,首先需要在紙上寫出你對需求的理解並畫出流程圖(簡化版的規格需求說明書),在腦海裏對這段程式碼進行一個完整的構思。除非你徹底弄清楚了如何修改,否則不要開始程式碼編寫。

    如果你不遵守以上的規則,當你回顧自己完成的程式碼時會非常痛苦。以後如果需要修正問題或者增加功能,也會變得非常棘手。你能做什麽:

  • 編寫程式碼之前,對你要實作的功能有個清晰的了解。為了清楚地理解需求,你需要盡量多問問題。

  • 讓你的程式碼簡潔而優雅。其他團隊成員可以讀懂程式碼並理解它打算做什麽。

  • 3. 同時開展多項工作

    缺乏經驗的開發人員不知道什麽時候開始一項任務、如何推進、什麽時候結束。他們試圖並列處理多項任務。他們不知道如何將一項大任務分解為小的模組,從而減輕實作的難度。

    當他們收到一項任務時,並不是第一時間和上級確認需求,而是立刻就開始編程,而且在做任務期間,也不會和上級就任務進度進行溝通。只有當任務完成時,他們才會向你反饋。到那個時候,你只能祈禱他們完成的功能就是你想要的。

    缺乏經驗的開發人員的另一個表現是同時推進多項任務,他們會同時處理多項事情,如:實作多個沒有太大聯系的功能點、解決生產環境問題、協助其他同事工作等。

    最終,從他們那裏得不到有效的產出。雖然他們的態度和出發點是好的,但對整個團隊造成的後果是災難性的,浪費了很多的時間,導致團隊得日夜趕工。

    你能做什麽:

  • 專註完成小的任務。將收到的任務分解為小塊,明確需求的優先級,一小塊一小塊地完成。

  • 領取一項任務,完成後再開始新的任務。

  • 4. 性格傲慢

    對於缺乏經驗的開發人員,傲慢是非常致命的。傲慢會導致他們不能接受別人的批評和建議。當你對他們的程式碼或者陳述給出意見時,他們會認為你是在質疑他們的能力。

    許多新人由於無知,都會表現出這種傲慢。剛走出校門的他們充滿自信,並沒有意識到他們在學校學到的東西離社會要求還有很大差距。這些人中的聰明者會很快調整自己,以歸零的心態,努力學習並適應公司文化。

    其實不只是新人——一些有幾年工作經驗的開發人員也會表現出這種傲慢,一部份原因是其滿足於個人獲得的專業成就,另一部份可能的原因是其缺乏和優秀的人共事的機會,有點坐井觀天。

    此外,傲慢的行為也從另一方面證明這樣的開發人員確實缺乏經驗。這樣的行為會對他們的職業發展造成很多阻礙,因為沒有人喜歡和一個傲慢的人共事。當成長變慢時,他們不會從自身找原因,而是更多的歸罪於別人。

    你能做什麽:

  • 在前行的路上保持謙卑。禮貌地對待別人會讓你在軟體開發職業生涯中走得更遠。

  • 尊重每一個人。出現分歧後,在你發表意見時,不管對方是什麽身份,都要尊重對方。

  • 5. 不能從之前的錯誤中學到經驗

    我一直認為,對於軟體開發人員,反饋機制是一個很有效的工具。來自他人的反饋,會讓我們明白自己的短板是什麽以及如何去改進。一個聰明的開發人員明白如何借助他人反饋來促進自己的成長。

    根據一個開發人員對建設性意見的反應,你可以判斷出他是否缺乏經驗。缺乏經驗的開發人員不接受任何建設性的建議,甚至程式碼評審中的評論,他都會認為是對他個人的一種攻擊。

    很多年前,我有一個同事給我寫了很長的一封信件,教我如何來評審程式碼,他對我給他程式碼的評論感到憤怒。他的主要觀點是我不應該關註編碼標準,因為他知道如何編碼,我應該只關註程式碼能否滿足功能需求。

    如果一個開發人員因為別人對他程式碼給出的評論,而感覺被冒犯,只能表明他不具有真正的開發經驗。他抱著做一天和尚撞一天鐘的態度工作,卻感慨沒有遇到賞識自己的伯樂。

    你能做什麽:

  • 對每個反饋保持積極的態度。對於每個反饋,你可以選擇是接受還是拒絕,但拒絕之前要保持心平氣和的態度。

  • 從錯誤中學習。沒有人能永遠正確,保持終身學習才能讓自己持續強大。

  • 6. 工作時間處理私人事務

    日常工作中,總是發現團隊裏的一些成員在工作時間處理私人事務,如:看社交媒體,瀏覽購物網站,玩遊戲。

    我之前還有個團隊成員,上班時間炒股。因為他需要不時地關註股票的 K 線走勢,造成個人的產出品質不高。其他同事對他很有意見,因為他們需要花費更多的時間去趕工期。

    當開發經理和這個開發人員談話之後,他改變了一段時間,但是很快就故態復萌。最終,公司只能把他開除了。

    工作時間處理私人事務,這是違反商業道德,並且表現了你的不專業。我們需要對工作敬業,畢竟我們要靠它謀生。

    你能做什麽:

  • 工作時間盡量不要處理私人事務。當你需要離開幾個小時去處理個人事情時,請向你的管理者請假。

  • 使用休息時間瀏覽你的社交媒體。如果必須要點外賣或炒股,請利用午休時間。

  • 7. 盲目追逐技術潮流

    開發人員缺乏經驗的另一個表現是面對技術潮流的態度。你會發現他們總是在談論技術潮流,當有一個新的潮流出現時,他們會立刻丟棄原來的潮流,投入新的懷抱。

    缺乏經驗的開發人員總是在學習教程。毫無疑問,教程是很有用的學習工具,但是,不進行任何實踐而只是按照教程一步步操作無疑是浪費時間。它會讓你虛幻地覺得自己好像都掌握了,但是知識是否掌握了,需要透過真實的計畫進行檢驗。

    開發人員很少會用熱門技術或者從教程中學到的知識來實作新的東西,他們學習熱門技術或者教程很多是為了滿足自己的虛榮心,或者擔心自己會錯過什麽。

    你能做什麽:

  • 花費時間和精力學習那些能在工作中或者實際計畫中真正用到的技術。

  • 從教程中學習並及時練習,相對於新手教程,自己實作一個功能能學到更多的東西。

  • 總結

    缺乏經驗的開發人員會因為自己的效率低下進而降低整個團隊的效率。他對待自己工作的錯誤態度,會讓其在職業開發中錯失很多機會。

    了解並避免這種錯誤的態度和工作方式,是聰明人的做法。如果你不幸染上了這些壞習慣,隨著時間的推移,你會越來越難以擺脫。

    謝謝你閱讀這篇文章。希望你能避開這些陷阱,早日獲得職業上的成功。

    來源:Lokajit Tikayatray

    levelup.gitconnected.com/top-7-signs-of-an-inexperienced-programmer

    譯者:王莉敏 策劃:李俊辰 來源:infoq

    >>

    END

    精品資料,超贊福利,免費領

    微信掃碼/長按辨識 添加【技術交流群

    群內每天分享精品學習資料

    最近開發整理了一個用於速刷面試題的小程式;其中收錄了上千道常見面試題及答案(包含基礎並行JVMMySQLRedisSpringSpringMVCSpringBootSpringCloud訊息佇列等多個型別),歡迎您的使用。

    👇👇

    👇點選"閱讀原文",獲取更多資料(持續更新中