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