我的一年半职场经历

lixiang996 2013-05-26 02:31:35
加精
在这里跟大家分享一下。

我的第一份工作,是刚毕业给学校老师做科研助理。在京都,每个月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,跟随自己的兴趣,就会活得很激情。

好吧,大家开始拍砖吧。哈。
...全文
8758 112 打赏 收藏 转发到动态 举报
写回复
用AI写文章
112 条回复
切换为时间正序
请发表友善的回复…
发表回复
妞牛 2013-06-06
  • 打赏
  • 举报
回复
越跳越衰的飘过
VSISHEN 2013-06-01
  • 打赏
  • 举报
回复
引用 104 楼 lixiang996 的回复:
[quote=引用 102 楼 VSISHEN 的回复:] 楼主从开始学习编程到做项目花了多少时间,学地时候是学教学视频还是直接看书,自己有这方面的困扰,不知道平时学是学书还是视频,现在资料粗制滥造的太多,好的资料不好找啊
一般我都是看书。翻译的比较好的书,以及原版的书。 另外就是做笔记,做笔记好处太多了。 最后就是勤练习,有什么想法,不管多小或者多大,都试着写写程序来解决。[/quote] 我也是喜欢看书,可是书太理论化,而且同一知识点的书太多,良莠不齐,等到发现看的书不好时候,浪费太多时间,毕竟时间不多了,楼主能把那些对应java不同知识点的书推荐一下吗,或者楼主看的一些好的资料,感觉这是我目前的最主要问题,因为我学java主要是看视频,太浪费时间了,感谢楼主了
VSISHEN 2013-06-01
  • 打赏
  • 举报
回复
引用 109 楼 lixiang996 的回复:
[quote=引用 107 楼 VSISHEN 的回复:] [quote=引用 104 楼 lixiang996 的回复:] [quote=引用 102 楼 VSISHEN 的回复:] 楼主从开始学习编程到做项目花了多少时间,学地时候是学教学视频还是直接看书,自己有这方面的困扰,不知道平时学是学书还是视频,现在资料粗制滥造的太多,好的资料不好找啊
一般我都是看书。翻译的比较好的书,以及原版的书。 另外就是做笔记,做笔记好处太多了。 最后就是勤练习,有什么想法,不管多小或者多大,都试着写写程序来解决。[/quote] 我也是喜欢看书,可是书太理论化,而且同一知识点的书太多,良莠不齐,等到发现看的书不好时候,浪费太多时间,毕竟时间不多了,楼主能把那些对应java不同知识点的书推荐一下吗,或者楼主看的一些好的资料,感觉这是我目前的最主要问题,因为我学java主要是看视频,太浪费时间了,感谢楼主了[/quote] 其实你看我虽然学的多,学得快,但都是一点点累积的。一行行笔记,一页页书,慢慢看下来的。我有时候也着急,觉得时间紧迫,觉得自己可以更快。后来我就想通了,活着就有时间去学,没啥好紧迫的。水到渠成。反而着急的人,往往学不好,也学的不开心。 另外,书本理论了一些,此外自己动手,加google,可以弥补经验不足。要勤动手~~~[/quote]那你看JAVA都看什么样的,推荐一下,我学javaSe看的都是视频,现在开始学web,和J2Ee的内容,你都看什么学这两块的,现在最缺的就是学过的人在这么提点一下开始,拜托了,否则又看视频太费事了
VSISHEN 2013-06-01
  • 打赏
  • 举报
