当前位置: 首页 > 科技观察

架构师必须掌握技术细节吗?

时间:2023-03-19 14:26:48 科技观察

作为一名程序员,没有人不想成为一名架构师。如果有,那他一定是个有“想法”的程序员。架构师已经是一群站在技术顶端的程序员。如果你说上面还有技术总监和CTO,那只能说你水平太低看不懂。程序员的职业发展程序员的发展路线图(这一行可以随时转管理):publicclassTest{publicstaticvoidmain(String[]args){System.out.println("架构级程序员,统称‘架构师’。");}}总监和CTO已经远离技术一线,走向管理和业务。如果你发现你的公司director或者CTO还在写Code,说明你的公司有点小,真的小,甚至都算不上一个公司。首先,架构师必须“掌握”技术。这里的“掌握”需要理解。架构下面的程序员都是跑在赛道上的,熟悉业务再深入底层技术。比如从事java开发的IT毕业生,一开始会懂java语法,会一点spring。这被称为初级程序员。工作一年后,他发现自己可以在精心打造的项目框架下熟练开展业务,无需太多帮助。这称为中级程序员。大概3年后,我已经不满足于常规的业务代码,开始自己搭建框架,自己搭建维护,再做新业务的时候,复制一个框架,直接开始写业务。这时,我已经是一名高级程序员了。再过3年左右,一些程序员不再愿意写业务代码,开始专攻框架维护,研究底层源码,自己写一个框架,可以改善各种性能瓶颈。这时候,他们已经是专家级的程序员了。某日,一位高手程序员突然对整个业务系统产生了兴趣,想要设计一套完整的系统,整合页面+后台+数据,以及人员资源,完成系统搭建。这个时候,这位高手发现自己的知识太细分了,还有很多事情他不会,比如web开发、app开发、h5开发、数据库维护、项目管理、人员组建、人事管理等等。所有这些能力都需要处理一个完整的系统构建。这时,高手开始拼命学习。这个时候“学习能力”就是根本,因为要学的东西太多了,高手穿越过去变成架构程序员了。其次,架构师不一定要“掌握”技术。所有达到架构层次的程序员都有几个特点:超强的学习能力、优秀的表达能力、丰富的技术广度、足够的技术深度、一定的领导能力、良好的组织协调能力。所以“技术”并不是一个架构级程序员的唯一指标,而是他能力中不可或缺的一部分。往往到了后期,技术以外的能力变得越来越重要,这是未来发展的必要条件。但是,架构师仍然是站在技术前沿的程序员。他经常有消防员的形象,有点像杂工。他们穿插在各个层级的程序员中间,穿插在产品、运维等各个人员中间。、研发、营销、运营、PM、总监等。对于架构师的考察,很多面试官都变成了“专家级或者资深”的程序员,测试框架底层原理掌握得如何,讲到一定的生命周期。这些是一个高手程序员必须精通,随时可以谈的东西,但不是架构师的主要考察指标。随着架构师的成长,“技术深度”会慢慢被遗忘和丢失,这是不可避免的。从“初级、中级、高级”乃至“专家”成长起来,只有一个核心指标“技术深度”。面试的时候只关注这个是没有问题的。这个层次一般只在程序员圈子里交流,加上一些产品和测试,但也统一在“产研”里,他们每天都会接触。建筑师走出了这个圈子,来到了一个更大的世界。就像小说中的修真世界,每一次突破,都会发现一个更大的世界。同时你会发现自己的技能不够用,开始低调的练怪升级。只有达到这个世界圈的最强者(飞升前),才能横着走。最后,如果你不成为一名架构师,你就不可能成为一名优秀的程序员。在职业发展中,一个非常关键的因素就是“时间”。无论从事什么职业,都无法战胜它。时间反映在你的年龄上。程序员有个35岁的魔咒!有很多技术人员,靠着一两种能力过一辈子,不愁吃不愁穿。只要修炼出一个能力,达到这个领域的顶峰,他们还是有跨界战斗的能力的。顶部是一个罕见的数字。考虑一个人的一生,不要局限于一份工作和一份事业。最好在一个阶段做适合自己的,每个阶段可以不一样。生命是生命的根本,生命只有一次,不要让自己为过去后悔。