当前位置: 商务英语 > 商务英语考试 > 一个程序员在智能手机行业的这十年
当前位置: 商务英语 > 商务英语考试 > 一个程序员在智能手机行业的这十年
端午节前的一个周末,我见到了周详。在我采访周详之前,他的名字我就已有所耳闻。
在魅族公司内部周详是个名人,他的出名并不是因为曾经搞过的什么大事件,而是因为这位技术专家一直管理着整个魅族技术的心脏——Flym系统研发。
Flym系统研发部负责人周详年龄:37
出生:湖南湘潭
职位:Flym系统研发部负责人
毕业:中南大学
工作时间:10年
「你知道程序员这种工作,它是需要兴趣的,如果你抱着混口饭吃赚点小钱来看待编程这份工作,那么你这辈子会非常难熬。」
见面寒暄了几句,周详就和我聊起了他的编程理念。
周详生于湖南省湘潭市,是个地道的湖南满哥。周详的父亲是文化局的一名干部,母亲在少年儿童图书馆工作,用书香门第来形容周详的家庭背景并不为过,这种特殊环境直接导致了周详对于读书,有着不同于常人的喜好。
(儿童时期的周详)
学生时代从小学到高中,周详一直是一名尖子生,在高中三年的常规考试中,周详保持着全班第一的考试成绩,不偏科又身兼学习委员,周详可以说是顶着让儿时的我们羡慕的光环成长的,他既是学校眼中的好苗子,也是老师眼中的好学生。
「虽然成绩好,但和同学们并没有太多距离感,也经常会周末和朋友们出去瞎混。不过从小体弱多病所以玩的不疯,大学的时候,我也因为身体原因,选择了离家不远的长沙。」
年,周详考入了现中南大学的前身,中南工业大学。
「刚入大学的时候觉着自己的化学成绩不错,学校冶金专业也挺有名,在没有什么人生方向的情况下,就选了冶金物理化学的专业,到了大学感觉到自己的自控力开始下降,原来在高中拔尖的我到了大学也变得非常的普通,所以心思并没有怎么放在学习上。」
周详第一次正儿八经的接触电脑是在大学的机房里。
(大学时期的周详)
「我对于新鲜事物很感兴趣,当时每个月班里都会固定的发一些上机票,我就会把大部分课余时间都花在机房里。除了练练打字,玩玩小游戏,装装系统,我当时并没有做太深入的研究,第一次接触到编程已经是在半年后学校专业的VisualBasic课程上,那时才开始了解一些简单的计算机编程逻辑。」
年,周详的父母花了一笔块的重金,给他配置了一台当时性能强劲的奔腾3台式机,对于周详而言,这台电脑承担着他人生导师的使命。
「有了自己的电脑之后,我把大部分的经历都放在了那台老古董上,参加编程的公选课,蹲在宿舍研究代码,整天做着未来开发3D游戏的美梦,那一年我完全沉迷其中。」
年,周详考上了本校的研究生,并且正式转向了计算机相关的人工智能与模式识别专业。
「研究生期间,我才开始正儿八经的用VC开发C++软件,那时候最让我感觉兴奋的事情就是写代码能赚钱。」
「我的导师当时接了一家钢厂的分钢系统的开发,我在整个系统开发小组里负责了代码实现部分,之后我花了1个月的时间实现了机械组件的代码模拟过程,那时候我用这几千行代码赚到了第一笔钱」
「块,这对于当时的我来说不是个小数目,拿到这笔钱的时候是非常兴奋的,从那后我就下决心要靠代码发家。」
而真正改变周详整个人生轨迹的来自于一台手机。
开始手机软件开发「本来我认为我会像其他程序员一样,老老实实的在中控机和电脑上开发着大型程序,然后普通的过完这一生,然而由于一场婚礼,一切都发生了改变。」
「年,我姐姐结婚,我的姐夫想表达一下自己的诚意,于是送给了我一台当时市面上售价非常昂贵的MOTOEi。」
「嵌入式Linux系统,可以装软件,可以用QT,可以用C++开发应用,*分辨率,有五位导航键,还有能玩游戏的AB键,当时这台手机就是我心目中的旗舰。」
这是摩托罗拉在年推出的一款智能手机,采用了MHz的IntlXScalCPU,运行EmbdddLinux系统,在当时诺基亚主推的机型还是的时代,E的配置显得非常超前。
「入手几天后,我感觉到有些失望,它定制的linux系统并没有什么软件,游戏应用也非常稀少,比起功能机,E的智能程度相当有限的。」
「由于应用太少,我开始下决心自己给这台当时性能强悍的手机开发软件。」
「我给它开发的第一款软件是一个屏幕保护程序,可以简单更换壁纸,显示时间,我把这样一个简单的软件放到了早年很知名的移动天使论坛上,结果它的受欢迎程度远超想象,很多E的用户莫名而来,他们在帖子下面留言,给我提各种各样的改进需求。」
从这一发不可收拾。
「这款软件我不断的增加功能,包括字体样式大小等等,前前后后我一共更新了10几个版本,在这之后我开始不满于这种简单的系统软件开发,开始朝更有难度的播放型软件进行探索。」
「我花半年时间,仿照Winamp做出了一款E的第三方音乐播放器,它扩充了E所支持的音乐格式,并支持换肤功能,我在软件代码中约定了格式,可以由网友们自己开发兼容的皮肤,这款软件的受欢迎程度超过了之前我做的第一款应用,给了我极大的鼓舞。」
「之后我又做了类似的视频播放器,由于我只擅长编程而UI设计很薄弱,大部分的素材资源都是我在网上寻找的。1年后我又开发出了一款功能非常完善的SNES模拟器,这款模拟器能够模拟当时任天堂SFC的大部分游戏作品,这在当时引起了一部分玩家的强烈支持。」
「我热衷于干这些事情,并且很长一段时间都沉浸其中,这一定程度上影响了我的学业,却也打开了我的另一条道路。」
「当时我热心的向我同实验室的伙伴们分享我在手机上的软件开发经历,然而他们却并没有太多兴趣,因为对于他们而言,当时在中控机和电脑上开发的才叫程序,我做的这些在他们眼里只能算是玩具。」
年,嗅到商机的第三方固件开发团队花了1万块钱,买走了周详所有给MOTOE开发的软件的使用权,这是周详在为E无偿开发2年后,获得的最大一笔收入。
「那个时候我只是一个很朴实的码农,并没有意识到这中间所蕴含的商业价值,我以很低的价钱卖给了开发团队之后,他们又以固件打包收费的形式再卖给用户,从中大赚了一笔,那时我才理解到光有软件代码是不行的,你还需要学会去如何挖掘它的价值。」
成为手机开发工程师年初,周详硕士毕业,南下进入了当时中国市场里唯一开发智能手机操作系统的公司,全智达。
全智达是年在深圳创建的一家智能手机系统开发企业,周详进入全智达后,就是开发基于Linux底层的国产手机操作系统,在当时国内还是功能机的时代,全智达的思维理念显得有些超前,他们所研发的智能系统当时被用于自己生产的机型,联通的沃Phon,以及国内厂商的合作机型中。
「基于我之前多媒体开发方面的经验,我南下到深圳进入全智达后,我就负责了多媒体应用和框架的开发。」
(全智达系统演变)
「那时觉得很酷,毕竟我们开发的是国内极其稀有的手机操作系统。」
「早年开发的时候,困难重重,由于并没有现成的机器给你用,我们都是在模拟器上进行开发,经常在导入到实机时会遇到一些不可预知的问题,而我们也缺少资料借鉴,所有的问题都需要自己去摸索解决,这也造成了开发进度的缓慢。」
在全智达的两年,周详成了名副其实的码农,每天起早贪黑,抱着开发国产自主系统的信念,进行着大量的代码编写工作。
年12月想自己独当一面的周详,受到几个跳槽同事的引荐,接触到了魅族,当时魅族正在开发M8的关键期,白永祥迫切的需要一些多媒体方面的技术人才,而当周详了解到当时M8的硬件配置后,他决定赌一把。
虽然离开深圳对于周详而言,是一件非常巨大的事,但是周详难以抵挡M8强烈的诱惑力,于是,周详放弃了深圳的发展前景,来到了珠海。
关于M8与Flym的QA1.刚来魅族的时候M8正值开发的什么阶段?
「才刚刚开始,我当时入职的时候就负责了魅族M8多媒体框架的方面的开发工作,整个音乐应用的开发都是我在负责。」
「M8当时的硬件配置很超前,*的分辨率,三星的高主频CPU,有图形加速能力和重力传感器,这些在当时都是难以想象的,我就像一批野马一样找到了属于自己的草原,在M8上,我可以肆意驰骋。」
「我之前很少在WINDOWS的平台上开发,尤其是Winc这种非常陌生的系统,所以我在开发的过程中需要大量的补充学习WINDOWS开发的一些规则,像DirctShow、过滤器等对于我来说都是全新的,一边学一边做让我不得不耗费更多的空闲时间。」
「另一个问题在于,我们的开发人员太少,算上硬件研发,当时的开发工程师还不到20个人,所以即使我只是负责多媒体这一块的开发,但我不得不全盘的了解并吃透整个M8的系统,因为我们随时可能出现各种系统问题,只有当你对编解码、框架、界面、都有所了解,整个团队的开发效率才能有足够的保障。」
(周详在微软的Workshop上)
「在M8后期,我在业余时间还会自己再开发一些第三方应用,比如和知名魅友『自来也大人』合作的一款叫《轻吻一刻》(英文:GntlKiss)的炫机软件,他负责设计工作,我负责开发。之后我还开发了一款任天堂的MiniSns模拟器,在09年的时候把它更新到了2.0版,当时这款模拟器的功能已经非常健全了。」
(轻吻一刻与MiniSns模拟器)
「M8整个过程的艰难程度是超出想象的,我现在回想起来觉得不可思议,在最困难的时候,我们不得不卖工程机来周转资金,但M8最终还是做出来了,完成M8其实和技术实力的无关,靠的全是一群年轻人的那份执念。」
2.你当程序员的乐趣在哪?
「用户的认同。」
「当你通过代码把系统中的功能实现的时候,会有很多用户从中受益,他们会通过用户反馈,论坛等各种渠道对你的成果表示肯定,你会从这当中获得极大的成就感和满足感。」
「当用户在论坛说你产品的好或者坏的时候,我都特别乐于去向他们解答,那种用户与开发者的沟通让我非常享受。」
「而在魅族,当程序员实际上还有另一大乐趣,那就是你的劳动成果你的BOSS是看的到的。」
「M8系统开发的时候,我曾尝试过在音乐的列表分隔线上加上了一些渐变动画,然后有一天,黄章突然兴冲冲的跑到办公室里,问系统里面的动画特效是谁改的?我当时很诧异,等我站起来的时候,他突然很激动的说,对啊,这就是我想要的效果。」
「这件在当时看上去微不足道的事情,对我的内心造成了巨大的影响,我不曾奢望我做好的每一件事情BOSS都会看到。」
「但是黄章会,因为他也是你的用户。」
3.开发曾经有多疯狂?
「5年前,和我最熟的是公司保安。」
「开发Flym前几个版本的阶段,我都是在消耗青春。」
「经常加班到半夜,保安要上来关门了,我都会说再等等,久而久之,保安们也不管我了,直接让我自己把门锁好,所以我和很多保安都很熟。」
「Flym3的开发阶段,当时正值端午节,我们在尝试流媒体播放的新技术时遇到了一些技术难题。」
「我当时也没什么闲心过节,就一个人在公司呆了整整三天,白天在办公室里钻研代码,饿了就跑到小卖部吃碗泡面,上来又继续研究。晚上困了就在办公室里搭了个窝睡下,早上起床就去洗手间洗把脸,胡子邋遢的又继续开工,那个时候我觉得自己对于代码有种痴迷,痴迷于功能设计,痴迷于解决问题。」
「在同事们都过完端午回公司工作时,我才感觉到自己从原始森林里面走了出来,那种重新呼吸到新鲜空气的感觉我想这辈子也就这么一次了。」
4.Flym的开发过程中最大的收获是什么?
「我们曾经开放过SDK给许多的第三方应用开发者,同时我们会有魅族手机的开发者的QQ群,在M8、M9时期,我作为主导系统的开发成员之一,会经常解答许多第三方开发者的疑惑,就在那个时候,我结识到了许多志同道合的朋友。」
「比如LBE的创始人小饽、拉面、黑雾,他们给M8移植过安卓系统,曾经给M8开发出过许多插件的曾半仙,以及和我一起完成了GntlKiss的自来也大人,他们在魅族手机上开发了许多非常好的应用,而我也从他们那学到了很多,包括现在在Flym系统的安全方面,我们和LBE也有过合作。」
「这几年我也一直在尝试转变职能,从一个单纯的程序员开始转为去做技术管理,现在我对于Flym的思考不仅仅在于代码部分,更多的是整体规划和如何提高整个团队的运行效率,这当中收获的很多已经超出了代码本身的范畴。」
5.Flym4出现的bug问题根源在哪?
「我们在开发Flym4时候,出现了稳定性和功能性上失衡。」
「我们添加毛玻璃算法,添加了全新的界面体系等新特性,在这大量的功能点添加的时候,Flym4的稳定性开始有些刹不住车。」
「比如添加毛玻璃算法后系统资源消耗的增大,内部开发人员在内存使用的规范定义上不够严谨,导致内存消耗经常超出预期,这些问题都是根结所在。」
「我们在出现问题的2个月内,开始进行强制性调整。」
(Flym4)
「为了提高当时Flym的性能和解决BUG,我开始实施项目组BUG排行机制,我会按照每个项目组应用开发的BUG数量情况进行排名,把BUG前几的小组召在会议室里面进行反思。」
「我曾在研发内部多次下最后通牒,如果性能优化小组的应用问题在1个月内不能解决,那么整个小组我就会全员替换掉,我在那段时间整个人的神经一直都处于紧绷的状态,我们花了整整3个月对Flym4进行了再改造,在Flym4.5用户调查数据开始回暖时我才松了一口气。」
「在Flym5时,我们开始和竞品进行对标,进行内部应用排行。」
「我们需要比竞品快百分之30,这是我当时下的一个硬指标,同时我对内部程序代码开发做了极其严格的要求,帧率、布局复杂度都需要遵循开发规范来,所有没达标的应用全部重新再来。」
「这是一个很高的要求,一个应用一个应用去比,去测,这种要求把我们的一些开发人员接近于逼疯的状态。」
「手机的性能优化是需要积累的,它需要开发人员不断的去压榨整个系统,这个过程漫长而枯燥,但又不可或缺。」
6.你觉得Flym研发团队的作战能力如何?
「这些年我面试过很多国内其他研发企业的员工,最深的感受就是很多公司,尤其是一些大公司,他们的开发人员更多的专注于非常小的项目,他们的工作很细,每一个员工分配到的是很小很具体的一块,去考察的时候,会发现他们在研发专业技能上更擅长于自己所处的领域,而不太关心整体情况。」
「而我们在培养Flym开发人员的时候,一直希望他们能有全局观念,对于Flym系统的每一个部分都有了解,这样能极大的提高部门协同的工作效率。」
「我们在很多技术的软件实现上依然有着领先优势,比如3D-PRESS、指纹识别等,我们的Flym系统在国内也受到了非常多用户和行业内人士的认可。」
「这些年我出去参加过很多活动,也与谷歌、Facbook、亚马逊、LinkdIn、微软等公司做过技术交流,从中学到了很多研发及管理经验。」
(周详在GooglIO大会上与Colt)
「Flym的研发是我们最重视也是标准最高的部分,过去到现在都不曾变过。」
7.对于Flym6有什么样的目标?
「这是一个很宽泛的话题,我们在Flym上想实现的有很多,但我觉得更重要的是我们应该克制。」
「我最近经常在思考的就是给用户增加新功能的度在哪里。」
「在开发3D-PRESS的时候,我们曾经开发和尝试过非常多不同的新功能。」
「比如可以在底部重按在两个应用之间进行切换,但我们在测试时发现了很多问题,当用户把握的力度不够好的时候,很容易出现误按,很多用户在用
转载请注明:http://www.shangwuyingyua.com/swyyks/15364.html