自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

開源浪潮下程序員的職業(yè)規(guī)劃和成長(zhǎng)

開源
無論從年初開源社發(fā)布的《2020 中國(guó)開源年度報(bào)告》還是整體的大環(huán)境,不難看到中國(guó)的開源正在崛起,越來越多的來自中國(guó)的開源項(xiàng)目和開發(fā)者們正在走入大家的視野。在開源浪潮的大趨勢(shì)下,程序員又該如何規(guī)劃自己的職業(yè)以及個(gè)人成長(zhǎng)呢?

無論從年初開源社發(fā)布的《2020 中國(guó)開源年度報(bào)告》還是整體的大環(huán)境,不難看到中國(guó)的開源正在崛起,越來越多的來自中國(guó)的開源項(xiàng)目和開發(fā)者們正在走入大家的視野。在開源浪潮的大趨勢(shì)下,程序員又該如何規(guī)劃自己的職業(yè)以及個(gè)人成長(zhǎng)呢?

[[423253]]

今天在這里聊兩個(gè)項(xiàng)目,一個(gè)是 Apache APISIX,APISIX 是 Apache 基金會(huì)旗下的頂級(jí)開源項(xiàng)目。第二個(gè)項(xiàng)目是 ingress-nginx,它是 Kubernetes 整個(gè)生態(tài)圈里頭,除去 Kubernetes 自身以外使用頻率最高的軟件之一了。搞過 Kubernetes 的同學(xué)應(yīng)該基本上都用過這個(gè)項(xiàng)目。

今天我分享的內(nèi)容主要從四個(gè)方面來聊:

  • 開源的文化
  • 如何參與開源
  • 關(guān)于我的故事
  • 職業(yè)規(guī)劃相關(guān)的內(nèi)容
  • 了解開源文化
  • 自由軟件運(yùn)動(dòng)

提到開源文化,首先需要了解自由軟件運(yùn)動(dòng)。

圖右是被稱為自由軟件之父的斯托曼,他在 1983 年提出了 GNU 計(jì)劃。1984 年,斯托曼提出了 Copyleft 的概念,Copyleft 跟我們平時(shí)用到的版權(quán) Copyright 是相對(duì)應(yīng)的,它放棄了 Copyright 類似對(duì)版權(quán)的嚴(yán)格限制。

1985 年,斯托曼成立了自由軟件基金會(huì),目的是為了能夠讓自由軟件更好地發(fā)展。在當(dāng)時(shí),很多軟件都是專有軟件或者商用軟件,任何人使用這些軟件都是需要付費(fèi)的。斯托曼認(rèn)為隨著計(jì)算機(jī)的發(fā)展,如果商用軟件、付費(fèi)軟件掌握在極少數(shù)公司的情況下,那么我們將會(huì)逐步失去自由。因?yàn)楹芏嗌虡I(yè)軟件或者專用軟件都是由商業(yè)公司,或者是極少數(shù)的人掌握著,如果你依賴這些軟件,都必須依賴于其他人,你的命脈就掌握在了他們手中,就不可能獲得自由。

1989 年,出現(xiàn)了第一個(gè) GNU 的通用協(xié)議,叫做 GPL。

接下來,我們來看下在自由軟件運(yùn)動(dòng)之后發(fā)生了什么事情。想必大家都接觸過 Linux 操作系統(tǒng)。Linux 操作系統(tǒng)的創(chuàng)始人是林納斯·托瓦茲,他在 1991 年首次發(fā)布了 Linux 操作系統(tǒng),并且選擇了將它的源代碼直接發(fā)布到網(wǎng)絡(luò)上,供其他人去使用和分享。

在這個(gè)時(shí)候,斯托曼找到了林納斯。GNU 自由軟件基金會(huì)的主要目標(biāo)是希望能夠創(chuàng)建出所有人都可以使用的基礎(chǔ)軟件,包括操作系統(tǒng)。直到 1991 年 Linux 操作系統(tǒng)發(fā)布的時(shí)候,GNU 自由軟件基金會(huì)已經(jīng)完成了所有基礎(chǔ)類的自由軟件開發(fā),但是它沒完成最核心的操作系統(tǒng)的開發(fā)。所以,斯托曼找上了林納斯。結(jié)果我們都知道,Linux 操作系統(tǒng)的完整名字是 GNU/Linux。

