伟大公司为什么需要技术型领导?

Facebook前工程总监黄易山撰写了一系列文章,很好地总结了Facebook卓越研发文化中的宝贵经验。本文是这一系列文章的第五篇,也是最后一篇。

何谓技术型领导

所有从外部聘用的管理人员包括技术部门负责人,都必须能够编写代码,并且要达到炉火纯青的地步。如果是一家技术公司,CEO也应如此。

现在有个误区就是认为编程不是高管或者经理的必备能力,仿佛只是一种花哨的打字形式。但其他专业化行业都不这样认为:银行业高管必须能够阅读资产负债表;汽车业高管则需要了解催化转换器等。

有人可能会说,技术的精通程度无法检验,因为一个杰出的管理候选人最近几年可能只关注于管理,与技术已无直接的接触。而且,一个杰出的经理可以管理一切事情。显然,这是不真实的。

当然,并不是希望候选人能用当前有限的扩展性技术创建一个大规模系统,或者在芯片集这种底层进行优化,或者能记住特定语言或框架的详细语法。但检验一个经理候选人是否具有较强的个人技术背景是合理并且可取的。当然我指的是基本技能测试,如果候选人曾经是一个称职的技术人员,他肯定能通过编程测试,包含某些简单迭代或递归算法,以及计算机基础学科中指针、散列和操作系统原理等概念题。

即使是一些门槛很低、许多人可能认为任何一个程序员都会的问题,还是有很多程序员搞不定(我并不是说能够做到这一点就意味着是一个优秀的程序员,但做不到这一点则意味着你肯定不是一个优秀的程序员)。在其职业生涯早期,他们发现自己不是优秀的程序员,但又恰好处在一个技术要求没那么严谨的组织中,因此他们能够被提拔,完全是因为他们碰巧很擅长与人打交道(或善于用人)。现在,他们中的许多人已经进入了技术管理和高管候选人的行列。此外,他们通常非常善于谈论一场精彩的比赛,听起来就像他们知道自己在做什么(否则他们也不会到那个位置)。

检验一个候选人是否具备技术实力的唯一方法是:给他们出一些简单的代码题目进行测试或者找一些他们写过的开源代码直接评估检验。不能通过测试或者没有可供验证的公开技术记录的候选人将不会被雇用。

原因是显而易见的——那就是管理者需要纵观大势,以便作出明智的决定。一个有经验但无技术背景的经理可能会有好想法,但在同等情况下,一个有类似技术背景的经理则可能有更突出的表现。换句话说,前者肯定提供不了技术领导力,如果希望你的公司成为行业的技术领导者,你的领导者首先需要具备技术。

为什么需要技术型领导?

一个没有技术型领导的“技术”公司往往会失败,原因可以归咎于以下两者或者其中之一。

领导无法分辨技术人员执行的工作是否符合标准,因为在面临技术挑战时他们无法区分是技术人员执行力太差还是确实遇到了技术瓶颈。进而,也就无法实行绩效管理,这会导致业绩平庸,并将最终导致彻底甚至反复的失败。

业务需求导致领导不顾技术人员的建议或者想法。当今严酷的商业环境要求企业领导推进企业不停地超越旧边界,这意味着领导不仅要告诉他的员工警惕“该死的鱼雷”,还要能够深化拓展,不能仅求安逸。不幸的是,非技术型领导人没有个人能力来衡量首要技术问题的实际风险状况(例如:某些特殊情况下已经非常过时的限制),并往往会推翻那些不应该被推翻的建议。

在Facebook之外,我见证了不止一个由于管理层缺乏核心技术力而导致的大型公司的失败。而在Facebook,个人技术能力恰巧是所有工程管理人员所必需的,甚至包括部门领导及CEO(是的,Mark Zuckerberg还在继续参与Hackathon编程活动)。这使得该公司敢于多次进行技术冒险,以达到更大的产品创新目标并实现一贯快速的前进步伐,正所谓越了解游戏规则,玩得就好。

作者介绍: 黄易山,1997年毕业于卡内基-梅隆大学。2001年加入PayPal,曾任高级工程总监。2005-2010年在Facebook领导研发,在公司研发环境的建设上发挥了重要作用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/453059.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

css样式变 及实际用法

<html xmlns"http://www.w3.org/1999/xhtml"><head><meta http-equiv"Content-Type" content"text/html; charsetutf-8" /><title>引入外部样式</title><link rel" stylesheet" href"home.css&…

服务器部署的参数文档,服务器参数配置

服务器参数配置 内容精选换一换源端服务器迁移至华为云后&#xff0c;最终将迁移到弹性云服务器上。因此在迁移前&#xff0c;您需要在华为云中创建一个或多个弹性云服务器。进入“弹性云服务器”页面。关于参数的详细信息&#xff0c;请参见购买弹性云服务器。Windows系统的目…

IS-IS基本配置

实验内容&#xff1a;现在网络中有4台路由器&#xff0c;用户希望利用这4台路由器通过IS-IS协议实现网络互联&#xff0c;并且因为R1和R2性能相对较低&#xff0c;所以还要使这两台路由器处理的数据信息相对较少。 网络拓扑&#xff1a; 实验分析&#xff1a; 根据题意可知R1和…

高并发高流量网站架构

Web2.0的兴起&#xff0c;掀起了互联网新一轮的网络创业大潮。以用户为导向的新网站建设概念&#xff0c;细分了网站功能和用户群&#xff0c;不仅成功的造就了一大批新生的网站&#xff0c;也极大的方便了上网的人们。但Web2.0以用户为导向的理念&#xff0c;使得新生的网站有…

枚举类型用法_Mybatis-plus常见用法总结三

