关于程序员:上篇技术架构的设计方法

6次阅读

共计 3328 个字符,预计需要花费 9 分钟才能阅读完成。

简介:在程序员中,围城景象十分重大,是技术人在职业倒退过程中必定会面临的窘境。但要答复分明这个问题,其本源不在于是写不写代码或者代码量的多少,其本质还是要回到什么叫技术能力以及如何晋升技术能力这个根节点上来。我把我的一些察看和思考总结下来,供大家参考。
作者:朱春茂(知明)

技术人成长的悖论

在程序员界有一个悖论继续在困惑着很多技术人:在写代码的人的困惑是始终写代码是不是会丢失竞争力,会不会被前面年老的更能加班写代码的人汰换。典型代表就是工作 5 年左右的外围技术骨干,此时正处于编码正嗨但也开始着手布局下一个职业倒退阶段的时候;没在写代码的人困惑是我长时间不写代码(或者代码量较少)我的技术功底是不是在进化,我在市场上还会有竞争力吗,我的倒退空间是不是被限制住了。典型代表就是带业务我的项目的架构师或者团队 Team Leader,他们更多的精力是在业务需要了解和拆分,团队事务的治理上。

这种围城景象十分重大,是技术人在职业倒退过程中必定会面临的窘境。但要答复分明这个问题,其本源不在于是写不写代码或者代码量的多少,其本质还是要回到什么叫技术能力以及如何晋升技术能力这个根节点上来。我把我的一些察看和思考总结下来,供大家参考。

到底什么是技术能力

要解释分明什么是技术能力还得看透技术能力的实质,从源头上来做分析。筛选几个程序员日常的工作问题来做个分析比对,从咱们的日常感观中来辨识下哪些是有技术能力的做法,哪些是没啥技术能力的做法。

两类日常工作

反复琐碎类工作

有一类工作是专门解决其余组技术同学对组内业务的纳闷进行解答,咱们称之为 daily 反对。比方征询你负责的零碎在开发环境有一个报错影响了他们的我的项目联调是什么起因。这种工作的典型特色就是,随时都可能有人来问你问题,还有可能是同一个问题不同的人来问你很多遍。这类工作称演绎为反复 / 琐碎类工作。这类工作咱们来看看几种做法:

1、就事论事,把这个问题答复了完结。到这个水平你只是解决了一个具体的问题。很惋惜咱们很多技术同学都是处于这个档次。

2、解答完这个问题后即整顿成文档,把排查步骤写分明,晋升本人和同组人的工作效率。到这个水平阐明你看到并解决了外部效率问题。

3、将此排查问题的办法和逻辑固化为小工具给到征询的同学去用,让他当前能够自助排查解决,这样既解决了他人的问题也彻底开释了本人和同组人的效力。到这个水平阐明你从新定义了效力问题并找到更好提效的方法。

4、将此问题背地根因找到,从业务原理或者产品性能下来找解法。将技术工具形象为业务性能的欠缺。到这个水平阐明你曾经从单纯的技术提效看到了架构合理性问题,并尝试在业务上寻求彻底根治的方法。

这四种不同的做法咱们能够看进去,即便是这些反复的琐碎类工作,咱们也能够从扩充受害面的角度去提炼价值,而后寻求多个档次的解法。在解决问题的过程中自然而然也锤炼了本人多层次的思考和形象能力。

形象简单类工作

还有一类工作是绝对形象和简单的工作,它的典型特质就是须要只能感触到景象,很难找到根因,没有明确指标和固定解法,须要本人做计划定策略。举个理论中遇到的例子,就是在简单的零碎链路中往往会呈现联调效率非常低下的问题,每个研发同学都在埋怨各种各样的问题,但就是没法去根治。面对这样的简单形象问题,也有好几种做法:

1、找到埋怨的同学,问一问具体的问题是什么,而后针对性解决。

2、更加宽泛收集问题,而后列出来表格,归类剖析并安顿负责人跟进解决,最初定期跟踪进度。

3、深入分析表格的中的问题并对问题进行形象,从架构调优和产品性能的角度去寻找起因,并寻找解决这些问题带来的业务价值,并确定指标拆解门路,最初依照工作推动和跟踪停顿。

4、从更全局角度去思考此指标与年度指标的关系,与组织倒退的关系,思考如何扩充此事的效益,思考如何通过这些事的解决锤炼和造就团队同学。

能够看进去这种形象简单的工作,其实也有多种做法,看得更加粗疏是能够看到技术架构的调优,看得有深度能够与指标、组织成长联合在一起。当然也有很个别的做法,那就是纯正单个问题解决,纯正是变成项目经理,通过工作列表跟踪进度。