開源協(xié)作與文化

聊完自由軟件運(yùn)動(dòng)、Linux 操作系統(tǒng),來看下我們現(xiàn)在所接觸到的開源協(xié)作和開源文化。

開放

在開源協(xié)作中,基本的理念就是開放。但很多人可能對(duì)此有誤解,認(rèn)為開放源代碼就等于開放,其實(shí)不然。源代碼的開放和真正的開放并不一樣。舉個(gè)簡(jiǎn)單的例子:MongoDB。

MongoDB 是一個(gè)文檔類型的數(shù)據(jù)庫。近幾年,MongoDB 修改了一次協(xié)議 SSPL,稱之為服務(wù)端公共許可證,協(xié)議更改之后有什么變化呢?它的協(xié)議規(guī)定任何一個(gè)云廠商,如果在云服務(wù)上使用了 MongoDB,就必須把在 MongoDB 之上所做的更改,包括管控端的源代碼都開源出來。

大家想一下這個(gè)事情可能嗎?

其實(shí)不可能,任何一個(gè)云廠商,它對(duì)所有基礎(chǔ)軟件,或者所有開源軟件的變更,都是它的核心,是它的命脈。所以說,MongoDB 這一次修改其實(shí)是帶有針對(duì)性的,它針對(duì)的是這些云廠商。在開源軟件的基本協(xié)定之下,這其實(shí)屬于不開放的協(xié)議。

再有就是前段時(shí)間,Elasticsearch 也宣布其使用 SSPL,這導(dǎo)致 AWS 基于之前 Apache 協(xié)議的代碼直接 fork 了一個(gè)版本,并稱之為 OpenSearch 。這也是對(duì)這種不開放的行為的一種應(yīng)對(duì)方式。

協(xié)同

開源文化當(dāng)中提到另外一點(diǎn),就是協(xié)作。Linux 操作系統(tǒng)為什么能夠獲得成功?因?yàn)?1991 年的時(shí)候林納斯發(fā)布了第一個(gè) Linux 的版本,把源代碼直接公開到了互聯(lián)網(wǎng)上,其他人可以直接下載源代碼,并且對(duì)這些源代碼進(jìn)行修改。

在 1991 年,林納斯發(fā)布完 Linux 第一個(gè)可供下載和使用的版本時(shí),其實(shí)自由軟件基金會(huì)旗下還有其他人也在寫給 GNU 使用的內(nèi)核,只是沒有 Linux 的完成度高。

為什么它沒有發(fā)展起來呢?因?yàn)樗怯晒潭ǖ膸讉€(gè)人在做這個(gè)事情,且僅有那么幾個(gè)人,只有它真正對(duì)外公開發(fā)布了一個(gè)版本,外界才會(huì)了解到。這里就不得不提到一種思想,那就是大教堂與集市。這是一個(gè)什么概念呢?

可以這樣理解,傳統(tǒng)的軟件開發(fā)過程像大家在修建一個(gè)大教堂一樣,只有極少數(shù)的精英工匠參與其中。而開源軟件提倡的開放和協(xié)同,主要指將軟件當(dāng)成一個(gè)大集市,每個(gè)人都是自由的,大家都可以互相協(xié)作,每個(gè)人貢獻(xiàn)自己的一份力量。有專門一本書,來闡述這些理念,就叫做《大教堂與集市》,感興趣可以看看。

開源軟件

聊完開源理念,我們最后來說說開源軟件。

開源軟件的前提是開放源代碼,這是必不可少的。另外,其實(shí)每個(gè)開源軟件都是有開源許可證的,剛才我們聊 MongoDB 的時(shí)候也提到了,它的許可證是不被認(rèn)可的。開源軟件核心價(jià)值觀就是不歧視、中立、開放。

