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周日&技术人员如何面对裁员?的更多相关文章

  1. 15个IT技术人员必须思考的问题

    行内的人自嘲是程序猿.屌丝和码农,行外的人也经常拿IT人调侃,那么究竟是IT人没有价值,还是没有仔细思考过自身的价值? 1.搞IT的是屌丝.码农.程序猿? 人们提到IT人的时候,总会想到他们呆板.不解 ...

  2. ITFriend创业败局(三):技术人员创业,需要尽可能避免,或者需要解决的5个重要问题

    一.插科打诨: 本想给小雷粉,做一个创业"成功案例"的,结果做成了一个"反面教材"~ No zuo,no die~ 二.写作目的:分享自己作为一名技术人员,或者 ...

  3. IT技术人员的自我修养

    1. 前言        在IT领域摸爬滚打多年,从一个普通程序员到技术主管,到技术经理,再到技术总监,踩过不少坑.加过不少班,也背过不少锅,在提升自身技术能力与管理能力的同时,也一直在思考,作为IT ...

  4. [ 技术人员创业Tips ] 1:抓住优质客户(上)

    写一篇技术以外的内容,可能会得罪一些人,轻拍,此外本文写的比较随意,写到哪里算哪里,轻拍. IT业不知道从什么时候起特别流行谈创业,似乎不谈创业就落伍,我不评价这种风气的好坏,只提一些自己的一些经验和 ...

  5. IT软件技术人员的职位路线(从程序员到技术总监) - 部门管理经验谈

    以前写过一个文(IT从业者的职业道路(从程序员到部门经理) - 项目管理系列文章),主要介绍笔者的职业发展之路,不过该文需要后续了,因为笔者现在从事的是“产品经理”一职.从笔者的导航文([置顶]博文快 ...

  6. APP开发:一个APP开发需要哪些技术人员?

          亿合科技小编了解到:国民老公王思聪曾经在一个访谈中谈到过,如果他是一个普通人,他会选择移动互联网去创业,因为做个网站或者App开发门槛较低,做大做强的机会也比较多.小编觉得创业就是投资,重 ...

  7. Web 技术人员需知的 Web 缓存知识(转)

    最近的译文距今已有4年之久,原文有一定的更新.今天踩着前辈们的肩膀,再次把这篇文章翻译整理下.一来让自己对web缓存的理解更深刻些,二来让大家注意力稍稍转移下,不要整天HTML5, 面试题啊叨啊叨的~ ...

  8. web技术人员-推荐书籍

    学习是技术人员成长的基础,本次分享20本技术方面的书籍,这些书不是每一本都是经典,但是每一本都有其特点.以下20本大部分本人都看过,因此推荐给大家.(本次推荐的20本只是一个参考,比如像Head Fi ...

  9. Web 技术人员需知的Web 缓存知识

    最近的译文距今已有4年之久,原文有一定的更新.今天踩着前辈们的肩膀,再次把这篇文章翻译整理下.一来让自己对web缓存的理解更深刻些,二来让大家注意力稍稍转移下,不要整天HTML5, 面试题啊叨啊叨的~ ...

随机推荐

  1. Linux中的yum是什么?如何配置?如何使用?

    yum,是Yellow dog Updater Modified的简称,起初是由yellow dog这一发行版的开发者Terra Soft研发,用python写成,那时还叫做yup(yellow do ...

  2. CISC, RISC 探究

    iPhone Simulator  Intel iPhone  ARM 区别很大, Intel目前的处理器主要为IA架构, IA-32即俗称x86,包括桌面处理器系列(赛扬,奔腾,酷睿等)以及服务器处 ...

  3. How to create VO s and VLs dynamically in OAF

    I have to create 2 VO objects dynamicaly and created 2 VL's dynamically .I have a static HGrid.and i ...

  4. OC Foundation框架—结构体

    一.基本知识 Foundation—基础框架.框架中包含了很多开发中常用的数据类型,如结构体,枚举,类等,是其他ios框架的基础. 如果要想使用foundation框架中的数据类型,那么包含它的主头文 ...

  5. keras-anomaly-detection 代码分析——本质上就是SAE、LSTM时间序列预测

    keras-anomaly-detection Anomaly detection implemented in Keras The source codes of the recurrent, co ...

  6. Intel DAAL AI加速——支持从数据预处理到模型预测,数据源必须使用DAAL的底层封装库

    数据源加速见官方文档(必须使用DAAL自己的库): Data Management Numeric Tables Tensors Data Sources Data Dictionaries Data ...

  7. httpclient RequestConfig类

    RequestConfig类解析 这个类位于org.apache.he.http.client.config包下,主要用于获取和配置一些外部的网络环境,它下面有一个嵌套类RequestConfig.B ...

  8. SQL Server 调优系列玩转篇三(利用索引提示(Hint)引导语句最大优化运行)

    前言 本篇继续玩转模块的内容,关于索引在SQL Server的位置无须多言,本篇将分析如何利用Hint引导语句充分利用索引进行运行,同样,还是希望扎实掌握前面一系列的内容,才进入本模块的内容分析. 闲 ...

  9. python 模块化管理,导入自己的模块(包)

    很多东西似懂非懂,或者当时看懂了,但是感觉不是很重要,经常不用,时间久了,也就变得似懂非懂了.今天被某度电话面试问道一个问题,就是模块倒入,其实我之前也是很仔细的研究过的,不过由于平时做的东西太简单, ...

  10. axure 认证授权注册码2017-12-25

    Licensee: University of Science and Technology of China (CLASSROOM)Key: DTXRAnPn1P65Rt0xB4eTQ+4bF5IU ...