發(fā)布于:2021-01-19 16:44:49
0
148
0
默罕默德說,他在13歲時(shí)得到了第一臺(tái)電腦,這臺(tái)電腦在埃及剛剛普及,幾乎立刻就開始學(xué)習(xí)編碼。他說,閃光是吸引他的原因,它的動(dòng)畫和色彩,以及“閃光”的東西。
他笑著回憶起自己的第一個(gè)網(wǎng)站,一個(gè)用Macromedia Flash構(gòu)建的關(guān)于尼羅河的信息頁面。“出于某種原因,”他說,“我認(rèn)為在網(wǎng)絡(luò)視圖中添加一條來回移動(dòng)的魚可能會(huì)很聰明,所以我讓這條插圖很差的魚在網(wǎng)站上到處移動(dòng),包括文字和圖像,我為此感到驕傲。”
這條插圖很差的魚激發(fā)了賽義德的興趣,作為一個(gè)青少年,他跟上網(wǎng)絡(luò)開發(fā)的新技術(shù)。最終,他將進(jìn)入機(jī)械工程學(xué)院學(xué)習(xí),但當(dāng)他決定編程是自己的職業(yè)時(shí),他就輟學(xué)了(他是56%沒有計(jì)算機(jī)科學(xué)或相關(guān)領(lǐng)域?qū)W士學(xué)位的開發(fā)人員之一)。
上個(gè)月,Mohamed Said成為Laravel的第一個(gè)全職員工,Taylor Otwell構(gòu)建的開放源碼PHP框架。
奧特威爾把這個(gè)框架作為一個(gè)輔助項(xiàng)目來構(gòu)建,當(dāng)它啟動(dòng)時(shí),他辭去了工作,開始全職工作。就在幾個(gè)月前,他決定需要幫助維持這個(gè)項(xiàng)目,并公布了自己的第一份全職工作空缺,并表示這是一個(gè)明顯的選擇。
“當(dāng)我采訪Taylor時(shí),”他說,“只花了10到15分鐘?!彼拈_源工作實(shí)際上是他所需要的所有應(yīng)用程序和采訪,展示了這個(gè)行業(yè)的一個(gè)增長趨勢:你所做的(以及能夠證明的)對(duì)開發(fā)人員的職業(yè)生涯產(chǎn)生的積極影響要大于你面試的好壞,你在哪里面試上過學(xué),甚至認(rèn)識(shí)誰。“我的第一個(gè)拉拉維爾拉請(qǐng)求是在2016年2月?!眱H僅8個(gè)月后,他就全職從事這個(gè)項(xiàng)目。
我和賽義德坐了幾分鐘,討論他是如何從開羅一個(gè)13歲的男孩編程flashfish成長為一個(gè)每天為他最喜歡的開源項(xiàng)目工作的人的。
賽義德的第一份網(wǎng)絡(luò)開發(fā)專業(yè)工作是在埃及的一家公司,當(dāng)時(shí)他19歲。“這是相當(dāng)基本的,”他說,“只是HTML和基本的東西?!彼穆殬I(yè)生涯將使他進(jìn)入網(wǎng)頁設(shè)計(jì)和WordPress,但在他自己的時(shí)間,他開始學(xué)習(xí)PHP。這樣,他基本上是自學(xué)成才的,這反映了我們?cè)?016年開發(fā)者調(diào)查中看到的趨勢(69%的受訪者至少部分自學(xué)成才)。
21歲時(shí),賽義德找到了自己的第一份PHP開發(fā)工作,當(dāng)一位朋友向他介紹Laravel PHP框架時(shí),他開始在Twitter上關(guān)注著名的Laravel愛好者Dayle Rees和Jeffrey Way,并查看他們的Laravel教程。他說,他很快就喜歡上了這個(gè)框架,“因?yàn)槲臋n非常清晰徹底,讓一切看起來都很簡單?!?/span>
賽義德說,盡管他是一名開發(fā)人員,但他從未對(duì)任何開源代碼做出過貢獻(xiàn)。他甚至沒有想到用“開源軟件”來形容拉威爾;這只是他可以用來把工作做得更好的另一個(gè)工具。但他也開始自學(xué)iOS開發(fā),并發(fā)現(xiàn)他想分享自己的代碼,于是他開始創(chuàng)建自己的GitHub存儲(chǔ)庫,開始涉足開源領(lǐng)域。
他繼續(xù)在工作中使用Laravel,但直到5.2版在工作中使用它時(shí)遇到問題,他才對(duì)它做出任何貢獻(xiàn)。他開始挖掘并試圖解決這個(gè)問題;最終他找到了一個(gè)修復(fù)程序并將其提交給了Laravel存儲(chǔ)庫。奧特韋爾回答說,他們討論了這個(gè)問題,最終他的貢獻(xiàn)被合并了。
這是賽義德第一次真正的開源經(jīng)歷,也是許多開發(fā)者所熟悉的:他對(duì)自己使用的軟件沒有興趣,直到在工作中遇到挫折。Laravel的特性和它的開源代碼使他能夠解決他所面臨的問題,并與其他人分享這個(gè)解決方案,這正是他一直以來對(duì)開源和Laravel特別感興趣的原因。
下個(gè)月是他第一次為開源軟件做貢獻(xiàn)的一年,也是他第一次向Laravel提交pull請(qǐng)求的九個(gè)月。在他看到自己的一些代碼被合并之后,他說,“我想在laravelgithub存儲(chǔ)庫中的貢獻(xiàn)者列表上看到我的名字。”這種與社區(qū)的直接聯(lián)系以及被認(rèn)可和認(rèn)可為其中一部分的愿望是開發(fā)人員剛剛開始探索開源的強(qiáng)大動(dòng)力。
所以他繼續(xù)挖掘,尋找增強(qiáng)代碼的方法,并提交pull請(qǐng)求。如今,他在拉雷維爾有148個(gè)投稿人,是第五大投稿人。他也是奧特韋爾在2016年拉雷維爾會(huì)議上發(fā)表的主旨演講中提到的兩位貢獻(xiàn)者之一——這證明了他作為社區(qū)成員和貢獻(xiàn)者的價(jià)值。
當(dāng)他成為Laravel社區(qū)的一員時(shí),他開始撰寫文章,為Laravel構(gòu)建插件和軟件包,并以任何方式為社區(qū)做出貢獻(xiàn)。他說:“我想在很多地方把我的名字傳出去,貼在拉雷維爾身上?!?。“能成為這個(gè)社區(qū)的一員真是令人興奮?!?/span>
因此,當(dāng)奧特威爾發(fā)布了一個(gè)職位空缺,為他的第一個(gè)開發(fā)人員雇用,說申請(qǐng)。他和Otwell已經(jīng)合作了一年的大部分時(shí)間,通過開源貢獻(xiàn),所以O(shè)twell知道他能做什么,并且知道他對(duì)這個(gè)框架有著深刻的理解和贊賞。
奧特威爾雇傭他全職在拉威爾工作,賽義德說,這是他職業(yè)生涯中最激動(dòng)人心的舉動(dòng)。他現(xiàn)在的工作都深入到開源領(lǐng)域,審查pull請(qǐng)求并發(fā)布報(bào)告,像以前那樣挖掘框架以獲取樂趣。
賽義德說,在中東,開源不像在西方那么受歡迎。他認(rèn)為,這是因?yàn)殚_發(fā)者一天的工作比傳統(tǒng)的9點(diǎn)到5點(diǎn)要花更多的時(shí)間和精力。在中東,開發(fā)人員經(jīng)常24/7隨時(shí)待命,他們沒有時(shí)間或精力“免費(fèi)”從事開源項(xiàng)目;當(dāng)你已經(jīng)花了那么多時(shí)間工作時(shí),整個(gè)概念似乎是在浪費(fèi)寶貴的時(shí)間。
賽義德仍然住在開羅,他說他希望有更多的中東開發(fā)者參與到開源中來。他現(xiàn)在對(duì)社區(qū)和那里正在做的工作充滿熱情,相信每個(gè)人都有貢獻(xiàn)。對(duì)于他的中東同行,他說開源不是浪費(fèi)時(shí)間,而且有著不可估量的好處。畢竟:開源讓他擺脫了24/7隨叫隨到的生活,找到了一份他真正熱愛的全職工作。
賽義德堅(jiān)信每個(gè)程序員至少應(yīng)該嘗試一些開源的參與。他說,這些好處遠(yuǎn)遠(yuǎn)超過了任何障礙。
“我最喜歡這份工作的一部分,”他說,“就是我每天學(xué)到的東西。”他說,他在開源領(lǐng)域?qū)W到的東西比他之前所有的教育和工作經(jīng)歷都要多?!澳軌蚩吹竭@么多其他人的代碼,親眼看到他們是如何工作的,這讓我學(xué)到了很多?!?/span>
因?yàn)殚_源軟件是公開的,所以你可以學(xué)習(xí)它,學(xué)習(xí)成為一個(gè)更好的程序員。當(dāng)你公開分享你自己的代碼時(shí),你可以邀請(qǐng)?jiān)u論和討論來提高你的技能。當(dāng)你發(fā)現(xiàn)并報(bào)告錯(cuò)誤時(shí),你可以將這些問題添加到你的知識(shí)庫中,并且知道不要自己重復(fù)同樣的錯(cuò)誤。
賽義德是一個(gè)典型的例子,走非傳統(tǒng)的道路,以一個(gè)新的工作。他沒有通過一家公司獲得晉升,而是每年都以新的頭銜和升職來擴(kuò)充自己的簡歷。他沒有申請(qǐng),然后通過沒完沒了的面試和白板測試。由于他對(duì)開源的貢獻(xiàn),他找到了理想的工作。
賽義德說,對(duì)開源的貢獻(xiàn)為他打開了新的天地。它允許來自世界各地的開發(fā)人員合作、協(xié)調(diào)和共同創(chuàng)造?!拔蚁M總€(gè)人都能為開源代碼做出貢獻(xiàn)。沒有世界各地的人分享他們的代碼和貢獻(xiàn),就沒有拉威爾,也就沒有社區(qū)?!?/p> 許多開源支持者認(rèn)為平臺(tái)不僅僅是構(gòu)建軟件的一種方式,而是一種生活方式。訪問、透明和公開討論是許多人非常重視的文化的所有方面。 賽義德認(rèn)為,中東和其他地區(qū)的許多開發(fā)人員對(duì)開放源碼社區(qū)感興趣,但不知道如何開始:“他們認(rèn)為必須等到有了完美的東西。”賽義德堅(jiān)持認(rèn)為,事實(shí)并非如此。他鼓勵(lì)開發(fā)人員深入挖掘他們最喜歡的項(xiàng)目,特別是他們?nèi)粘J褂玫能浖ふ铱梢詾楝F(xiàn)有代碼提供“增強(qiáng)”的地方。 他認(rèn)為,開源是開發(fā)人員在面試中能展示的最好的體驗(yàn)?!凹夹g(shù)面試官想要一件事,”他說:“讓我看看你的代碼?!蹦憧梢苑窒砟銥槿粘9ぷ骶帉懙拇a,但它可能是非個(gè)人的、無聊的,甚至是私有的、封閉的源代碼,所以你根本不能分享。工作中的一些代碼是作為團(tuán)隊(duì)的一部分完成的,你無法分辨出你做了什么和簡在大廳里做了什么。另一方面,開源就是你的全部。這是你的激情,它是公開的,它上面有你的名字。 塞德說,開放源碼是開發(fā)人員真正發(fā)揮作用、展示他們所能提供的東西的地方。它是公共的,并且是一個(gè)社區(qū)的一部分,它為您的代碼提供驗(yàn)證和批準(zhǔn)。這對(duì)于你的職業(yè)生涯是非常有價(jià)值的。 對(duì)于埃及一個(gè)13歲的男孩來說,多年前他就被Flash的功能迷住了,開源軟件改變了一切?!白畲蟮暮锰?,”他笑著說,“是我在拉威爾得到了內(nèi)幕消息,而且我比社區(qū)里的其他人都知道所有新特性?!?/p> 找到一份好工作有很多方法。賽義德是一個(gè)例子,我們認(rèn)為這是一個(gè)日益增長的趨勢:開發(fā)人員找到自己的方式,通過自己的職業(yè)生涯,使用的工具,他們必須提高水平。如何開始?
作者介紹