目前國(guó)內(nèi)開源生態(tài)整體向好,有很多進(jìn)入開源軟件基金會(huì)的項(xiàng)目,無論是進(jìn)入 Apache 軟件基金會(huì),還是 CNCF,亦或 Linux 的基金會(huì)。其中有很多的項(xiàng)目例如 ApacheAPISIX 就是 Apache 基金會(huì)旗下的頂級(jí)開源項(xiàng)目,通過 Apache-2.0 License 進(jìn)行分發(fā),這是一種非常開放且友好的協(xié)議。

如何參與開源

很多人對(duì)于參與開源有一些誤解。有些人認(rèn)為,我在使用一個(gè)開源軟件,并且在它的 GitHub 上面提交了 issue,提交了 pull request 之類的,認(rèn)為就是在參與開源項(xiàng)目了。還有一些人認(rèn)為,我寫了一個(gè)軟件或者程序,我把它放在 GitHub 上面,代碼是公開的,認(rèn)為自己在做開源了。其實(shí)不然(盡管我們也認(rèn)可為開源項(xiàng)目所做的貢獻(xiàn))。

做開源的前提是基于你對(duì)開源文化的認(rèn)同。

開源文化的最主要是平等、中立、開放、一致、文檔優(yōu)先。一致是什么意思呢?意味著你的軟件在這個(gè)環(huán)境和在另外一個(gè)環(huán)境當(dāng)中產(chǎn)生的結(jié)果是一樣的。

那么如何選擇一個(gè)開源項(xiàng)目呢?

從我個(gè)人角度來講,首先一定是興趣使然的。我不會(huì)選擇一個(gè)自己并不太感興趣的項(xiàng)目去參與。因?yàn)檫@樣子是不可持續(xù)的。也有很多人問過我,參與開源你能收獲什么?為什么你愿意花費(fèi)那么多的時(shí)間和精力在這個(gè)事情上面?在參與開源項(xiàng)目的前期,或者很長(zhǎng)的一段時(shí)間,其實(shí)沒有任何收獲,尤其是物質(zhì)上的收獲一點(diǎn)都沒有。所以這也是我為什么提了一定是要自己感興趣的。

其次,持續(xù)投入非常重要。在一個(gè)開源項(xiàng)目中,如果你只是想起來了參與一下,而不是持續(xù)地投入,也不會(huì)有較高的價(jià)值產(chǎn)生。

最后,應(yīng)該選擇一個(gè)比較活躍的社區(qū)。如果項(xiàng)目的社區(qū)已經(jīng)非常的不活躍,你參與到這個(gè)項(xiàng)目當(dāng)中就很難。比如你提交 issue,提交 pull request,很少有人會(huì)給你對(duì)應(yīng)的回復(fù)。

這里我選取了三個(gè)項(xiàng)目做對(duì)比,ApacheAPISIX、Kong 和 tyk。目前可以看到活躍度最高的是 Apache APISIX,每天都有很多的開發(fā)者會(huì)參與到 Apache APISIX 的社區(qū)中,幫助別人解答問題,或者為 Apache APISIX 提交 PR 等,大家彼此都會(huì)在這么活躍的社區(qū)中成長(zhǎng)和收獲。

開源協(xié)作的中立也是一種很重要的價(jià)值觀。無論你是提交代碼,或者回復(fù)別人的 issue,這些我認(rèn)為是其次的。最重要的是應(yīng)該基于平等、尊重、中立的心態(tài)去參與到項(xiàng)目當(dāng)中。

我現(xiàn)在主要參與的是 Apache APISIX 當(dāng)中的一個(gè)子項(xiàng)目 APISIX ingress,還有一個(gè)是 Kubernetes ingress-nginx。這兩個(gè)項(xiàng)目都是 Kubernetes controller 的項(xiàng)目,做的事情是類似的,但是參與開源項(xiàng)目過程中,我始終保持著中立的態(tài)度,而不會(huì)因?yàn)槲以谥Я骺萍季痛罅Πl(fā)展 APISIX ingress 項(xiàng)目,限制 ingress-nginx 項(xiàng)目的發(fā)展,這是不存在的。所以心態(tài)很重要,只有保持中立的心態(tài)才能持續(xù)地參與到開源項(xiàng)目當(dāng)中。

