2010和2011
是时候来好好总结一下2010和展望2011了,看了一下自己去年的总结,总得来说2010年的收获还是不少的。记录下来,对自己今后肯定颇有用处。
参与一个创业团队半年,随后跳到一家中等规模的软件公司半年。在两种完全不一样的团队氛围中各工作了半年,感受则是完全不一样的。
Section 1:
在之前的队伍中,作为核心开发人员,基本上需求,规划,实现,测试,上线都是一人负责,有了新的想法,想用新的技术和框架,只需和身边的人稍稍商量一下,大家感觉不错就可以马上开始动手,在效率方面自然是十分快速的。比如对视频解码的实现,引入tiles, spring mvc都在几天之内完成。但是问题在于,由于所有的东西都是崭新的,需要自己去摸索,于是很多时间都花费在了Hello World的Tutorial上。加上团队中采用的技术一直被要求使用最新最潮的,导致参考资料可搜索数量极其有限。十分记得当初最开始在Google App Engine上操作的过程,怎一个痛苦了得。不过这样的学习的强度和密度的确给人了很多的锻炼。比如在后期一个人只花了3周不到的工作时间,完成了web层的所有实现,而这对于一个对javascript, css很不熟悉,看到firebug就头痛的人是多么不容易。好在这一切都挺下来,感觉十分幸运也很满意。
同时,由于所参与的方向是在云计算方面,于是对于各大云存储平台都有了或多或少的接触,Amazon S3, Amazon CloudFront, Azure, Rackspace, Nirvanix, Google Storage等等,每一个不同的云存储平台都需要本地实现来封装调用的API,在这个过程中对各个不同的平台也有了较为深刻的理解。因为我们坚持走RESTful的调用模式,于是很多跨语言跨平台的问题都得到解决。同时,在合作伙伴方面,和许多其他的创业团队也有不少交流,可以免费使用或者试用他们的服务,这对于我们的产品也是一个极大的帮助。
第三个点就是对于html5的应用,大概自己有一个月的时间一直在鼓捣各种和html5的相关应用,特别是内嵌的<video>的支持以及各种格式的解码器之间的兼容性。这对于我对视频音频方面的理解有了巨大的帮助。同时对于html5这个buzzword也不再是门外户。总的来说,我感觉html5并不是一个多么玄乎的东西,我们最开始的愿望是将所有的播放器默认使用html5,可是由于各种浏览器的兼容性和转码器之间的关系,加上自带的html5播放器的简陋,最终还是选择了使用成熟的flash技术,同时兼容html5来方便其在移动设备上如iphone和ipad上播放。目前来看效果还是很不错的,在facebook和twitter上也进行了测试。
的确对于技术方面的提升,这半年,加上2009年的一年是起着无比重要的作用的。但是不得不说,在小团队中最缺乏的就是项目管理的规范性,而这对于软件开发,特别是大规模团体开发是至关重要的。虽然从一开始就使用了subversion,但是功能仅限于最基本的commit和check out,基本上就是一个存储空间了,而bug tracker的软件直到我退出团队之后的建议下才开始使用,在其他的协同工作方面就基本没有了。这些在我后来的找工作面试过程中,发现是面试官们都很看重的一方面。第二个问题是在代码的管理规范性方面做的还不够,这一点是我自己也需要继续加强的,很多都是一些很琐碎的点,比如if else的括号,比如javadoc的使用,比如svn中提交代码的comment等等等等。在一个小团队里,很少有机会会有人给你做code review,除非有人需要使用到或者修改你的代码,不然你的代码可能会一直在那里恶心下去。但是在大团队中,这个问题将会称为致命的问题而严重影响整个团队的效率。
Section 2:
下半年,我加入了一家local软件公司,我们所在的项目组主要的对口项目方向是汽车保险业,于是我的脑袋里便装下了各种各样的和汽车相关的专有名词。在这半年的时间里,我最大的收获就是真正跨入了Enterprise开发的大门,相比以前的任何项目,这里的是真正的大型项目,是需要供很多人同时使用的,于是有着严格的项目管理机制。
对于Spring, Struts, EJB有了更为深刻的理解,每天都在和这些技术打交道,即使以前并不是特别的熟悉的东西,现在反复使用也逐渐悟出一些门道。而因为在这里,每个程序员需要负责从界面到后台的所有操作,于是和界面如jQuery, Tiles, Velocity,后台的Oracle, Sql等等都都需要掌握使用。这对于我也是一个很大的挑战。
其次,对于项目管理方面的学习则是有了更多切身的体会。严格采用SCRUM的AGILE开发机制,使用Subversion, JIRA, Hudson, Maven等各种流行的工具,至少使得自己在简历上好看了许多,也有了更多的吹牛的资本。
对于在新公司的理解,上一篇博客里面谈了很多,这里就不重复了。总之这半年将我从一个独立作战的程序员入门称为了一个真正的团队开发人员。
Section 3:
对2011的希望,我写下以下一些想法,希望明年年底的时候能够一一对应:
1。 继续加强的Java EE及和工作相关方面的学习和理解,包括
1。1 Spring 3.0.X, Hibernate 3.5的继续深入理解,如果有可能的话,最好能各挑选一段源代码来学习
1。2 对于Oracle数据库的操作,包括更多高级SQL和PL/SQL的操作
1。3 设计模式理论的学习,并且能够将其使用到具体的code中去
1。4 有时间的话,接触以下Seam框架和JBoss的学习
2。 继续目前在进行的iPhone程序的开发,希望能够有几个程序能够在App Store上卖到钱。
This entry was posted on Sunday, January 2nd, 2011 at 6:14 pm and is filed under 心情 . You can follow any responses to this entry through the RSS 2.0 feed. Both comments and pings are currently closed.



