重新认识程序员的「三观」-程序员宅基地

技术标签: 面试  测试  移动开发  

在物理界和数学界,我们经常会听到一句话,叫做这个公式好美,这个论证方式完美无缺。

网上有很多谈程序员规划的文章,有很多的是从能力角度来阐述。比如初级程序员、中级程序员、高级程序员、技术总监等等,还有一些事从工作经验方面来阐述,比如工作的 1~2 年,3~5 年,5 年以上等等。这篇文章尝试以「三观」的角度更加清晰简单的阐述程序员的职业生涯。欢迎大家留言评论。

这三观指的是微观层面、中观层面和宏观层面。

中观层面:

先来谈中观层面,因为大部分的互联网公司,大部分的程序员,应该都是在这一个层次。这个层面要解决的是 80% 的技术问题。

中观层面是一个程序员基本上都要求达到的一个层面,这个层面要求程序员对业务有足够的了解。程序员需要意识到,技术很重要,但技术不是目的,而是手段。通过这个手段来解决大部分的问题,服务用户。大家要注意不要为了秀技术而使用技术,而是要让你的技术为商业服务。 大部分的互联网公司,考察一个程序员合不合格,主要是对业务能力的要求。也就是在中观层面进行考察。产品经理给了需求之后,能不能完美的完成它。一个技术人,不管他理论知识有多牛逼,比如申请了什么专利,取得了什么技术突破,如果不能解决大部分的工程问题,那他的中观层面还是存在问题的。不适合大部分的互联网工作。 举个例子,比如未来产品半年的日活是 50W,你要解决的就是 50W 的问题。你去解决 100W 的问题可不可以?当然可以。但是如果你如果定义 100W 作为问题,在做事的过程中会变得不聚焦。有很多的并发问题,效率问题,成本问题需要额外的考虑。所以在 50W 的问题下,你定义 100W 的目标,我认为这不是一个程序员中观层面需要做的。

微观层面:

微观层面是一个个的技术点,「微」字也体现出了这点。做 Android 的产品或者做 iOS 的产品,很多的时候聚焦的是应用层的东西,也就是中观层面的工作。具体的技术背后的原理由于工作重心的原因,可能涉及的不多。

比如 Android 和 iOS ,在中层关注的是如何通过调用 api 实现产品想要的功能和需求,但是这些 api 背后到底做了什么,没有了解。这些东西我们需要从微观的层面去了解。

当一个程序员从微观层面了解的更清楚以后,他的技术架构才能更加的牢固,否则很多的时候业务层面碰到的问题往往不能从根源上解决。如果这一层次没有达到,那么在中观做事的时候会慌。原因是因为只是知道怎么做(How),不知道为什么能那么做(Why)。

微观更多体现的是一个基础层面的事,如果没有大的地基,很难支撑起上层的建筑。一旦产品的业务线更改了之后,很多时候就需要重新学习。能从微观上去解释到底这个功能的背后实现原理是什么,就不慌。其实掌握了微观层面,在中观层面做事就会事半功倍。

举个例子,初中的时候,大家都学过一元二次方程,对于它的求根公式也背的滚瓜烂熟。如果我们仅限于会用,那么就只属于中观层次。当时记得很清楚,老师花了一堂课的时间来推导这个公式,但是相信很多的人可能没有记住怎么推导,只是记住了最后的公式。设想下一种情况,如果万一求根公式忘记了或者要求二元二次方程,你觉得是记住公式的人解出方程的可能性大还是知道了推导过程的人解出方程的可能性更大。

宏观层面:

宏观站在更高的角度,脱离了具体业务。记住,我这里有「具体」两个定语,而不是说脱离了技术和业务。宏观是一个抽象的层次。能够将一些具象的事务抽象化。能够以模型的方式应用于大千世界。很多年前,有一个概念很火,叫做建模。含义其实就是从一个个的具象中抽象出模型,通过这个模型就能预测出具象世界的一些发展。

