2010年11月15日来上海的,   已经一年多了, 在这一年忙碌的工作中成长了不少,得到了很多, 也失去了很多。 这一年中,工作上倒是参与了不少项目的开发,学习到了很多, 然后就是这种各样的无奈.

1.首页个性设置的前端开发: 这是我第一次使用js开发了一个较复杂的完整功能模块, 也是进公司之后完成的第二个比较大的项目,开发和测试修改历时一个多月,由于不熟悉开发流程, 需求一再更改,开发周期也被迫延长, 算是一个教训吧。 不过js功力大幅增长,特别是浏览器兼容性和浏览器本地存储积累了不少实用经验。

2.移动导航第二版的前台开发: 由于是一个触屏手机版的网站,可以使用一些前沿的技术, 让我有幸接触到了html5,还有强大的jquery-mobile框架。毕竟是新接触的东西, 由于前期的框架学习和可行性分析不够导致了开发中遇到了很多棘手的问题,让我充分了解了新技术应用可能给项目带来的风险,不过还好项目顺利完工并上线。

3.网址导航高级版开发: 完整参与了前期的需求和开发和维护,吸取前几次的教训,在项目前期做了大量的技术测试, 包括需要用到的js拖动框架, 本地存储, 以及缓存技术, 但是对开发周期的盲目乐观导致到最后不得不加班加点才能按时完成项目,还有未整理详细的开发文档导致后面的维护遇到了很多问题。这个项目涉及从前台js一直到后台数据库设计的一整套的东西,积累了很多网站性能方面的知识,也让我明白了牵头做一个项目有多么不容易。

4.积分系统维护:后半年正式开始专职维护积分系统,对我来说这是一个新的挑战,之前从来没有接触过这么大量的数据需要运算、存储,需要关心的不只是功能能不能实现,数据量大了之后, 性能的重要性越来越突出,可能只是很小的改动都可以让运算时间大幅减小,当然也必须非常小心,因为任何的小失误都可能导致严重的问题。

流水帐写完了, 然后就是一些感受和吐槽:

1.毕竟是第一份正式的工作, 我不知道100多人的公司算大还是小,  不过快速发展导致管理跟不上确实是一件严重的事情.

2.高层的目标是宏伟的, 中层只想尽快有业绩, 作为底层员工就只是无奈.

3.我们用一成不变的技术来应对产品策划日益更新的需求, 这样真会死人的.

4.初期赶进度导致的考虑和设计不足将在一段时间后大规模扩大.

5.如果所有产品策划未经任何审核的想法都提交给开发人员必须实现, 没有规划,没有长远的考虑, 甚至隔几天就要改数据结构, 改业务逻辑, 那么系统崩溃是迟早的事, 这绝对不是危言耸听.

6.小的逻辑错误自己是很难发现的, 这就是为什么我们需要代码审查机制和专业的测试人员.

7.没有规范的代码、架构、 注释是很可怕的,等到开始维护的时候就知道了。

8.到一定规模时,内部自己进行一些研发是必要的,把别人的最好的东西堆起来不一定是适合自己的最优解 就写这么多了。。。

晚安 2011-12-30