日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

程序员摸鱼指南:副业成就未来

發(fā)布時間:2023/11/23 综合教程 29 生活家
生活随笔 收集整理的這篇文章主要介紹了 程序员摸鱼指南:副业成就未来 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

導(dǎo)讀:你可知道,大名鼎鼎的 eBay 在當(dāng)年就是由副業(yè)項目發(fā)展壯大起來的。今天,摸魚大神 Zed A. Shaw 給我們娓娓道來他的摸魚經(jīng)驗,要知道,他在上班期間就摸了好多魚,不僅開發(fā)了網(wǎng)站,還在業(yè)余時間寫了一套叢書。 另外副業(yè)也是你對抗貪婪企業(yè)的主要手段 。

  這是一則關(guān)于 eBay 的 Java 企業(yè)版程序員的故事。

  eBay 剛成立的時候,Java 正如日中天。彼時,每個人都在用 Java 編程。如果你是一名真正的程序員,那么你所做的一切都是基于 Java。我之所以知道這一點,是因為我曾被卷入到一個無休止的、可怕的 Java 項目中。直到 2008 年銀行倒閉潮,這個糟糕的 Java 項目才隨之而去。

  2008 年銀行的倒閉潮確實對 Java 企業(yè)版帶來了毀滅性的打擊,該事件最終還扼殺掉了Sun(2009 年被 Oracle 公司收購,Java 是 Sun 在 1995 年 5 月正式發(fā)布的產(chǎn)品)。在 2008 年,Sun 大約 40~50% 的資金來自運行 Java 的各個銀行。當(dāng)銀行因為抵押貸款欺詐而倒閉時,Sun 的一大筆收入幾乎在一夜之間蒸發(fā)殆盡。隨著較小的銀行被并入其余三家較大的銀行,對 Sun 的合同義務(wù)也隨即被取消了。

  還有一種形式的 “罪惡關(guān)聯(lián)” ,因為 Java 與僵化的舊系統(tǒng)聯(lián)系在一起,這些舊系統(tǒng)無法以足夠快的速度做出改變,以至于未能在 2008 年的崩潰事件中幸存下來。要問我怎么知道的,那是因為我曾在 Bear Stearns(貝爾斯登公司,成立于 1923 年的美國第五大投資銀行與主要證劵交易公司之一)一個僵化的 Java 系統(tǒng)上工作過,親眼見證了整個崩潰的過程。

  要不是因為 Android,Java 這門語言早就在 2008 年悲慘地消亡了。這就是我為什么一直說 “企業(yè)版” 的原因,因為這個版本的 Java 比較特殊,從那時起,大多數(shù)程序員都很討厭這個版本。這種怪異的、無限的、迂回的、晦澀的代碼,似乎是為了讓企業(yè)程序員保住飯碗才存在的。我至今還記得那些令人討厭的 “老胡子” Java 程序員,如果你沒有把所有的東西都封包在AbstractFactoryIndirectFactoryFactory中,他們就會辱罵你、騷擾你。

  這種使用錯綜復(fù)雜、晦澀難解的代碼寫法,因其充滿AbstractFactory特征,確實起到了將新人排除在行業(yè)之外的壁壘作用,同時也保住了程序員的飯碗。

  你不能解雇那些 Java 企業(yè)版程序員,因為只有他們才懂那些令人難以置信的晦澀代碼,每年一次的 Bug 修復(fù)還得靠他們,而且這 Bug 還有一個詭異之處:每次在他們應(yīng)該得到獎金的時候就會出現(xiàn)。你不得不一年又一年地支付 8000 人的工資,而他們上班所做的事基本就是:坐在那里,看著一堆 Java 虛擬機無所事事,否則有一天(就在要發(fā)獎金之前),這些虛擬機就會崩潰,到那時你就找不到人來修復(fù)它們了。

  這些企業(yè)版 Java 程序員存在的問題是,一旦公司倒閉,你就需要找到一份新工作。你可能會認為,2008 年那場崩潰事件會給這些程序員上一課,但他們根本就沒有吸取教訓(xùn)。你可能還會以為,他們已經(jīng)意識到?jīng)]有一份工作是安全的,他們需要掌握第二門編程語言,并有大量替代項目,以防萬一因公司倒閉而失業(yè)。

  eBay 的程序員就是一個很好的例子。

  eBay 大裁員

  我曾用過幾次 eBay,即使到了 2014 年,它的用戶界面仍然是恐龍級老古董。當(dāng)用戶結(jié)賬時,它會把<iframe>標(biāo)簽注入到自己的服務(wù)中,顯示比如發(fā)票之類的簡單內(nèi)容。這種做法在某些地方用用還是可以的,但在 eBay 上,到處都是這些<iframe>“蟑螂” 。Paypal(當(dāng)時為 eBay 所有)差不多也是這樣的情況,到處都是糟糕的用戶界面、陳舊的基礎(chǔ)設(shè)施。

  這些糟糕的用戶界面萬年不變,原因在于它是企業(yè)版 Java 程序員及其工作的保護代碼。為了保住飯碗,他們創(chuàng)建了在沒有他們幫助的情況下很難更改的系統(tǒng)。但這是一把雙刃劍,這一策略也使得他們自己難以更改代碼,所以當(dāng)公司要求他們讓網(wǎng)站的風(fēng)格看上去更 “現(xiàn)代化” 一些時,他們會聲稱: “這是不可能的任務(wù)。” 你可能會問他們,是否可以只使用諸如 bootstrap 之類的東西,企業(yè)版 Java 程序員就會看著他們的老古董 Java 代碼,用手工編碼的 HTML 代碼嵌入到FactoryFactoryImplInterface中,然后說: “不,那是不可能的。”

  然而,這種 “不可能” 被證明是一個謊言。最終,PayPal 獨立出來了,用戶界面突然開始改善。PayPal 與 eBay 原本共享同一批程序員,但在分拆之后,他們解雇了那些老氣橫秋的企業(yè)版 Java 程序員,并雇傭了一些更好的用戶界面設(shè)計人員來改進應(yīng)用。PayPal 之所以要這樣做,是因為面臨 Stripe 的競爭,后者憑借漂亮的用戶界面和文檔占據(jù)了開發(fā)商市場。

  在 PayPal 給你展示了這個所謂 “不可能” 的代碼其實可以改進之后,這事兒在 eBay 內(nèi)部引發(fā)了一場戰(zhàn)爭,最終,eBay 解雇了大約 3000 名企業(yè)版 Java 程序員。官方雖然沒有給出數(shù)字,但我從內(nèi)部得到的信息是,有 3000~8000 名左右的企業(yè)版 Java 程序員被炒了魷魚,因為 CTO 想找別人來改進公司。

  只要你去看看 2008 年以來的許多銀行,你會發(fā)現(xiàn)總有一些由程序員控制的僵化技術(shù),他們認為保持僵化就可以保住飯碗。這種態(tài)度的諷刺之處在于,這種頑冥不化最終會毀了公司,從而讓他們丟掉工作,而且也讓他們以后很難找到工作。

  eBay 程序員就是這種惡果的極好例證。他們中的許多人甚至無法切換到 Android 開發(fā)。我知道有很多人轉(zhuǎn)而從事與編程無關(guān)的工作,或者干脆退休。他們中的大多數(shù)人在 eBay 工作了幾十年,沒有其他成就,也沒有能力學(xué)習(xí)任何新的編程語言。他們沒有潛在的副業(yè)可做,沒有額外的技能可供展示,也沒有辦法解釋他們是如何花了 20 年時間來維持AbstractInterfaceImpl<iframe>虛擬機的運行。

  真相

  很多人會告訴你:不要在家里用額外的時間來寫代碼,他們試圖把這種觀點看作是無產(chǎn)階級對晚期資本主義機器的某種反抗。我出生在一個非常貧窮的家庭,我可以告訴你,這些人沒有一個是真正貧窮的。那些真正貧窮的人想要工作,他們知道有可能會在一瞬間失去一切,所以,他們會盡其所能繼續(xù)工作。工作并不可恥,也不是失敗的標(biāo)志。

  但凡讓你少工作的人都不是你的朋友。對于任何想賺更多錢而感到羞恥的人也是如此。通常情況下,這號人一般都有家庭或配偶罩著。如果他們突然失去了工作,他們還有第二學(xué)位,而編程技能只不過是通往其他工作的一塊小小的踏腳石;或者他們只是在妄想,認為自己會永遠擁有輕松的工作。他們的經(jīng)歷和你我完全不同,所以,如果你需要工作,并且你還想繼續(xù)從事程序員這份職業(yè) ,那么你絕對應(yīng)該離那些在一家公司只學(xué)習(xí)一門編程語言的人遠點兒。

  事實上,做副業(yè)就是你對抗公司貪婪的主要手段。要利用一個擁有選擇權(quán)的人很難,根據(jù)我的經(jīng)驗,工作之余從事一些額外項目,給我?guī)淼暮锰幈热魏喂ぷ鞫家嗟枚唷N铱梢杂邪盐盏卣f,我在職業(yè)生涯中所學(xué)到的一切都是從我的個人項目中學(xué)到的,而不是從我從事的工作中學(xué)到的。我還可以說,我在編程中最大的樂趣和享受,就是從事我自己的項目。

  因此,我將給你列舉一些理由,來說明副業(yè)對任何經(jīng)驗水平的程序員都是有好處的。

  真相 0: 副業(yè)意味著自由

  時至今日,仍然有一大群程序員還天真地認為從事副業(yè)是一種壓迫。但事實是,副業(yè)給了你選擇權(quán),而擁有選擇權(quán)就意味著自由。如果副業(yè)是用另一種編程語言完成的,當(dāng)你用新語言找到更好的職位時,你就可以選擇離開。你也可以把這些副業(yè)轉(zhuǎn)化為你自己的新業(yè)務(wù)。

  如果你所做的全部工作就是處理公司的代碼,那么你實際上就會陷入他們特定的代碼品牌和做事方式中。除非那家公司是 Facebook、Apple、Amazon、Netflix、Google 等科技巨擘之一,否則,在找新工作時,你的經(jīng)驗在很多方面都會對你不利。

  你工作的公司就喜歡這樣的,因為他們知道你永遠不會跳槽,因為你已經(jīng)沒有新技術(shù)的經(jīng)驗,而且新技術(shù)學(xué)習(xí)起來非常困難。你將只需坐在那里看護 JVM,而不是試圖找一份依靠 Go 編程語言的新工作,因為學(xué)習(xí) Go 非常難。

  你不應(yīng)該把副業(yè)看成是不情愿的事兒,這樣,一旦公司倒閉后,你還能找到新工作。你應(yīng)該將它看作是通過培訓(xùn)和學(xué)習(xí)讓你有更多的選擇余地,這樣你就可以更自由地找到一份新工作。

  真相 1:你永遠不會得到加薪

  公司永遠不會給程序員與他們影響力相匹配的工資。你每年可能會得到 2% 的加薪,這還趕不上貨幣的通脹率。當(dāng)然你也可能會得到一點點獎金。但與此同時,你的代碼卻是你的公司賺取數(shù)十億美元乃至數(shù)萬億美元的主要原因。你也許會得到一些股票期權(quán),這大概是你得到加薪的唯一途徑,永遠。

  這個行業(yè)經(jīng)常需要新的人才,所以加薪的最簡單方法就是換一位工作。換工作可以讓你因為做同樣的事情而得到增長 20% 到 100% 的報酬。

  如果你認為你的老板會把你的最大利益放在心上,那么你就是在妄想。他們只想從你身上得到最大的回報,同時又能給你盡可能少的報酬。你也應(yīng)該采取相應(yīng)的行動,保持掌握你的技能,并找到你所能找到的、最好的工作。有一個好方法可以讓你的選擇留有余地,那就是你有公開可用的副業(yè)項目。

  真相 2:新語言薪水更多

  將工作換到一種新的熱門編程語言是提高工資的有效方法。如果你堅持讓古老代碼正常工作,你就別想能夠跳槽到薪水更高的職位。你需要證明你可以用 Go、Rust、Nim、Zig 或其他熱門編程語言來編寫代碼。公司雇傭你就是為了讓你能夠開發(fā)一些東西,通過在副業(yè)項目中使用新技術(shù)開發(fā)東西,而你可以很容易證明這一點。

  真相 3:你從未接受過培訓(xùn)

  如果一門語言是新的,那么你該如何獲得這份工作呢?最近有一則新聞?wù)fIBM 想招聘在 Kubernetes 上具有 12 年工作經(jīng)驗的程序員,要知道 Kubernetes 誕生才 6 年,但要求有一定的工作經(jīng)驗實際上是非常普遍。那你該如何獲得新技術(shù)方面的經(jīng)驗?zāi)兀看鸢妇褪牵焊睒I(yè)項目。

  公司知道,如果他們在新技術(shù)方面提供培訓(xùn),員工學(xué)成后就會選擇離開。當(dāng)你的代碼是該公司市值達到一萬億美元的原因時,你為什么還不離開一家拒絕給你加薪的公司呢?

  在工作中,你會因為試圖使用任何新技術(shù)而被指責(zé)為 “特立獨行” ,哪怕這項技術(shù)在性能上是一個巨大的飛躍,并被 Google 或 Facebook 使用。

  所以,獲得新技術(shù)唯一途徑就是自己培訓(xùn)自己,而在編程方面唯一有效的培訓(xùn)就是去構(gòu)建東西。人們付錢給你不是為了讓你知道 Haskell 中的 Monad 是如何工作的,而是為了讓你用 Haskell 中的 Monad 來構(gòu)建東西。所以,如果你從來沒有構(gòu)建過什么東西的話,那他們怎么相信你能真正做出他們需要的東西呢?

  真相 4:你永遠得不到認可

  你永遠不會因為你的工作而收到任何實質(zhì)形式的“致謝”。你只不過是機器上的一個小小齒輪,沒有直接證據(jù)可以證明你在大多數(shù)公司做過什么。如果在 eBay 只用iframe完成所有的工作,找新工作時就只得撒謊了。但是在副業(yè)項目上使用一門新的編程語言,可以表明你實際上是能勝任的。

  除非電影風(fēng)格的致謝名單成為編程的規(guī)范之前,你還得需要副業(yè)項目來展示你的技能。

  真相 5:你不懂 Java

  你可能會感到奇怪,為什么 eBay 的 Java 程序員不能直接去做另一個 Java 工作呢?為什么不直接進入 Android 開發(fā)領(lǐng)域呢?那是因為他們實際并不懂 Java,他們懂的只是eBay Enterprise Java

  程序員都有一種錯覺,認為自己在公司里所使用的語言是 “標(biāo)準(zhǔn)” 的,然而事實并非如此。你對這種語言的使用是非常特殊的,并且還是為這家公司量身定做的,它基于錯綜復(fù)雜的歷史,這使得它與其他人對這門語言的使用相比,顯得很奇怪(因為其他人也都認為自己對這種語言的使用是標(biāo)準(zhǔn)的)。

  要打破這種錯覺(并使自己保持清醒)的唯一方法,就是在公司代碼庫之外,用完全不同的編程語言做一個副業(yè)項目。這將幫助你在未來找到新工作,因為從外部經(jīng)驗來看,你更符合新的編程趨勢。

  如果僅在eBay Java上編程,就意味著你將只能在eBay Java上工作。行業(yè)變化是很快的,新工作緊跟潮流,所以當(dāng)你需要或想要一份新工作的時候,你需要做的是:緊跟趨勢。

  真相 6:MBA 喜歡齒輪

  鑒于編程工作的創(chuàng)造性,許多公司的工作環(huán)境對程序員來說是令人難以置信的壓抑。當(dāng)你在一家公司工作時,你將被迫使用他們認為你應(yīng)該使用的工具,而不是最適合你的工具。如果這家公司采用 Eclipse 和 Java,那么你將使用他們特有的 Eclipse 品牌。要是他們使用 WebStorm,那你也將會使用 WebStorm。如果你使用了任何不同的東西,等待你的就是不斷的嘲笑和騷擾。許多編程環(huán)境對程序員的效率和技能來說,都是壓迫性的虐待和威脅,而他們希望通過這樣的方式,讓程序員隨時可以被替代。

  那些 MBA 們喜歡整齊劃一的齒輪,讓他們可以隨時更換,他們并不認為你是一個有創(chuàng)造力的人。你只不過是一臺機器,他們將模糊的句子灌輸進去,然后期望后端能生產(chǎn)出可靠的軟件。任何不夠通用的東西,都會被視為對企業(yè)的冒犯而被關(guān)閉。如果你重視自己心智的健全,你就會花一些空暇時間做一些你喜歡的事情。

  真相 7:不管公平與否,只是一場表演而已

  很多人認為公司在招聘之前要求查看他們作品是不公平的。他們覺得,有些公司竟然還敢要求他們證明自己會編程,認為這很令人反感:編程可不是表演藝術(shù)!

  而現(xiàn)實是,編程確實已經(jīng)成為一種表演藝術(shù)。你必須展示你的工作,參與團隊協(xié)作,提交代碼審查。你必須將想法寫在白板上,并談?wù)撃阆胍龅氖虑椤D惚仨殔⒓訒h,將你的東西兜售給其他人。

  但是,那些能用副業(yè)項目來證明自己確實能寫代碼的人,他們同時對其他任何形式的行業(yè)表演都沒有問題。他們管理著一個精心策劃的 LinkedIn、Instagram 和 Twitter 賬戶,這些社交網(wǎng)站支持他們展示在開發(fā)方面的杰出工作,每年在 30 個會議上發(fā)表演講,還拍了一些夢幻般的專業(yè)照片……

  事實上,你的副業(yè)項目已經(jīng)證明你可以勝任這項工作,而且可以獨立完成。現(xiàn)在編程是表演性質(zhì)的,這很令人討厭,但我們必須接受。

  真相 8:你可以隨處使用代碼

  你不一定非要寫老板讓你編寫的代碼。你可以去做任何你想做的事,那么為什么不去編寫能改善你生活的代碼呢?如果你所有的編程經(jīng)驗僅僅是你在公司所做的工作,那么很顯然你會討厭它的。

  如果你回家后,做一些你感興趣或者對你生活有直接影響的事,那么這就是學(xué)習(xí)編程的力量來源。我能理解為什么有些程序員新手認為編程只是他們的第一份工作中要做的事情,但實際上,它遠不止這些。當(dāng)你掌握了這項技能,你甚至可以讓你的生活實現(xiàn)自動化。

  我用代碼研究新的音樂理論,將枯燥的稅收工作自動化,為親朋好友搭建商業(yè)網(wǎng)站,還創(chuàng)建了我的整個網(wǎng)絡(luò)業(yè)務(wù),這些最初只是我的一個副業(yè)。副業(yè)給我了行動和旅行的自由,讓我不再懼怕冒險。它們成為了我抵御糟糕的經(jīng)濟、糟糕的老板、糟糕的公司以及全球大瘟疫的安全網(wǎng)。我有信心,我可以在任何地方工作,我可以證明我可以在任何地方做任何事。

  當(dāng)然了,下班后寫代碼并不是必須的,但如果你想在你的職業(yè)生涯中能有所選擇,并且充分利用這項技能,那么我強烈建議你這樣做。

  真相 9:你擁有生產(chǎn)資料

  那些哀嘆不得不從事副業(yè)的人,沒有意識到編程能力就是你的生產(chǎn)資料。現(xiàn)在,你幾乎可以不花一分美元就能開展線上業(yè)務(wù)。很多服務(wù)都是免費開始的,甚至不需要招聘一位額外的程序員就可以啟動項目。

  作為程序員,你自己就擁有終極工具,可以無成本的開創(chuàng)自己的新事業(yè)。你可以設(shè)置自己的虛擬主機,注冊你的公司,創(chuàng)建你的域名,甚至可以使用btcpayserver之類的東西來接收你的比特幣。你也可以做顧問,在你所在的地區(qū)提供編程服務(wù),幫助小微企業(yè)等等。

  真相 10:時間不夠

  我能理解那些有孩子、家庭的人可能沒有時間,但是,絕大多數(shù)抱怨自己沒有時間做副業(yè)的人顯然是有時間的。我想起一個人,他每天發(fā)布大約 200 條推文,但就是 “沒有時間做副業(yè)” 。

  我建議,如果你認為自己沒有時間,就每半個小時記錄一次,連續(xù)兩周,看看你把時間都花在哪里了。老實說,如果你不去干一些傻事,你就會發(fā)現(xiàn)自己實際有大把大把的時間。

  結(jié)論

  我非常喜歡做那些最終能讓自己感到快樂的事情。如果不得不在家里從事副業(yè),讓你感到悲傷和憤怒,我勸你還是別做了。找點別的事情來打發(fā)你的時間吧。但是,如果你想在這個行業(yè)擁有長久的職業(yè)生涯和最終的自由,那么你就必須接納這份工作的表演性質(zhì),并在業(yè)余時間獨立工作。老實說,副業(yè)項目就是確保你不會因為悲劇性的事件而失業(yè)的唯一方法,而且,副業(yè)也是編程中真正樂趣所在。

  作者介紹:

  Zed A. Shaw,由 Addison/Wesley 出版的《 “笨辦法” 學(xué)……》系列叢書(The Hard Way Series)的作者,包括《 “笨辦法” 學(xué) Python》(Learn Python The Hard Way)等等。

  原文鏈接:

  https://learnjsthehardway.com/blog/07-your-side-projects-are-your-future

總結(jié)

以上是生活随笔為你收集整理的程序员摸鱼指南:副业成就未来的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。