技术能力层次模型

通过下面两类日常工作的剖析,咱们很显著能够看到有技术能力的做法特色是可能通过景象看到实质,并可能通过对问题的形象演绎进行技术架构层调优以解决同类问题。

因而我对技术能力的定义是:技术能力是一种以解决某种问题为指标的思路、办法与执行伎俩,其本质就是解决问题的能力。在编程畛域,就是对遇到的业务问题进行形象、提炼以及逻辑的构建,通过研发工具以晋升解决问题的效力,减低人工低效的反复工作。

如果用技术能力这个定义的方法论对“什么是技术能力”进行分析,我提炼了一些模型来表白。

这个能力模型依照逐渐境界阶段分为了三层:

术,硬核技术能力

术这个层面其实更多是硬核技术能力,基本上就是技术的根底功底(如计算机根底,分布式技术,品质意识等)。尽管这个归为是根底类,但这也是技术人的立身之本。工作 3-5 年的同学基本上都还是处于这个阶段,即须要大量的练习使得本人的技能十分娴熟。

处在这个阶段最重要的就是须要有技术好奇心,要有技术的专研力,通过工夫的磨炼长久去学习去练习,使得本人可能成为团队的外围骨干力量。

法,技术架构能力

法这个层面其实更多的是技术架构能力,即通过景象看透实质,通过模型、准则来表白实质以解决形象简单类问题。这是一种高阶的技术架构思维,基本上 5-10 年的同学会处在这个阶段。这个阶段更多强调问题发现,问题定义,问题剖析,问题解决的能力。

处在这个阶段是须要很弱小的认知能力晋升,这里必备的素质就是皮实和容纳,要容得下不同的观点也要禁得起各种挑战。但这个阶段也有很大的误区,即非常容易被简化为就是要学习很多方法论或者套路。

道,技术领导力

道这个层面其实更多的是技术领导力,即通过技术影响力去寻找愿景和指标,率领组织拿取结策略后果。在这个阶段咱们要基于深厚的技术架构能力和技术硬核能力。通过技术思维去解决超过纯技术畛域的问题,一般来说 10+ 年的同学会遇到这类问题。这个阶段的成长也会更多面临人的底层素质能力降级,须要更多靠领悟而不是纯正的训练和问题驱动的思考。这个阶段其实也有很大的误区,即很多人只学到了外表功夫而没有深得要领,纯正就变成是对己就是自我涵养的晋升,对他人就是 PUA。

如何晋升技术能力

随着把技术能力层次模型定义进去,其实如何晋升也有了肯定指南。后续有机会能够分章节来阐述这个技术能力的晋升过程。但产出具体章节的实际阐述前,还有一篇“内功心法”能够分享给大家:

寻找成长的源能源

大家往往对这个问题不以为意,感觉成长是每个人都想要的,然而大家没有认真推敲过促成你成长的到底是什么:是你自驱想要享受这个练、思、悟的过程 还是 因为渴望失去周边人的认可 / 反馈 / 评估。这两者在你顺利的时候可能没什么感觉,但当你面对降职失败,我的项目不利等挫折的时候就会有十分大的差别。

如果你可能找到本人成长的源能源,那么在遇到真正的艰难和迷茫时候才可能摆正好本人的心态,寻找突破口,让本人走出窘境,失去长足的成长。

常态化的总结与反思

不论是编码类的技术根底学习成长,还是绝对形象的问题解决,还是技术领导力成长。只有是成长,只有可能抓住这两个要害就肯定可能胜利。

第一个就是反思,可能敏锐地反思本人的有余,而后一直去修改本人的心态和行为让本人变质。

第二个就是总结,总结的过程是一直梳理本人的过程,把本人迷迷糊糊,是是而非的货色分类归类,而且总结越多就可能用好工夫的复利,就可能越促成成长。

找到了源能源就解决了底层动机问题,通过总结和反思是可能利用上工夫的复利,通过这两样心法就可能使得本人成为一个可能不断丰富欠缺本人的人,达到这样的状态必然可能成为技术强人。

实用技巧

要做到常态化的总结与反思,最简略的技巧就是写文章,通过文字的整顿能够让本人的思考更加成熟,想得更加成熟当前自然而然对外就可能讲得更加分明,可能对外讲清楚就可能更好分享交换才可能真正去校对本人的想法是不是正确。所以我提了,以写代想,以想促讲,以讲验真的实用技巧。

原文链接:http://click.aliyun.com/m/100…
本文为阿里云原创内容,未经容许不得转载。

正文完
 0