投稿 | Arturs Sosins:一位程序員的互動(dòng)訪談
介紹:
Arturs在 2011 年共同創(chuàng)立 Jenots.com,從事游戲開發(fā)和游戲設(shè)計(jì)的工作。 他在 2013 年加入了 Gideros,一個(gè)開源跨平臺(tái)的游戲引擎。他寫了一本關(guān)于手機(jī)游戲開發(fā)的書《使用 Gideros 引擎開發(fā)手機(jī)游戲》。
Arturs 在 2014 年加入了 Countly,一個(gè)實(shí)時(shí)和開源的移動(dòng)數(shù)據(jù)分析方案。他參與許多功能開發(fā)如插件系統(tǒng)、轉(zhuǎn)介歸屬和崩潰分析。他繼續(xù)在開發(fā)有趣的小游戲,在博客(http://waterbreadinternet.com)分享。
一位開發(fā)者的誕生
問題 1:感謝您從忙碌的工作中抽出寶貴的時(shí)間分享您的想法。為了讓我們的觀眾更好地了解您,我們從頭聊起。您可以分享一下開始編程的起點(diǎn)和原因嗎?
答:我是無意間成為程序員的。我在2013年畢業(yè)于拉脫維亞大學(xué)計(jì)算機(jī)科學(xué)與信息系統(tǒng)設(shè)計(jì)專業(yè),并獲得了碩士學(xué)位。我喜歡計(jì)算機(jī)相關(guān)的一切。***年,我嘗試了各種事 情,比如聯(lián)網(wǎng)、系統(tǒng)管理、還有編程/開發(fā)。我選修的大多是知識(shí)面比較廣的課程,因?yàn)槟菚r(shí)我不知道自己到底想做什么。直到學(xué)習(xí)了 Web 開發(fā)課程之后,我做了一些東西,然后發(fā)布到互聯(lián)網(wǎng)上,讓大家都能看得到,這種能力震撼了我。也就是從那時(shí)起,我決定要成為一名程序員,把 Web 開發(fā)作為我的主要課程(除了 Web 開發(fā)之外,我還學(xué)過 C++、Java和.Net,但都沒有像前端和后端開發(fā)這樣熱衷)。
問題 2:回想起最初的那幾年,您掌握的哪些技能一直沿用到了今天?
答:因?yàn)槲也恢雷约合胱鍪裁?,便學(xué)了各個(gè)領(lǐng)域中的課程,而我認(rèn)為最重要的技能是,快速學(xué)習(xí)和了解新信息,通過瀏覽去了解,先掌握少量信息,然后不斷增加信息量,***理解透徹,而不是試圖一次了解所有信息。
在編程方面,我嘗試了許多語(yǔ)言和環(huán)境,我認(rèn)為最重要的是學(xué)習(xí) Basic、編程體系結(jié)構(gòu)、不同類型的語(yǔ)言,以及這些語(yǔ)言的差異。然后,你基本上就能以任何語(yǔ)言進(jìn)行編程,因?yàn)?strong>當(dāng)你了解了所有范式之后,需要更改的就只有語(yǔ)法(syntax)了[不管怎樣,適當(dāng)?shù)腎ntegrated Development Environment (IDE) 會(huì)對(duì)你有所幫助]。
問題 3:你那時(shí)接受什么樣的建議繼續(xù)使您產(chǎn)生了共鳴?
答:我從教授那里獲得了最重要的一個(gè)建議:那就是學(xué)習(xí)不是為了取得好成績(jī),而是為了自己,為自己積累經(jīng)驗(yàn)。我并不害怕學(xué)習(xí)非常復(fù)雜的課程,雖然我當(dāng)時(shí)沒有取得好成 績(jī)。我也曾成績(jī)不佳,甚至掛科,但通過這些課程我開闊了視野,了解許多方面的知識(shí),并且獲得了很好的體驗(yàn)(就像機(jī)器人課程,我在這門課程獲取***的體驗(yàn)之一)。
培養(yǎng)專業(yè)技能
問題 4:技術(shù)飛速發(fā)展,您是否可以分享一下您是如何保持您的相關(guān)技能?請(qǐng)您分享您在 Github 或其他社區(qū)中密切關(guān)注的三個(gè)開發(fā)者或網(wǎng)頁(yè)。
答:不是簡(jiǎn)單地關(guān)注,實(shí)際上我會(huì)和搭檔主持每月的播客(podcasts),關(guān)于 Javascript (jsclasses.org) 和 PHP (phpclasses.org) 的新聞,并對(duì)庫(kù)/框架進(jìn)行講解。我想了解感興趣的技術(shù)的新聞,發(fā)布個(gè)人 Twitter 簡(jiǎn)訊。我的主要信息源是:
問題 5:您如何看待技術(shù),特別是移動(dòng)技術(shù)在未來五年的發(fā)展?作為程序員,您要如何培養(yǎng)自己的技能來適應(yīng)這些變化?
答:我認(rèn)為移動(dòng)開發(fā)目前過于分散。不僅在同一平臺(tái)上過于分散,就像 Android,基本上在所有平臺(tái)上都很分散。你需要 iOS 和 Android 應(yīng)用程序(就像 Windows Phone)的不同代碼庫(kù)。我認(rèn)為這將是未來五年要解決的首要問題。對(duì)我而言,作為 Gideros 這款跨平臺(tái)游戲開發(fā)工具的一名維護(hù)者,我會(huì)經(jīng)常嘗試了解不同平臺(tái)的風(fēng)格,并且在相同的 API 下使用通用接口進(jìn)行匹配測(cè)試。 老實(shí)說,即使它們與眾不同,但還是會(huì)有很多通用的方法。就像應(yīng)用內(nèi)購(gòu)買、推送通知,甚至 UI 小工具,它們看起來大相徑庭,但API是相似的,雖然有一些限制,但相似選項(xiàng)在一個(gè)界面下也是相匹配的。
問題 6:我注意到,您之前為初創(chuàng)企業(yè)工作,并積極參與開源社區(qū)。您從這些經(jīng)驗(yàn)中獲得了什么?
答:我在職業(yè)生涯為當(dāng)?shù)氐囊患倚」緭?dān)任 Web 開發(fā)者。我做了很多小型庫(kù)自己使用,同時(shí)也發(fā)布到互聯(lián)網(wǎng)上方便他人。當(dāng)然,我得到了很多回應(yīng),包括評(píng)論等等,最主要的是得到了更多機(jī)會(huì)。
發(fā)布小型 Javascript 庫(kù),讓我獲得了一份額外工作,那就是為 JS Magazine 編寫 JavaScript 文章。
我分享了為 Gideros 引擎創(chuàng)建的組件,坦率的說,這給我?guī)砹烁嗟臋C(jī)會(huì),比如寫一本書介紹 Gideros。
甚至現(xiàn)在的雇主 Countly 也是如此,它是一家開源分析公司,面試時(shí),我告訴面試官我沒有 NodeJS 方面的經(jīng)驗(yàn),也沒有嘗試過 MongoDB,但他們說:“我們不在乎”,因?yàn)樗麄兛吹竭^我發(fā)表和公開源碼的作品。他們認(rèn)為是社區(qū)那些評(píng)論和贊美幫了我,所有的反饋比一份簡(jiǎn)歷更珍貴。他們是否滿意自己的選擇?我不知道,你能試問問吧。但有一點(diǎn),我努力工作,我喜歡現(xiàn)在所做的一切。基本上,這就是從貢獻(xiàn)開源項(xiàng)目得到的回報(bào)。獲得了認(rèn)可、聲譽(yù)以及向你敞開的眾多機(jī)會(huì)。
立足當(dāng)?shù)?,與全球接軌
問題 7:你認(rèn)為中國(guó)程序者的優(yōu)勢(shì)和劣勢(shì)都是什么?
答:開發(fā) Gideros 引擎期間我曾與中國(guó)的開發(fā)者一起工作。有很多獨(dú)立開發(fā)者會(huì)通過插件系統(tǒng)添加自己所需的本地功能,如特定的廣告框架等。我與他們密切合作,幫助他們創(chuàng)建這些 Gideros 插件并融入他們的游戲中。
我喜歡與中國(guó)的開發(fā)者一起工作,因?yàn)樗麄兪肿⒅丶?xì)節(jié)。歐洲的開發(fā)者會(huì)很散漫,特別是在時(shí)間上,一定要在截止日期前才完工。而中國(guó)的開發(fā)者會(huì)遵循每一個(gè)步驟,確保不會(huì)落下任意一項(xiàng)工作。就應(yīng)該是這樣,哪怕占用了更多的時(shí)間。
我認(rèn)為中國(guó)開發(fā)者的一個(gè)很大的弱點(diǎn)就是局限在特定知識(shí)領(lǐng)域內(nèi),只在自己的小圈子里工作,而不是嘗試學(xué)習(xí)其他技術(shù)。
問題 8:歐洲開發(fā)者在哪些領(lǐng)域可以與中國(guó)同行合作?
答:***的是責(zé)任感,特別是西歐的開發(fā)者。你只要知道安排他們工作就好了。
歐洲和中國(guó)的開發(fā)者在團(tuán)隊(duì)中可以相互協(xié)助,找到一個(gè)折中的方法來解決這個(gè)問題。
問題 9:在您看來,如何在五年內(nèi)實(shí)現(xiàn)之前提到的領(lǐng)域合作?
答:全球溝通交流如此方便,一切皆有可能。由于我自己主要是遠(yuǎn)程辦公,我敢肯定,將不同的開發(fā)者組織到同一個(gè)在線團(tuán)隊(duì)中,一起致力于同一個(gè)項(xiàng)目已經(jīng)在開源社區(qū)實(shí)現(xiàn)。這樣,我們便可以找到自己合適的方式去合作、互相學(xué)習(xí),從而提高自身實(shí)力,彌補(bǔ)并消除自己的不足之處。
















 
 
 
 
 
 
 