有容乃大的技术世界观

这篇文章发布于 2018年09月11日,星期二,12:14 下午,归类于 散文随笔。 阅读 14050 次, 今日 2 次

 

对于刚工作不久,或者即将参与工作的技术人员,看一些关于技术人文,价值取向,以及技术世界观方面的文章要比单纯学一两个技术要重要的多,眼界和认知的提高往往决定了你以后的高度。至少对于我而言,年少时候前辈们的那些真知灼见对我现在的成长非常有帮助。我觉得是时候把自己的这些收获反哺给现在的年轻人。

海纳百川

技术世界观

随着工作年限的增加,技术的不断积累,我们对于技术的认知和看法就会形成一套自己的世界观,就像是一个安全的技术沙盒,你身在其中,里面有你得心应手的技术,有你多年沉淀的心得。

这是一个自发的过程,就像路边随便抓住一个人,这个人对于这个世界一定会有自己的认知和看法,其并没有刻意思考过这个问题,但是在成长的过程中,世界观就逐步形成了。在技术的领域中也是如此,只不过每个人心中的世界是不一样的,井底之蛙的世界就是个深井,天空飞鸟的世界就是天地。

稳定的世界观的形成是我们技术成熟的标志,但往往也成为了限制我们进一步成长的瓶颈。

成熟技术的排他性

当我们的技术世界观稳定之后,就会自然而然对其他的技术领域进行排斥,尤其是同一领域的技术,这就是技术排他性。

这种排他性是深植于身体中的人类天性,或者说是动物的天性。当你处于一个安稳舒适的沙盒世界中,自然而然会排斥那些有可能会破坏你这个世界的东西,这样你才有安全感。

比方说Angular是先出来的,于是一些Angular用得很熟练的人,就排斥Vue,React这些产物,口水仗也因此产生(下图搬运自微博)。

可以理解,人之常情。我自己有时候也会有类似的情绪,比方说自己是个坚定的原生CSS拥抱者,对Sass,Less等就不推崇。

但,如果固执于自己这个小小的稳定的技术世界中,则会非常限制你的成长。

海纳百川,有容乃大

我们应该要用更加谦逊,更加包容的心态看到web前端技术,这样你的技术深度和广度才能优于别人,你的技术世界观也会从一个深井扩展到天地,所谓海纳百川,有容乃大,就是这个道理。

在武侠的世界中,每一门武功可以看出是一种技术,通常武学巅峰者往往是集大成者,令狐冲,张无忌,杨过都是这样。这个世界上,存在既有道理,即使是糟粕,你知道其糟粕在哪里,也能扩展你的认知,增加你的学识。

我们学习前端技术也应如此,千万不要有自己学的技术和框架是宇宙第一,其他技术和框架都是什么玩意的心态;也不要抗拒对新技术新趋势的关注与了解,不要害怕会颠覆你现在定型的世界观。

举个例子,现在很多新人都是通过学习Vue入行的,且很多都玩得很溜,难免会有Vue宇宙第一,什么Angular之流就是狗屎的心态。这种心态是非常糟糕的,要想在技术这块有所成,一定要谦逊,Angular其特性如何,精华在哪里,糟粕在哪里,你应该去了解他,学习他,无论是好的还是不好的。盲目的鄙视只是图一个心里的爽快,但是,你的技术并没有因此提高,但是,如果你保持谦逊,深入了解你认为“糟糕”的技术,精华可以给你启发,糟粕可以让你知道Vue设计好在哪里,都可以提高对你现有技术水平。

前端技术风起云涌,等过了几年,说不定就会出现另外一个Wue的框架,那些靠着Vue吃了很多年安稳饭的人内心一定是会排斥这个新事物的,这是肯定的。如果这个Wue框架跟你多年的形成的技术理念不一致,那更加是不闻不问。这种心态也是非常糟糕的,跟闭关锁国的大清帝国几乎没有任何区别。你的心态一定要开放,要包容,乐于接受新的事物,深入思考其诞生的原因,其价值在哪里,可不可以对我现有的技术进行融合或者补充。这样,你才能与时俱进,你的技术世界观也会越来越宽广。否则,一定会落后于他人。

千万不要被成熟的世界观限制自己的发展,记住这句古话,海纳百川,有容乃大。这样,在40年的职业生涯中,你才能持续进步,不断成长,成为有技术影响力的人才。

其实,开放,包容,谦逊的心态不只是用于个人成长,团队成长亦是如此。拿团队交流这件事情来说,即使一方是不知名小厂小团队,另一方是大厂大团队,也是有交流价值的,也是有值得学习的地方的,有差异就能有所学习。很多前端一毕业就进去大公司成熟团队,根本不知道小公司到底是个什么状态,顶多纸面上听过,并未亲眼见过,而通过实地交流,一定有助于拓宽这类技术人员的认知。而且,小团队中往往会有很好更新的技术落地与实践,因为顾虑不用那么多;也会有很多创意的想法值得借鉴。不同思想的碰撞才能产生不一样的火花,三人行必有我师,无论什么时候,都要保持谦逊与好学,技术之路才能走得更高更远。

