美國最大的論壇 Reddit,最近有一個熱帖。
一個程式設計師說自己喝醉了,軟體工程師已經當了10年,心裡有好多話想說,"我可能會後悔今天說了這些話。"
他洋洋灑灑寫了一大堆,獲得9700多個贊。內容很有意思,值得一讀,下面是節選。
(1)職業發展的最好方法是換公司。
(2)技術棧不重要。技術領域有大約 10-20 條核心原則,重要的是這些原則,技術棧只是落實它們的方法。你如果不熟悉某個技術棧,不需要過度擔心。
(3)工作和人際關係是兩回事。有一些公司,我交到了好朋友,但是工作得並不開心;另一些公司,我沒有與任何同事建立友誼,但是工作得很開心。
(4)我總是對經理實話實說。怕什麼?他開除我?我會在兩週內找到一份新工作。
(5)如果一家公司的工程師超過 100 人,它的期權可能在未來十年內變得很有價值。對於工程師人數很少的公司,期權一般都是毫無價值。
(6)好的程式碼是初級工程師可以理解的程式碼。偉大的程式碼可以被第一年的 CS 專業的新生理解。
(7)作為一名工程師,最被低估的技能是記錄。說真的,如果有人可以教我怎麼寫文件,我會付錢,也許是 1000 美元。
(8)網上的口水戰,幾乎都無關緊要,別去參與。
(9)如果我發現自己是公司裡面最厲害的工程師,那就該離開了。
(10)我們應該僱傭更多的實習生,他們很棒。那些精力充沛的小傢伙用他們的想法亂搞。如果他們公開質疑或批評某事,那就更好了。我喜歡實習生。
(11)技術棧很重要。如果你使用 Python 或 C++ 語言,就會忍不住想做一些非常不同的事情。因為某些工具確實擅長某些工作。
(12)如果你不確定自己想做什麼東西,請使用 Java。這是一種糟糕的程式語言,但幾乎無所不能。
(13)對於初學者來說,最賺錢的程式語言是 SQL,幹翻所有其他語言。你只瞭解 SQL 而不會做其他事情,照樣賺錢。人力資源專家的年薪?也許5萬美元。懂 SQL 的人力資源專家?9萬美元。
(14)測試很重要,但 TDD (測試驅動的開發)幾乎變成了一個邪教。
(15) 政府單位很輕鬆,但並不像人們說的那樣好。對於職業生涯早期到中期的工程師,12 萬美元的年薪 + 各種福利 + 養老金聽起來不錯,但是你將被禁錮在深奧的專用工具裡面,離開政府單位以後,這些知識就沒用了。我非常尊重政府工作人員,但說真的,這些地方的工程師,年齡中位數在 50 歲以上是有原因的。
(16)再倒一杯酒。
(17)大多數頭銜都無關緊要,隨便什麼公司都可以有首席工程師。
(18)手腕和背部的健康問題可不是開玩笑的,好的裝置值得花錢。
(19)當一個軟體工程師,最好的事情是什麼?你可以結識很多想法相同的人,大家互相交流,不一定有相同的興趣,但是對方會用跟你相同的方式思考問題,這很酷。
(20)有些技術太流行,我不得不用它。我心裡就會很討厭這種技術,但會把它推薦給客戶,比如我恨 Jenkins,但把它推薦給新客戶,我不覺得做錯了。
(21)成為一名優秀的工程師意味著瞭解最佳實踐,成為高階工程師意味著知道何時打破最佳實踐。
(22)發生事故時,如果周圍的人試圖將責任歸咎於外部錯誤或底層服務中斷,那麼是時候離開這家公司,繼續前進了。
(23)我遇到的最好的領導,同意我的一部分觀點,同時耐心跟我解釋,為什麼不同意我的另一部分觀點。我正在努力成為像他們一樣的人。
(24)演算法和資料結構確實重要,但不應該無限誇大,尤其是面試的時候。我沒見過藥劑師面試時,還要測試有機化學的細節。這個行業的面試過程有時候很糟糕。
(25)做自己喜歡的事情並不重要,不要讓我做討厭的事情更重要。
(26)越接近產品,就越接近推動收入增長。無論工作的技術性如何,只要它接近產品,我都感到越有價值。
(27)即使我平時用 Windows 工作,Linux 也很重要。為什麼?因為伺服器是 Linux 系統,你最終在 Linux 系統上工作。
(28)人死了以後,你想讓程式碼成為你的遺產嗎?如果是那樣,就花很多時間在程式碼上面吧,因為那是你的遺產。但是,如果你像我一樣,更看重與家人、朋友和生活中其他人相處的時光,而不是寫的程式碼,那就別對它太在意。
(29)我掙的錢還不錯,對此心存感激,但還是需要省錢。
(30)糟糕,我沒酒了。
(完)