基础提升
读书
通用技能
什么属于通用技能?第一大一定是学习技能,第二大属于行业岗位中任何位置都需要的技能.
- 快速学习新代码
- Debugging 动态跟踪调试
- 写代码来分析代码问题
- 软件设计哲学
- 数学
习惯
- 一篇好文不放收藏夹,应该及时读完;字典类型的链接才收藏。
- TODO记录待办,Calendar记录在办,Notes记录总结。
- 面对难题不钻牛角尖(浪费时间),该休息时就放心的去休息,休息一阵子,之前的难题就会很快解决。
领域提升
技术分类
- 后端 - 你写的程序允许在远端;
- 前端 - 你写的程序运行在浏览器上;
- 移动端 - 你写的程序运行在用户设备端;
- 嵌入式 -
- 中间件 -
- 游戏开发 - https://github.com/miloyip/game-programmer
- 机器学习 - https://github.com/chris-chris/ml-engineer-roadmap
- 安全 -
- 大数据 - https://github.com/datastacktv/data-engineer-roadmap
业务领域
领域专家指的是该类领域的专家,而不只是该公司下该领域的专家。
- 业务系统
- 搜索
- 推荐
- 广告
- 金融
- 健康
- 游戏
效率提升
提升必需是持之以恒的,为了在有限的时间创造更多的收益,先提升效率对于其他的提升很有帮助。
利用工具来提高效率
太多有意义的工具,能节省我们的时间,让我们把时间花在回报更大的事情上。
有的时候,你写代码比别人写的慢,一方面可能是”开发工具”的差异,另一方面可能是”逻辑设计工具”的差异。
创造工具来提高效率
write tools to help our work.
基于世上已有的工具,你可以编写自己的工具,服务于自己特有的一些事情。
利用经验和分析来提高效率
关注和记录提高工作效率的方法
时间分配
单位时间价值
废掉一个人最隐蔽的方式,是让他忙到没有时间成长。
避免看不见的重复劳动:并不是说用代码自动化一个事情就不叫重复劳动。总是在写类似的代码,也叫重复劳动。
结合长期目标分配时间:不要仅仅以短期目标来分配时间
沟通和协作
代码工程师更多面向机器,但软件工程离不开团队。
软件工程设计学
听过一个说法是,软件工程是一门如何让一群不优秀的人合力做出一个优秀的东西出来。
快沟通和慢沟通
能通过发邮件 和 写文档 周知和讨论的事情,就不要在即时通讯里进行。
了解社会运转的本质
被动的棋子 -> 主动
工作心态
- 目标不要拘泥于局部,而要远大
- 必须脚踏实地,做好脚下的事情
- 把握团队的方向,而不是被牵着走
- 适当的压力能促进学习进步
核心竞争力
- 创造看得见的价值
- 不可替代性
- 未来贡献预期
- 保持创新力
发现路线
深度和广度都重要。不要纠结哪个相对重要了。T型人才的抗风险能力是最大的。
员工晋级
KPI OKR 绩效考核
OKR 最重要的作用就是帮助你「stay focus」,「stay focus」又能帮助你「make impact」
薪资
工资不是老板对你过去贡献的回报,而是对你未来贡献的预期。