前言
最近几个月一直在招人,几乎天天看简历,周周面试人。识别人才的能力也在逐步提升,这期间发现很多人在技术学习和运用方面走入了误区,因此特意写这篇文章来聊聊此事。文中提到的一些观点和内容,也曾多次在晨会时跟小伙伴们提起。如果你想在技术领域梳理个人品牌,独树一帜,可以读读这篇文章。
精通意味着什么?
写简历时,大家通常都会写几项「精通」的技术来撑门面,但何谓精通?精通的基本定义是:深刻地理解,熟练地掌握。对照一下,你简历上写的技术栈是否达到了这个层次?
就本人而言,面试的时候基本上是不会准备面试题的,而面试题来源于你简历上写着什么。比如写着精通Spring Cloud的微服务,那就会基于微服务相关的知识深入的聊一聊。据我所知,大多数面试官也都是这么做的。
这样面试的好处显而易见,不会因为应聘者未使用过某项技术而陷入无意义的问答。别人都没用过,面试这个又有何意义?但使用过,还了解的不够透彻,那就能反映出一些问题了。
面试会问些什么?
对于精通的技术栈,会问一些什么问题呢?还以Spring Cloud微服务为例,假设看到你在简历上写了一大堆的组件,比如Nacos(或Eureka)、Consul、Ribbon、Feign、Hystrix、Zuul等等。通常会问以下三类问题:
- 技术选型:比如,你们的项目当初考虑使用微服务的初衷是什么?也就是说为什么要使用微服务,使用微服务带来的好处是什么?
- 技术原理:比如,项目中使用到了Nacos(或其他技术栈),能说说它在项目中的作用以及工作原理吗?
- 技术细节:比如,在使用Nacos的时候,是否遇到xxx问题,你们是怎么解决的?
上面的三个问题,这不就是我们在实践中使用一项技术时的步骤吗?运用一项技术时先对比选型,看是否符合当前业务场景;然后,了解一下它的实现原理和机制,这样才能更好的进行运用;最后,真正实践时是会遇到很多问题的,是否能够感知到它们的存在,以及通过什么方式来解决……
不要只是在用
通过大量的面试和观察发现,大多数人对于技术的追求都只停留在「会用」这个层面了。系统中要用到某项技术,然后网上搜一篇「如何快速集成xxx」的文章,按照文章上的步骤,copy代码到项目中,跑起来没报错,这就完事了……
何谓面向搜索引擎编程?这就是典型的面向搜索引擎编程的典型。
在面试中,让应聘者说说一个技术栈的大概实现原理,很多应聘者就开始说如何进行配置了。这还都是工作5-8年的人,这个的确有些汗颜。工作机制都不了解,遇到问题如何排查啊?
精通是为了应付面试吗?
上面一直提到面试,但精通一项技术真的只是为了应付面试吗?说实话,现在没准备去面试,但项目中使用到的大多数技术栈,本人都在努力做到精通。虽然不怎么写代码了,但出于工作层面,只有精通了,才能为团队兜底。其实,更重要的是乐趣,发现别人优秀的设计思想,巧妙的代码实现。
精通带来的个人品牌效应
另外还有一个非常非常重要的动因,那就是树立个人品牌。比如,当你从事软件行业多年,怎么才能让别人一眼就识别到你,记住你呢?写一大堆技术栈?肯定不是的。
只有当提起一个领域,一个技术栈,别人一下子就想到你了;只有当别人遇到问题解决不了时,只能求助于你时;这才算是树立起了自己的个人品牌。
那么,如何才能达到上述效果呢?肯定是真正的精通某一个领域某一个技术栈,而不只是我用过。
那么,如何做到精通呢?
每个人都有自己的学习节奏和方式,这里只分享一下个人的「笨办法」。当我接触一个新的技术栈,并想深入学习时,一般会有以下步骤:
第一,搜索出大量相关的文章,基本上得几十篇起,根据这些文章写demo实践。每篇文章都是不同的作者,他们会有不同的视角、看法、介绍方式,通过这些文章基本上能了解(或理解)70-80%的知识点。这个层面注重的是广度。
第二,视频资料或书籍。经过第一步之后,已经能够知道这个框架是干什么的,有什么优缺点,涵盖多少知识点。此时,就需要通过系列视频或书籍把他们串起来。相较于写文章,视频和书籍更花费作者的时间,内容质量和系统性更好。这个层面注重的是深度。
第三,实践+输出。如果能够在生产环境实践那再好不过了,但如果无法在生产环境实践,那就写Demo验证了。然后,最重要的就是输出,无论是内部分享、写文章、录视频等,把学到的东西输出出来。实践是检验真理的唯一标准,你是否掌握了,一输出马上就看出来了。这个层面也是费曼学习法的核心,输出即学习。
第四,阅读源码与交流。大家都是技术人,关于阅读源码的好处就不多说了,它不仅能让你了解实现原理,还能帮你了解如何通过优秀的代码进行实现。在这个过程中,很多人会产生不知道学什么,不知道该看什么,这就需要交流了。与同样使用过该技术的人交流,他们会分享实践中踩到的坑,你可以研究研究为什么有这个坑,如何避免,这又是一个维度的学习。
大家都在聊一万小时定律,但精通一项技术栈,真的不需要那么久。重复述步骤,你会发现,少则几周,多则几个月,你就可以精通对应的框架了。
小结
人为什么会焦虑?那是因为没有存在感,没人需要或在意你。人为什么会没有存在感?那是因为你没有价值。人为什么没有价值?那是你做的事别人也可以做到,甚至做的更好,可替代性强。那么如何才能提升不可替代性呢?那就需要在某一领域做到别人无法或一时无法触及的层次,遇到问题时只能想到你或找你来解决,只此一项基本就够了。
博主简介:《SpringBoot技术内幕》技术图书作者,酷爱钻研技术,写技术干货文章。
公众号:「程序新视界」,博主的公众号,欢迎关注~
技术交流:请联系博主微信号:zhuan2quan
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。