1. 作为一个开发人员
1. 时与位
你在一家公司待一段时间,设定/调整自己的目标
随着时间的推移,在团队,部门中所处位置的变化,并伴随这个调整目标
- 刚入职
- 入职半年
- 入职一年
- 入职两年
- 入职三年
2. 项目
以项目拥有者的身份去看待一个项目
一开始以模仿为主去写代码
随着需求不断的增加,代码的增加,项目要不断处于演进中
类似的需求可以使用更好的方法来实现, 苟日新,日日新
单元测试一定要跟上
- 假如让你主导这个项目的整个开发,重构 (没有其他人制约你)
- 有新人加入,怎么快速熟悉,review代码
3. 代码与数据
- 知道让代码错误的数据 (代码错误是不是单元测试可以加以预防)
- 影响执行效率的数据
- 业务上正确/错误的数据
- 拆解代码,拆成模块/项目
- 可配置
4. 优化
- 尽量使用多的机器资源 (提高并行度)
- 尽量使用内存
- 减少不必要资源的消耗
- 考虑到数据的特性 (本地性)
- 计算和存储进行平衡 (用计算代替存储,存储代替计算)
5. 数据结构与算法
- 始终以table作为核心的数据结构来思考代码和数据
- 尽量使用带有很多属性的schema形式,即便是map类型, 也可以指定key的取值, 让其带有很多的业务属性
- 熟悉分治算法就够用了, 如果会排序就更好了
2. 作为一个管理人员
1. 放与收
- 从事完全不同业务的同时,怎么凝聚
- 如何对个人的能力和贡献进行评估
- 如何对个人设定目标并加以指导 (差异性,针对性)
- 奖励和惩罚
- 让个人获得团队的认可 (主题分享,技术探讨)
网友评论