JavaRush /Java Blog /Random-TW /喝咖啡休息#55。尋找開發者社群的 4 個技巧。初學者需要掌握的 5 個意想不到的技能

喝咖啡休息#55。尋找開發者社群的 4 個技巧。初學者需要掌握的 5 個意想不到的技能

在 Random-TW 群組發布

尋找開發者社群的 4 個技巧

資料來源:Honeypot 幫助開發者職涯發展的因素之一是他們所屬的社群。如果你還沒找到你的,別擔心!在本文中,我將告訴您如何執行此操作。 人類並不意味著孤獨。正是透過合作實現共同目標的能力,人類才取得了進展。這種協作的一個很好的例子就是開發者社群。與其他一些專業行業不同,開發人員彼此互動非常頻繁,他們的大部分生活都以某種方式與他們周圍創建的社區聯繫在一起。如果您是開發人員但尚未找到您的社區,請不要失望。您可以在職業生涯的任何階段加入其中之一。喝咖啡休息#55。 尋找開發者社群的 4 個技巧。 初學者程式設計師需要掌握的 5 種意想不到的技能 - 1

1. 找出你需要什麼

在進入線上深淵尋找開發者社群之前,您應該弄清楚自己到底需要什麼以及正在尋找什麼。開發人員職業生涯的每個階段都有自己的興趣和差異。如果您正在學習 Java,則不太可能在 Python 社群中找到所需的資訊,反之亦然。

2.尋找當地社區

Jessica 是 Ember 程式設計團隊的成員,住在柏林。對她來說幸運的是,這座城市提供了大量與其他當地開發商建立聯繫的機會。“我在專業小組會議方面擁有豐富的經驗,並且長期在開放技術學校工作,這有助於人們更多地了解技術。” 這個女孩參加了研討會和男女同校小組,發現這對初學者非常有用。「我得到了其他學生的支持並獲得了免費指導。可以說,它給了我一種責任感,幫助我定期參加會議,並鼓勵我自學。” 要找到您當地的社區,傑西卡建議在 Google 上搜尋。如果您住在大城市,那麼尋找當地的編碼社區加入可能不會有任何問題。然而,社交網路上的一些此類群組可能不再活躍或很長時間沒有在其中發布消息。在這些情況下,不要害怕直接詢問社區中是否還有其他事情發生。表現出興趣總是值得讚賞的。

3. 尋找線上社群

親自會見其他開發人員有很多好處。但如果您對當地社區的訪問受到限制,那麼您幾乎肯定會在網路上找到替代方案。您可能已經在使用各種框架或技術,這些框架或技術在 Discord 或 Slack 上擁有自己的專用社群。這既適合工作協助,也適合尋找新專案、想法的靈感,甚至適合參與開放專案。

這裡有一些地方可以找到您的線上社區

開發到. 用他們自己的話來說,“軟體產業依賴協作和網路學習”,dev.to 為開發人員提供了一個見面和互相幫助的空間,無論是編碼的技術方面、職業建議還是一般支持和激勵。 Slack 上的#開發人員。您需要回答幾個問題才能訪問此頻道,但是一旦您進入,您將獲得所需的所有支援和建議:) Hashnode。寫一篇關於您想要的任何程式設計主題的文章,並與更廣泛的社群互動。這是與其他開發人員保持聯繫的好方法。 編碼的女性。這是一個為科技業女性提供支援的地方,她們可以在這裡找到程式設計資源和分享想法的開放空間。 紅迪網。每個編碼領域都有大量的 Reddit 子版塊;看看一些最活躍的: r/programming r/java r/python r/javascript r/reactjsr/cscareerquestionsFacebook 上的開發者圈。這裡的主要目標是創建本地組織的社區,開發人員可以「獲得免費工具來開發新技能、想法並推進他們的職業生涯」。在 Facebook 上找到您的社區,所有討論目前均在線。

4. 尋找開源社群

參與開源社群可能是您職涯發展的重要組成部分。成為開源社群的積極成員不僅意味著做出貢獻,還意味著參加活動和會議、認識其他人、尋找導師和建立人際網絡。除了在開源社群中獲得的技能(技術和非技術)之外,參與其中還可以讓程式設計師在日常工作之外獲得歸屬感。開源社群有一種獨特的感覺,那就是致力於做大事,而且從很多方面來說,這種工作是一種有意義的貢獻。想知道從哪裡開始?考慮一下您喜歡哪些開源專案並從那裡開始 - 它可以像查找並修復程式碼中的拼字錯誤一樣簡單。重要的是從某個地方開始。

結論

