30多岁程序员老W,无奈选择转行!问题出在哪?

2023-11-06 07:48

本文主要是介绍30多岁程序员老W,无奈选择转行!问题出在哪?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

作者:邹溪源,长沙资深互联网从业者,架构师社区特邀嘉宾!


有一天,一位同事跟我说:老w已经改行做美缝去了,你怎么看?

我想了想,说:他大概终于做出了眼下最符合他的选择。

老w是我曾经一位同事。

还记得2014年面试的时候第一次遇到他,当时的他精力旺盛,充满干劲。大概是因为他上一段职场中获得了他认为非常充足的收获,所以找工作的时候,心态也非常积极乐观,这也让面试的过程很轻松愉悦,技术问题一问一个准。

这应该是一个能够为公司创造价值的优秀开发者吧!当时,我这样想,于是毫不犹豫的告知领导,让领导把老w留下来。

被公司招进来之后,他也表现出他的足够专业,使得他能够在这段工作中平滑发展,获得让大家满意的评价。

如果没有其他意外,大概他将从这里起步,在星城长沙好好发展,直到有一天不再适合IT为止。(而那一天,也许得42岁之后吧)。

后来,我从这家公司离开若干年后,与他在一家初创公司相聚。

老w来到这里有不少原因。首先原公司项目回款陷入僵持状态,管理层和董事会出现了重大分歧,董事会已经无意于维持公司的进一步发展,进而导致了严重的经济问题,那几个月员工的工资和公积金已经无法按时间缴纳。而老w本身也自我感觉技术到了瓶颈,打算换一个岗位来提升自己,但是原公司的发展困境显然无法给他创造适当的机会。

于是当有人挖他时,他顺势就把工作辞了,来到了这家新成立的公司。

老板很慷慨,看到他是一位经验丰富的开发者,并没有给他安排试用期,而是入职就直接成为正式员工。加入公司的前几个月有点像蜜月期,他和部门经理之间经常对技术进行探讨。由于部门经理主要从事嵌入式系统开发,对互联网技术几乎不懂,老w则也算是从业老兵,虽然基础不扎实,但还能勉强应付部门经理的问题,所以双方的沟通比较融洽。

他们部门的产品也主要是偏物联网的智慧监测管理平台,需要运用嵌入式技术开发设备上的组件,并通过Web平台来展示数据的状态信息。而老W之前并不了解物联网相关领域,但在Web开发领域还是有一点点积累,能够勉强把自己手头上的任务完成妥当。

然而,在初创公司做产品并非只是干好那一亩三分地就够了。他和大部分拥有一定经验的所谓高级开发者一样,总是觉得干好技术就是自己的本份,对业务知识不太在乎。而物联网行业需要太多的行业基础,如果不能深入行业,几乎很难做出成熟的产品。

随着项目的逐渐深入,也完美暴露出老w的技术短板。他已经工作了六七年,但是平时主要负责增删改查,对前端页面和框架底层几乎很少涉及,他本身缺乏主动学习的积极性和创造性,对新技术和前端技术缺乏兴趣和敏感度,甚至连搜索查找问题的能力也很欠缺,这使得他得花许多精力来学习框架知识,并间接导致项目速度进展缓慢。

原本计划三个月做一个小产品,但由于种种原因,以及后来的迭代,硬生生五六个月才完成。在产品终于做完开始正式运行之后,由于后台代码存在的缺陷比较多,部门经理对他大为失望。于是被调到其他部门当研发工程师,但在新的工作岗位上,他很快就暴露出自己无法胜任相关岗位的能力,又回到了原部门。

原部门已经没有他的工作安排了,从此他陷入了长达一个多月的清闲期。这段时间,他也没去找工作,每天朝九晚五,上上网,看看电影,由于他本身就对技术兴趣不足,自然而然也不会踏踏实实补足短板,于是安安稳稳的在公司混了好几个月。

2018年过完年,就从公司离开。之后听说他前前后后找了好几轮工作,但都没能好好的干下去。听说他曾经一度打算选择成为独立开发者,却接不到什么好项目,有的项目完全是费力不讨好,付出了许多努力,却交货时被客户打回。

所以最终选择改行也是万般无奈。

老w的职业发展历程总是令我扼腕叹息。虽然程序员转行很正常,但他年轻时也算是精力充沛,对技术充满激情,却为何刚过而立之年就不得不离开行业?要想维持职场长久的生命力,究竟该做哪些努力?这个问题想必已经深深的困扰着许多人。

在我们的身边,有许多这样或那样的人选择IT行业,选择成为程序员。也许大家选择成为程序员的理由不尽相同,但是大家的学习曲线或许却大体类似。这种学习曲线,大概有点像“达克效应”曲线一般魔幻真实。

(达克效应)

用来描述一种认知偏差。它表明,能力差的人总是有一种虚幻的自我优越感,他们总是错误的以为自己比真实的自己更优越。

在这个效应中,将一个人求知的阶段划分为四个阶段:

1、不知道自己不知道。

这一阶段是我们刚刚加入职场的时候,由于眼界和见识的限制,我们将在较短的时间内获得完成短期工作所需的部分知识。这些知识使得我们在短期内自我膨胀,然后心态发生改变,渐渐的成为“愚昧山峰”上的一块顽固之石。过早的登上愚昧之山,对每个开发者来说都不是一件好事情,这意味着你或者你们公司所在行业的天花板太低、或者你的见识太低,使得你过于轻易的就掌握了驾驭当前应用场景的知识,如果不做出改变,将为未来埋下祸根。

2、知道自己不知道。

