JavaRush /Java Blog /Random-TW /喝咖啡休息#48。初級開發人員的 9 個有用習慣

喝咖啡休息#48。初級開發人員的 9 個有用習慣

在 Random-TW 群組發布
來源:免費程式設計營 你分析過自己的習慣嗎?好的人可以幫助你成為你想成為的人。壞習慣會逐漸把你變成你想成為的人。作為軟體開發人員工作了 12 年多,我養成了一些令我引以為傲的習慣,也有一些我寧願改掉的習慣。起初我沒有意識到它們的重要性,但後來我清楚了這些習慣中哪些有助於我成長,哪些阻礙了我。這促使我盤點並寫下一些可能會激勵你做同樣事情的事情。喝咖啡休息#48。 初級開發人員的 9 個有用習慣 - 1

自願承擔自己不理解的事情

在你職業生涯的初期,你知道的不多。因此,您可能會覺得自己像個騙子。畢竟,公司付給你專家的薪水,而你甚至不知道同事使用的技術和框架的一半名稱。而你只聽說了後半部分,因為你及時在谷歌上進行了搜尋。如果將“在職業生涯開始時”替換為“在任何新專案開始時”,您可以對軟體開發職業有相當準確的了解。每個新專案都是新事物的開始。我們結識新朋友,了解新需求,學習新框架。每次都是這樣。這就是為什麼不斷學習新事物如此重要。如果你一直只做你擅長的事情,你將無法自信地承擔一個新專案。對未知的恐懼總是會出現在你的面前。透過養成獨自承擔自己一無所知的任務的習慣,您可以獲得新的技能和知識。如果您需要修復組裝中的某些內容,並且您以前從未遇到過此類工作,請承擔此任務!您將獲得必要的經驗和新技能。如果您的前端 JavaScript 程式碼中存在錯誤,並且您到目前為止只使用過 Java 後端,請修復它!做一些你不確定的事情是專業成長的好方法。但不要欺騙別人的期望。不要假裝自己是所有事情的高手。老實說,您以前沒有做過但想學習。

要求與某人結對工作

如果您遇到困難或不知道如何完成任務,請請更有經驗的人與您一起工作。結對程式設計是推動事情進展的好方法。與您的同事討論需求:這將使您更容易理解結果應該是什麼。然後開始討論解決方案。你可以更進一步,提出兩人一組工作,這樣你寫程式碼,你的同事給你提示,反之亦然。這將幫助您學習如何思考和解決問題。對於初學者來說,結對程式設計是非常有益的。 關於在家工作的說明。當我們切換到遠距工作格式時,我面臨著全新的問題。我開始懷疑是否該讓同事和我結對工作。在辦公室裡,一切都很簡單:你可以到隔壁桌討論這個問題。隨著遠距工作和視訊會議溝通,一切都變得明顯更加複雜。如果這對您來說也是一個問題,請與您的同事討論。您只需要稍微改變一下平常的方法並養成新的習慣。

報告你做了什麼(和沒有做什麼)

我不記得有多少次我熱情地接受一項任務,以為我可以在一天內完成,結果卻在一周內完成。隨著經驗的積累,我發現自己陷入這種情況的可能性越來越小,但有時我的評估仍然過於樂觀。如此估算時間有以下幾個原因:
  • 由於截止日期臨近,管理層要求盡快完成新功能;
  • 我想與辦公室同事相比顯得更好;
  • 很多事情根本無法如預期進行;
  • 還有很多很多其他的…
一般來說,您的時間估計也很可能過於樂觀。如何解決這個問題?您可以隨時管理期望!不斷談論你正在做的事情,並且始終溝通是什麼阻礙了你。我並不是說您需要每 15 分鐘發布一次任務狀態更新。只要確保相關人員知道您在過程中的進度即可。最好在工作日開始和結束時傳達這一點。如果你的老闆或團隊/專案經理期望你有成果,請每天向他報告:「我正在做這樣或那樣的工作。我遇到了這樣那樣的問題。以下是解決該問題的選項。” 這樣,每個有興趣的人都會了解您的進展。如果您突然遇到問題,沒有人會責怪您 - 只要您讓人們了解情況。另一個好處是:透過報告任務的當前狀態,您可以聽到其他人對問題的建議或解決方​​案。養成定期向利害關係人更新工作成果的習慣。

