PHPer,我这三年
如未特别标明,文章均属原创。转载请注明出处。by : 柳公子 http://huliuqing.github.io
从2011年10月至本月初(2014年9月),我的工作和生活都在南昌一家叫腾王的初创手机游戏开发公司,从事PHP开发工作。虽然身处手游开发企业从事开发工作,但业务始终围绕建站、手游数据对接展开,提升和可发展前景不大。
出于各种原因,在9月中旬选择从腾王离职,加入到上海天奕达科技有限公司从事PHP开发工作。目前在天奕达工作稍微比在腾王辛苦,很多状态与腾王相似。
腾王的一些问题
在腾王与小伙伴们相处没有所谓的勾心斗角、尔虞我诈。大家处于好友的状态下从事开发工作,并且工作强度不大。在腾王工作的三年让我很开心。即便如此,最近一年工作在腾王,我的思考越来越多。
1、培训应届毕业生没有很好的老师
这些新人无论从事cocos2d,unity3d,动画还是PHP研发,都没有一个靠谱的“老师”。所有从事软件研发的企业,在其招聘信息上都会附上“有相关开发经验者优先”这样一条信息。
在腾王工作的新人是痛苦的,起码我是这样认为的。腾王几乎所有招聘的研发人员都来自于应届毕业生包括我自己。
在腾王的培训学校,对这些即将毕业的应届毕业生培训3-5个月游戏开发课程,签订劳动协议后便留在腾王。对于我们第一期的还好一些,有来自日本PA公司的大牛教授游戏开发课程,遇到问题大牛能够很快解决,授之以渔。
之后的学员,便是由我们这些刚接触游戏开发人员,以仅有的游戏开发知识,传授新的学员游戏开发课程,开发知识仅限于游戏引擎函数库的使用,呵呵,Are you kidding?
我在想,会不会有这样的人才,自己只有半桶水,可以教出一桶水的学生?
2、研发力量严重不足
如果培训学习仅仅是入职的第一步,那入职以后的艰辛依然无法忽视。
第一期学员入职后(我也是第一期学员,学习的课程是游戏开发,只不过还没学完课程就转到PHP从事PHP开发工作),日本的大牛就功成身退回日本了。剩下的就是我们这些一期的学员,游戏开发中的问题解决不了,发邮件给日本、百度、谷歌;再遇到问题,发邮件给给本、百度、谷歌......
第二期之后的学员,再遇到问题时,就是依靠先前培训过的“编程老鸟”的力量来解决问题。
我在想,会不会有这样的人才,自己对问题的认识一知半解,然而可以相对完美的解决问题?
3、员工技能培训工作没有做好
无论BAT,还是初创公司,都知道人才储备的重要性。优秀的人才多数集中在北上广深。在南昌优秀的编程开发人员,有但很少,年轻有活力的编程人员则更少。
腾王有机会留下部分有活力的年轻人,但在这些员工身上投入的精力太少。拿我来说(额我不是有活力的年轻人),我是在腾王自学的PHP。找视频、看手册、写代码、解决问题这些工作完全靠自己,这是我的状态。
拿游戏研发的员工来说,依然走着找视频、看手册、写代码、解决问题的老套路。
没有问题么?
可以说很多人到目前都没有深入的学习过IO、文件操作、数据库、MVC、编程规范、代码可用性和复用性这些内容,更有甚者可能闻所未闻。
现在三年过去了,我见到的依然有用a、b命名变量的;存在没有正确缩进格式的;乱写函数名的;额,还有纯拼音命名的。
如果一个人是这样,可以说他不够勤奋,但如果很多人都这样的话,难道说所有人不勤奋?
新员工基础培训工作,和老员工的进阶培训工作,我认为公司需要在这些方面投入精力。
4、没有明确需求和好的策划
我不懂策划,但我知道需求的重要性。做游戏,开发人员不负责任的可以仅仅关注编码工作,编写玩代码就OK;负责的同学,可能回去了解需求,思考如何做得更好。
在腾王游戏策划是从学员中招收的半路出家的“和尚”。在游戏策划中,策划时,市面上有哪些好的设计借鉴过来放到我们的游戏里,很多功能的设定给出的理由是“我认为这样,balabala”,而不是“为什么这样,而不应该是那样”。很多时候,上一个版本和这一个版本看起来是两个不同的游戏,呵呵,我不知道是怎么考虑的。
对于PHP研发工作,则连个需求都没有。开始的1年是在开源软件上进行二次开发工作,还好一些。之后给过来新的项目,就不适合二次开发了。 没有需求,没有产品分析,谁能告诉我要做成什么样?给几张图,把图上的功能实现了就行。shit,一坨狗屎。
搞到后来我这个做开发的还要兼职去思考如何把图上的网站,划分功能解决需求问题,设计数据库,技术选型,做前端,教新人。还能不能让我安静的写代码?
最奇葩的一次,一个项目前后有至少六七个人给过我反馈修改意见,你妹。
5、还有很多我想不到的
我是如何解决这些问题的
对症下药,才能药到病除,如果遇到这样的公司,我们应该自己积极的寻找途径加强自己。期望公司能够解决培训、流程、策划问题,你的成本会太高。
1、自学
我是做PHP开发工作的,再决定转做PHP开始,我就google了PHP如何学习。这之后我看完了PHP手册、MySQL、Javascript、CSS相关的理论知识并坚持实践;学习Web UI/UX相关知识;学习PHP、MySQL、Web前端安全及优化知识;阅读开源软件源代码。我可以肯定Web开发我入门了。
2、使用google,百度,Stackoverflow和Github
纸上谈兵永远不可行,开发过程中总会遇到各种奇葩问题,这时候利用好google,百度,Stackoverflow和Github将对你编程工作大有裨益。内事问百度、外事问Google、编程问题找找Stackoverflow、需要开源程序或许Github可以帮到你。如何用好这些软件请自行google、百度。
3、keep going
持续保持一种学习、研究和练习的状态。3年内搞清楚你所从事的领域是什么、能做什么、如何去做好它;没事多写写代码,看源代码;多看书、看好书;在你的领域开启循环模式,反复提升技能。如果觉得差不多了,就更深入一点、更广一点。
什么是更深入、更有广度?我无法解答你,当你明白的时候,自然无需我多说什么。
4、更多
希望你我都能能过的更好,走得跟远。best regards