聊聊我的故事

我的職業(yè)路徑

接下來聊一下我發(fā)展的過程和職業(yè)規(guī)劃上的選擇。

我的第一份工作 title 是 Web 開發(fā)工程師,主要是在做后端開發(fā),也會(huì)兼顧一部分的前端開發(fā)工作,以及運(yùn)維及 DBA 的任務(wù)。第二份工作是在做運(yùn)維開發(fā),會(huì)涉及一部分的運(yùn)維工作,主業(yè)也還是在做開發(fā)。再后來就是做容器化的開發(fā),現(xiàn)在我是支流科技的技術(shù)專家,做的事情主要是做開源基礎(chǔ)軟件。這些年前端、后端、運(yùn)維、數(shù)據(jù)庫、中間件,基礎(chǔ)軟件,容器化技術(shù)基本都有涉及到,這是我的職業(yè)整體路線。

很多人問過我這樣的問題,特別是在跟 HR 溝通的時(shí)候。他們會(huì)問我,你為什么從 Web 開發(fā)做了運(yùn)維開發(fā),這是第一個(gè)時(shí)間點(diǎn)。第二個(gè)時(shí)間點(diǎn),為什么從運(yùn)維開發(fā),到做基礎(chǔ)軟件以及全職做開源的事情。

我做 Web 開發(fā),大概是七八年前,那個(gè)時(shí)候像服務(wù)器通常是 32G 或者 64G 的內(nèi)存。但是現(xiàn)在,我的筆記本已經(jīng)是 32G 的內(nèi)存了,可以想象當(dāng)時(shí)硬件資源是比較緊張的。在實(shí)際做后端開發(fā)中,當(dāng)業(yè)務(wù)量上來的時(shí)候,我們會(huì)去做很多性能優(yōu)化相關(guān)的工作。

那個(gè)時(shí)候,我們會(huì)花很多的時(shí)間去做優(yōu)化,現(xiàn)在遇到性能的問題可能很簡(jiǎn)單,加一臺(tái)機(jī)器擴(kuò)容一下就搞定了。但在那個(gè)時(shí)候大家的第一想法就是做性能優(yōu)化,怎么樣可以充分地壓榨資源,這是我們當(dāng)時(shí)做的事情。在這個(gè)過程當(dāng)中,偏底層的事情我做得更多些。

在 2014 年,我開始接觸 Docker。2013 年Docker 首次開源,我在國(guó)內(nèi)算是比較早一批接觸到 Docker 的。我很喜歡這些底層的技術(shù),包括容器化的技術(shù)。在職業(yè)選擇的時(shí)候,我就從 Web 開發(fā)轉(zhuǎn)向了運(yùn)維開發(fā)。做運(yùn)維開發(fā)的時(shí)候,前期是做運(yùn)維平臺(tái)化的開發(fā),運(yùn)維平臺(tái)化、運(yùn)維自動(dòng)化、包括 GitOps 和ChatOps 等等。

隨著 Kubernetes 在容器化編排技術(shù)爭(zhēng)奪戰(zhàn)中成為了王者。很多公司開始做容器化改造,我們也選擇了 Kubernetes 做自己的容器平臺(tái)。這個(gè)時(shí)候,由于我在容器化技術(shù)這方面,積淀相對(duì)比較多一些,自然也就承擔(dān)了相關(guān)的工作內(nèi)容。

再后來工作的選擇,因?yàn)槲蚁胍嗟淖杂?,也想更傾向于自己的興趣,而在公司做項(xiàng)目的話,確實(shí)不夠自由,所以我現(xiàn)在的工作是全職做開源,我可以在任何一個(gè)我喜歡工作的時(shí)間,或者想要工作的時(shí)間去工作。

有一些人評(píng)價(jià)我說,我是把我的興趣做成了我的工作。其實(shí)是的,即使沒有這份工作,我也會(huì)持續(xù)地去做開源。工作時(shí)間做開源,閑暇的時(shí)間也在做開源,這個(gè)本身來講也沒有什么界限。這是我目前的現(xiàn)狀,自由、全職做開源的工程師。

