2008年我刚入行时,掌握Java和Spring框架就能找到不错的工作。但到了2023年,同样的技能组合可能连简历筛选都过不了。技术行业的迭代速度远超其他领域,平均每18-24个月就会出现一次技术栈的重大更新。我亲眼见过不少30多岁的老程序员因为停止学习,最终被迫转行。
技术债务的累积速度令人震惊。去年我接手过一个遗留系统,还在用Struts 1.x和JDK 6。维护这个系统的团队有5年没更新技术栈,结果系统迁移成本比完全重写还高30%。这就像开车从不做保养,最后修车费比买新车还贵。
我每周会花2小时做技术扫描,方法很实用:
但关键是要建立过滤机制。我有个"3C评估法":
我用Obsidian管理技术笔记,遵循"原子化"原则:
最近整理微服务笔记时发现,3年前记录的Service Mesh概念,现在已发展出Istio、Linkerd等成熟方案。这种演进轨迹的追踪特别有价值。
单纯看教程效果很差。我的"三遍学习法":
最近学Rust时,我故意在第二遍练习时引入内存泄漏,然后用Valgrind排查。这种有目的的犯错让理解更深刻。
不要陷入"教程地狱"。我的学习周期通常是:
比如学Kubernetes时,先用Minikube部署简单应用,再尝试生产级集群部署,最后研究调度算法源码。
我在团队推新技术时有个"三步渗透法":
去年这样成功引入了GraphQL,现在已成团队标配。
比起证书,我更看重:
有个同事靠维护Ant Design的中文文档,拿到了比PMP证书更有用的offer。
我的"能量管理"经验:
设置"技术安息日"也很重要,每月留出几天完全不接触新东西,专注消化已有知识。
用Notion做了个技能仪表盘,包含:
每季度review时,会发现有些技术(比如jQuery)在自然衰退,而有些(比如Rust)在稳步上升。