我真的很喜歡 @abbeyperini 的帖子,並決定在擔任軟體開發人員5 年多後分享我的技巧。
準備好?讓我們深入探討。
建在搖搖欲墜的土地上的房子🏠,稍有問題就會倒塌。
同樣,如果你沒有紮實的基礎:
你會很難適應 JavaScript 框架
你會陷入第一個不熟悉的問題
您無法掌握某些問題之間的共同主題
因此,如果你想提升前端開發人員的水平,首先要掌握HTML 、 CSS和JavaScript 。
在過去的幾年裡,前端開發變得更加複雜。
使用了許多工具(捆綁器、轉譯器等)
如果您不了解網路的工作原理(即「唯一」支援的語言是HTML (用於結構)、 CSS (用於樣式)和JavaScript (用於互動)),您將很難理解為什麼需要有這麼多工具可以在線執行您的程式碼。
由於程式設計面試,資料結構和演算法經常受到不好的評價🤦♀️。
然而,了解關鍵因素及其複雜性至關重要。如果沒有這些知識,您將無法編寫複雜的程式或評估程式碼效率。
以下是需要了解的資料結構/演算法的非詳盡列表:
**資料結構:**棧、佇列、雜湊圖、集合、圖等。
**演算法:**動態規劃、貪心演算法、遞迴等。
教學會欺騙您,讓您感覺自己正在取得進步。
它們讓你相信你正在學習和進步,但你並沒有前進。真正的學習是透過實踐或教學發生的。
所以,多多練習,避免陷入教學地獄🔥。
你不是一個人。
您附近很可能有高級開發人員,您可以向他們尋求協助。
所以,不要浪費時間去兔子洞裡。您的目標是提供價值,如果您浪費時間解決其他人已經解決的問題,您就無法實現這一目標。
在尋求幫助之前,請確保您已經做了最低限度的事情。
你應該首先:
在 Google/Stack Overflow/ChatGPT 上搜尋解決方案
了解你的目標以及什麼不起作用
記錄所有失敗的嘗試
另外,不要針對同一問題重複尋求協助。當您獲得幫助時,請在某處記下,以免忘記。
由於多種原因,這非常糟糕:
您最終可能會得到不安全的程式碼,這些程式碼會暴露令牌等敏感資訊。
您將無法輕鬆除錯程式碼。
你將無法向你的同事解釋它。
這對 ChatGPT 尤其重要,因為它有時只能提供 80% 的準確答案。
我剛開始的時候就犯了這個錯誤。
我發現有人建議說 React 中的記憶化是邪惡的,所以我停止使用它。
令我尷尬的是,我的程式碼在預生產中崩潰了。
所以,別讓我「老」了。
當您在網路上看到建議時,請先問自己以下問題:
這個建議適用於我嗎?
提供建議的人是否與我的情況類似?
TLDR :運用常識🫠。
當你是新人時,人們通常會認為人們正在等待發現你的錯誤並解僱你。
至少,這是我的思想對我低聲說的。
但事實恰恰相反。
當一家公司僱用你時,它非常希望你成功。否則,這就是浪費他們在培訓和入職方面投入的時間和資源。
因此,相信你的公司希望你做得很好,並毫不猶豫地向你的同事尋求支持。
追求完美往往會導致以下結果:
拖延
浪費時間
過於複雜
ETC。
因此,目標是在推動更多之前交付/驗證 V0。
感到不知所措的最簡單方法是什麼?
👉 試圖咬得比你能咀嚼的更多。
始終將專案分解為更小的任務。
這會:
讓你不會感到不知所措
讓您的 PR(拉取請求)更容易審核
提供進步感
剛開始時,您的首要任務是贏得經理的信任。
當他們想到你時,應該安心。
他們應該相信:
你在簡單的任務上很可靠
必要時您會尋求協助
有任何問題你都會溝通
您不想因為成為經理必須持續監控的問題而增加他們的工作量🔎。
用熱情可以彌補很多不足🤪。
當你是新人時,要充滿渴望和興奮。
只有經驗豐富的開發人員才能承受缺乏熱情的後果。
沒有人願意不斷地督促某人工作。指導已經夠困難的了;必須激勵某人會使事情變得更具挑戰性。
前端開發不斷發展。
因此,您需要對新技術持開放態度。
不要太拘泥於現有的工具。相反,表現出學習的興趣😋。
想要加快您的開發時間嗎?
掌握你的開發工具:
您的 IDE(例如 VSCode)
您的原始碼控制系統(例如 Github)
您的瀏覽器和檢查器(例如 Chrome 檢查器)
ETC。
不要在真空中編寫程式碼。
您編寫的每段程式碼都應該為以下方面提供價值:
您的客戶
你的公司
您的利害關係人
ETC。
您的報酬與您提供的價值掛鉤,而不是與您編寫的程式碼掛鉤。
因此,優先考慮編寫有目的的有效程式碼🥅。
可能是新開發人員最常見的錯誤之一(特別是如果您來自重視謙虛的文化)。
你做了一些了不起的事。
沒有人知道這件事。
👉 那工作並不重要。
因此,透過寫作、演示等方式分享您的作品。
程式碼被閱讀的次數遠多於寫的次數📝。
因此,不要編寫只有您才能理解的聰明程式碼。
可讀性>效能>聰明。
您希望您的同事能夠有效率地處理您的程式碼,並在必要時為您提供協助等。
除非你特別不幸,否則你的經理會支持你的成長📈。
他們通常希望你能夠蓬勃發展,為團隊做出貢獻,並留在公司,而不是在其他地方尋找機會。
因此,請務必招募他們來實現您的目標。
分享你的勝利、挫折(以積極的方式)和挫折,而不是獨自奮鬥。
這個很簡單,但常被忽略。
您的經理可能有您可以協助解決的問題:
他們可能需要加入文件但缺乏時間
他們的工作量可能龐大,需要支持
和更多
這可能是贏得經理支持(升遷、加薪等)的最簡單方法。他們已經意識到這些任務並且可以直接看到它們的影響(至少對他們來說)。
不要成為程式碼猴子🐒。
剛開始時它可能會對您很有幫助。
但要達到下一個級別,您需要了解任務背後的背景:
為什麼它們有價值
為什麼你被分配給他們
它們如何適應公司的整體策略
這種理解對於您的職業生涯更上一層樓至關重要。
這不僅對公司有利,對您也有利。
透過進行演示、共享文件等,您可以展示您的技能並提高團隊的生產力。
始終致力於盡可能提升團隊的表現:這是令人愉快且有益的😊。
如果我必須提供一個建議,那就是這個。
在職業生涯的初期,探索各個領域是可以的。
但是,要晉升到中/高級級別,請專注於培養某一領域的專業知識。這對於促銷來說比多個領域的平均水平更具吸引力。
因此,我們的目標是培養T 型技能:在某一領域擁有廣泛的知識和深厚的專業知識。
不幸的是,這是必須的。
溝通對於開發人員來說至關重要。我們經常需要做以下事情:
RFC(徵求意見)
示範
演講
ETC。
因此,請確保您具有基本的溝通能力。
當你深陷一個問題時,很難停下來。
即使已經過去了 5 年多,我仍然在掙扎🥹。
然而,休息後我總是會產生更新鮮的想法。
所以,如果你已經被困太久了,那就離開吧。
不要再浪費時間試圖修復明顯的弱點。
如果您持續花費超過 1 小時才能完成同您級別的其他人在不到 5 分鐘內完成的任務,請避開該任務。
投入更多的精力很可能不會讓你在這方面表現出色。
相反,做必要的事情並專注於最大限度地發揮你的優勢。如果某件事對你來說很自然且有價值,那就多做一點吧🚀。
沒有人會為你規劃你的職涯。
如果沒有計劃,你就會為別人的計劃而努力。
因此,請確保您為自己想要在 1/2/5 年內實現的目標制定計劃 💪。
您目前是否患有冒名頂替症候群?
如果是這樣,請花時間與其他開發人員交流。
您很快就會意識到您並不孤單。
與其他開發人員聯繫還有其他好處:
您可以學習新的技巧/技巧
你們可以討論共同的經歷
你們可以在工作上互相補充
ETC。
這是冒名頂替症候群的最佳治療方法之一。
一旦你開始指導年輕的開發人員:
你會發現你知道一些事情
您將把自己定位為中/高級開發人員
ETC。
如果你不斷地解決同樣的問題,你的進步就會趨於穩定。
確保您正在解決不同的問題,以便您可以:
比較各種方法
開發解決問題的工具包
ETC。
擁有偉大的導師是我職業生涯的亮點。
導師了解您的旅程,讓您腳踏實地。
他們會指導你避免他們所犯的錯誤。
ETC。
如何尋找導師?
與您互動的更有經驗的開發人員聯繫,提出問題,討論他們的經驗等。
如果您無法聯繫資深開發人員,請與 X 等平台上的個人互動,與他們建立關係,然後聯絡 😉。
最好的框架是能夠幫助您最快實現目標的框架。
所以,忽略網路上毫無意義的爭論。
選擇您最熟悉或需要學習的框架。
並掌握它。這就足夠了。
有了紮實的 JavaScript 基礎知識,過渡到另一個框架將會很快。
身為前端開發人員,你應該考慮使用者。
即使您有 PM 或設計師,也要確保使用者體驗良好 😌。
需要時使用載入狀態
在 UI 中傳達進度
給用戶回饋
ETC。
這對我來說是一件艱難的事。
我對每一個專案都感到興奮,並努力拒絕。
但身為開發人員,您經常會收到超出您處理能力的請求。
因此,請優先考慮與您的目標最相符的那些。
選擇成為前端開發人員,您就致力於從事必須不斷學習的職業。
因此,透過學習新語言、掌握新技術等不斷投資你的技能。
您的應用程式擁有的功能越多越好,對嗎?正確的?
最初,這似乎是正確的,但附加的功能會導致更多的程式碼。更多的程式碼意味著更多的問題(維護、錯誤等)。
因此,當時間緊迫時,應減少功能而不是犧牲程式碼品質。
始終尊重您的合作者(後端開發人員、設計師、產品經理等)。
應用程式開發是團隊的努力。
團隊成員之間的協同越多,環境就會越快樂、越有效🥰。
感謝您閱讀這篇文章🙏。
發表評論 📩 分享小貼士。
並且不要忘記加上“💖🦄🔥”。
如果您喜歡這樣的文章,請加入我的免費時事通訊FrontendJoy 。
如果您想要每日提示,請在X/Twitter上找到我。
原文出處:https://dev.to/_ndeyefatoudiop/37-tips-from-a-senior-frontend-developer-251b