[No000075]有没有安全的工作?
如果你经常使用互联网,可能知道有一种东西叫做Flash。

它是一种软件,用来制作网页游戏、动画,以及视频播放器。只要观看网络视频,基本都会用到它。
七八年前,它是最热门的互联网技术之一。如果不安装Flash,很多网站根本打不开。那时还流行用它制作动画,随便一个作品,就有几十万、上百万的浏览量。电视台甚至开辟栏目,播放网上流行的Flash动画。各大互联网公司都有专门的Flash工程师,还是属于那种比较抢手、收入较高的工程师。我记得那个时候,社会上也有大量的Flash培训班,它们的招生广告都写着保证就业。

年,乔布斯宣布,苹果手机不会使用Flash,因为影响手机性能。再后来,新的技术兴起,它就开始没落了。上个月,BBC发表一篇报道,名字就叫《Flash还能活多久?》。话音刚落,一周后,这项技术的拥有者Adobe公司宣布,放弃Flash这个名字,软件将重新定位,只用来制作动画。
说了这么多,我并不是感叹Flash这项技术的没落,这也是很正常的事,而是感叹那些从事Flash开发的工程师,他们该怎么办呢?你在一个领域钻研多年,都成了专家,突然之间那个领域过时了,你的所学所长没人需要了,那将是怎样的处境?
那些年里,我在上海遇见过一个朋友。他开了一家软件公司,专门面向海外市场开发Flash游戏。公司不大,十几个人,那时正是最好的年景,每个月都有几十万、甚至上百万人民币进账,看上去前景一片大好。可是,谁能想到Flash技术突然就会不行了呢?开始时,公司还能维持,后来手机游戏起来了,Flash游戏的市场顿时萎缩。我见过他的招聘广告,改招手机游戏的开发者。再后来,就再没听到过他的消息。
当一种技术消亡的时候,与它相关的工作岗位也就消亡了。这种事情在技术行业特别多,因为技术的升级换代太快了。

年,诺基亚宣布放弃塞班,改用微软的操作系统。再后来,Nokia自己也没了,所有手机工程师都遣散了。我知道,Nokia中国有一个资深工程师,选择重进大学去读MBA学位。