回复
引用 109 楼 lixiang996 的回复:
[quote=引用 107 楼 VSISHEN 的回复:] [quote=引用 104 楼 lixiang996 的回复:] [quote=引用 102 楼 VSISHEN 的回复:] 楼主从开始学习编程到做项目花了多少时间,学地时候是学教学视频还是直接看书,自己有这方面的困扰,不知道平时学是学书还是视频,现在资料粗制滥造的太多,好的资料不好找啊
一般我都是看书。翻译的比较好的书,以及原版的书。 另外就是做笔记,做笔记好处太多了。 最后就是勤练习,有什么想法,不管多小或者多大,都试着写写程序来解决。[/quote] 我也是喜欢看书,可是书太理论化,而且同一知识点的书太多,良莠不齐,等到发现看的书不好时候,浪费太多时间,毕竟时间不多了,楼主能把那些对应java不同知识点的书推荐一下吗,或者楼主看的一些好的资料,感觉这是我目前的最主要问题,因为我学java主要是看视频,太浪费时间了,感谢楼主了[/quote] 其实你看我虽然学的多,学得快,但都是一点点累积的。一行行笔记,一页页书,慢慢看下来的。我有时候也着急,觉得时间紧迫,觉得自己可以更快。后来我就想通了,活着就有时间去学,没啥好紧迫的。水到渠成。反而着急的人,往往学不好,也学的不开心。 另外,书本理论了一些,此外自己动手,加google,可以弥补经验不足。要勤动手~~~[/quote]那你看JAVA都看什么样的,推荐一下,我学javaSe看的都是视频,现在开始学web,和J2Ee的内容,你都看什么学这两块的,现在最缺的就是学过的人在这么提点一下开始,拜托了,否则又看视频太费事了
lixiang996 2013-06-01
  • 打赏
  • 举报
回复
引用 107 楼 VSISHEN 的回复:
[quote=引用 104 楼 lixiang996 的回复:] [quote=引用 102 楼 VSISHEN 的回复:] 楼主从开始学习编程到做项目花了多少时间,学地时候是学教学视频还是直接看书,自己有这方面的困扰,不知道平时学是学书还是视频,现在资料粗制滥造的太多,好的资料不好找啊
一般我都是看书。翻译的比较好的书,以及原版的书。 另外就是做笔记,做笔记好处太多了。 最后就是勤练习,有什么想法,不管多小或者多大,都试着写写程序来解决。[/quote] 我也是喜欢看书,可是书太理论化,而且同一知识点的书太多,良莠不齐,等到发现看的书不好时候,浪费太多时间,毕竟时间不多了,楼主能把那些对应java不同知识点的书推荐一下吗,或者楼主看的一些好的资料,感觉这是我目前的最主要问题,因为我学java主要是看视频,太浪费时间了,感谢楼主了[/quote] 其实你看我虽然学的多,学得快,但都是一点点累积的。一行行笔记,一页页书,慢慢看下来的。我有时候也着急,觉得时间紧迫,觉得自己可以更快。后来我就想通了,活着就有时间去学,没啥好紧迫的。水到渠成。反而着急的人,往往学不好,也学的不开心。 另外,书本理论了一些,此外自己动手,加google,可以弥补经验不足。要勤动手~~~
lixiang996 2013-06-01
  • 打赏
  • 举报
回复
引用 107 楼 VSISHEN 的回复:
[quote=引用 104 楼 lixiang996 的回复:] [quote=引用 102 楼 VSISHEN 的回复:] 楼主从开始学习编程到做项目花了多少时间,学地时候是学教学视频还是直接看书,自己有这方面的困扰,不知道平时学是学书还是视频,现在资料粗制滥造的太多,好的资料不好找啊
一般我都是看书。翻译的比较好的书,以及原版的书。 另外就是做笔记,做笔记好处太多了。 最后就是勤练习,有什么想法,不管多小或者多大,都试着写写程序来解决。[/quote] 我也是喜欢看书,可是书太理论化,而且同一知识点的书太多,良莠不齐,等到发现看的书不好时候,浪费太多时间,毕竟时间不多了,楼主能把那些对应java不同知识点的书推荐一下吗,或者楼主看的一些好的资料,感觉这是我目前的最主要问题,因为我学java主要是看视频,太浪费时间了,感谢楼主了[/quote] 我没看过java的书,不过给你个建议,我一般到豆瓣上看书评,然后决定是否去读。 至于书的知识点重复,是常有的事儿,我一般把重复当做复习,每次复习也会有不同的心得体会。我个人认为不是浪费时间。 此外,我一般都是看英文原版的技术书,因为外国人写的比较好。也建议你尝试看原版书。看第一本总是痛苦加缓慢的,两本就好一些,三本的话,技术类书籍应该差不多没太大障碍了。 最后说一句,“欲速则不达”,不要着急。学习是件开心的事情,太着急反而不好,反而会讨厌学习。保持节奏,养成良好习惯。祝你成功!
lixiang996 2013-05-31
  • 打赏
  • 举报
