文档章节

Arturs Sosins:一位程序员的互动访谈

TanJx
 TanJx
发布于 2015/12/21 14:03
字数 2335
阅读 555
收藏 7

介绍:

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 简讯。我的主要信息源是:

https://dzone.com/

http://www.devshed.com/

http://www.sitepoint.com/ 


问题  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:在您看来,如何在五年内实现之前提到的领域合作? 

‍‍答:全球沟通交流如此方便,一切皆有可能。我们应该分享关于开发方法和职业道德的经验。由于我自己主要是远程办公,我敢肯定,将不同的开发者组织到同一个在线团队中,一起致力于同一个项目已经在开源社区实现。这样,我们便可以找到自己合适的方式去合作、互相学习,从而提高自身实力,弥补并消除自己的不足之处。 


结束陈词:

我要说明,这些采访问题是互动性质。作为开发者,我们应该常反思自己的专业发展方向。如果你不介意的话,请将你的答复发送电子邮件至jx@count.ly,我们 Countly 团队很想听听你的故事。这些内容将保持隐私和机密。 

你可以将我们的问题稍作调整,并给出您的回答:问题 6:将 Arturs 的经验替换为您自己的经验。问题 7:将“中国开发者”替换为“欧洲开发者”。问题 8:回答中国开发者在哪些领域可以与欧洲同行合作‍‍




© 著作权归作者所有

TanJx
粉丝 9
博文 20
码字总数 30316
作品 0
其他
私信 提问
加载中

评论(3)

TanJx
TanJx 博主

引用来自“杨鬼”的评论

字体太小.看的眼疼
对不起,已修改!
杨鬼
杨鬼
字体太小.看的眼疼
老家伙新同学
谢谢,有帮助
OSC 第 95 期高手问答 —— 开发引人入胜的手机游戏

OSCHINA 本期高手问答( 10月27日- 11月2日) 我们请来了 Countly 开发者 @ar2rsawseen 为大家解答关于 如何开发引人入胜的手机游戏 方面的问题。 可以使用中文提问,Arturs 会以简单的英文回复...

叶秀兰
2015/10/26
6.2K
57
PHP 5.7 将不会发布,因为内核开发人员投反对票

关于在 PHP 7 发布之前先发布 PHP 5.7 版本的提议,因为 PHP 内核开发人员投了反对票而取消。这是在最近的 PHP 播客中 Manuel Lemos 和 Arturs Sosins 讨论的主要话题。同时他们还讨论到针对...

oschina
2015/01/20
13.1K
67
【开源访谈】Atlas 作者 朱超 访谈实录

关于开源访谈 开源访谈是开源中国推出的一系列针对国内优秀开源软件作者的访谈,以文字的方式记录并传播。我们希望开源访谈能全面的展现国内开源软件、开源软件作者的现状,着实推动国内开源...

丫头潘潘
2014/03/26
10.1K
22
【MCtalk】网易对话谷歌:塑造顶尖工程师团队文化

  从“互联网时代”到“移动互联网”,互联网给时代带来全新的产业生产模式以及理念,而当下,我们站在“人工智能、大数据”的十字路口,技术不断被革新,时代大潮下的技术人更需要深度拓展...

IT大咖说
2017/10/16
64
0
【MCtalk】网易对话谷歌:塑造顶尖工程师团队文化

  从“互联网时代”到“移动互联网”,互联网给时代带来全新的产业生产模式以及理念,而当下,我们站在“人工智能、大数据”的十字路口,技术不断被革新,时代大潮下的技术人更需要深度拓展...

IT大咖说
2017/10/16
38
0

没有更多内容

加载失败,请刷新页面

加载更多

Vue warn]: Computed property "activeNames" was assigned to but it has no setter.

在使用 vue,element-ui时,如下代码 <template> <el-form :model="numberValidateForm" ref="numberValidateForm"> <el-form-item> <el-tabs v-model="activeNames" @tab-cl......

牧云橙
11分钟前
2
0
重构-改善既有代码的设计-6.2内联函数

6.2内联函数 动机 本书经常以简短的函数表现动作意图,这样会使代码更清晰易读。但有时候你会遇到某些函数,其内部代码和函数名称同样清晰易读。也可能你充够了该函数的内部实现,使其内容和...

还仙
12分钟前
1
0
Less 混入

混合类似于编程语言中的函数。 Mixins 是一组CSS属性,允许我们将一个类的属性嵌套于另一个类,被嵌入的类可以看作是变量,并且包含类名作为其属性,也就是说我们可以用一个类定义样式然后把...

凌兮洛
14分钟前
1
0
频繁FGC的真凶原来是它

频繁FGC的真凶原来是它 上周排查了一个线上问题,主要现象是CPU占用过高,jvm old区占用过高,同时频繁fgc,我简单排查了下就草草收场了,但是过后我对这个问题又进行了复查,发现问题没有那...

每天晒白牙
15分钟前
3
0
简单的树形菜单如何写

业务需求 数据结构中含有图片、名称、children的树形结构,需要展示出每一级的图片名称和图片,找了些树形图的插件,都没有展示大的图片的,一般都是小图标,就自己试着写一个包含图的简单的...

tianyawhl
17分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部