前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >辞旧迎新

辞旧迎新

作者头像
包子面试培训
发布2018-04-20 17:12:24
5700
发布2018-04-20 17:12:24
举报
文章被收录于专栏:包子铺里聊IT包子铺里聊IT

1. 周五的组会,demo time, 想到过去一段时间加班加点的项目快要完工,心中是有点小开心的。想来想去,决定简单展示一下,顺便听听大家的意见。 于是打开电脑,连好 TV, 简单的聊了聊要解决的问题,以及对应的具体方案,片刻后在 Terminal 跑几个示例,看到大家基本上都明白了,或者看上去明白了,准备收工。 “But it’s a new paradigm”. 组里的资深工程师打断道。

paradigm: a typical example or pattern of something; a model.

我有点愣,新的框架当然需要新的 Paradigm, 否则怎么解决问题?和资深大哥简单的交锋了一两个回合,对方的观点也很简单:新东西、新框架,需要大家学习,推广有门槛。如果另一种方案不需要用新的 Paradigm, 那么应该尽量不变。 Got it, but so what?

2. 作为程序员,不断学习新的 Paradigm 难道不是我们一直在做的事情么? 从最初开始学习程序设计语言,到数据结构和算法,到数据库和 SQL, 到 OS 和 Network. 每一个领域的知识都有独特的 Paradigm, 我们一直在学习,你以为这就到头了么? 如果你是搞前端的,从最开始的 Pure Javascript, CSS, 搞定各种跨浏览器的不同行为,玩点 jQuery 加上一些控件库搞搞 Ajax, HTML5 来的时候得学,现在又有了 Anjular 和 React, 这不都特么的是新 Paradigm 么… 后端就更不用说,连最底层的 Infrastructure 也面目全非:VMware/ EMC / NetApp 份额不断下跌,以 AWS, Azure, GCP 为代表的云计算架构则日益健壮,当然也有人说 Docker 这类的 Container Engine 才是未来, who knows. 对一个程序员来说,停止学习新的 Paradigm 意味着职业生涯的停滞不前,老实说,不是我一个人这样认为。

3. 过了几天,框架基本写好,Documentation / Test / Ops 也弄得有模有样。于是联系几个相关的 Team, 准备开始迁移。 然并卵。 发现资深大哥说的是对的,真心推不动,大家没空也没精力去再去了解你写的新框架,当然也是因为它没解决什么痛点,所以不了了之。 为什么呢? 每个技术人都有一个愿望,就是写出一个很牛逼的东西,被整个圈子推崇。比如当初的 Hadoop, 或者说大部分 Github 上万星以上的项目。然后,社区慢慢扩大,最好在出现一些周边的书籍,Youtube 教程,Quora / Stackoverflow 上的提问。 现实是,你写的新东西,通常,离那个高度很远。不信?自己去 Github 开一个项目,连着写一两个月,看看能不能聚到 100+ 星星,你就有数了。 往深里说,真正流行起来的技术新货,无论大小,一定是解决了某些痛点,同时解决的很好。 回想起来,和很多人一样,自己也没做到。

4. 学习一个新的 Paradigm, 往往比你想象的要难。 刚工作的时候,被 Mentor 逼着用 Vim 写 C++, 开始的几天,敲一行完整代码都困难。两三个月之后,手终于可以跟上思考的速度,算是小成。 两三个月其实不算长,学习任何一个大数据相关的框架,什么 Kafka / Spark / Hadoop 之类,没有几年的实际工作经验,你真不敢说自己懂。 技术社区中的一个有趣的现象是,当两个 Paradigm 的支持者互相指责时,往往都是自说自话。Vim 和 Emacs 之间的所谓圣战,说来说去大家也都是互相 BS 一下就拉倒了,说到底,两个都学过、都用过的人,太少了。

5. Paradigm 是一个很模糊的概念,它像是一个模式(Pattern),也像是一种习惯。往大了说,Linux 和 Windows 是完全不同的 Paradigm; 往小了说,俩不同前端框架可能也算。 很多层面上的 Paradigm 是不怎么变的。比如编辑器,比如 Shell 以及 Shell 里面那些有用的 CLI, 仍然是那些熟知的老东西流行着。经得起时间考验的东西,往往不错。

如果不会选择,就选 Vim 和 Zsh 吧

还有一些 Paradigm 是必须得懂的,比如 CS 的各种基础,比如线程进程模型,网络间通信协议模型,虽然不断有新的语言、新的框架封装底层实现,但是原理没变。 其他高层面上的 Paradigm, 通常是你方唱罢我登场,各领风骚三五年。如果碰到同一个问题、存在不同 Paradigm 解决方案的时候,多去技术社区,或者咨询一下 exp 5+ 老手的看法,尤其是那些从 Paradigm A 转到 Paradigm B 的人的帖子,往往很中肯。

6.

Learn at least one new language every year. Different languages solve the same problems in different ways. By learning several different approaches, you can help broaden your thinking and avoid getting stuck in a rut.

这段话不仅适用于编程语言,推广到每一个细分的技术领域都不为过。 每一个优秀的 Paradigm, 凝集着作者对于问题的深度思考,以及处理问题时的利弊权衡。对于年轻的你,这些思维上的锻炼必不可少,确无捷径可走。

日积月累,才能体会到技术的价值,不再迷惑。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-04-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 包子铺里聊IT 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档