回复
引用 102 楼 VSISHEN 的回复:
楼主从开始学习编程到做项目花了多少时间,学地时候是学教学视频还是直接看书,自己有这方面的困扰,不知道平时学是学书还是视频,现在资料粗制滥造的太多,好的资料不好找啊
一般我都是看书。翻译的比较好的书,以及原版的书。 另外就是做笔记,做笔记好处太多了。 最后就是勤练习,有什么想法,不管多小或者多大,都试着写写程序来解决。
puretaod 2013-05-31
  • 打赏
  • 举报
回复
楼主好厉害
VSISHEN 2013-05-31
  • 打赏
  • 举报
回复
楼主从开始学习编程到做项目花了多少时间,学地时候是学教学视频还是直接看书,自己有这方面的困扰,不知道平时学是学书还是视频,现在资料粗制滥造的太多,好的资料不好找啊
u010046444 2013-05-31
  • 打赏
  • 举报
回复
Cleverman 2013-05-31
  • 打赏
  • 举报
回复
引用 5 楼 stecdeng 的回复:
你可以拿自己的闲暇时间练手 但是做公司项目 你不考虑利润 起码要不要耽误项目进度 也要考虑其他维护你代码的同事感受 你这样的人不适合在团队
是的,你适合去做架构,但确实不是很适合做团队开发。。。
lixiang996 2013-05-30
  • 打赏
  • 举报
回复
引用 100 楼 qdujunjie 的回复:
从北京到深圳,你是怎么想的?北京就没有机会吗?
因为女朋友要去深圳。
lzj1980 2013-05-30
  • 打赏
  • 举报
回复
兴趣果然是最好的老师啊!
qdujunjie 2013-05-30
  • 打赏
  • 举报
回复
引用 楼主 lixiang996 的回复:
在这里跟大家分享一下。 我的第一份工作,是刚毕业给学校老师做科研助理。在京都,每个月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,跟随自己的兴趣,就会活得很激情。 好吧,大家开始拍砖吧。哈。
从北京到深圳,你是怎么想的?北京就没有机会吗?
michunyingzheCSDN 2013-05-30
  • 打赏
  • 举报
回复
引用 32 楼 lixiang996 的回复:
[quote=引用 4 楼 stecdeng 的回复:] 拿公司的项目练手 拖延工期 导致其他接手同事不方便维护 太幼稚 要吃大亏的
谢谢指点,前辈说的对! 为了做成好的产品,达成商业目的,就要对技术、时间都做严格控制。 不过这样做的话,工作就变得好无聊。 此外,由于我总是能提前完成任务。 做得快,意味着接项目更频繁。 我心理对这个也有些不满。 明明我干活比同入职的,工作经验5年左右的同事还要快,工资却只到他们的一半。 所以,既然这样,我不如好好练习我的技术。反正公司看我年纪小,不愿意给我涨钱,我不如多为自己以后做打算,多学习,多思考。[/quote] 楼主很有想法,值得学习。
tt2com 2013-05-30
  • 打赏
  • 举报
回复
技术只是一种达到目标的手段,而且仅仅只是基础。 老板给我们的一句话是编程牛不值钱,那只仅仅是基础。 我深以为然。
zhaozhig 2013-05-29
  • 打赏
  • 举报
回复
纯属接分。。。
u010882224 2013-05-29
  • 打赏
  • 举报
回复
厉害,爱好与工作合一。
taiyangzhishen 2013-05-29
  • 打赏
  • 举报
回复
楼 主 好 厉 害
dsl369 2013-05-29
  • 打赏
  • 举报
回复
加载更多回复(90)

594

社区成员

发帖
与我相关
我的任务
社区描述
提出问题
其他 技术论坛(原bbs)
社区管理员
  • community_281
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