谈谈技术瓶颈

本贴最后更新于 2237 天前,其中的信息可能已经时异事殊

谈谈技术瓶颈

在日常工作过程中,我经常会遇到一些存在瓶颈的同事,他们可能不会主动表达,但从他们日常表现中,能发现一些端倪。比如 缺乏激情、在乎批评、迷茫、大几率的排斥重复性工作。 剖析下来核心是在做类似的功能不能以肉眼速度提高自己的技术能力。那我今天谈谈对这个问题的分析,以及处理方法。
谈到瓶颈的产生,就不得不谈谈,技术人员的体系和架构,那我们一起来探究下。+

####阶段

  1. 入门阶段
  2. 架构阶段
  3. 体系阶段

####体系

  1. 编程语言功底
  2. 数据结构、算法
  3. 线程模型
  4. 设计模式

这是很常规的划分。简单的聊下各阶段的一些特征。

入门阶段

一般是可以掌握一门语言基本语法、特性等。此时可能知道 链表、树、集合的数据结构,常用算法,可能就是二分查找和排序算法。对于移动和后台的开发者,设计模式可能是已经烂大街的 MVC 及其变种 MVVM、MVP 等。

####架构阶段

一般是深入掌握一到两门语言,熟悉了整个基础库以及他的运行方式,同时根据不同的模式进行架构调优。数据结构已经掌握几乎所有的数据结构,算法的话基本刷过一遍 leetcode。线程模型这块有了深度了解,比如反应堆、生产消费、事件分发,设计模式这块,也基本达到一个比较完美的阶段。这个阶段典型就是了解一个中型模块的架构设计,对于整合架构的数据流向,有深刻认识,同时可以产出很多适合自身技术体系的组件(轮子)。

体系阶段

这个阶段,一般人很难达到,不是因为你不努力,而是需要机缘,只有在合适的时间点,处于合适的位置,以及努力奋斗才会有机会。即 管理、技术、产品、三方具备的才有可能从架构体系蜕变出来。这个阶段往往需要扎实的技术功底,敏感的技术嗅觉,超强的技术管理魅力,以及产品落地能力。可以在长期的技术体系发展中,运筹帷幄。

我接触的大都是第一入门阶段的人,这类人大都都是 API 写飞起,可以使用当下的类库完成产品的实现。但是,瓶颈的产生正是如此,当有一天,他自身觉得需要实现的功能,已经没有任何新意,可以理解成不同 API 的组合或者类似需求的变种。面对这样的情况,我们如何越过去? 答案很简单,看架构阶段需要什么样的技术需求。人类的进步,都是因为先是有了不同的诉求,从而去发明和创造,技术如此,在架构阶段我们需要对语言深刻的理解,掌握复杂的线程模型、设计模式,知道整个数据流转的样子。有了需求那是不是我们找到解决问题的关键。努力便是了。

而瓶颈出在第二阶段的人,往往都是以技术混口饭吃的人,没有足够大的动力,去尝试,去挑战。这样就缺少了最为核心的能力『如何构建自己技术体系』。那我来谈谈如果没有遇到如此机遇我们如何去做。在哲学的范畴中,我们有两个概念,『形而上』『形而下』。 形而下 是我们采用的术,即具体的解决方案,例如我们类库、设计模式、算法等,这阶段的人可能会说,妈蛋我掌握那么多知识,为啥还设计不出一个优雅的架构体系。这就是反映出他自己对技术世界的抽象不够,没有形成成体系化的东西, 『形而上』正是在自身的处事中形成的一套虚无的道理,大多数都是简单的道理,但这些道理又无时不刻的可以在具体的事情上,进行表达和印证。想要去突破这个阶段,每个人的方法是不一样的,有的人是经历大挫折,有的人是不停迭代自己,有的人是自己体悟。体系在初期的时候,可能有很多规范被抽象出来。会有一段时间你变的郁闷,恨不得把所有的方式方法进行烂熟于心,无奈的是,总有一些逸出这些规范中,不停的积累,直到一天把自己压到爆栈。这时候重新开始思考,逐渐回归成对于某一类的问题,对应一条准则。 最终精简到不可减少。

技术的世界很伟大,能够通过足够低的成本让人进行操纵难以想象的复杂事物,放到古代这是只有那区区几百人才能干的事情。
『如何在无序纷杂的数字世界中,去建立有序美妙的规则』这本身就是一件了不起的事情。

倘若你遇到瓶颈、困难时,想想那些透过你的代码,建立的数据秩序,在偌大的数字世界欢快跳动着。这画面应该很美吧。

18 年 5 月 9 日晚

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...