開發人員在專業社群中獲得的自我發展支持和激勵程度非常高。幸運的是,無論是本地社交媒體團體還是專用於程式語言的大型線上資源,開發人員社群的存取權限無處不在。最重要的是找到適合你的。

初學者需要掌握的 5 個意想不到的技能

資料來源:Codeburst 我成為自學成才的開發人員的道路是漫長而艱難的。有時,回想起我所遇到的所有障礙和失望,我會問自己是否值得以這種方式開始。現在我可以說這是值得的。對於像我這樣從零開始的人來說,學習曲線非常陡峭。但我相信,從長遠來看,征服這座山的好處超過了所付出的努力。當然,這僅適用於您喜歡所學的情況。我花了幾年時間才明白,一個優秀的開發人員必須能夠做的不僅僅是快速、輕鬆地編寫程式碼。許多初學者沒有意識到獲得開發技能需要的不僅僅是編寫和運行程式的能力。因此,除了編碼之外,這裡還有每個有抱負的開發人員肯定需要的五項技能!喝咖啡休息#55。 尋找開發者社群的 4 個技巧。 初學者程式設計師需要掌握的 5 種意想不到的技能 - 2

1.使用協作工具

許多流行的自定進度程式設計平台都專注於語言語法和資料結構。有些允許學生從頭開始創建基本專案。假設一個簡單的遊戲或任務清單應用程式。這些課程對於開始掌握程式設計技能非常寶貴,但它們並不能模擬您將來將遇到的現實工作環境。開發人員在大型專案上一起工作,有時開發人員可能會同時處理多個程式碼庫。團隊合作通常涉及使用 Google 試算表或 Invision 等工具。開發團隊有自己的標準協作工具集。我的公司與美國數以萬計的其他公司一樣,都使用 GitHub。我永遠不會忘記我的同事向我介紹 GitHub 的那一天。首先,他們告訴我打開電腦上的終端機(我不知道我的電腦上有類似的東西)。然後我的同事開始在我螢幕上的這個神秘視窗中輸入一些亂碼。事實證明,這些胡言亂語可以起到神奇的作用,例如在我的電腦上的幾個資料夾中塞滿各種充滿程式碼的檔案。然後他們談論“樹枝”和“絨毛”,一些“遙遠”的東西。似乎所有單字都以前綴“git”開頭。我知道他們說英語,但我不清楚他們話裡的意思。如果您是以前沒有與其他開發人員一起編碼過的新手,則必須學習該語言和協作工具。這可能看起來很複雜,特別是如果您從未打開過命令提示字元。但隨著時間的推移,它會成為一種習慣。

2. 日誌記錄與錯誤處理

假設您已經學會了與其他程式設計師協作,並且您的程式碼已發送到生產環境。當你寫的東西被成千上萬甚至數百萬用戶使用時,這是一種真正令人興奮的感覺。但是一旦到達這個階段,您就會慘痛地了解到程式碼中意外的錯誤總是會發生。例如,您建立的變數從未收到值。現在您正在呼叫一個帶有空值的方法,並且您的程式不知道如何處理它。發生錯誤,現在用戶無法再訪問您創建的精彩頁面。當您測試程式時,一切似乎都是正確的,因此您甚至可能沒有註意到問題。這種特殊錯誤可能只在 5% 的時間內發生,但對於 10 萬用戶中的 5% 來說,這是很嚴重的。您需要學習如何記錄、處理和預測程式碼中的錯誤:這些對於開發人員來說絕對是必不可少的技能。是的,預測問題的能力是一種隨著時間和經驗而發展的本能。但對於初學者來說,重要的是要記住錯誤幾乎是開發過程中不可或缺的一部分。了解如何使用不同類型的錯誤日誌記錄來保護您的程式碼可以在將來為您省去很多麻煩,尤其是當您負責偵錯時。它還可以幫助識別您甚至不知道自己遇到的問題。今天,我們可以使用各種錯誤記錄工具,可以輕鬆追蹤程式碼庫中的漏洞。我最喜歡的是 Sentry,它可以讓您查看問題首次發生的時間以及發生的頻率。另外值得一提的是 Logentries、Rollbar 和 Instabug。有些程式可以監控系統範圍的資料和問題,例如 New Relic 和 Datadog。在您的開發生涯中,您可能會遇到這些程式的某種組合,並且值得學習如何使用它們。

3. 測試覆蓋率