宏观强调整个产品从技术角度的设计和实现。业务模块怎么划分,各模块怎么通信,api 的接口如何定义,代码如何管理,单元测试如何实施,如何持续集成。

站在一个更高的角度,移动端,前端,后端的框架如何设计,能够支撑未来业务的不断变化以及用户量的不断突破。能够以更长的时间线来支撑项目。上面提到的 100W 的问题,就属于宏观层面需要解决的问题。

对于一个大型业务或者系统的架构师来说,需要了解中观层面和微观层面,然后进行设计。

有一个名词一直比较火:全栈。我们在形容全栈的时候,会用 T 来表示,表明这个人除了深度外一束,还有那一横。回到上面提到的三观,似乎很好的解释了这样的一种人。首先你得是个初始化的 T ,这其实是一个中观层面,你有一点的广度,也有一定的深度,能够解决大部分业务性的问题。其次,那所谓的一竖,其实就是微观层面,让你了解技术的一些本像。越长越代表技术越深。那一横,其实就是宏观层面,让你对技术形成一个体,越长代表技术越广。

国内的技术人员,对于技术有一种偏见,认为只有懂底层或者架构师才是真正的技术高手。在《技术人最重要的能力是什么?》这篇文章中,提到了两个观点:

  1. 技术要能解决具体问题才有价值;
  2. 问题的复杂度决定技术实力的高度。其实所谓的三观,都是在解决具体的问题,只不过特定场景下的问题汇对应不同的三观层面罢了。

假如一个互联网公司产品界面,一个计算机理论知识很强的人,会各种算法,但是却连一个按钮的点击事件处理都不清楚,他的公司的价值又有多高呢?

转载于:https://juejin.im/post/5b0a583f51882538a73544c0

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_33964094/article/details/91451717

智能推荐

安卓带图标提示的Toast——Toasty_toast去掉图标-程序员宅基地

文章浏览阅读4.4k次,点赞4次,收藏11次。Toasty这个看起来不错,虽然有点不算太好看,但通过它的自定义方法最终做出来的还不错它的使用方法及其的简单,我甚至都不想写这个Toasty的github地址官方图片第一步:新建项目,在project的build.gradle中添加maven { url "https://jitpack.io" }在app的build.gradle中添加依赖implementat..._toast去掉图标

H5页面直接扫码二维码插件_查找二维码扫一扫插件直接使用-程序员宅基地

文章浏览阅读2.2k次。H5页面直接扫码二维码插件https://github.com/wkl007/vue-scan-demo_查找二维码扫一扫插件直接使用

使用shell脚本连接数据库_shell脚本操作数据库-程序员宅基地

文章浏览阅读4.8k次。shell脚本操作数据库如下。_shell脚本操作数据库

crontab定时任务无结果问题_crontab执行了不出结果-程序员宅基地

文章浏览阅读349次,点赞10次,收藏7次。crontab定时任务无结果问题_crontab执行了不出结果

Vuejs input 和 textarea 元素中使用 v-model 实现双向数据绑定-程序员宅基地

文章浏览阅读2.8k次。demo<!DOCTYPE html><html><head> <meta charset="utf-8"> <title>Vuejs</title> <script src="https://cdn.bootcss.com/vue/2.2.2/vue.min.js"></...

leaflet+vue:色斑图的实现大体步骤_vue色斑图-程序员宅基地

文章浏览阅读2.4k次。以下是整理的一个大体步骤,做个记录底层index页面a是b和c还有map的父组件(created钩子函数执行顺序是从父元素到子元素,挨个执行,mounted钩子函数执行顺序是从子元素到父元素倒叙进行)一,加载顺序:1,进入页面,先初始化,当map 渲染挂载完成之后(mounted),使用事件监听的方式,触发色斑图组件c进行dom的操作,将canvas画上2,进入要展示色斑图的页面b时,获取色斑图要展示的数据,获取到之后,事件监听发送给底层index,然后再给色斑图组件赋值二,画c_vue色斑图

