残剑:为什么选择做android开发?
斯佩狩:不是选的,而是顺其自然就干这行了。毕业那时候根本不知道自己能干什么,校园招聘技术型的公司比较多,然后了解到JAVA开发、测试、技术支持等岗位,当时觉得自己特别水,开发是没希望了,技术支持基本都是要男生的,测试的女生比例较大,所以就偏向投测试。第一家公司是比较有名的外包公司,而且网上有高度评价这家公司的培训,对于我这样什么都不懂的人很有诱惑力,简历投的意向是测试,但录取时我们的岗位都变成JAVA开发,然后11月底就开始培训,培训结束后闲了一段时间后就被分配到做android开发了。
残剑:从你的经历来看,你已经换过几份工作,是什么原因迫使你需要更换工作?
斯佩狩:第一次换工作纯粹是因为太闲了,由于是在外包公司,总有闲着的人和忙着的人,没有接到相关的项目,我们几个android开发的都不幸成为闲着的人,除非特别积极且自制力强的人,一般人在这种情况下成长比较慢。我不是自制力特别强的那种,在没有项目做驱动的情况下很难进行持续的学习,但我又是有点进取心的,所以越干越不开心,就辞职了。
第二次换工作是因为公司裁员,于是还在试用期的我就被裁了,这个也是能够预知的,毕竟两个android开发的,一个是老员工,一个是试用期,那结果很显然。不过当时的我一点都不为被裁而感到不快,反而有些轻松,因为之前有段时间我一直在犹豫。基于对项目的熟悉程度,项目重点部分的调整一般都不会交由我处理,而且这个项目已经基本成型,我能干的事情主要是维护,还有一些功能点的增加、修改,由于这个项目我就参与了最后那一部分,总觉得自己没起多少作用,有种可有可无的感觉,而且自己能力的提升有些缓慢。
残剑:到新公司后,发现需要独自一个人去完成一个项目时,是否感觉到恐惧,是否想过退缩?
斯佩狩:刚到一个新环境,并且有一个全新的项目,兴奋感盖过了其它的所有情绪,后期也没有觉得恐惧和想退缩,一个人完成一个项目,感觉整个项目都在自己的掌控中,挺爽的。
残剑:你独自一人是如何解决那些问题的?
斯佩狩:对于界面设计不确定,一般我都会先定出一个大概的样式,再寻求上级的讨论,最后敲定,不过对于细节的处理主要还是自己和美工讨论。
对于java层的一些问题一般是通过google搜索,搜不到合适就边查看源码边继续搜,自己捣鼓解决方案,后期整理代码的时候会再去处理那些因脑子短路退而求次的解决方案。
对于c层的问题就有些无力了,特别是这次项目涉及播放器,代码之多之复杂,要找出问题的所在很难,这种特别耗时而且也在我能力范围之外的问题我就会寻求可替代品——其它播放器,这种时候我就特希望身边有个有相关经验的人在旁边给予支持,至少这样我不会完全毫无头绪。
残剑:对于android开发这块,有什么样的心得?
斯佩狩:对于像我这样初次接触(之前从来没做过开发)android开发的人来说指引者很重要,我的android引导者早期就向我传输了代码编写规范的思想,让我很快的了解了一些常用的代码优化方式,而且能较快的解决我关于技术上的疑问。入门后,就可以接触一些开源项目,比如比较常用的下拉刷新、slide menu等,可以从中了解到一些新的控件,观察他们的代码编写和部分优化,如果可以将学到的东西记录下来那就更好了,我接触的比较晚,而且还没养成记录下来的好习惯,看过很容易忘。提升的话还需要多做项目,项目过程中会碰到很多问题,学着自己分析或求助于google大神。我觉得自己还处于初级阶段,至于进一步提升应该是要了解些网络基础知识、重构优化、C语言等等。
残剑:你是个比较开朗的女孩,那么你喜欢什么样的工作环境?
斯佩狩:最重要的就是有一个容易相处,容易交流,能相互帮助的团队,团队的每个人都能对自己的那块负责(包括表达自己的疑问及意见),其次要有好的领导,好的领导要么能在技术提升方面能给予指导,要么能对职业生涯方面给予指导,要么能在眼界、考虑问题方面给予间接或直接的帮助,总之我们能从他身上学到认为有价值的东西。大环境的话,喜欢弹性工作制,不喜欢硬性加班,喜欢能各抒己见、精而少的会议(这对会议主持人的要求比较高),不喜欢冗长、经常性的会议。
残剑:工作的这段时间有什么样的个人感想?
斯佩狩:工作的这段时间我一直都处于很迷茫无目的的状态,每当有项目做的时候我就充满激情,因为完成任务能给我带来成就感,但一旦一段时间没项目,我就会觉得无趣,即使我想学习其它语言,学习一段时间后一想到没项目练习,我就会顿时懒惰下来,自己给自己安排的项目一般都会不了了之,有一部分原因是缺乏团队一起做项目的交流,乐趣不够,我目前要努力克服的就是三心二意+半途而废,努力做到能将自己的空余时间安排起来,目的的明确不是近期的我能明确的,所以先缓一缓。
残剑:在创业公司待了一年有什么感想?有什么地方是你觉得不是很满意的?
斯佩狩:公司很多决策都是领导层确定了我们才被安排知晓的,我能干的只是对与我相关的任务发表一些想法而已,这些想法对结果的影响力微不足道,当然这里面包含两方面的因素:一是我的意见比较一般;二是上级比较坚持自己的想法,也不能说这样的结果绝对不好。决策都由领导层决定我倒无所谓,因为我对市场不了解,我比较关心的是与我切身相关的事情,比如公司管理制度、领导的能力、团队人员等,其中不是很满意的就是领导力。
残剑:当接受一个任务时,你会如何去处理?如果这个任务超出了自己的能力范围,你会怎么办?
斯佩狩:对于一眼看上去不是属于我范畴的任务,我会稍微先想下,如果确实不是我能处理的我会直接提出反对意见以及我在这个任务中可能起的作用,比如让我去定义终端接口实现,这肯定是不现实的,因为终端功能不是我实现的,我也想象不到终端可能出现的问题,我能干的事情就是在接口定义的过程中根据客户端的需求来给出一些意见。
对于属于我范畴的任务,如果我不清楚任务目的的话我会询问上级为什么要这么干,不过一般在任务布置之前都已经了解目的了,出现这种情况基本是我认为任务没必要时才会出现的,比如客户端还有好多问题(为什么界面又要换,或者广告放在这个位置得不偿失等)。不过最终我只是提出异议罢了,任务继续。大部分任务在处理之前我会先想象一下整个交互界面,可能运用到的控件,如果涉及到自定义控件,首先会在github,google code上搜索前人是否已栽树,如果没搜到就边自己处理边借鉴其它项目。
一般超出我的能力范畴的任务,我都会先表明下自己可能处理不了这事,然后去尝试下,尝试一段时间发现真的自己处理不了就会直接汇报上级“任务我处理不了”。
残剑:在技术方面,你喜欢哪方面的东西?
斯佩狩:可以说什么方面的东西都感兴趣,但是要持久感兴趣必须得有项目做,如果难度大则需要依靠有经验的人的指导了。