35-40岁之后的码农真的就没前途吗?
注意限定,是在35-40岁之后。毫无疑问,这对于任何年轻人而言是一个伟大的领域,那么对于年长的人而言还全是灿烂的阳光和芬芳的玫瑰吗?
我还没有35,但过个两三年就到了。
所以我考虑这个问题并不奇怪:软件开发真的是一个没有出路的工作吗?
迄今为止,我的职业生涯相当成功。我从开发人员做起,现在担任了软件架构师的工作。我有开发人员,架构师,项目经理,团队领导等工作经验。在非技术方面,我从头开始建立团队,聘请合适的候选人,培训克服他们的弱点等。
总之,我在软件开发的许多领域都装备了技能。我喜欢参与SDLC的许多方面,可以诚实地带领团队前进(从技术和管理团队两方面,创建合适的开发流程,为开发人员创造一个启迪性的环境)。
这是否使我成为任何工作的好候选人?你可能会想。 “是的,为什么不呢?”我有所有的技能。我也是这样想的。
但当我最近去求职的时候,我发现我应聘的大多数公司都没有给我面试机会。我非常纳闷为什么那些招聘人员要匹配在工作规范中的关键字到我的简历。
招聘人员:使用Java?
我:是的。
招聘人员:工作在Spring,J2EE上?
我:Spring。2004年J2EE。自那以后用JavaEE。
招聘人员[困惑,但继续]:Spring的什么领域?
我:MVC,数据,安全,Spring Boot和许多其他[说明列表]。
招聘人员:XML呢?
我[有点懊恼,因为我意识到下面要谈什么]:是的。
招聘人员:什么版本的Wildfly应用服务器?
我:我一直在用JBoss工作,现在在Wildfly 8。
招聘人员:哦,那么你没有用Wildfly 9工作了?对不起,我们只寻找有Wildfly 9经验的人员。 [挂了。]
对于大多数工作,我的技能与确切的关键字并不匹配,所以你可以想象得到互动起来是多么糟糕。他们不明白我比在工作规范上列出的关键字更有价值。
在我接到电话的少数公司中,有正在寻找一个人去做做编码工作并且薪资少得可怜的公司。
还有一些公司指定我去做编码测试,他们要求我“输出一个梯子”和“找到重复的数字”。我拒绝了这些测试,原因不是因为傲慢,而是因为我的技能超出了他们对这个角色的需求。是的,我的角色是软件架构师。然而,他们不是测试我在架构和逻辑的技能,而是让我在屏幕上输出一个梯子。
其余的公司就太远了,每天上下班需要我花上五个小时在火车上。我拒绝了这些面试,因为我不想搬家,我的家庭目前正定居在一个小镇。
99%的公司没有面试就拒绝了我。在剩余1%的部分中,我发现了更多的拒绝理由。
现在,让我们回到10-12年前,当我还20刚出头的时候。我还是一个初级开发者。单身,能够自由地跑到世界任何地方。可以选择世界上的任何工作。哪怕是比较低的薪水,为了能够进入“开发”行业,我也会欣然接受。
那么,这个故事说明了什么?我20多岁的时候才是一个更好的软件工程师吗?当然不是!
现在我三十多岁了,我很挑剔我的工作。我更关心我给公司带来的影响。同时我也想要和我的家人度过美好的时光。
不幸的是,公司不明白这些。他们想要一个具有特定技能,而非在许多领域都有着丰富经验的人。我相信这样做的原因是因为更多的时候,你被雇用来替代离开这家公司的某个人。他们只需要你做先前那个人做的事情,仅此而已。你的大部分“额外”技能对你所申请的角色来说是无用的。
所以,没错,在某种程度上,这个职业让三十多岁的人觉得有点艰难,尤其并不仅仅是因为我们缺乏技能,而是因为我们在做每一个举动之前有更多的事情需要考虑。这是否是一个死胡同的工作取决于你的个人情况和你的灵活度。
这引导我们去思考下一个重要的问题:编程可不可以成为商品工作?且听下一篇帖子分解!
- 美国国会关于人工智能的提案
- update的多表更新的试验
- silverlight中如何得到ComboBox的选中值(SelectedValue)?
- kvm虚拟化管理平台WebVirtMgr部署-完整记录(安装ubuntu虚拟机)-(5)
- 从MapX到MapXtreme2004[9]-标注的强调显示
- 【第一季】Vue2.0内部指令
- 从MapX到MapXtreme2004[9]-标注的强调显示
- 分布式监控系统Zabbix-3.0.3-完整安装记录(4)-解决zabbix监控图中出现中文乱码问题
- 常用Lambda表达式实例
- centos6.8部署vnc服务
- linux下的缓存机制及清理buffer/cache/swap的方法梳理
- 分组合计且排序和显示名称
- silverlight动态读取txt文件/解析json数据/调用wcf示例
- Junit加载Spring容器作单元测试_添加事务回滚
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 线程池的基本使用
- JavaScript闭包
- Js中Currying的应用
- Qt音视频开发37-USB摄像头解码ffmpeg方案
- Navicat 环境测试 innodb 的事务隔离级别 产生的幻读 和 不可重复读
- leetcode之最长回文串
- Discourse CentOS 8 全新安装手册
- 3分钟短文:Laravel路子真野啊!路由昵称前缀中间件
- CSS中重要的BFC概念
- Redis哨兵集群中哨兵挂了,主从库还能切换吗?
- 你的 Redis 为什么变慢了?
- 解决Maven依赖冲突的好帮手,这款IDEA插件了解一下?
- Python爬虫实现HTTP网络请求多种实现方式
- 在tensorflow以及keras安装目录查询操作(windows下)
- Python调用OpenCV实现图像平滑代码实例