開始寫博客

我可能不是您第一個聽到這個建議的人,但無論如何我都會說:部落格!您的部落格沒有必要公開。這可能是您公司 wiki 上的幾個頁面,或是包含程式碼範例和幾行解釋性文字的 GitHub 儲存庫的集合。為什麼這是必要的?因為當你寫一些東西來教別人時(即使那些「其他人」是你未來的自己),這是學習和專業成長的好方法。寫下你如何解決一個難題。或者關於一個新框架如何運作,您已經等待很長時間了。您還可以記錄本週所做的事情。順便說一句,這將幫助您養成溝通您目前正在做的事情的習慣。我已經開始寫部落格好幾次了。當然,一開始,要保持動力並強迫自己寫作是非常困難的,因為意識到幾乎沒有人讀你的貼文。寫在虛空中是很奇怪的。出於這個原因,我放棄了我的部落格。三年前我開始了我的下一個部落格。我在沒有任何觀眾的情況下寫作了六個月。然後我發現我沒有讀者,因為我的 robots.txt 檔案不允許搜尋引擎索引該部落格!長話短說,我更改了 robots.txt 中的設置,人們開始閱讀我的文章。讀者不多,但仍給了我不停讀的動力。漸漸地我的寫作能力得到了提高,現在我的部落格每月的瀏覽量達到了20萬。這一切都是因為我曾經決定開始撰寫關於我設法解決的新框架和問題的文章。我這樣做是為了能夠在需要時返回我的筆記,而不是因為我想聚集大量觀眾。一開始寫部落格似乎是一件無聊的苦差事,但隨著時間的推移,如果你不停下來,它就會開始給你帶來滿足感。如果你懷著學習和教學的願望開始寫作,你不僅會學到很多東西,而且會讓很多人對你感興趣。

為自己準備一本筆記本

我最近才成為筆記型電腦的忠實粉絲。不是以程序的形式,而是真實的、紙質的。無論我去哪裡,我都會帶著記事本和筆。這樣我就有機會隨時寫下我想到的東西。當我聽別人說話時,當我等公車時,或是當我在考慮晚餐做什麼時,我都會記筆記。我還使用記事本創建我想閱讀的書籍、我想學習的框架以及我想添加到我的個人項目中的功能的清單。而且,更重要的是,我在閱讀時會做筆記,因為它可以幫助我更好地記住所學的內容。我寫下想到的一切。如果我因為某些原因沒能寫下一些東西,我就會感到焦慮,甚至無法入睡。重點是我不相信自己的記憶力。如果你的記憶力很好,並且完全記得一週前所想的一切,那麼你可能不需要筆記本。但如果你像我一樣記憶困難,那麼在筆記本上做筆記將會顯著改變你的生活,讓你的生活變得更好。為了確保您的筆記本盡可能有用,您需要一種系統化的方法。您必須向自己保證,您在筆記本上寫下的任何內容都不會遺失。將筆記本的前幾頁分成目錄,以便您以後可以輕鬆找到所需的資訊。養成定期查看筆記的習慣。以讀書時做的筆記為例。當我讀完一本書時,我會瀏覽筆記並在部落格上寫評論。儘管幾乎沒有人閱讀這篇文章,但撰寫評論的過程迫使您思考所讀的內容,從而更好地記住它。

記錄你的勝利

當養成記錄成就的習慣時,筆記本也是必要的。正如我已經說過的,我的記憶力很差。當然,我可以記得昨天午餐吃的東西,但是當我專注於一項複雜的任務時,我的記憶力明顯下降。這就是為什麼我有一個規則,就是在每天結束時寫下我的成就。我們不是在談論什麼偉大的事蹟,而只是在談論小小的勝利。例如,修復錯誤、朝著創建新功能又邁出一步等。我還寫下個人的勝利,例如完成早晨的鍛鍊。晚上,我只是簡單地列出白天所做的事情,並將其全部寫在筆記本上。您可以在平板電腦中進行此類輸入,或使用一些特殊程式(如果這對您來說更方便)。隨著時間的推移,會有更多的成就。您甚至可以以某種方式標記最重要的內容,以便您以後可以輕鬆找到它們。例如,在準備績效評估之前,您會瀏覽列表,找到相關成就並將其列出在單獨的列表中。這將使審查變得更好。成就清單對於傳達您所做的事情也很有用。

