程序猿日记S01E05-Do one thing and do it well

简介: "Do one thing and do it well." ### 绝对优势 随着互联网技术的发展,程序猿的岗位也越来越细分。比如企业在招聘的时候,会区分前端开发岗、后端开发岗。不同岗位的程序猿,在各自领域的专精程度都是有一定优势的,但是也不排除那种很牛逼的程序猿,前后端都很牛逼,就是大家经常提到的全栈程序猿(coding方面的全栈)。举个例子,Sophia和Antonio都会写前

"Do one thing and do it well."

绝对优势

随着互联网技术的发展,程序猿的岗位也越来越细分。比如企业在招聘的时候,会区分前端开发岗、后端开发岗。不同岗位的程序猿,在各自领域的专精程度都是有一定优势的,但是也不排除那种很牛逼的程序猿,前后端都很牛逼,就是大家经常提到的全栈程序猿(coding方面的全栈)。举个例子,Sophia和Antonio都会写前后端代码,Sophia每天(8小时)能最多能写32个前端组件或者16个后端组件;Antonio每天最多能写24个前端组件或者4个后端组件。Sophia写一个前端组件耗费的时间是1/4小时,写一个后端组件耗费的时间是1/2小时;Antonio写一个前端组件耗费的时间是1/3小时,写一个后端组件耗费的时间是2小时。两个人比较之后,发现Sophia不管是做前端还是后端,都比Antonio效率高,具有绝对的优势。但是每天只有8个小时,Sophia和Antonio该如何分配自己的工作(自我管理)?如果两个人在同一个团队,又该怎么去分工更合理(团队管理)?

比较优势

看了上面的问题,有人会开玩笑说:“分配啥,应该立刻让Antonio去提升开发能力”。提升技能需要一定的时间,远水解不了近火,我们来看看如何从另外一个角度分析这个问题。先初始化一个目前的工作分配状态数据:Sophia=(16 1/4) + (8 1/2)=8小时;Antonio=(12 1/3) + (2 2)=8小时。也就是Sophia现在的分配是每天16个前端组件和8各后端组件;Antonio的分配是每天12个前端组件和2个后端组件。如果Sophia和Antonio都是独立的个体,他们不一定会有太多想法去改变现在的分配方案。但是有一天,Sophia加入了Antonio的团队,Sophia经过一番思考之后,对Antonio说:“Antonio,我每天帮你做3个后端组件,你全职做24个前端组件,然后分给我9个前端组件,这样你每天就能得到15个前端组件和3各后端组件,比你现在的12个前端组件和2个后端组件的产出都要多(12+3、2+1)”。Antonio心里想:“我自己的产出的确提高了,那对方一定产出降低了,为什么她愿意这样交换?”Sophia看出了Antonio的疑虑,继续解释:“我可以调整我自己的工作分配为每天8(2小时)个前端组件,12(6小时)个后端组件,和你交换之后,我的产出是17(8+9)个前端组件,9(12-3)个后端组件,比我原来的16个前端组件,8个后端组件的产出要分别高出1的产出量”。Antonio基本上已经懵逼了,为什么可以这样?

总量

上面的解决方案,可以从一个简单的数字来解释。两个人的产出总量初始时为:16+12=28个前端组件、8+2=10个后端组件;Sophia的提案:17+15=32个前端组件、9+3=12后端组件。前端组件产出量增加了4,后端组件产出量增加了2。也就是说两个人到一个团队之后,通过工作的重新分配,可以比各自独立工作产出总量要多,蛋糕变大了。在一个公司里,老板也是希望自己的团队不断的去做大蛋糕,不是通过去抢的方法,而是通过优化工作分配。看到这里,大家也许还是会陷入上面的计算过程,因为有另外一个概念没讲,就是上面提到的“比较优势”依赖的“机会成本”。机会成本指的是:做一件事而放弃另外一件事的成本。Sophia做1个后端组件需要放弃2个前端组件;Antonio做1个后端组件需要放弃6个前端组件。放弃的这个量,就是另外一个产出的机会成本。Sophia的提案,就是基于机会成本的比较。让各自做机会成本小的工作,这样就能让总量增加,团队的整体蛋糕变大。

现实

真实的工作中,除了前后端程序猿之外,一个团队还有产品经理等等岗位。那么为什么我不举例产品经理和程序猿,因为我怕被产品经理看见这篇文章之后打我,这就是现实。所以,现实世界,也许团队工作分配没法按照你的想法来实现,为了人身安全,还是让Antonio去提升自己的能力吧,做一个全栈的程序猿,也许不只是前后端开发,哈哈哈。"Do one thing and do it well."不是说只做一件事,是说怎么把每件事都做好。

目录
相关文章
|
C++ Windows
VS Code 切换中英文
VS Code 切换中英文
2122 0
VS Code 切换中英文
|
Kubernetes Cloud Native 关系型数据库
云原生数据基础设施之kubeblocks
云原生数据基础设施之kubeblocks
|
算法 计算机视觉 Python
OpenCV高斯滤波器、双边滤波器的讲解与实战(附Python源码)
OpenCV高斯滤波器、双边滤波器的讲解与实战(附Python源码)
658 0
|
Python
TypeError: int() argument must be a string, a bytes原因
Python开发过程中,使用int()函数来转换或生成int类型的数据时,如果Python抛出并提示TypeError: int() argument must be a string, a bytes-like object or a real number, not 'complex',那么原因在于传递给int()函数的参数类型有误,正如TypeError的提示,int()函数的参数必须是string字符串(数值字符串)、类似字节对象、real number数字等,而不可以是complex复数类型的数据。
795 0
|
网络协议 网络虚拟化 数据安全/隐私保护
eNSP常用命令 华为模拟器eNSP常用命令
路由器常用命令:进入任务视图给路由器取名,进入指定接口,给当前路由器接口配置IP地址和子网掩码,退出接口或系统视图,启用DHCP,指定该接口拥有DHCP功能,指定DNS服务器的IP地址,显示全部ip的路由表,显示指定ip路由表,添加静态路由。交换机常用命令:交换机改变语言模式,创建vlan,查看所有vlan,将接口拆分为多个子接口,指定接口与哪个vlan关联,启用arp广播,将接口修改为access接口,将接口修改为trunk接口,将接口划分到指定vlan里,查看开启stp后的交换机接口的接口情况,查看交换
1595 0
eNSP常用命令 华为模拟器eNSP常用命令
|
移动开发 前端开发 HTML5
HTML+CSS-项目:学成在线
HTML+CSS-项目:学成在线
231 1
|
开发工具 git
git 强制更新远程分支覆盖本地分支
git fetch --all git reset --hard origin/分支名称 git pull
774 0
|
1天前
|
云安全 数据采集 人工智能
古茗联名引爆全网,阿里云三层防护助力对抗黑产
阿里云三层校验+风险识别,为古茗每一杯奶茶保驾护航!
古茗联名引爆全网,阿里云三层防护助力对抗黑产
|
5天前
|
Kubernetes 算法 Go
Kubeflow-Katib-架构学习指南
本指南带你深入 Kubeflow 核心组件 Katib,一个 Kubernetes 原生的自动化机器学习系统。从架构解析、代码结构到技能清单与学习路径,助你由浅入深掌握超参数调优与神经架构搜索,实现从使用到贡献的进阶之旅。
277 139