正如我之前所說,磨練程式設計技能不僅僅是編寫程式碼。您需要確保其他開發人員可以理解您的程式碼,並且當有人在兩年後打開它時,該人應該能夠快速拿起它並開始進行更改。您編寫的邏輯應該在未來幾年內是可以理解和重複使用的。但有時候你的邏輯會很複雜,無法簡化。可能是由於業務邏輯的複雜性。也許是因為時間不夠。現實情況是,最後期限有時會迫使您做出不太理想的技術決策。而且在開始工作之前,您並不總是能夠清楚地定義所有用例。確保程式碼安全的一種方法是編寫伴隨更改的測試。大多數程式語言都有可以安裝的附加測試包。例如,對於 Ruby,我們使用 Rspec,對於 React,我們經常使用 Jasmine。測試有不同類型,包括單元測試(用於測試小塊邏輯)和整合測試(用於端到端流程測試)。通常,為了將您的程式碼提交到公共程式碼庫,它必須通過整個測試套件。一旦您學會如何編寫它們,您就可以添加“安全性”,以防止將來的更改意外覆蓋您編寫的函數。測試覆蓋率也有助於定義預期行為,因為許多測試案例都是用簡單的英語編寫的。我無法告訴你有多少次我對幾年前編寫的某個文件進行了更改,並發現它導致了十幾個測試失敗,儘管我認為我對預期行為有很好的理解。有一次我甚至破壞了幾個月前我自己編寫的一個功能。幸運的是,我的單元測試立即揭示了這一點。透過查看拉取請求,我注意到開發人員通常對測試覆蓋率不夠重視,這適用於簡單和複雜的變更。我也對此感到內疚,尤其是在截止日期很緊迫的情況下。但我可以想到幾個項目,其中一個地方的更改導致其他四個地方出現故障。這增加了我們的壓力,增加了我們的工作量,儘管我們已經急於趕在最後期限前完成任務。如果我們及時花時間編寫單元測試,這種情況是可以避免的。學習編寫它們可能是一項乏味的任務,尤其是對於新開發人員來說,編寫它們肯定會減慢整個開發過程。但是你越早開始寫測試,未來等待你和你的團隊的麻煩就越少。

4. 程式碼審查

這一點與第一點相關——關於在程式碼庫上合作。通常,更改程式碼庫的過程如下所示。您正在本地編寫一些程式碼。要將其推送到程式碼庫的主分支,您需要建立一個拉取請求(更改的視覺化摘要),並且團隊中的其他開發人員會在批准合併之前檢查您的程式碼。不同的團隊對拉取請求的批准有不同的要求,但一般來說,您應該期望您的變更肯定會由某人審核和實施。值得注意的是,您不僅會提交您的程式碼以供審核,還會審核其他人的程式碼。學習閱讀他人的程式碼對於開發人員來說是一項重要技能,應該在您的整個職業生涯中不斷發展。當我第一次開始並被要求查看其他人的拉取請求時,我不太明白要尋找什麼。起初我認為我應該尋找錯誤。幾年過去了,我現在認為代碼審查更多的是健全性檢查,而不是徹底的調查。最終,發送拉取請求的開發人員負責檢查其程式碼,添加必要的測試,並將此程式碼安全地貢獻給公共資料庫。發現隱藏的問題不是審稿人的工作。如今,當我審查程式碼時,我會檢查可讀性(例如,這些變數和方法名稱是否具有描述性)、組織和結構(是否可以更好地組織程式碼,以便第一次看到它的人更清楚) 。當然,您對程式碼庫越熟悉,就越容易發現潛在的問題。但即使是初學者,您也可以開始獲得程式碼審查技能。除此之外,這也是熟悉較有經驗的同事所使用的程式碼模式的好方法。

5.正確的谷歌搜索

沒有開發人員了解有關程式設計、程式語言甚至程式碼庫的一切。以前,我確信除了我之外的每個人都能立即理解在這種或那種情況下應該使用什麼方法、查詢和策略。但我結對的人越多,我就越意識到開發人員在 Google 上搜尋問題答案的頻率有多高。即使是有經驗的人!我們的工作有太多細節要記住。我很快就意識到,我所需要的不是把所有的事情都背下來,而是學會如何正確地尋找答案。Stackoverflow 將成為您最好的朋友。很有可能,如果你被某件事困住了,其他人以前也曾被困住過。當談到解決問題時,試著找出到底出了什麼問題,用文字描述它,然後將這些文字輸入搜尋引擎。能夠清楚地表達你面臨的問題比死記硬背更有幫助。

結論

在您的軟體開發之旅中,您遲早會遇到失望。這是無法逃避的。但是,您越多使用旨在緩解這些挫折感的工具和策略,您的職業生涯就會越有價值。堅持到底,不要放棄。
留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION