20131227补充
这半年没怎么写coding,但是还在看。
这次某个系统出了些问题,一看代码,那叫一个乱,都不如我写的
但是主要问题有两点
1.Exception handling 做的不到位,估计是做的时候也没有明确的需求,programmer 怎么做就怎么做了,也没有code review.
2.DB 连接 问题多。 最近觉得这个问题虽然普遍还是蛮重要的。一个系统对数据库的处理应该有统一控制,否则这一点那一点很容易出事。
不知道以后还不会回到programmer ,经验还是要积累的哈;又突然觉得,对coding 有那么一丝丝留恋
-------------------
1.领导才能
因为是技术出身,所以对领导才能一直有点儿望尘莫及,不过这一年来,感觉学了很多:
1)任何问题,能够快速给出解决方案,如果不是具体方案,也会给出具体分析,指明道路;不推辞
2)任何时候都以乐观面对一切问题,天塌下来不只是你一个人
3)任何问题发生的时候,首先考虑补救,次之才是为什么发生了这个问题,微笑着,去做
4)追求任何成员的时候,语气坦诚,不是为了责备,而是为了找到问题发生的原因,以备后患
5)经常肯定自己的组员,偶尔的夸赞,特别是布置任务的时候;如果是同性别的同事,拍拍肩表示信任的动作也很管用
2.项目组的组织和管理
大的项目会有几十号人;条理的管理非常重要;
1)选择头脑清醒,负责的Team Lead ,这一点非常重要,如果不是所有的员工都是好员工的话
2)需求文档出来后,Design&Development Team 一定要先跟Project Team(负责需求文档) 沟通;正确理解需求,每个模块都至少需要一次meetting;
3)TM 和Team Leads 之间应该清楚各个模块之间的联系,已经Design &Development 中可能发生的冲突;尽量减少Integeration 时的成本
4)如果开始Design或者Develop 之后,需求有所变动,尽量是CR,如果做不到一定要有专人控制Versioning ,文档和开发都需要Version control,而且要一致
3.Codes & Database &Server (针对本项目出现的问题,其他的不适应)
1)如果是大项目,如果有条件,一定要有专门的DBA和管理Server的人员
2)Version : 要保证同一时间所有Developer 在同一个Version工作
3)CR 要Create 不同的Version Branch
4)Database 也一样,如果是不同的Phase 开发,一定要分开,否则后患无穷啊
5)Database 的控制,一开始就要清晰,不同的User不同权限,不同的使用人;绝不可以混乱;特别是table structure
4.Planning
任何一个考虑长远的公司,应该以员工为本,不要为了满足客户,把员工当成案板上的肉。辞职的时候,我一定把这句讲给CEO听。
如果真正负责Palnner知道该怎么做;不好Planner 让所有人受累
很喜欢曾经的的一个老板,他每次都问你需要多久做某件事,然后一定给你多一点的时间;
也记住,前同事的一句话:宁愿慢而对,不要快而错
虽然这个在Production support 更实用,但是实际上,任何开发不都是,一步错,步步错,还不是应该步步稳扎稳打。