[譯] 如何避免我做爲初級開發者時所犯下的 7 個錯誤

開發者職業生涯伊始你可能會以爲有點懼怕。你將面臨許多未知的挑戰、要學習不少東西,還要作出不少艱難的抉擇。有時咱們可能會選錯。這是很正常的,當咱們面對這種狀況時不要自責。前端

咱們應該從中吸收教訓。在成爲高級開發者的過程當中,我犯過許多錯誤。本文講述了當我仍是初級開發者時犯過的 7 個嚴重錯誤,以及如何避免這些錯誤。android

承擔第一份工做

若是你一直在自學代碼,或者即將結束學生生活,那麼你的首要目標就是找到第一份工做。這是黑暗隧道盡頭的一束光。ios

但找工做並不容易。初級開發者愈來愈多。你要寫一份一擊必中的簡歷,並通過幾輪面試,這個過程也可能會一直循環下去。git

抓住任何一個能夠勝任的工做機會,對你來講頗有吸引力。這點能夠理解。github

但這種行爲可能並不明智。不管是從學習仍是享受工做的角度而言,個人第一份工做都遠遠談不上理想。開發者抱着「呃,有態度就行」的想法,對待工做並不認真。這樣就會產生一種責備文化,我經常爲了知足緊迫的截止期限而被要求縮減內容。最糟糕的是我沒能從這份工做中學會任何東西。web

我在面試中忽略了這些警告信號,由於獲得工做機會矇蔽了個人雙眼。當我收到報酬還不錯offer 時,我將我全部的擔心都拋到了腦後。面試

真是大錯特錯。後端

你的第一份工做很是重要。它讓你體驗到成爲一名真正的開發者的感覺,你從這份工做中得到的經驗和指導也將爲你以後的職業生涯奠基基礎。這就是爲何在接受任何工做前,你都要對你的職位以及這家公司進行全面調查。你必定很是不想從中得到糟糕的經驗或遇到糟糕的領導!網絡

因此,在申請或接受任何工做以前,你須要:框架

調研這家公司

Glassdoor 和互聯網上搜索這家公司、登陸他們的網站,找一些關於這家公司的評論。若是這家公司符合你的目標和需求,那將會給你吃一顆定心丸。

詢問你認識的人

若是你的關係網中有人曾在這裏工做,或者他認識這裏的員工的話,你能夠和他們聊聊。瞭解一下他們對這家公司的褒貶評價以及他們的經歷。

在面試中問恰當的問題

面試是你瞭解一家公司的絕佳機會,面試前要確保你已經準備好要提的問題了。你能夠問的事情包括:

  • 開發過程(他們用的是什麼方法?他們有代碼審覈嗎?他們的分支管理策略是什麼樣的?)

  • 測試相關的問題(他們用什麼樣的方法進行測試?他們有專門作測試的工程師嗎?)

  • 公司文化(這家公司的氛圍輕鬆嗎?有什麼針對初級開發者的支持嗎?)。

不選擇一條路

毫無疑問,成爲成熟開發者的道路充滿困惑。有不少可用的語言、框架和工具。我最開始犯的一個錯誤是什麼都想學。有趣的是,我最後什麼都沒學好。

一會學 Java,一會學 JQuery,一會學 C#,一會學 C++ ...

我沒有專一於一種語言,而是根據那天的心情在不一樣語言間跳躍。相信我,這絕對是一種很是低效的學習方式。

若是我選擇一條路或者一門技術,堅持下來,那我本能獲得更好的結果,並晉升得更快。例如,若是你想在前端發展,那能夠學習 JavaScript、CSS 和 HTML,還要選擇一個框架。若是你想在後端發展,那就選一種語言並好好學。你不須要了解 Python、Java 和 C#!

集中注意力、選擇本身要走的路、制定計劃,併成爲你選擇的領域的專家(這張圖能夠幫助你制定計劃)。

寫代碼的時候太「花哨」

假設你在準備一個項目,這個項目多是給面試官看的,也多是你找到第一份工做後的第一個項目。你想給別人留下深入的印象。最好的方法是作什麼呢?用你學過的極其花哨的編碼技術來完成項目,對嗎?

錯了。

這是我犯過的一個重大錯誤,也是初級開發者常犯的錯誤。一般初級開發者會嘗試從新造輪子,或者試圖用一些複雜的解決方案來給人留下深入印象。

最好的方法是參照 K.I.S.S(「越簡單越好」)原則寫代碼。讓一切都儘量簡單,你就能夠寫出可讀性強、可維護性高的代碼,這會帶來不少好處(在你以後繼任的開發者會很欣賞這樣的代碼!)。