试想一下,你花了多年的心血,孜孜不倦地投入和练习,终于掌握了一门赖以谋生的手艺,还进入了世界排名第一位的通信业跨国公司。就在你觉得人生终于有一点安全感的时候,一切就变了,几年之间,曾经的巨无霸土崩瓦解,不仅你的职位没了,更可怕的是,以前的产品已经没人用了,全世界现在不生产任何塞班设备。你的手艺的价值变成了零。
岁的年轻人学得快。在一个高速变化的行业,经验有时候不是帮助,而是障碍,因为以前的那套行不通了。退一步说,就算你重新学习了,但苹果手机的开发也在变,你得不停地追赶新东西。一个人的人生,能经受得起多少次从零开始呢?
"终身学习"这个词完全没错,但是想通过"终身学习"保持职业竞争力,我觉得不太可能。
程序员,乃至其他很多技术岗位,其实是青春饭。只有底层的技术,还有一些稳定性,越接近应用层,技术的升级换代就越快。你学会一门技术,然后吃上三十年,这种事情越来越少见了。更常见的是,几年以后,你会的东西就淘汰了,你被迫重新学习新东西,或者重新就业。
岁以上的程序员?因为他们上学时学习的东西都淘汰了,必须和年轻人一起学习新技术。你很难比年轻人更有竞争力,其中最关键的是,雇佣刚走出校门的学生,比雇佣你便宜得多。
其他行业的升级换代,不如技术行业那么夸张和激进。职业的安全感可以保持得更久一些,但远不是高枕无忧。技术正在取代人力劳动,比如财务会计这样的行业,随着电子支付的兴起,将来肯定不会需要这么多财务人员。"互联网+"从某个方面说,就是使用互联网技术取代一部分人力,更便宜地服务更多的顾客。
回到本文的题目,世界上有没有安全的工作?应该是有的吧,但真的不多。公务员可能比较安全,因为这个职业改变得比较缓慢,而且没有技术升级的压力。医生和律师,也比较安全,因为对于这些行业,经验很重要,但技术正在把它们的成本降下来。厨师和物流,也是比较安全的行业,因为技术再进步,也总需要人来做饭和送货,但是它们是纯粹的体力劳动,没有进入门槛,供给非常大,想拿到高工资不容易。
最终来说,人类社会的就业形态正在发生深刻的改变,"终生职业"越来越少了。每个人都应该尽早打算,如果明天你的职业消失了,你该怎么办?
年12月11日)的专栏。
(完)
[No000075]有没有安全的工作?的更多相关文章
- ASP.NET是如何在IIS下工作的
ASP.NET与IIS是紧密联系的,由于IIS6.0与IIS7.0的工作方式的不同,导致ASP.NET的工作原理也发生了相应的变化. IIS6(IIS7的经典模式)与IIS7的集成模式的不同 IIS6 ...
- 菜鸟学Struts2——Struts工作原理
在完成Struts2的HelloWorld后,对Struts2的工作原理进行学习.Struts2框架可以按照模块来划分为Servlet Filters,Struts核心模块,拦截器和用户实现部分,其中 ...
- C#中如何在Excel工作表创建混合型图表
在进行图表分析的时候,我们可能需要在一张图表呈现两个或多个样式的图表,以便更加清晰.直观地查看不同的数据大小和变化趋势.在这篇文章中,我将分享C#中如何在一张图表中创建不同的图表类型,其中包括如何在同 ...
- OEL上使用yum install oracle-validated 简化主机配置工作
环境:OEL 5.7 + Oracle 10.2.0.5 RAC 如果你正在用OEL(Oracle Enterprise Linux)系统部署Oracle,那么可以使用yum安装oracle-vali ...
- 通过AngularJS实现前端与后台的数据对接(一)——预备工作篇
最近,笔者在做一个项目:使用AngularJS,从而实现前端与后台的数据对接.笔者这是第一次做前端与后台的数据对接的工作,因此遇到了许多问题.笔者在这些问题中,总结了一些如何实现前端与后台的数据对接的 ...
- 从啥也不会到可以胜任最基本的JavaWeb工作,推荐给新人的学习路线(二)
在上一节中,主要阐述了JavaScript方面的学习路线.先列举一下我朋友的经历,他去过培训机构,说是4个月后月薪过万,虽然他现在还未达到这个指标. 培训机构一般的套路是这样:先教JavaSE,什么都 ...
- Java程序员:工作还是游戏,是该好好衡量一下了
前阵子我终于下定决心,删掉了硬盘里所有的游戏. 身为一个程序猿,每天都要和各种新技术打交道,闲暇时间,总还得看一下各大论坛,逛逛博客园啥的,给自己充充电.游戏的话,其实我自小就比较喜欢,可以算是一种兴 ...
- 【夯实Nginx基础】Nginx工作原理和优化、漏洞
本文地址 原文地址 本文提纲: 1. Nginx的模块与工作原理 2. Nginx的进程模型 3 . NginxFastCGI运行原理 3.1 什么是 FastCGI ...
- HashMap的工作原理
HashMap的工作原理 HashMap的工作原理是近年来常见的Java面试题.几乎每个Java程序员都知道HashMap,都知道哪里要用HashMap,知道HashTable和HashMap之间 ...
随机推荐
- 兼容性背景颜色半透明CSS代码(不影响内部子元素)
如何简单兼容性的实现父元素是半透明背景色,而子元素不受影响. 兼容所有浏览器的背景颜色半透明CSS代码: background-color: rgba(, , , .); filter: progid ...
- Integer.valueof(String s)和Integer.parseInt(String s)的具体区别是什么?
Integer.valueof(String s)和Integer.parseInt(String s)的具体区别是什么? Integer.valueof(String s)是将一个包装类是将一个实际 ...
- ABP Migration(数据库迁移)
今天准备说说EntityFramework 6.0+,它与我之前所学的4.0有所区别,自从4.1发布以来,code first 被许多人所钟爱,Dbcontext API也由此时而生.早在学校的时候就 ...
- ABP之Javascript生成
还是服务 在调试SimpleTaskSystem的AngularJs demo时,一开始我只看到对服务的应用. app.controller(controllerId, [ '$scope', 'ab ...
- Lind.DDD.Manager里菜单权限的设计
回到目录 对于一个后台管理系统来说,你的权限设计与安全是重中之重,当你为一个权限分配一些菜单后,当这个权限的用户没有菜单权限时,这个菜单的URL是不可以被用户访问的,而在之前的设计中,没有考虑到这点, ...
- 关于Lind.DDD.Api客户端的使用与知识分享
回到目录 关于Lind.DDD.Api的使用与客户端的调用 作者:张占岭 花名:仓储大叔 框架:Lind.DDD,Lind.DDD.Api 目录 Api里注册全局校验特性 1 Api中设置全局的Cor ...
- springmvc的初始化参数绑定
一.springmvc的初始化参数绑定 此种和我们之前说的类型转换非常相似,可以看作是一种类型转换 在初始化参数绑定时 重要的是参数类型 -------------------单日期的绑定 二. 配 ...
- Oracle分页函数(存储过程)
create or replace package body Get_RecordByPage is StrSQL ); --分页函数 procedure GetRecordByPage(tblNam ...
- 使用FragmentTabHost+TabLayout+ViewPager实现双层嵌套Tab
大多数应用程序都会在底部使用3~5个Tab对应用程序的主要功能进行划分,对于一些信息量非常大的应用程序,还需要在每个Tab下继续划分子Tab对信息进行分类显示. 本文实现采用FragmentTabHo ...
- 正则表达式的JS验证
/判断输入内容是否为空 function IsNull(){ var str = document.getElementById('str').value.trim(); ...