更广义的包容

谦逊,包容的心态其实可以更为宽泛。很多技术人员对于技术所谓的对错的认知也处于一个狭小的世界中。

我大学时候的电路理论课的老师退休前的最后一节课就是我们班,而最后一节课的最后给我们讲的则是与课程无关的关于对科学的认识。

老师的观点是这样的:

“任何能够自圆其说的理论都能称为科学!”

比方说中医理论,比方说阴阳理论,如果这些理论能够自圆其说,我们就可以认为其是科学。

估计有人会对上面的话表示嗤之以鼻,中医也算科学真TM见鬼了!请记住本文的“有容乃大”!我们其实不必执着于字面的意思,这句话其实是引导我们从不一样的角度,用不一样的方式看待问题。不能拘泥于自己原本狭隘的世界观认知中,跳出来看待,用更为哲学的眼光看待,你对世界的认识则会更加的丰满。

回到技术这里,我拿CSS这门语言举例:

经常会有CSS开发者会给我写邮件,表达对某些样式表现理解和看法,问我是否正确。我对他们的回答都是:“如果你的理解和现象能够正好自圆其说,那你的理解就是正确的!”

即使提问者的理解和所谓的CSS规范有偏差,我也不会说他们的理解是错误的。哪有那么多的对错?规范叫盒子,你理解为框子,有问题吗?没问题!规范说浮动元素脱离文档流,你认为不脱离,有问题吗?没问题,你只要自己解释得通即可!我们没必要拘泥于规范。

每个人的内心世界都是不同的,对待事物的看法也不一样,所以我们就不能强行按照自己的技术世界观去随意批判他人,而应该用更包容的态度,去看待他人的理解,说不定可以从中得到很多启示,获得不少灵感。

圈子中所谓技术争论的口水仗爆发的原因其实就是彼此禁锢在了狭小的技术世界观中,是非对错就那一条线,不在这条线上就是错误的,我就跟你争,让你认同。

别,我们对于世界的认知和看法绝不能这么简单与狭隘!

现身说法

我自己是个道家思想推崇者,讲求顺其自然,追根溯源,无为而治。无论是现实世界,还是技术世界,这种思想都深深影响着自己的认知与行为。

例如关注基础技术,关注原始细节,推崇原生特性。拿CSS举例,正如上文提到,我个人对Sass,Less等CSS预编译语言并不推崇,和我自己原本的技术世界观理念是不符合的。但是,很多年前在我的前辈们那里学到的“开放、包容”心态让我依然努力去学习与了解他们,不是排斥,甚至翻译了Stylus中文文档,确实发现了其中值得学习的地方,比方说CSS变量,这个对于项目管理非常有帮助,比方说模块引入等,然后其他些特性可有可无,我就完全不用。

总结一下就是:虽然我不推崇,内心是拒绝的,但是我不固执,心态开放,去学习与了解,发现其好的地方,加以利用,同时坚持自己的理念,尽量原生——其他乱七八糟的各种特性坚决不使用。

而如今CSS也开始支持原生var()变量了,Sass,Less等已经逐渐没有任何使用的理由了。

又想到了jQuery,前段时间开源了LuLu UI,有人就说,任何jQuery的东西都不用,这是典型的认为糟糕认为过时而排斥的心态。实际上jQuery API已经渗透到了DOM标准,before(), after(), prepend(), append()等新DOM方法全部都是源自jQuery API。还好,参与web标准制作的人是乐于吸收优秀的设计的。

最后的总结

永远保持谦虚,包容,乐于接受并了解各种或陈旧,或新颖,或同类,或敌对的技术,避其糟粕,取之精华,不断完善与壮大自己的核心技术世界观,才能在技术领域不断高攀。记住这句话:海纳百川,有容乃大!


祝在座的诸位5年后都能在技术领域走出自己的风采,加油!

分享到:

DeathGhost 留下回复,目前3 条评论

  1. DeathGhost说道:

    是的,任何事物的出现,都是有一定的原因的,只要还存在,证明它还有“价值”的存在。
    所以,我们得平常心去对待。两事物相辅相成,发展到一定阶段自然而然又出现一个新局面。我们只需要抓住核心东西,借助其他去完成自己所需。没有哪个好或不好。得具体问题具体分析,合理借用。
    ???????????

  2. ruibinmao说道:

    作为一个合格的程序员,要有良好的视野,最好精通五门不同类型的编程语言,才不会觉得自己比较low

  3. 木易S说道:

    旭哥的观点大部分认同,不过关于科学有一点疑问。科学不应该是可以验证的么,中医里的阴阳理论虽然可以自圆其说,也有其实用性,但是它现阶段似乎没法验证,这可以算是科学吗?换句话说我对事物的理解虽然可以自圆其说,但我的理解可能并不符合事物遵循的客观逻辑,就像数学题你解题的思路和过程是错的但是确的出来一个正确答案那种感觉。(我的文字表达能力或许不是很准确,尽力了囧)