随便推点

【廖雪峰python教程学习】——(一)python基础-程序员宅基地

文章浏览阅读4.4k次。数据类型和变量Python还允许用r’’’'表示内部的字符串默认不转义如果字符串内部既包含’又包含" 可以用转义字符\来标识Python允许用’’’ … ‘’'的格式表示多行内容在Python中赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量[动态语言][静态语言:Java…]在定义变量时必须指定变量类型,如果赋值的时候类型不匹配,就会报错在Python中,通常用全部大写的变量名表示常量print(*objects, sep=' ', end_廖雪峰python教程

面试知识提纲-程序员宅基地

文章浏览阅读44次。目录 数据结构与算法 操作系统 计算机网络 数据库 JAVA基础 框架学习 分布式 数据结构与算法数组、链表、二叉树(熟练)B+树、红黑树(了解)剑指Offer(熟练),建议刷两遍以上冒泡排序、插入排...

Qt Quick实现的涂鸦程序_qquickpainteditem-程序员宅基地

文章浏览阅读529次,点赞2次,收藏4次。之前一直以为 Qt Quick 里 Canvas 才可以自绘,后来发觉不是,原来还有好几种方式都可以绘图!可以使用原始的 OpenGL(Qt Quick 使用 OpenGL 渲染),可以构造QSGNode 来绘图,还可以使用 QPainter !哇, QPainter 我很熟悉啊。于是,我用 QPainter 结合 QML 实现了一个简单的涂鸦程序: PaintedItem 。它有下列功能:设..._qquickpainteditem

数据中台01:数据中台的发展:什么是中台、什么是数据中台_数据不出中台是什么意思-程序员宅基地

文章浏览阅读5.2k次,点赞15次,收藏98次。一、什么是中台中台是2019年开始火起来的一个概念,它最早是由阿里在2015年提出的“大中台,小前台”战略中延伸出来的概念,灵感来源于一家芬兰的小公司Supercell——一家仅有300名员工,却接连推出爆款游戏,是全球最会赚钱的明星游戏公司。2015年年中,马云带领阿里巴巴集团高管,拜访了位于芬兰赫尔辛基的这家移动游戏公司,这家看似很小的公司,设置了一个强大的技术平台,来支持众多的小团队进行游戏研发。这样一来,他们就可以专心创新,不用担心基础却又至关重要的技术支撑问题。恰恰是这家小公司,开创了中台的“玩_数据不出中台是什么意思

如何使用IBM SPSS Statistics统计两个变量的交叉频率分布_spss双变量频数怎么做-程序员宅基地

文章浏览阅读5.4k次。作为一款专业的数据分析软件,IBM SPSS Statistics为用户提供了全面的、多方位的数据分析手段,我们可以在其中使用各种分析方法对数据进行统计分析,对数据分析师、医药学分析都有非常大的好处。接下来小编就为大家介绍一下如何使用IBM SPSS Statistics的交叉表分析来统计两个变量的交叉频率分布及其百分比分布。一、交叉表分析概述图1:数据窗口数据分析是基于数据表中的变量来进行的,我们可以探究一个变量中的数据之间的相互关系,也可以探究两个甚至更多变量之间的交叉关系,交叉表分_spss双变量频数怎么做

虚拟主机 php5.4,php5.4虚拟主机(php支持虚拟主机)-程序员宅基地

文章浏览阅读211次。好像支持php5.4的比较少推荐你用:万网虚拟主机-普及版(1G网页空间,送50M SQL数据库,支持HTML/ASP/NET/PHP/MYSQL/MSSQL),需要备案:150元/年。 可以加咱,在线上。PHP5.4的虚拟主机,最好是免备案的,域名在国外,貌似无法备案。各位前。国外空间都不备案的,,虚拟主机都支持上传了一个程序到网站,要求php5.4,而我空间php5.2.17版本太旧,求升级。..._虚拟主机php环境要求5.4以上

推荐文章

热门文章

相关标签