2018第52周日&技术人员如何面对裁员?
2018的最后一周,看了汽车的两个趋势,纯电动车和自动驾驶,两个现在很火但还有很多问题要解决的方向,尤其是自动驾驶。虽然它因为一些问题当前不能完全被克服,但因它而生的各种辅助驾驶技术却被用的越来越多,比如自适应巡航控制ACC,尤其是全速自适应巡航,人只要控制方向盘,而启停加减速汽车可以自动控制,但人的操作还是高优先级的,比如在ACC模式时踩刹车就会自动退出。
回顾过去不到一个月的时间里,爆出裁员的互联网公司有多少?京东裁、去哪儿裁、知乎裁、美团裁、微博裁、锤子倒……当然以上所有消息都被官方辟谣,但……你懂的。
就像管道工一样,他们获得报酬,是因为他们了解自己所使用的工具,并知道如何使用它们让设备运转起来,而不是让他们重新发明技术,或者花 80 个小时去优化只有 5% 的用户会用到的东西。
中小型企业很少会去处理与规模扩展或优化相关的问题——一部分原因是硬件变得越来越便宜,一部分原因是基础的开源软件已经做得很好了。
所以,企业一方面想网罗最优秀的人才,以便在重大的时间节点、关键时刻能够物尽其用(但通常没有这种情况),另一方面只派给这些优秀人才以增删查改的日常工作,最终那个优秀的小王都成了 Crud Boy。
当我们聊技术实力的时候,我们到底在聊什么?
有的人认为:技术实力就是指算法和数据结构很厉害……
有的人认为:研究过 Linux 内核源码和看懂《深入浅出 MFC》的才是技术牛逼的人……
有的人认为:会写 C++ 的才是真正的技术高手,因为 C++ 的对象初始化有 N 种写法……
有的人认为:技术高手必须对业务很熟悉……
有的人认为:贡献了开源项目代码的才是技术牛人……
有的人认为:只有架构师才是技术大牛……
其实简单来说,判断技术实力的一个总的原则就是:技术实力就是指解决问题的能力!
问题是和领域相关的,技术是用来解决问题的,因此技术也是领域相关的,不存在放之四海皆准的技术。
当我们聊技术实力的时候,我们到底在聊什么?
有的人认为:技术实力就是指算法和数据结构很厉害……
有的人认为:研究过 Linux 内核源码和看懂《深入浅出 MFC》的才是技术牛逼的人……
有的人认为:会写 C++ 的才是真正的技术高手,因为 C++ 的对象初始化有 N 种写法……
有的人认为:技术高手必须对业务很熟悉……
有的人认为:贡献了开源项目代码的才是技术牛人……
有的人认为:只有架构师才是技术大牛……
其实简单来说,判断技术实力的一个总的原则就是:技术实力就是指解决问题的能力!
1)不存在放之四海皆准的技术
简单来说,问题是和领域相关的,技术是用来解决问题的,因此技术也是领域相关的,不存在放之四海皆准的技术。
有网友说:高斯林来做 iOS 开发,分分钟秒杀现在所有的 iOS 开发人员,因为目前 iOS 经验最丰富的开发人员,经验也不过 10 年。我认为这是不可能的,iOS 开发领域面临的问题,和开发 Java 编程语言面临的问题差异很大,当然,如果高斯林真的做上几年 iOS 开发,确实可能超过很多 iOS 开发人员,但一开始就秒杀哪些做了 7~8 年的 iOS 程序员,这个是不可能的。
2)技术要能解决具体问题才有价值
技术只有能够解决某个领域的问题才有价值,否则光知道某个技术没什么用;掌握了某个技术但在当前的领域用不上,这个技术对当前领域来说也没有价值。
当然,确实存在某些技术可能在当前看起来对当前领域没有用,但后面可能会用到,因此技术人员需要自己储备一些当前暂时没有用的技术以拓宽技术视野,例如当前大火的人工智能和区块链技术,但要注意“可能”这个词,这需要技术人员自己进行判断和平衡,不能拿技术储备作为托词一股脑的什么都储备,例如数据库开发工程师至少在这几年是不需要储备 VR 知识的。
3)问题的复杂度决定技术实力的高度
问题的复杂度不同,复杂度越高,解决起来越困难,相应的技术实力要求也越高。
打个比方,很多面试官喜欢让面试者现场手写冒泡排序、快速排序、链表之类的代码,以此来判断面试者的技术实力,但我们用这个原则去分析一下就可以发现,这样并不能考核技术实力,假如招聘了一个会手写快速排序的面试者,招进来后你会让他用自己写的快速排序解决什么问题?貌似绝大部分场景下都不可能让一个新来的员工自己写个快速排序来解决某个问题吧?
我们该如何自处?
我们生活在一个大多数“软件工程”基本上就是管道作业的世界里。我们该怎么办?这对于我们的职业生涯来说意味着什么?现金流会一直持续下去吗?
1、用更少的资源构建更多有价值的东西。
首先,我们应该认识到并接受这样的一个事实,即我们可以用更少的资源构建更多的东西。也就是说,我们工作中不是那么有价值的部分可能进行自动化,或者构建工具,让业务人员为我们做这些工作。例如,每当我的团队中有人想要修改自动电子邮件副本时,我就要去修改代码。而现在,他们只需要在可视化编辑器中编辑模板,我甚至都不知道它们被改过了。
2、充分考虑系统的复杂性,尽量不重复造轮子,解决真正的问题而不是重复解决已解决过的问题。
其次,我们在设计系统时需要考虑到系统的复杂性。如果有现成的解决方案,那么就用它,不要再从头开始构建。我们要学会组装零件,这样就可以比那些每次在启动项目时都要自定义构建框架的软件工匠更高效、更快、更好。
3、降低期望值,很多时候你没有自己想象的那么重要,完成远胜于完美。
第三,我们应该设定切合实际的期望。大部分编码工作都只要求 CS 学位,而这些工作所涉及的内容可能只比知道如何导入库和了解 HTTP 原理多那么一点点。不过确实有些工作需要进行微优化,但这类工作可能很少,而且离我们很远。你的软件可能没有你想象的那么特别。
4、持续学习,加强知识的广度和深度。
最后,不要陷入了舒适区而不能自拔。这并不是软件工程师的普遍看法,但我相信在这个领域里,有很多人拿到的报酬已经远远超出了他们所从事工作的难度。有时候是因为他们是这个领域唯一知道怎么做这些事情的人,有时候是因为他们所在的公司无法从人才市场上招到更好的人,有时候是因为其他工程师故意过度设计,这样初级开发人员就需要花费很长时间才能理解它。无论如何,如果我们想要保持高薪和不被踢出局,就不能停止学习。加强知识的广度和深度,并学会如何将炒作从真正的突破性技术中过滤掉。
来源:InfoQ(ID:infoqchina)
2018第52周日&技术人员如何面对裁员?的更多相关文章
- 15个IT技术人员必须思考的问题
行内的人自嘲是程序猿.屌丝和码农,行外的人也经常拿IT人调侃,那么究竟是IT人没有价值,还是没有仔细思考过自身的价值? 1.搞IT的是屌丝.码农.程序猿? 人们提到IT人的时候,总会想到他们呆板.不解 ...
- ITFriend创业败局(三):技术人员创业,需要尽可能避免,或者需要解决的5个重要问题
一.插科打诨: 本想给小雷粉,做一个创业"成功案例"的,结果做成了一个"反面教材"~ No zuo,no die~ 二.写作目的:分享自己作为一名技术人员,或者 ...
- IT技术人员的自我修养
1. 前言 在IT领域摸爬滚打多年,从一个普通程序员到技术主管,到技术经理,再到技术总监,踩过不少坑.加过不少班,也背过不少锅,在提升自身技术能力与管理能力的同时,也一直在思考,作为IT ...
- [ 技术人员创业Tips ] 1:抓住优质客户(上)
写一篇技术以外的内容,可能会得罪一些人,轻拍,此外本文写的比较随意,写到哪里算哪里,轻拍. IT业不知道从什么时候起特别流行谈创业,似乎不谈创业就落伍,我不评价这种风气的好坏,只提一些自己的一些经验和 ...
- IT软件技术人员的职位路线(从程序员到技术总监) - 部门管理经验谈
以前写过一个文(IT从业者的职业道路(从程序员到部门经理) - 项目管理系列文章),主要介绍笔者的职业发展之路,不过该文需要后续了,因为笔者现在从事的是“产品经理”一职.从笔者的导航文([置顶]博文快 ...
- APP开发:一个APP开发需要哪些技术人员?
亿合科技小编了解到:国民老公王思聪曾经在一个访谈中谈到过,如果他是一个普通人,他会选择移动互联网去创业,因为做个网站或者App开发门槛较低,做大做强的机会也比较多.小编觉得创业就是投资,重 ...
- Web 技术人员需知的 Web 缓存知识(转)
最近的译文距今已有4年之久,原文有一定的更新.今天踩着前辈们的肩膀,再次把这篇文章翻译整理下.一来让自己对web缓存的理解更深刻些,二来让大家注意力稍稍转移下,不要整天HTML5, 面试题啊叨啊叨的~ ...
- web技术人员-推荐书籍
学习是技术人员成长的基础,本次分享20本技术方面的书籍,这些书不是每一本都是经典,但是每一本都有其特点.以下20本大部分本人都看过,因此推荐给大家.(本次推荐的20本只是一个参考,比如像Head Fi ...
- Web 技术人员需知的Web 缓存知识
最近的译文距今已有4年之久,原文有一定的更新.今天踩着前辈们的肩膀,再次把这篇文章翻译整理下.一来让自己对web缓存的理解更深刻些,二来让大家注意力稍稍转移下,不要整天HTML5, 面试题啊叨啊叨的~ ...
随机推荐
- JavaScript 运行机制详解:Event Loop——续
转自:http://www.ruanyifeng.com/blog/2014/10/event-loop.html 五.定时器 除了放置异步任务的事件,"任务队列"还可以放置定时事 ...
- JavaScript学习总结(八)——JavaScript数组
JavaScript中的Array对象就是数组,首先是一个动态数组,无需预先制定大小,而且是一个像Java中数组.ArrayList.Hashtable等的超强综合体. 一.数组的声明 常规方式声明: ...
- entest1
1◆ ai I 2◆ ai I ir ɜː ie i: 3◆ u: ʌ ɜː ə ui u: ure ʊə
- PHP:第三章——PHP中嵌套函数和条件函数
PHP中的嵌套函数: <?php header("Content-Type:text/html;charset=utf-8"); function A(){ echo &qu ...
- KMP 求next数组
一直没理解.看这个倒是看懂了.但是博主代码好像有点问题吖.测试并不正确.思想还是没错的. 转载自:http://www.tuicool.com/articles/yayeIbe
- 重置delphi Printer对象
http://www.efg2.com/Lab/Library/UseNet/1999/0714b.txt From: "Nick Ryan" <nick@avatardes ...
- 使用Jenkins自动编译我的.net 项目
1.Jenkins是什么? Jenkins是一个可扩展的持续集成的引擎,主要用于持续自动的构建.测试软件项目 监控一些定时执行的任务. 2.安装配置 最新的Jenkins 安装包可以从这里下载:h ...
- iOS调用第三方地图App进行导航方法
前言 App内根据手机上装载的地图App将其显示在弹出的选择框,选择对应地图跳转进入地图导航.需要用到- (BOOL)canOpenURL:(NSURL *)url NS_AVAILABLE_IOS( ...
- DevExpress XtraScheduler日程管理控件应用实例(1)-- 基本使用
在一些应用场景中,我们可能需要记录某一天,某个时段的日程安排,那么这个时候就需要引入了 DevExpress 的日程控件XtraScheduler 了,这个控件功能非常强大,提供了很好的界面展现方式, ...
- Tomcat启动失败:Server Tomcat v8.0 Server at localhost was unable to start within 45 seconds
问题如下: 解决办法: 再次重启服务器就能解决这个问题.