我的一年半职场经历
在这里跟大家分享一下。
我的第一份工作,是刚毕业给学校老师做科研助理。在京都,每个月2000RMB。
虽然这份工作赚的很少,但是工作机会确是我努力争取来的。我原本是数学专业的,突然觉得编程有趣就开始搞编程了,只看过一本《C++ primer》。大四下学期,为了得到参与项目的机会,我选修数据结构课程,考了个98分。凭借给老师留下的深刻印象,顺利混入项目组。老师给我布置了一到测试题目是让我用OpenGL绘制vtk文件。这个任务当时用了我接近半个月时间。当我第一次看到自己写的程序运行起来,屏幕上展示接近真实感的3D图像的时候,我就深深fall in love with编程了。我的编程生涯也是由此开始。
加入项目组后,我编程速度让老师非常满意,慢慢变成项目组的主程序员。同时,我的进步也很大,从一开始的所有东西写在一个文件里,慢慢拆分成很多文件,接着根据功能抽象设计了类,读了一些OO的书,不断调整程序结构设计。我每天乐此不彼的修改着我的程序。现在回想起来,我当时连debugger都不会用,所有的调试都是用printf自己打印。(当然,很快我就学会用debugger了)
后来项目的要求进展很快,而实验室只有我一个主程,每天应付不停修改的需求,各种各样开会,让我觉得越来越乏味。尤其是不停变动的需求,让我非常纠结。于是我开始研究如何高效设计程序,每天对着自己的UML图纸冥思苦想,想如何能预测老师的需求变化,那段日子纠结又充实。
再后来,我发现了C++有好多现成的库可以用。于是我开始关注C++库,查看了一些vtk,CGAL,OpenMesh之类的库的文档。为了能让项目组其他人使用GUI。于是我又把MFC,Qt都简单学了学,把我的算法做成了小软件。
工作到半年之后,我开始讨厌实验室的项目了。因为项目组的负责人(另外一个老师)不懂程序,是搞植物的,总是不断的让我赶工。另一方面,2000元的低收入,已经无法满足我的花费了(谈恋爱伤钱啊)。于是我想了一下,跟老师说,把科研助理的工作变为兼职,每个月给我1000就行了,然后我自己在校外找了一家游戏公司做实习。
我的第二份工作,就是在这家游戏公司。
这家游戏公司是做2D游戏的。说起来我进公司时的面试,那是相当的顺利啊。当时我就不太认真的投了5封简历,然后接到了这个公司的面试电话。面试我的是公司两个技术主管。一开始说我本科毕业,实习起薪2500。后来我们深入聊了一些技术问题和软件工程问题。在我刚出公司门准备离开的时候,技术主管给我来了电话,说给我加到4000一个月,让我好好考虑一下。我当时还真是受宠若惊啊,哈。
进了公司之后,一开始确实有很多不懂的,比如到底一个产品是怎么开发出来的,公司是怎么赢利的。不过这东西,其实说来也简单。在最初花了3,5天时间,熟悉了公司自己的框架之后,我就接到了第一个正式的项目。
不过,也许是面试官对我评价颇高,进公司的第一个项目就是让我自己独立写一款棋牌类小游戏(貌似其他新新入职的都是先改现有的代码)。当时我一边看面向对象设计,一边分析游戏算法,搞得的不亦乐乎,还想出了一个复用性颇为强的牌类算法,然后找主管讨论了一下。主管被我的算法惊讶了一下,也同意我按照自己想法去弄。我当时超兴奋,因为我觉得这个算法如果能实现,实在是牛啊(现在想想,也就一般般吧)。当时我全部精力都放在这个算法设计上,不过越是范型的算法,实现起来越复杂,bug出现的可能性越高。当时我正好也在读Boost,于是就一边研究算法,一边用Boost.Test写了单元测试。不过,由于我的这种工作方式,导致项目的工期大大拖延了。也造成了高层的不满。但我个人从这个项目中收获颇丰,范型算法的设计,让我更深入理解了设计模式,单元测试的实践也让我对敏捷开发有所了解。
接着,学校那边的工作结束了,公司这边我也从兼职实习转为全职。工资升到了6500。
随后,我又开发了3款游戏,在这个期间,把《Boost完全开发》那本书给读差不多完了。当然也发生了一些不愉快,比如说,boss担心我开发速度慢,总是逼迫着我。于是我索性以最快速度完成了一个项目,远远提前于项目的截止日期。之后,我就有点无所事事,于是开始看书。也开始学了Python,emacs。另外和一个老师整了个开源项目再弄。
我在公司最后接的一个项目,是自选引擎开发一款小游戏。这个项目学到了好多东西。我当时选择了用cocos2d-x,然后针对桌面游戏,对引擎代码修改了一番。为了游戏配置的灵活性,我把《learning lua》给看完了,然后给游戏加入了lua支持。最后做成了一个技术含量非常高的小游戏。我走后也让接到我这个项目的孩子感到淡淡的忧桑。(非常抱歉,我光顾着自己爽了)
接着,我就辞职了!从3月开始到现在一直呆在家里。
最近的计划是,6月份去深圳工作。
最后,我对我的经历简单总结一下吧:
1,practice makes perfect。熟能生巧。写多了,自然框架什么的感觉就来了。
2,认真去做每一件事情,会有超多的收获。学到超多的有趣技术。
3,跟随自己的兴趣,就会活得很激情。
好吧,大家开始拍砖吧。哈。