職業精進的最佳方式是跳槽,技術棧到底重不重要?10 年經驗工程師酒後吐真言

當你成爲行業資深人士時,你願意給後輩提供一些經驗嗎?最近,一位有着 10 年經驗的資深工程師在醉酒後洋洋灑灑寫了三千多字,涉及技術、遠程工做、職業發展、工做與生活等。正所謂「酒後吐真言」,咱們來看 ta 說了些什麼吧。前端

  • 我推動職業生涯的最好方式是換公司。
  • 技術棧並不重要,由於在我所在的領域中有大約 15 種基本的軟件工程模式能夠應用。我從事數據工做,這與 webdev 或嵌入式開發不一樣,但全部領域都有大約 10-20 個核心原則,技術棧只是試圖讓事情更容易而已,因此不要爲此煩惱。
  • 人們推薦換工做是有緣由的。若是我對一份工做不滿意,多是時候 move on 了。
  • 我在以前待過的公司裏結交了一些終生的好朋友,但我對公司並無這樣的要求。我在沒有和同事創建友誼的地方工做有過很是開心的經歷,在交到好朋友的公司也有過不開心的經歷。
  • 我學會了對個人經理誠實。不是徹底誠實,但在工做中儘可能作到真實。能發生什麼更糟糕的狀況呢?被解僱?不要緊,我能在兩週內找到一份新工做。
  • 若是每一個季度中,我在凌晨 2 點被緊急喊醒的次數超過一次,那麼這意味着出大問題了。我要麼解決它,要麼退出。
  • 優秀經理的品質與優秀工程師有許多共通之處。
  • 最開始的時候,我迷戀技術、編程和計算機科學。而如今,我受夠了。
  • 好的代碼是初級工程師也能理解的代碼;優秀的代碼,連 CS 大一新生都能看懂;而最好的代碼是徹底沒有代碼。
  • 工程師最被低估的技能是如何寫文檔。有人請教我怎麼寫好文檔,講真,若是真的有好的推薦,我會支付課程費用(哪怕須要花不少錢,只要保證我能寫好文件)。
  • 和上一條相似,寫好修改提案是一大技能。
  • 幾乎全部的 battle(vim vs emacs、mac vs linux 等)都可有可無,除了……
  • 年齡越大,我越欣賞動態語言。
  • 若是我發現本身是房間裏最聰明的人,那麼是時候離開了。
  • 我不知道爲何 Web 全棧開發者的工資這麼低,他們應該獲得 50 萬基本年薪。全棧開發者必須瞭解前端和後端、不一樣的瀏覽器如何工做、網絡和數據庫、緩存、web 和移動端的差別,甚至公司想使用的另外一個框架…… 因此爲何 web 開發者的工資這麼低?
  • 咱們應該僱傭更多的實習生,他們很棒。那些精力充沛的小傢伙有不少奇思妙想,若是他們可以質疑或提出批評就更好了。我喜歡實習生。
  • 不要去見你的偶像。我花了 5000 美圓參加個人一位偶像的課程。他很聰明耀眼,但最終我意識到他是在編故事,他和咱們其餘人同樣。
  • 技術棧很重要。我剛纔說技術棧不重要,但實際上當你聽到 Python dev vs C++ dev 時,你想的東西確定不同。那是由於某些工具確實很擅長執行某些工做。若是不肯定本身想作什麼,就寫 Java。這種編程語言幾乎什麼都擅長。
  • 有史以來最偉大的編程語言是 lisp,我應該學 lisp。
  • 對於初學者來講,最賺錢的編程語言是 SQL。即便只懂 SQL,別的什麼都不懂,你也能夠賺到錢。薪酬專員?薪資大概 5 萬吧。懂 SQL 的薪酬專員?9 萬!大公司有組織能力的普通人?4 萬美圓。有組織能力又會 SQL 的人?請稱呼本身爲 PM,薪資 15 萬美圓。
  • Tests are important but TDD is a damn cult.
  • 測試很重要,但 TDD(測試驅動開發)是該死的邪教。
  • 輕鬆的政府工做並不像人們所說的那樣,至少對職業生涯早期到中期的工程師來講是這樣。固然,12 萬美圓薪資還有養老金聽起來不錯,但你將出賣本身的靈魂去研究機密的專有技術。我很尊重政府工做人員,但說真的,這些地方工程師的平均年齡 50 歲以上是有緣由的。此建議不適用於政府承包商。
  • 第三方招聘者是水蛭同樣的存在。但若是遇到了好的第三方,就認真打好關係,他們能夠幫助你的事業發展。
  • 期權要麼不值錢,要麼能讓你成爲百萬富翁。除非工程人員超過 100 人,不然期權可能毫無價值。
  • 在家工做就是最好的,可是缺乏白板很糟糕。
  • 我歷來沒有在 FAANG 這幾家大公司工做過,因此我無從得知本身錯過了什麼。可是我僱傭過從 FAANG 出來的工程師,他們也不知道本身在作什麼。
  • 個人自我價值與總薪酬無關,資本不是肯定自我價值的好方法。
  • 經理的權力比你想象的少。若是你想知道,爲何某某經理不解僱某人,那是由於他們不能。
  • 頭銜大多不重要。你作了什麼,完成了什麼,這纔是人們關心的。
  • 善待每一個人。不是由於他們能幫助你的事業,而是由於善良自己就是有回報的。
  • 若是我在過去一個月中沒有從初級工程師或實習生那裏學到什麼,那是由於我沒有注意到而已。
  • 支付課程、書籍、會議費用是值得的。我參加過幾回會議,參加過幾回付費課程,讀過不少書。很值得,我能夠更好地僞裝本身在作着什麼。
  • 腕管和背部問題不是鬧着玩的,如今快花錢買好裝備。
  • 你知道作軟件工程師最大的好處是什麼嗎?能夠和與你想法同樣的人見面聊天。不必定是對體育和電視節目有同樣的興趣,而是他們看待問題的方式和你同樣。那很酷。
  • 科技領域的女性不夠多。多麼糟糕的行業,這須要改變。我一直試圖給咱們組織中的女性工程師更多鼓勵和幫助,但我不知道本身還能作什麼。
  • 黑人工程師也同樣。
  • 我從未真正討厭一種語言或技術,直到我開始熟悉它。此外,即便我討厭一項技術,但只要我認爲它是好的,我仍會向客戶推薦它。
  • git 很糟糕,但我別無選擇只能使用它,還有 GUI git 工具。
  • 因爲我從事數據工做,我將給出一個數據相關的經驗教訓——該死的 pandas。
  • 個人工做更容易,由於團隊中有半技術分析師。半技術性,表示他們懂編程但不懂軟件工程。這是一件幸事,由於若是有些東西對他們來講沒有意義,那就意味着它可能設計得很差。我喜歡團隊中的分析師,他們比最傑出的工程師對個人幫助更大。
  • 暗黑模式很是好,除非你不得不使用 light 模式(如不支持暗黑模式的網頁或 app)。
  • 我對安全足夠了解,而後發現我對安全一無所知。
  • 成爲一名不錯的工程師意味着瞭解最佳實踐,而做爲一名高級工程師意味着知道什麼時候打破最佳實踐。
  • 若是人們試圖將責任歸咎於一個 bug 或中斷,那麼是時候 move on 了。
  • 不少前進中的公司,尤爲是創業公司,都在談論帶上「真實自我」。但若是真實的本身只想看色情片呢?健康的作法是在工做和我的生活之間樹立一個屏障。
  • 偉大領導力的最好證實是,當個人領導由於個人錯誤而受挫,我會爲她赴湯蹈火。
  • 一樣,我有幸共事過的最佳領導者盡最大努力倡導個人觀點,並跟我解釋與個人觀點相沖突的其餘觀點。我正在努力成爲他們那樣的人。
  • 去他媽的副業。若是你喜歡作,太好了!即便我有時間作兼職,我也會忙着在 reddit 網站寫醉醺醺的帖子。
  • 在某種程度上,算法和數據結構很重要。我沒看到藥劑師面試考有機化學,咱們行業的面試過程有問題。
  • 作本身喜歡的事不重要,作本身不討厭的事更重要。
  • 我離產品越近,我就越接近提升收益,此時不管個人工做技術性有多強,我都以爲本身更受重視。即便在成長性最強的公司中也是如此。
  • Linux 很重要。
  • 我學會了對「大數據」這類模棱兩可的流行語保持警戒。什麼是「大」數據?我在 Spark 和 Kafka 中處理過每 10 分鐘 10000 行的數據流,在 Python 和 MySQL 中進行過每小時 10 億行的批處理。那些標籤可去他媽的吧。
  • 不是全部的好工做都在硅谷,但不少都是。

