0.0.1. Roadmap
- 职业规划
- 编程理念
- 技术学习
- 技术熟悉度
- 如何学习技术
0.0.2. 职业规划
个人理解的一个产品的实现依赖关系大致是这样的:
应用产品 -> 功能模块 -> 业务设计 -> 系统设计 -> 框架 -> 架构设计 -> 数据结构/算法/编程语言
往下沉, 走技术路线, 研究技术底层原理, 从而创造技术.少说话, 多做事的走这边.
往上浮, 走业务路线, 管理路线, 协调软件开发.情商高, 会聊天的走这边.
0.0.3. 编程理念
可用 —> 健壮 —> 可靠 —> 宽容 —> 精益求精
- 可用
满足需求, 可以运行 - 健壮
最基本的兼容性处理, 边界处理, 异常处理, 用户输入效验等.很多时候需求方没有明确高数你的这些逻辑怎么处理, 但并不意味着你不需要处理. - 可靠
在任何情况下都, 能返回一个可靠的结果.尤其是异常情况下, 也能定位到异常出现的原因. - 宽容
对需求宽容, 对用户宽容, 对调用者宽容, 对维护者宽容. - 精益求精
可维护, 可复用, 可扩展.
0.0.4. 技术熟悉度分级
对于多项技术的熟练应用程度需要在工作中实际使用提现的.
对于某一项技术的熟练度可分:
- 了解
知道该技术, 能解决什么问题. - 掌握
应用过该技术, 清楚该技术的框架流程.
外包, 中小企业入职面试基本能应付. - 熟悉
熟悉该技术原理, 背景, 大致技术细节.能比较同类型的技术.
能坦然面对大型企业的技术面试. - 究极
熟悉所以技术细节, 几乎能实现该技术.
0.0.5. 如何学习技术
多维学习技术, 从学会使用到了解底层技术实现, 从一个技术点比较同类技术点.
至少要达到熟悉级别.
- 背景
在那种情况下, 解决什么问题. - 模型
用什么方法解决的问题. - 特点
优缺点. - 比较
同类型技术比较, 或者有没有更好的解决方案.
0.0.6. 熟悉度的意义
- 如何推导出一无所知的东西?
- 有没有更好的解决办法
0.0.7. 细致
分析枚举的粒度越细越好
做事, 说话要讲究, 做到极致
0.0.8. 做事效率
从容:慢, 仔细
果断:快, 效率