此博客内容也是三年前刚入职不久从Meituan的一个技术分享里二次整理的,常看常新。
一. 贵在坚持
知识更迭的很快,但是基础理论变化缓慢,二者是 道
和 象
的关系。众是世间万象,但万变不离其宗。要不断复习基础知识,打好基础。
二. 重视实践
个人的成长70%来自实践
,20%来自学习,10%来自培训。
三. 重视交流
向同事、对手、下属学习,取其所长,弃其所短。积极参与项目讨论,与高手交流,能够很快解答内心疑惑
。
四. 重视总结和输出
工程师在实践中会掌握大量细节,但是,即使掌握了所有细节,却没有深刻的总结和思考,也会陷入到 学而不思则罔
的境地。成长的量变
来自于对细节的逐渐深入地把控,而真正的 质变
来自于对道
的更深层次的理解。
五. 重视规划
凡事预则立,不预则废
。对于漫长的学习,好的计划是成功的一半。
5.1 长期规划
- 远离日暮西山的行业
- 做自己感兴趣的事情
- 做有积累的事情
- 边走边看,切勿一条道走到黑
5.2 短期规划
良好的短期规划应该在生活、成长、绩效和晋升之间取得平衡。
- 确定目标
优先级
。比如:成长、生活、绩效 - 确定每个
目标的下限
。从优化理论的角度来看,这被称为约束。比如绩效必须在一般以上,之前已经规划好的旅行不能更改,必须读完《Effective Java》等等。 - 优先为下限目标`分配足够的资源。比如,事先规划好的旅行需要10天,这10天就必须预算出去
- 按照各主目标的顺序
依次分配资源
。比如,最终分配给学习的时间是10天。 - 在给定的学习预算下,
制定学习目标
,要激进。然后给出执行方案。比如,学习目标是掌握基本的统计学知识,并成为Java专家。具体方案为:完成《Effective Java》、《Java Performance》、《Design Pattern》、《Head First Statistics》四本书的阅读。 - 对规划中的各学习任务按目标优先级进行排序,并
最先启动优先级最高的任务
。比如,最高优先级是掌握统计理论,那么就要先看《Head First Statistics》。
对于上述方案,同时要注意以下几点
:
- 最低目标必须能够轻松达成的目标,否则,从优化理论的角度来讲,该命题无解。比如,类似“半年内完成晋级两次、绩效全部S、从菜鸟成为Java专家”就不太合适作为最低目标。
总之,要区分理想和梦想
。 - 主要目标规划必须具备一定的挑战性,需要规划出不可能完成的目标。过度规划本质上是一种贪婪算法,目的是目标价值最大化。因为一切皆有变数,如果其他目标能够提前完成,就不妨利用这些时间去完成更多的学习目标。
总之,前途必须光明,道路必须坎坷
。 - 各目标之间不一定共享资源,规划不一定互有冲突。
- 学习计划最好能结合工作计划,理论联系实际结合,快速学以致用。比如,本季度规划去做一些数据分析工作,那么不妨把学习目标设置为学习统计知识。
- 要灵活对待规划的目标和具体执行步骤,需要避免“郑人买履”式的笑话。面临新的挑战和变化,规划需要不断地调整
六. 可行性调研的那些坑
做可行性调研,要避免如下情况:
把可行性调研做成不可行性调研
。这真的非常糟糕。不可行性的结论往往是:因为这样或者那样的原因,所以不可行。- 避免
老鼠给猫挂铃铛
式的高风险可行性方案。天下大事必作于细
,可行性调研一定要细致入微,避免粗枝大叶。 - 避免调研时间过长。如果发现调研进展进入到指数级复杂度,也就是每前进一步需要之前两倍的时间投入,就应该果断的停止调研。
可行性调研的结论应该是与收益、成本的折衷,格式一般如下:
- 首先明确预期的结果,并按照高中低收益进行分级
- 阐述达成每种预期结果需要采取的措施和方案。
- 给出实施各方案需要付出的成本。
七. 带人之道
根据经典的探索和利用(Exploration and Exploitation)
理论,良好的用人方式应该如下:
首选选择相信
,在面临失败后,收缩信任度。- 查找失败的原因,
提供改进意见
,提升下属的能力。 总是给下属机会
,在恰当地时机给下属更高的挑战。 总之,苍天大树来自一颗小种子,要相信成长的力量。
八. 效率、效率、效率
天道酬勤,更酬巧
。
工程师们都学过数据结构,不同算法的时间复杂度的差距,仅仅通过更长的工作时间是难以弥补的。为了提升工作学习效率,我们需要注意以下几点:
- 主要关注
效率提升
。很多时候,与效率提升所带来的收益相比,延长时间所带来的成果往往不值得一提 - 要有清晰的
结果导向思维
。功劳和苦劳不是一回事。 做正确的事情,而不仅仅正确地做事情。
这是一个被不断提起的话题,但是错误每天都上演。为了在规定的时间内完成一个大项目,总是要有所取舍。如果没有重点,均匀发力,容易事倍功半。如果“南辕北辙”,更是可悲可叹。