目录
技术大牛成长
技术积累
程序员青春饭
防止变化淘汰
加班 与 恶性循环
运用开源项目
前端工程师的未来
优秀前端的自我修养
书籍清单
技术大牛成长
- 主要靠自学,不要过于依赖身边的大牛
- 注重业务代码的编写技巧,这是重中之重
- 时间规划,利用碎片时间,进行阶段式的系统学习
- 熟悉业务流程,才有接触更多问题
- 具备知识广度,宏观角度看问题
- 多进行技术储备,以至于遇到问题后,能快速有效地解决
- 通过架构重定、代码重构,优化简单系统,也颇具挑战性
- 学习方法:系统学习 => 实践 => 教学
技术积累
- 光说不练假把式,通过实践,可以加深对技术的理解、记忆
- 举一反三,通过旧知识模型,使用类比手法,快速理解新知识模型。这个过程,不仅可以学习新知识、巩固旧知识,还能获得通用型的学习能力
程序员青春饭
- 毕业 3 - 5 年,注重技术积累
- 毕业 5 - 10 年,注重行业、团队
防止变化淘汰
- 以解决问题为目的,进行知识的输入输出,不做无用功
- 目光放大,重视产品价值,考虑方方面面(如:系统架构、用户体验)
加班 与 恶性循环
- 基于敏捷开发,对团队进行工作习惯统计,以便改善开发模式
- 更加紧凑的 timeline,有利于问题反馈、工作效率等,从而改善交付结果
运用开源项目
- 选型依据:满足业务、成熟稳定、注重运维能力
- 使用前,对轮子有充分了解
- 使用过程中,提供应急后备方案
- 轮子的二次开发而言,不要直接更改源码,而是做辅助工具,弥补业务不满
- 假如没有贴合业务的轮子,就需要造轮子了
前端工程师的未来
分化、融合、核心不变
趋势
- 小产品地位越来越小
- 移动端主导
- 会话式界面(视频语音会话、语音搜索:WebRTC,开源语音库:Common Voice)
- 感官式界面(视觉:WebAR/WebVR)
- 日 常 办 公 软 件(复 杂 应 用, 并 且 慢 慢 从 桌 面 程 序 演 化 为 Web):Office、
Email、文档管理、产品设计、项目管理、代码编辑器 - 大数据 /AI 配套软件(复杂应用,并且慢慢从桌面程序演化为 Web):需要大量
的后台系统来做数据分析 / 机器学习 - 播放器 / 游戏:H5 代替 Flash,如 Web Audio、Web Video、Canvas
- 容器 /DSL/ 内核 / 小程序:支付宝 / 微信 / 钉钉容器,内核(也就是 UC、QQ
浏览器内核),及其自定义 DSL(如果将来手机的底层能力都可以上浮到小程
序,很有想象空间) - 产品信息展示类网站(炫酷应用):各种智能设备官网、大企业官网
优秀前端的自我修养
核心能力
- 编程能力,就是用代码解决问题的能力,你编程能力越强,就能解决越复杂的问
题,细分又有调试、算法、数据结构、OS 原理等这些的支撑,你才能解决各种麻烦
的问题。 - 架构能力,则是解决代码规模的问题,当一个系统足够复杂,你会写每一块,能
解决每一个问题,不等于你能搞定整个系统,这就需要架构能力,架构能力包含了一
些意识,比如解耦、接口隔离,也包含认识业务建立抽象模型,也有一些常见的模
式,比如经典的 MVC,还有设计层面,面向对象、设计模式等等。 - 工程能力,则是解决协作的问题,当系统规模更大,光靠一个人,是没办法
完成的,如何保证几个高手互相能够配合好?如何保证项目里面水平最差的人不拖后
腿?这个工程化建设,往往会跨越多个业务,以汇报关系上的团队为单位来做。包括
前后端解耦,模块化,质量保证,代码风格,等等。
建立知识体系
- 对知识怀有好奇心,抓住线索,刨根问底
- 关联知识散点,形成知识网
- 知识分类,绘制技术图谱
- 质疑知识点真伪,寻找最真实原始的理论
能力培养
- 认真阅读经典书籍,使用底层理论,指导自己
- 主动性很重要,空余时间坚持学习
- 做有挑战性的事,尽可能不做重复性工作,走出舒适区
书籍清单
技术类
《Effective Software Testing》
《程序员修炼之道 - 从小工到专家》
《设计模式之禅》
《Spoken Language Processing: A Guide to Theory, Algorithm and System Development》
《机器学习导论》
《Reinforcement Learning: An Introduction》
《Programming Rust》
《Machine Learning: A Probabilistic Perspective》
《Architecture of a Database System》
非技术类
《从优秀到卓越》
《为什么精英都是时间控》
《创新者的窘境》
《魔鬼经济学》
《孙子兵法》
《创造自然》
《浮生六记》
网友评论