職業(yè)規(guī)劃

接下來,我們來看一下職業(yè)規(guī)劃。大家可能對(duì)于我到底是什么樣的情況并不關(guān)心,更應(yīng)該想知道在開源的場(chǎng)景里如何做職業(yè)規(guī)劃。

我現(xiàn)在一方面是做開源相關(guān)的工作,再有一方面,也在做自媒體。我認(rèn)為做職業(yè)規(guī)劃最重要的一點(diǎn)是基于自己的興趣。一天一共就 24 小時(shí),除去睡覺的時(shí)間,剩下的幾個(gè)小時(shí)如果做的是自己不感興趣的工作,一直處于不開心的狀態(tài),那真是太慘了。所以一定要選擇自己喜歡的、感興趣的工作,這是第一點(diǎn)。

第二點(diǎn)就是核心競(jìng)爭(zhēng)力。既然是程序員,無論是前端、后端、運(yùn)維,還是其他開發(fā),自身的技術(shù)實(shí)力才是核心競(jìng)爭(zhēng)力?,F(xiàn)在有個(gè)詞很流行,那就是“內(nèi)卷”,為什么內(nèi)卷會(huì)讓人產(chǎn)生焦慮感呢?焦慮到底是怎么來的?

我是這么理解的,焦慮就是別人在學(xué),我不學(xué),我可能會(huì)很焦慮;別人會(huì),我不會(huì),我也會(huì)焦慮;別人知道,我不知道,那更焦慮;還有就是別人在聊這些,我聽的一臉懵逼,這些都是焦慮的產(chǎn)生原因。

那如何應(yīng)對(duì)這個(gè)問題呢?那就是提升你的核心競(jìng)爭(zhēng)力。首先選一個(gè)自己最感興趣的方向,提升自己的技術(shù)深度,這樣才能持續(xù)地提升自己的核心競(jìng)爭(zhēng)力。技術(shù)深度就跟海面上的冰山差不多,海面上你可以看到的只有那么一小點(diǎn),但在海面之下還有很多很多。

技術(shù)的深度是無限的,當(dāng)你把技術(shù)深度提升到一定程度之后,你會(huì)發(fā)現(xiàn)好像我不知道的東西越來越多,這是一個(gè)技術(shù)人常常會(huì)有的感覺。如果你很長(zhǎng)時(shí)間沒有這種感覺了,認(rèn)為好像所有的東西我都知道,所有面臨的問題我都能解決。這個(gè)情況我認(rèn)為,你可能需要去參與一些開源項(xiàng)目,或者出去跟別人交流一下,或者換一份工作,開闊一下自己的眼界。當(dāng)你的技術(shù)深度到了一定程度,例如能 cover 住面臨的絕大多數(shù)問題時(shí),我建議你在這個(gè)時(shí)候盡量提升一下自己的技術(shù)廣度。

第三點(diǎn)我要說的是價(jià)值。價(jià)值這個(gè)概念非常寬泛,在做工作中最直觀體現(xiàn)價(jià)值的,那就是薪資。當(dāng)然,薪資只是一方面,另一方面在于你能夠收獲到什么。

我們回到剛才第一點(diǎn),也就是工作開不開心的事情。如果說你的工作薪資是令人滿意的,同時(shí)你又能收獲一些開心,那就賺到了。因?yàn)楣颈緛斫o你提供的,是一種雇傭關(guān)系,他給到你的本質(zhì)上來講只有你的薪資。而你做這份工作的同時(shí),收獲了一些樂趣,其實(shí)也就是賺到了。收獲開心,這是我要提到價(jià)值當(dāng)中的第一點(diǎn)。

此外,在工作的過程當(dāng)中,你肯定不是一個(gè)人在獨(dú)自戰(zhàn)斗,你也會(huì)收獲到一些伙伴,這是第二點(diǎn)。

第三點(diǎn),在這份工作當(dāng)中,你還實(shí)現(xiàn)自己價(jià)值的提升。這些價(jià)值可以理解為心理學(xué)當(dāng)中或者社會(huì)學(xué)當(dāng)中提到的認(rèn)可,當(dāng)你獲得別人或者社會(huì)的一些認(rèn)可。這也是價(jià)值的一部分。