關於編程語言

  • 我曾經很討厭一種編程語言 (C#),直到開始使用。如今我仍然討厭它,但認爲它仍是有用的。
  • 我開始討厭一種編程語言 (C#),以後離開又回來了。哇,那種編程語言真的進步了。
  • 函數式語言最偉大之處在於函數是最重要的,全部程序員都知道這一點。
    一門語言再偉大再優越,人們不使用也沒辦法。
  • 學習一門語言並不難,難的是學習生態系統。

關於同事

  • 結對編程很棒,只是要花不少時間,而公司一般不想花這些時間。
    與聰明的工程師一塊兒工做讓我成爲了更好的程序員,與聰明的非技術同事一塊兒工做讓我成爲了更好的工程師。
  • 不要在朝九晚五工做時間以外工做。除非你有一個很棒的項目,且你處於最佳狀態。那就太棒了。

關於在家工做

  • 若是公司一半員工遠程,一半坐班,那麼公司須要肯定遠程人員是否被視爲二等公民。若是重大決策是在「飲水機旁」作出的,那麼最好努力改變公司文化,或者跳槽到另外一家將遠程員工視爲頭等公民的公司。
  • 在家工做的第二大缺點是沒有白板。
  • 在家工做的最主要缺點是很難向同事學習。除非我自信、果斷地提出問題,而且公司文化承認遠程員工的價值等同於現場員工,不然我認爲最好在職業生涯的前 5 年坐班。

關於技術

  • 每一個人都知道技術一直在變化。過去 10 年中,技術格局發生了巨大變化。可是基本面變化不大,尤爲是適用於我這個領域的基本面。
    -Hacker news 和 - /r/programming 只對獲取通常想法和跟進最新新聞有用,評論幾乎一文不值。
  • 不少業餘愛好者對技術有很強的看法,甚至在「體面的」雜誌和博客上發表文章。我須要分辨它們的價值。

關於數據工程

  • 我是一名數據工程師,因此我能夠給出更具體的、有針對性的建議 / 經驗。
  • SQL 纔是王道。像 MySQL、Postgres、Oracle、SQL Server、SQLite 這樣的數據庫依然很棒。即便你使用新技術工做,大部分技術仍是會遷移。
  • 大多數公司不作流媒體,這很難也很複雜。若是你工做 10 年,還不知道如何處理每秒 10k 記錄,別擔憂,你仍然能找到適合的工做。
  • Airflow 就是垃圾。
  • 機器學習項目極易失敗,它們既複雜又難以實現。
  • 咱們的領域是新的。數據工程沒有好書,去「作」就好。

關於生活

  • 人們都會死去。你但願你的代碼成爲遺產嗎?若是是的話,那就花不少時間在這上面,由於那是你的遺產!可是若是你像我同樣,不但願代碼成爲遺產,那麼不要太在乎。
  • 好人也寫爛代碼,聰明人也寫爛代碼,好的程序員和工程師也寫爛代碼。不要讓代碼質量成爲你自身價值的因變量。
  • 我喜歡技術和編程,由於技術是個人愛好。如今個人愛好就是工做,而工做毀了個人愛好。如今若是我想享受技術,就須要放棄愛好。或者我須要肯定技術再也不是個人愛好,並找到新的愛好。

其餘

  • 多年來,我構建了供多個團隊和人員使用的大型平臺和庫。然而出於某種緣由,我最引覺得豪的代碼是我使用的小腳本。
  • 我找工做時,建立了 Linkedin 主頁。但收到了亂七八糟的回覆,就刪了。如今我用 Linkedin 尋找其餘候選人加入個人公司。一句話,Linkedin 就是一大堆噪音。我以爲它有價值的緣由只是,如今個人部分工做就是製造噪音。
  • 我變成了本身討厭的人:在職業生涯中從事技術工做,但在現實生活中迴避技術。也許這是由於年紀大了。
  • /r/ExperiencedDevs 是一個很是酷的社區。

參考連接:https://old.reddit.com/r/Expe...linux

相關文章
相關標籤/搜索