上天还是入地?
我要这天,再遮不住我眼
我要这地,再埋不了我心
我要这众生,都明白我意
我要那诸佛,都烟消云散
--- 《悟空传》
START
很多猿刚出道,都是靠一门语言,几个框架谋生,在这个行业摸爬滚打几年以后,会产生一些疑惑: 作为热爱技术的码农,以后的路该怎么走?
楼主觉得有两个方向可供猿们参考: 一个是“上天”,一个是“入地”
1何为上天
“上天”的意思就是慢慢往上升了, 刚开始的时候就是在一些框架中做一个填空人猿, 在别猿的指导下实现小块的业务需求, 比如用Spring,MyBatis 去写ERP软件的某一个模块。
后来职责扩大,自己开始负责一个或几个模块,带着别人做开发,看到的领域也越来越大, 开始向外扩展, 去学习系统的缓存是怎么设计的,数据库读写分离,主从复制是怎么做的, session是怎么管理的,搜索是怎么实现的 ,消息队列是怎么用的,怎么做到高可用、高并发,高性能等等。
由点及面, 着眼系统整体和业务的全局,慢慢具备了设计系统架构的能力: 把需求转化成合适的技术组件,让这些组件以合适的方式连接、部署、运行。
经过长时间的实践、历练和经验的积累,把很多东西都研究透了,知道了各种技术的优缺点,终于迎来了质变的一天:突然发现自己具备了技术选型的能力,对于某种需求,能够选取合适的软件和技术架构来实现它。
这时候即使软件业发生了一些变化,出现了很多新技术,例如DevOps, CQRS ,EDAS 微服务,Node.js等等, 你发现稍加研究就能参透这些技术的本质, 他们要解决什么问题,有哪些最佳实践,以及优缺点 能否在自己的项目/产品中采用。 恭喜, 你已经成功上天了!
注意,我说的并不是架构师,技术总监, CTO这样的title , 而是一种能力。
那些“上天”的人知识面讲究广度,对深度并没有极致要求, 你可能并不了解一个软件的内部细节实现, 但是一定知道这个软件的特点、能力、性能和适用范围。
2何为入地
对于“入地”的人,恰恰相反,要求深度而不求广度, 要求是领域专家, 一个形象的比喻是要求一个一厘米宽的口子得有两公里深。
“入地”的人专注于某一类技术,比如说有人特别喜欢安全领域,把各种攻击、防御方法研究透彻 , 成为了一个安全专家。 或者有人就是喜欢搜索,把搜索引擎的原理搞了个明明白白, 成了搜索专家。
很明显,“入地”要求一个人真的要对这个领域超级感兴趣,要不然就经不起诱惑,耐不住寂寞,别人都在热议云计算,大数据,人工智能,你问问自己还能静下心来研究动态字节码生成吗? 你还能研究Tomcat的原理吗?
“入地”的领域非常多,例如安全、搜索、应用程序框架、缓存、JVM、分布式、RPC框架等等。 或者更加底层的数据库开发,Web服务器开发, 编译器开发等。
这些领域对软件的正确性、可靠性、安全性、性能要求极高,所以从事这些软件开发的人,肯定得真正地精通操作系统、网络、算法等基础知识, 这些人是真正的专家,受到大家的尊敬。
3哪个更好
上天和入地哪个更好,更高级? 其实没有贵贱之分,就看一个人的爱好了,以及耐寂寞程度强弱,每一条路都不容易,都需要努力的奋斗才行。
最怕的是高不成低不就,工作多年还是呆在中间
end
作者:卓庆森
出处:https://www.cnblogs.com/zhuoqingsen/p/8385254.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?