前面已经介绍了Mybatis-plus基本用法&#xff0c;今天为大家分享一些Mybatis-plus高级应用逻辑删除自动注入枚举类型处理Sql注入器多租户表结构CREATE TABLE sys_role ( id varchar(64) NOT NULL COMMENT 主键, code varchar(64) NOT NULL DEFAULT COMMENT 角色编码, name …

VS Code的golang开发配置 之 代码提示

之前用VS Code的时候&#xff0c;发现自己的代码的提示一直不好&#xff0c;换用JetBrain的Goland的代码提示是好了&#xff0c;但是比较占用资源。在网上找了一些资料&#xff0c;发现很多人也是遇到第三方或者自己的代码无法提示的情况&#xff0c;但是都没有下文了。后来发现…

数组复制

在Java里面,可以用复制语句”AB”给基本类型的数据传递值,但是如果A,B是两个同类型的数组&#xff0c;复制就相当于将一个数组变量的引用传递给另一个数组&#xff1b;如果一个数组发生改变&#xff0c;那么引用同一数组的变量也要发生改变。 1.使用FOR循环,将数组的每个元素复…

服务器性能估算参考(硬件-应用服务器)

2019独角兽企业重金招聘Python工程师标准>>> Environment(2013-05-24) two identical machines via a GB-Ethernet link a client machine generating HTTP requests with wrk as the load generator a server machine running the respective “benchmarkee”all …

下拉选择_在管理Excel中实现联动下拉选择

在系统中常常出现这样的情况&#xff1a;由于下拉选择的数量太多了&#xff0c;难以高效选择。为此管理Excel通过通过引入多级联动选择的方式来减少下拉选择的困难度。先看下使用效果&#xff1a;联动下拉选择这个功能&#xff0c;在管理Excel中可以通过比较简单的配置方法实现…

JS跨域(ajax跨域、iframe跨域)解决方法及原理详解(jsonp)

这里说的js跨域是指通过js在不同的域之间进行数据传输或通信&#xff0c;比如用ajax向一个不同的域请求数据&#xff0c;或者通过js获取页面中不同域的框架中(iframe)的数据。只要协议、域名、端口有任何一个不同&#xff0c;都被当作是不同的域。 下表给出了相对 http://store…

HelloWorld新手常见问题

1.显示错误&#xff1a; HelloWorld.java:1: 错误: 写入HelloWorld时出错: C:\HelloWorld.class public class HelloWorld { ^ 1 个错误 解决方法&#xff1a; 将文件转移至D盘&#xff0c;然后编译即可。不要放在C盘&#xff01; 2.显示错误&#xff1a; 错误: 找不…

浅谈HTTPS以及Fiddler抓取HTTPS协议

原文 浅谈HTTPS以及Fiddler抓取HTTPS协议 最近想尝试基于Fiddler的录制功能做一些接口的获取和处理工作&#xff0c;碰到的一个问题就是简单连接Fiddler只能抓取HTTP协议&#xff0c;关键的登录请求等HTTPS协议都没有捕捉到&#xff0c;所以想让Fiddler能够同时抓取到HTTPS和HT…

关于.c和.h 和定义变量的问题

最初调试的时候是因为有个错误在wavplay.h文件中 于是我跳到了recorderl.h中:从图中看到引用了main.h 出现这个问题的具体原因还是不太清楚: 不过我任务是因为: wavplay.h中定义了 __WaveHeader 变量 在main.h文件中引用了wavplay.h 而在wavplay.h中试图引用main.h里的 __Wa…

《软件调试分析技术》学习笔记

《软件调试分析技术》学习笔记&#xff08;一&#xff09; 今天开始写写一些心得体验。 《软件调试分析技术》是好友Monster的处女作品。作为一直以的好伙伴&#xff0c;他是我看着长大的&#xff0c;(*^__^*) 嘻嘻……之所以有今天这样的成绩&#xff0c;是与他的努力和天赋…

解决ubuntu首次安装Mysql之后,首次登录出现ERROR 1698 (28000): Access denied for user 'root'@'localhost'的方法

解决步骤&#xff1a; 1.打开终端&#xff0c;输入sudo vi /etc/mysql/debian.cnf 打开/etc/mysql/debian.cnf文件&#xff0c;显示如下&#xff1a; 2.mysql -udebian-sys-maint -p 打开mysql 输入密码为上图中password字段 3.修改root密码 ALTER USER rootlocalhost IDEN…

python获取window共享目录列表_利用Python获取DICOM RTstructure勾画列表

在《利用Python打开DICOM CT文件》一文中&#xff0c;我们利用pydicom.dcmread()读取了CT图像。本文中我们将修改load_scan()函数来读取RTstructure文件并获取勾画列表1. 打开Jupyter notebook&#xff0c;导入需要的科学包import numpy as npimport mathimport pydicomimport …

Ubuntu中安装、生成、导入、导出、Python3虚拟环境

1.安装Ubuntu虚拟环境、以及可以支持虚拟环境的模块 sudo apt install virtualenv sudo apt install virtualenvwrapper 安装完成之后&#xff0c;进入home目录&#xff0c;输入命令ls -al查看是否出现.virtualenvs目录&#xff0c;如果没有则手动创建.virtualenvs目录 重要…

如何拷贝工程_如何将premiere的工程及素材文件打包?

我们在剪辑视频的时候经常会遇到素材丢失的情况&#xff0c;或者说需要换地方或换电脑继续剪辑。特别是以前做的视频现在需要修改一些地方&#xff0c;然后打开工程文件会发现素材丢失&#xff0c;如图&#xff1a;这种情况要不就是素材已经删除&#xff0c;要不就是素材改变了…