程序員的副業(yè)

最后我們來聊聊程序員的副業(yè),這個(gè)事情也許大家會(huì)比較感興趣一些。在談到副業(yè)的時(shí)候,你要先評(píng)估一下自己能做什么,量力而行在任何情況下都是比較正確的。承認(rèn)自己在某些方面不擅長(zhǎng),或者某些方面不太懂這個(gè)事情其實(shí)沒有什么的,如果強(qiáng)行做不擅長(zhǎng)的事情,可能得到的結(jié)果并不太好。

我來聊一下我自己個(gè)人做的一些東西。我之前寫了一個(gè)專欄,叫 《Kubernetes 上手實(shí)踐》。后來又寫了一個(gè)專欄,叫做 《Docker 核心知識(shí)必會(huì)》。我自己在這方面相對(duì)來說積累比較多一點(diǎn),這里就不多說了,說多了就變成廣告了(笑),不過你可以關(guān)注下我的公眾號(hào):MoeLove ,我會(huì)跟你分享一些有價(jià)值的技術(shù)和內(nèi)容。

很多人可能會(huì)問我能做什么?我認(rèn)為其實(shí)還是有很多的事情可以做,具體肯定看個(gè)人的選擇。做副業(yè)能為自己帶來最直觀的,大家可能認(rèn)為是金錢收益。但實(shí)際上如果你把耗費(fèi)的時(shí)間精力折算一下,可能會(huì)發(fā)現(xiàn)這個(gè)事情收益很少。陪陪家人、跟愛人約個(gè)會(huì),出去玩一趟,可能能收獲的更多。現(xiàn)在整體來說就是兩種選擇,一是用時(shí)間換錢,另一種是用錢換時(shí)間。很多事情如果年輕的時(shí)候錯(cuò)過了還是會(huì)很遺憾的。所以還是要建議大家根據(jù)自己的情況衡量一下。

以上是今天的全部分享內(nèi)容,來簡(jiǎn)單總結(jié)下:第一部分聊了平等、中立、自由的開源文化;接著談了如何參與開源,心態(tài)一定要擺正,同時(shí)要基于自己個(gè)人的興趣;最后聊到一些個(gè)人成長(zhǎng),還是建議大家應(yīng)根據(jù)自己的實(shí)際情況,合理地規(guī)劃一下自己的的職業(yè)生涯,謝謝大家。

責(zé)任編輯:未麗燕 來源: 今日頭條
相關(guān)推薦

2009-11-04 10:51:19

程序員職業(yè)規(guī)劃

2014-10-17 18:31:05

PHP

2017-03-02 09:37:36

PHP程序員成長(zhǎng)規(guī)劃

2012-12-11 09:31:19

程序員職業(yè)素養(yǎng)

2009-03-05 10:31:35

程序員IT行業(yè)職業(yè)規(guī)劃

2010-08-17 13:08:27

CCNP認(rèn)證培訓(xùn)

2014-09-28 15:13:21

程序員代碼行數(shù)

2013-05-14 09:39:28

職業(yè)規(guī)劃職場(chǎng)處事畢業(yè)規(guī)劃

2012-12-04 10:08:25

程序員

2009-02-23 13:00:17

程序員職業(yè)習(xí)慣

2013-07-25 09:47:40

程序員職業(yè)發(fā)展

2015-08-18 15:22:59

程序員成長(zhǎng)階段

2009-02-24 09:58:45

程序員成長(zhǎng)開竅

2015-10-15 10:31:07

創(chuàng)業(yè)程序員

2020-02-25 22:41:41

程序員技能開發(fā)者

2017-11-17 17:53:41

程序員職業(yè)發(fā)展規(guī)劃

2016-02-17 09:56:37

職業(yè)程序員

2016-12-05 14:42:01

創(chuàng)造型職業(yè)程序員

2018-01-16 11:42:28

程序猿職業(yè)規(guī)劃技術(shù)

2012-10-31 11:16:04

程序員招聘
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)