新技术的发展是如此的突飞猛进,当你还在睡安稳觉时,或许一不小心就被淘汰了。许多“顽固之石”对于新技术的出现,总是抱有成见,甚至会习惯于用自己的固有思想来思考问题。于是在市场面前,一旦遇到一波有一波的挫折,并陷入绝望之谷。

3、知道自己知道

绝望之谷,或使人逃离,或使人成长。

前面故事提到的老w,就是逃离的典型。由于其固有习惯和见识,让他遇到新技术、新应用场景带来的挑战时,总是选择像海龟一样,把自己深藏在一个“壳”中,并且甚至逃避问题,最终只能在一波有一波的挫折面前,选择离开行业。

还有一些人,他们会以过去的挫折为跳板,然后不断的学习,进入“开悟之谷”。这个阶段才是智慧形成的阶段,这意味着你过去的从业经验和知识将成为你成长的宝贵财富。

4、不知道自己知道。

如果始终保持积极乐观和空杯的心态,你掌握的知识也将越来越多,你所散发出的知识的馥郁,也将促使你能够成为身边人学习的榜样,并将促使你成为真正的“大师”。

在我们的身边,被类似“达克效应”困扰的现象其实无处不在。拿笔者为例,曾经有一段时间,我经常写博客,还以为自己的博客写得挺有文采的。后来读了许多书,发现自己简直就是可以称为“无知”,于是花了更多的时间来提高自己。

作为开发者也许都将如此,你所知道的越多,其实意味着不知道的越多。每一次你以为大彻大悟,以为道理不过如此,但是往往随着你学习的进一步深入,只会使你更加清楚自己的愚昧。

一次又一次探索中,不断的发现自己的无知,看似在浪费时间,其实是在不断的扎根。人生的每一次成长,从不是一蹴而就,而是像攀登高峰一般,一步一步脚印,每一步都得踏踏实实。

你今天的积累,既是你过去的沉淀,更是适应未来变化的踏脚石。


如有收获,点个在看,诚挚感谢

这篇关于30多岁程序员老W,无奈选择转行!问题出在哪?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/355361

相关文章

解决pandas无法读取csv文件数据的问题

《解决pandas无法读取csv文件数据的问题》本文讲述作者用Pandas读取CSV文件时因参数设置不当导致数据错位,通过调整delimiter和on_bad_lines参数最终解决问题,并强调正确参... 目录一、前言二、问题复现1. 问题2. 通过 on_bad_lines=‘warn’ 跳过异常数据3

解决RocketMQ的幂等性问题

《解决RocketMQ的幂等性问题》重复消费因调用链路长、消息发送超时或消费者故障导致,通过生产者消息查询、Redis缓存及消费者唯一主键可以确保幂等性,避免重复处理,本文主要介绍了解决RocketM... 目录造成重复消费的原因解决方法生产者端消费者端代码实现造成重复消费的原因当系统的调用链路比较长的时

深度解析Nginx日志分析与499状态码问题解决

《深度解析Nginx日志分析与499状态码问题解决》在Web服务器运维和性能优化过程中,Nginx日志是排查问题的重要依据,本文将围绕Nginx日志分析、499状态码的成因、排查方法及解决方案展开讨论... 目录前言1. Nginx日志基础1.1 Nginx日志存放位置1.2 Nginx日志格式2. 499

kkFileView启动报错:报错2003端口占用的问题及解决

《kkFileView启动报错:报错2003端口占用的问题及解决》kkFileView启动报错因office组件2003端口未关闭,解决:查杀占用端口的进程,终止Java进程,使用shutdown.s... 目录原因解决总结kkFileViewjavascript启动报错启动office组件失败,请检查of

SpringBoot 异常处理/自定义格式校验的问题实例详解

《SpringBoot异常处理/自定义格式校验的问题实例详解》文章探讨SpringBoot中自定义注解校验问题,区分参数级与类级约束触发的异常类型,建议通过@RestControllerAdvice... 目录1. 问题简要描述2. 异常触发1) 参数级别约束2) 类级别约束3. 异常处理1) 字段级别约束

Python错误AttributeError: 'NoneType' object has no attribute问题的彻底解决方法

《Python错误AttributeError:NoneTypeobjecthasnoattribute问题的彻底解决方法》在Python项目开发和调试过程中,经常会碰到这样一个异常信息... 目录问题背景与概述错误解读:AttributeError: 'NoneType' object has no at

Spring的RedisTemplate的json反序列泛型丢失问题解决

《Spring的RedisTemplate的json反序列泛型丢失问题解决》本文主要介绍了SpringRedisTemplate中使用JSON序列化时泛型信息丢失的问题及其提出三种解决方案,可以根据性... 目录背景解决方案方案一方案二方案三总结背景在使用RedisTemplate操作redis时我们针对

Kotlin Map映射转换问题小结

《KotlinMap映射转换问题小结》文章介绍了Kotlin集合转换的多种方法,包括map(一对一转换)、mapIndexed(带索引)、mapNotNull(过滤null)、mapKeys/map... 目录Kotlin 集合转换:map、mapIndexed、mapNotNull、mapKeys、map

nginx中端口无权限的问题解决

《nginx中端口无权限的问题解决》当Nginx日志报错bind()to80failed(13:Permissiondenied)时,这通常是由于权限不足导致Nginx无法绑定到80端口,下面就来... 目录一、问题原因分析二、解决方案1. 以 root 权限运行 Nginx(不推荐)2. 为 Nginx

解决1093 - You can‘t specify target table报错问题及原因分析

《解决1093-Youcan‘tspecifytargettable报错问题及原因分析》MySQL1093错误因UPDATE/DELETE语句的FROM子句直接引用目标表或嵌套子查询导致,... 目录报js错原因分析具体原因解决办法方法一:使用临时表方法二:使用JOIN方法三:使用EXISTS示例总结报错原