找時間完成重要任務

一天結束時,我常常覺得自己今天什麼都沒完成。雖然記錄你的勝利(或至少完成的任務)很重要,但最重要的是完成這些任務。有時候,一個會議讓位給另一個會議,一天的工作突然結束。與同事開會後,您想繼續完成您的任務,但正當您有時間熱身時,新的視訊會議開始了。之後你需要再次“熱身”,因為你已經失去了上下文。這會降低您的生產力。如果說我在提高工作效率方面學到了什麼,那就是為重要任務預留時間很重要。如果你沒有養育成為重要任務留出時間的習慣,那麼你很可能永遠抽不出時間來完成它們。您的時間將被正常的日常活動佔用。管理你的時間可以透過多種方式來完成,說實話,我每隔幾個月就會從一種方法跳到另一種方法。但重點仍然是一樣的:對於您絕對需要完成的任務,您需要在日程中預留大量時間。我早上上班前留出一小時為部落格(或其他網站)寫文章。我還在晚上留出一個小時(當孩子們已經睡著時)來完成個人專案。我目前有一個 Trello 看板,其中一周的每一天都有一個專欄,其中列出了我想要在早上和晚上處理的任務。我每週更新一次此板並寫下我下週需要完成的事情。這樣我就不用浪費寶貴的時間去思考下一步該怎麼做。另外,我每天都會在日程中留出兩個小時來做一些需要特別集中註意力的工作,這樣我的同事就不會試圖在這段時間安排任何會議。所有這些都幫助我應對當天計劃的任務。一般來說,如何準確地管理時間並不那麼重要。最重要的是有原則地去做,並從中養成習慣。否則,你的日子就會被那些對你來說不太重要的事情所消耗。

如果你被困住了,休息一下

開發人員經常陷入死胡同。這些情況非常煩人。在這種情況下,大家常常建議暫時放下工作休息一下。但有時遵循這樣的建議是非常困難的,因為“決定已經接近了,我現在不能停下來。” 如果我現在休息一下,那麼之後我將不得不再次「介入」事情的本質。為什麼要自願浪費時間?但事實是,當你陷入工作時,它會阻礙你正常思考。你認為陷入這樣的問題是非常愚蠢的。畢竟,您的同事可能可以輕鬆處理它(另一種選擇是他們總是得到更容易的任務)。同時,你也不會去思考如何真正解決問題。休息一下,做點別的事情。或者(更好)明天再回到這個問題。與問題保持一定的距離會讓你看到以前看不見的解決方案。也許您還沒有遇到這種情況,但我向您保證:通常正確的解決方案會自動浮現在您的腦海中。如果你沒有多餘的時間,你可以使用番茄工作法——將任務分成30分鐘的片段,中間有短暫的休息。每完成一步後,我都會問自己是否處於解決方案模式,或者是否陷入困境並應該做其他事情。番茄工作法還有一個額外的好處,就是利用每個步驟的結束作為其他習慣的觸發點。例如,養成從桌子上站起來伸懶腰、喝水的習慣。這有時被稱為一堆習慣,因為你可以將一個習慣疊加在另一個習慣之上,從而獲得良好的效果。

無需尋找魔法棒

我曾經寫過一本關於某種軟體架構風格的書,並經常收到諸如「我真的很喜歡這種風格並希望將其應用到我所有的專案中!」之類的問題的電子郵件。怎麼做?” 你知道我的回答是什麼嗎?沒有一種架構風格適合解決所有問題。當您有一個小專案時,您可以建立一個簡單的 CRUD API。如果您有一個複雜的模型,您可以建立一個更複雜的六角形架構。在每個單獨的上下文中建立微服務時,您可以使用數百種架構風格中的一種。不存在可用於任何專案的通用框架。就像沒有單一的程式語言或編碼風格一樣。不要試圖找到一根魔杖。她不存在。當你的觀點背後有有價值的論點時,擁有自己的觀點是件好事。「這是最好的架構風格」和「我總是這樣做」這些都是不值得爭論的。試想一下,你的團隊中有一個開發人員總是有自己的偏好,並且總是口吐白沫來證明自己是對的,「因為這是最好的」。你很快就會厭倦它。不要成為那種類型的開發人員。
留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION