一个平凡码农的一年回顾。
这一年,工作相关的大致有3件事: 1.跳槽换工作, 2、参与1个有实际价值的项目开发,3、参与1个大型系统升级。
做为1个平凡的码农,这一年收货颇多,感概颇深。
一、 跳槽,换工作
出于各种原因在2012年年初,果断选择换工作,收获下面的经验:
1、 可以去小公司,但不要选择一家建立十年还是小公司的公司。
2、薪水很重要,做为中国程序员,当工资定下来后,基本上一年的收入就已经决定了,一家在薪水上斤斤计较的公司,不要留了。
3、树挪死,人挪活。如果对现状不满,不要报怨,不要消极。对公司产生消极心理,有抵制情绪,趁早换公司,否则对己,对公司都不好,浪费的是自己宝贵的时间。
4、一家厕所没纸 或者不发卫生纸的公司,不是好公司!
5、一家好公司,会谈员工与公司共同成才,互利共惠。
6、尽量不要去一家市场为主导的公司,特别是做一些政府、国企无用项目,靠关系生存的,那意味着程序员的地位很低很低。
7、被人鄙视过,也鄙视过别人。实力才是根本,有时间感概,不如好好学习。
8、要求写日报的公司不咋的, 忙的时候忙得要死,没时间写;闲的时候闲的蛋疼,没东西写。
二、 参与1个有实际项目开发
很惭愧,毕业1年多,感觉一直在做无用的东西,做出来的东西没有任何的使用价值。判断1个东西是否有价值,很简单的方法是: 是否这个系统一直在运行? 是否有人提出各种改良意见?实际运行中发现各种需要优化的地方? 从4月份开始,参与一个WebService程序后台服务端 和 一个常驻后台java程序开发开发,由开始的参与到慢慢主导程序重构,在开发技能、重构、多线程等方面都得到了良好的锻炼。
1、 写程序很简单,写1个好的程序很难,写1个让使用者满意的程序更难。
写程序很简单:完成一定功能的程序,如果什么都不讲究,很容易,大家都会写。
写1个好的程序很难:常驻内存的独立程序,功能其实比较简单,实时的扫表,转发webservice请求,但上线后,陆陆续续的遇到 网络断开,程序挂死,退出时丢单等各种问题,着实花费不少时间调试。
写1个让使用者满意的程序更难: 程序基本正常了,但实际使用过程中,还是遇到各种问题,例如日志不清晰,配置繁琐等各种问题。做为运维出生的我,深刻体会运维人员的痛苦!
2、技能学习
学习了cxf下的webService开发,初步接触单表过亿数据,对Hibernate、Spring 的使用进1步加深,对Spring事务管理有更深认识。
学习了oracle 的一些分区等高级优化操作,对大数据的分区、分表扩容 有一定技术积累,程序完美处理。
java更加熟练,进行过1次性能调优,进行过1次中小规模程序(5000行)的重构。
对团队建设、项目管理 有一定的积累,开始带3-5人团队,主导开发。
三、参与1个大型系统升级
参与广东移动2个地市的BOSS、CRM系统升级,对 大团队协作有一定认识。
1. 一个大系统,涉及流程、数据、人员、进度、风险、质量等各方面问题。管理能力等软实力比技术实力要重要。
2. 系统割接过程中,学习到很多东西,移动boss系统架构:crm、计费、账务、服务开通、账户余额等,对电信业务知识、系统流程也有了一定积累。
2013 年规划:
1、 本职工作,持续进行 应用的重构,架构优化。
2、spring掌握aop、事务,Hibernate的缓存控制、优化等高级内容。
3、阅读1个开源软件源代码
4、提高英语的读写能力