zoukankan      html  css  js  c++  java
  • 上天还是入地?

    我要这天,再遮不住我眼

    我要这地,再埋不了我心

    我要这众生,都明白我意

    我要那诸佛,都烟消云散

                                   --- 《悟空传》

    START

    很多猿刚出道,都是靠一门语言,几个框架谋生,在这个行业摸爬滚打几年以后,会产生一些疑惑: 作为热爱技术的码农,以后的路该怎么走?   

    楼主觉得有两个方向可供猿们参考:  一个是“上天”,一个是“入地”

    1何为上天

    “上天”的意思就是慢慢往上升了, 刚开始的时候就是在一些框架中做一个填空人猿, 在别猿的指导下实现小块的业务需求, 比如用Spring,MyBatis 去写ERP软件的某一个模块。  

    后来职责扩大,自己开始负责一个或几个模块,带着别人做开发,看到的领域也越来越大, 开始向外扩展, 去学习系统的缓存是怎么设计的,数据库读写分离,主从复制是怎么做的, session是怎么管理的,搜索是怎么实现的 ,消息队列是怎么用的,怎么做到高可用、高并发,高性能等等。  

    由点及面, 着眼系统整体和业务的全局,慢慢具备了设计系统架构的能力: 把需求转化成合适的技术组件,让这些组件以合适的方式连接、部署、运行。

    经过长时间的实践、历练和经验的积累,把很多东西都研究透了,知道了各种技术的优缺点,终于迎来了质变的一天:突然发现自己具备了技术选型的能力,对于某种需求,能够选取合适的软件和技术架构来实现它。 

    这时候即使软件业发生了一些变化,出现了很多新技术,例如DevOps,  CQRS ,EDAS 微服务,Node.js等等,  你发现稍加研究就能参透这些技术的本质, 他们要解决什么问题,有哪些最佳实践,以及优缺点 能否在自己的项目/产品中采用。 恭喜, 你已经成功上天了!

    注意,我说的并不是架构师,技术总监, CTO这样的title , 而是一种能力。 

    那些“上天”的人知识面讲究广度,对深度并没有极致要求, 你可能并不了解一个软件的内部细节实现, 但是一定知道这个软件的特点、能力、性能和适用范围。 

    2何为入地

    对于“入地”的人,恰恰相反,要求深度而不求广度, 要求是领域专家, 一个形象的比喻是要求一个一厘米宽的口子得有两公里深。

    “入地”的人专注于某一类技术,比如说有人特别喜欢安全领域,把各种攻击、防御方法研究透彻 , 成为了一个安全专家。  或者有人就是喜欢搜索,把搜索引擎的原理搞了个明明白白, 成了搜索专家。 

    很明显,“入地”要求一个人真的要对这个领域超级感兴趣,要不然就经不起诱惑,耐不住寂寞,别人都在热议云计算,大数据,人工智能,你问问自己还能静下心来研究动态字节码生成吗? 你还能研究Tomcat的原理吗? 

    “入地”的领域非常多,例如安全、搜索、应用程序框架、缓存、JVM、分布式、RPC框架等等。  或者更加底层的数据库开发,Web服务器开发, 编译器开发等。

    这些领域对软件的正确性、可靠性、安全性、性能要求极高,所以从事这些软件开发的人,肯定得真正地精通操作系统、网络、算法等基础知识, 这些人是真正的专家,受到大家的尊敬。 

    3哪个更好

    上天和入地哪个更好,更高级?  其实没有贵贱之分,就看一个人的爱好了,以及耐寂寞程度强弱,每一条路都不容易,都需要努力的奋斗才行。 

    最怕的是高不成低不就,工作多年还是呆在中间

    end

  • 相关阅读:
    PostgreSQL中的partition-wise join
    Partition-wise join
    外观模式 门面模式 Facade 结构型 设计模式(十三)
    桥接模式 桥梁模式 bridge 结构型 设计模式(十二)
    组合模式 合成模式 COMPOSITE 结构型 设计模式(十一)
    创建型设计模式对比总结 设计模式(八)
    原型模式 prototype 创建型 设计模式(七)
    单例模式 创建型 设计模式(六)
    建造者模式 生成器模式 创建型 设计模式(五)
    抽象工厂模式 创建型 设计模式(四)
  • 原文地址:https://www.cnblogs.com/zhuoqingsen/p/8385254.html
Copyright © 2011-2022 走看看