刚开始工作时,想着积极努力,一定会有出头之日;想着勤奋刻苦,再小的舞台你也一定能发光发热;想着多积累编程经验,以后跳槽会更有资本…总之,刚毕业开始工作的孩子都非常的有抱负,这可能就是所谓的涉世未深,不知道天高地厚吧…从三月份实习到现在九月份快结束之际,工作已近半年,自己的心态和对未来的期许都发生了翻天覆地的变化。
自我膨胀阶段
刚来的半个月,工作环境的陌生让自己稍微有些后怕,害怕自己完成不了规定的工作,害怕自己被别人看不起;所谓的新官上任三把火,入职员工也需要有三把火,让别人向你投来信任和赞许的目光。秉着这样的心态,我一心投入到code view的阶段,也就是看别人写的代码,改bug,提交测试,集成,重新架构功能模块,学习新语言一共花了两周不到的时间,完成了既定任务,比既定时间提前了很长一段。于是空下来的时间开始了跟同事的交流和闲聊,言语之中透漏出“自己最能”,“没有我搞不定的事情”的意味,好像有天下之大,舍我其谁的气概……
但是这样的成绩并没有让主管对我另眼相看,到现在才明白,当初的那些事情对于一个熟悉业务的工作人员来说,只能说是最基本的菜,根本没有必要拿来证明什么。。更不用说炫耀...
快速自学阶段
在一个小公司,没有培训,没有导师,什么都要靠自己去自学,以前上学的时候,以为学好C++,所有的语言都不是问题。这句话诚然说得不错,确实,所有的编程语言的模式都差不多,一通而百通,这是正确的。但是即使这样,那些新鲜的语言,新鲜的概念都需要你一点一点的去理解。来公司之后,我先后接触的东西有c#,sencha js, lua,nginx,ios,flash,qt等等,lua和nginx核心代码都是c,c#以前本科有接触,qt实习的时候有接触,这些相对比较容易一些,Sencha和ios是要学习的新东西,特别是在自己确定做ios的移动开发工作之后,就一直在学习object-c。 apple的object-c语言有着门槛低,入手快的美誉,特别是在其xcode开发工具的帮助下,写代码,调试,查看帮助方面确实比作安卓开发要快。学了很多东西,接触了很多东西,以为在这里自己选择了一个不错的地方,各方面都朝着一个比较积极的方向发展着…
闲下来的日子
毕竟刚开始只是一个试用实习生,是不可能把一个全新完整的项目交给你做。于是开始了和同事的合作开发阶段,自己做一些辅助性开发的工作。辅助性的工作嘛,意思就是说主要的功能不用你来开发,在完成了自己工作的闲暇,自己特别闲,开始自己给自己找事情做,记得以前一个很牛逼的同学说,一个好的程序员,关键在于修炼内功。于是我开始看linux源码,看到最开始的存储管理就看不下去了。。因为没有动力和实际的需要,也没有意思。每天六点不到就想着下班了,作为一个有着满腔热血的程序员,这样的工作肯定难以让我满意,于是开始给自己找事情做,自己开发app应用,开发了一个一键发布状态(人人网,腾讯微博,新浪微博)的app,功能是实现了,但是由于种种原因也没有提交审核上线;开始接ios的活,但是商谈下来发现实现度比较大,没法做;开始和一些有创业想法的人讨论,组件团队,最后也不了了之;闲下来的日子,工作没有什么出彩的事情,闲下来做的事情也没有什么目标和成果。
工作的重新起航
三个月的试用期很快就结束了,虽然没有什么大的业绩,但是小工作(也就是给别人擦屁股的工作)倒是做了不少。顺利转正之后,有次主管找自己谈话,我说我自己想做一些核心开发的工作,主管却说看你以前的代码经验不多,现在还不能把你作为核心开发人员来使用。要我工作更积极一些,如果我给你安排三周的工作你两周可以做完,在我心目中的印象肯定不一样。听了这席话,才知道以前自己的信心自我膨胀都是自己以为的,别人根本就没有看到眼里。另外也让自己明白了,工作绩效的评比绝对不是看你学东西有多快,是看你完成任务的时间有多快,完成的水平能不能够让人信服来作为评价。
试用期阶段做的sencha版的应用一直通过不了审核,而且速度和体验是大问题,于是必须放弃sencha,开发全新的native应用。这下子感觉自己终于有用武之地了,以前自学的那部分ios可以派上用场了。于是刚开始工作的热情一下子就被调动上来, 7月下旬的开发日子是辛苦而幸福的,虽然每天晚上走得开始晚了,但是当你完成一个功能,解决一个bug之后,骑着单车,踩着月光回家的心情还是无比欢快的。这样的日子持续了两周,一个原型的功能性应用诞生了。不过接下来的日子还是比较痛苦的,因为确实没有过多的ios开发经验,bug和内存不够用是让人太头疼的事情,开发用了两周,调bug用了两周,审核用了20天,不过还好,终于上线了。审核的20天里又发现了好几个关键的bug,只能等下一个版本了。。
老总的压力
老总一直以来都比较关注ios的应用开发,上线之后,就经常过来找茬了,从用户体验上提了很多建议。不过他说的这么一句话还是挺启发我的,说,你看你自己开发的应用,你从每一个界面上给我说说,你自己觉得还差什么?我说不出个所以然来,然后给我说,你们现在开发人员的思路不对,还是那种被指派任务型的开发,说要有自己的想法,如果你觉得不对,即使是主管,你也要提出来。于是我开始重新审视自己之前的工作,确实是,所有的功能和界面都是主管一个人敲定的,自己的想法根本就没有融进去,作为一个实际的开发人员,理应是最理解应用需要什么,应该是什么样的,为什么要让别人说了算..
总结
最后,我想到了北京青年里的一句话,成功不是靠努力的工作,而是靠智慧的工作。特别是对程序猿来说,如果你只是一个码农,那么永远只是一个码农。程序猿应该要清楚明白的工作,应该要有思想的工作,也应该要有交流有想法的工作。现在的程序猿不应该是跟以前一样只追求代码质量的程序猿,还应该从产品体验和用户角度上去想问题,这样,你才能更加有创意,有想法的工作。