生活比代碼和工做更重要

我早期還有一個壞習慣:沒有學會在生活和工做中切換。我會在一天工做結束後還把電腦帶回家,端坐好幾個小時來解決能夠留到次日的任務或漏洞。不出所料,這樣的習慣讓我精疲力盡。

我這樣作的部分緣由是我以爲要儘快完成全部的事情。但實際上,我本該意識到工做是一個持續的過程,它每每能夠在下一個工做日再繼續進行。重要的是要記得生命中還有別的須要關注的事情 —— 朋友、家庭以及興趣愛好。固然,若是你想夜以繼日地寫代碼,那固然能夠!但若是不怎麼享受這個過程,那你能夠考慮停下來作一些其餘事。

明日何其多!

不敢說「我不知道」

在你要完成的問題或任務上遇到困難是很常見的,它會常常發生,即使你成爲高級開發者也是如此。做初級開發者時我犯的錯誤是:我不肯意認可「我不知道」。若是管理者問了一個我不太清楚的問題,我會糊弄一個答案,而不是直接說**「我不知道」**。

我以爲若是說「我不知道」,人們就會以爲我不知道本身在作什麼。但事實並不是如此。沒有什麼都知道的人。因此若是有人問了你不知道答案的問題,直說就好。這樣作的好處是:

  • 你表現了你的坦誠,並且不會誤導提問的人

  • 若是有人向你解釋的話,你也會學到新的東西

  • 你直說本身不懂這個問題的話,會獲得別人的尊重。不是每一個人都敢認可本身的無知。

試圖進展太快

我相信你必定聽過「在學會跑以前你要先學會走」。沒有什麼領域比 web 開發更貼合這句話了。當你以初級開發者的身份得到第一份工做時,你會急於產出,立刻着手處理大型編碼任務。你甚至想到了如何快速晉升到下一級。

雖然有雄心壯志是很好的事,但現實是不少事情不會當即發生在初級開發者身上。當你剛開啓本身的職業生涯時,你可能要處理相對更小、更簡單的任務和錯誤。這可能不是什麼使人興奮的工做,但倒是必須經歷的過程。這可讓你快速上手並熟悉這個開發流程。其次,這個過程可讓你的團隊和你的上級更好地評估你做爲團隊一員的工做範圍,以及你的技能在團隊中處於什麼樣的位置。

我當時犯的錯誤是對處理小任務感到沮喪,並且這種沮喪的感受影響了個人工做。耐心點,盡你所能完成你要處理的每個任務,激動人心的工做隨後就來!

沒有加入任何社區,也沒有創建任何關係網絡

開發社區很棒。社區中總有人願意提供幫助、反饋,甚至是動力。成爲開發者是很難的,有時候可能會付出一些代價。你加入社區越早,就越容易渡過初級開發者的艱難時期。

參與也是一種很好的學習方式。你能夠爲開源項目作出貢獻,看別人是怎麼寫代碼的,還能夠看到開發者是如何協做完成一個項目的。這些技能你均可以應用在平常工做中,並且從長遠角度看,這會讓你成爲更好的開發者。

找到並加入你感興趣的社區 —— freeCodeCamp、CodeNewbies、100DaysOfCode 都不錯!你還能夠參加一些你所在城市的線下聚會。詳情見 meetup.com。

這也可讓你創建關係網。這個網絡基本是由你所在行業認識的一羣人組成的。爲何關係網很重要?假設你想跳槽,經過網絡,別人可能會推薦特定的職位給你,甚至可能向一些公司推薦你。這讓你在面試中有了堅實的優點,由於有人爲你擔保,這樣你就再也不只是「一疊簡歷中的一個名字」

感謝閱讀!


想得到初級開發者的最新指南和課程,能夠加入 www.chrisblakely.dev 的郵件列表!

若是發現譯文存在錯誤或其餘須要改進的地方,歡迎到 掘金翻譯計劃 對譯文進行修改並 PR,也可得到相應獎勵積分。文章開頭的 本文永久連接 即爲本文在 GitHub 上的 MarkDown 連接。


掘金翻譯計劃 是一個翻譯優質互聯網技術文章的社區,文章來源爲 掘金 上的英文分享文章。內容覆蓋 AndroidiOS前端後端區塊鏈產品設計人工智能等領域,想要查看更多優質譯文請持續關注 掘金翻譯計劃官方微博知乎專欄

相關文章
相關標籤/搜索