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