程序员转行为什么这么难

2023-05-16

尽管我在“大龄程序员的未来在何方”这篇文章里比较乐观地介绍了程序员保持竞争力的几个方向,但现实依然是残酷的:很多人将不得不离开软件开发工作,转型去从事其他职业。

当你要这么做时,就会感慨:想不到一切竟如此艰难!你不禁会想起李白老先生的诗:噫吁嚱,危乎高哉!蜀道之难,难于上青天!

那么,为什么会这么难呢?真有这么难吗?

我们这次就从下面几方面扒一扒难在哪里:

  • 路径依赖
  • 成本
  • 缺乏技能
  • 他人的期望

然后我们再来看看,在千难万难之中,怎样找到正确的突破姿势。

作茧自缚

跳槽难,转行难,转型难,难在路径依赖、成本忍受、技能缺乏、他人期望这四点,一个一个来说说。

1. 路径依赖

我每天开车到单位,都走“科技路–沣惠南路–科技六路–团结南路–科技七路–丈八东路–丈八西路–丈八二路–锦业一路”这样一条线,下班再反向回来。不管路上堵不堵车,我都这么走。有时跑个高速后回西安,也会从高新出口下,然后再回到这条线上。

这就是我的路径依赖,当我走上这条路时,就觉得踏实、安全。

对于从事软件开发的我们来讲,也有这么个路径依赖:习惯性地会走在开发这条路上。哪怕正在慢慢丧失竞争力,哪怕公司摇摇欲坠朝不保夕,也还是会这么走着。即便哪一天不得不重新找工作,还是会第一个想到:换家公司继续做开发。

这是我们人的天性:长时间做某件事情,就会对它产生依赖、认同。一旦我们习惯了某件事,就会被它植入相应的隐藏假设——你必须做这个,进而在我们必须做出选择时影响我们的选择。

以开发为例,很多人心中都有了这样的隐藏假设:如果你做了开发,就只能一直做开发。

正是因为这种隐藏假设遮蔽了我们的心眼,我们在转型时只能看见有限的几种可能性。

2. 成本

程序员的薪水远高于其它行业,很多朋友都是因为软件开发的高薪水而转行过来的。

我很认同一句话:当我们没有别的追求时,追求金钱也是一个不错的选择。

这话反过来就成了软件开发者的魔咒:当我们发现了自己的追求,想要离开时,我们已经获得的薪酬水平就会成为我们的羁绊。

干过几年开发的朋友,想转行,薪水都会经历一个断崖式下坠,这是多数人不能承受的,也是人的天性——得到了就不想再失去。

我们习惯性的认为职场只能一个台阶一个台阶往上走,我们习惯性的认为薪水只能一年比一年高,我们不能接受成长过程中的凹陷。

其实,这只是一种取舍。我们要不断攀升的薪水福利职位,目的是为了让我们的生活更安全,更有有幸福感、意义感。那当我们发现了一件直接就能带给我们意义感的事情时,去做它不是更好吗?你不仅不用拿钱去买、去寻找了,而且你在做它时还能赚到钱,这不是更“划算”更有价值的选择吗?

3. 缺乏技能

我们人有一种天性,一旦找到一个答案、一旦感到安全、一旦觉得稳定,就会松懈下来,不再考虑或较少考虑将来的去向。

在“你在职场可能犯下的最大错误”那篇文章中,我详细地描述了这种状态。正是因为我们习惯于把自己托管给公司,倾向于按部就班地工作,不愿去面对更为艰难的自我更新和迭代,才会使得我们在不得不考虑转型时,发现自己除了技术一无是处,只能拔剑四顾心茫然。

4. 他人的期望

别人会对你有期待,他们希望看得懂你,不希望你带给他们看不懂的意外。我们给身边的每一个人、给我们可能看到的每一个人都编制了一个“人设”,认为他们就该按照我们设定的角色去发展,如果他超出了我们预想的“人设”,我们就会诧异、不解、愤怒,进而否定、打压。这就是我们的生活中贴标签盛行不衰的原因。

就这一点而言,父母、伴侣、朋友对我们的期望,尤其会给我们带来巨大的压力,父母会不希望你放弃稳定又高薪的工作,伴侣会担忧你的选择不能保障优裕的家庭生活,朋友会觉得你不应该瞎折腾让自己越来越不值钱……

除了亲戚朋友,但凡稍稍熟悉你的人,都会对你有期待、有评价,都习惯用他们感到舒服的视角来框你。

别人会因为你做了软件开发工作,就把你等同于程序员这一身份,会一直强化你的优势——技术,而不看你别的方面。

比如我参加智空间的咖访谈,访谈结束后,有好几位朋友找我,就是因为我技术好,就要我帮忙做技术方案或者到他们公司从事技术工作。别人看到的,都是你过去走过的路。

比如我参加在行西安的线下聚会,有的朋友知道我是程序员,就准备外包项目给我。

再举个例子,林依轮,歌星,他唱过的《爱情鸟》这首歌,当年红遍大江南北。有一天我在“一起投吧”节目上看到他在做投资人,当时我心里就冒出一个念头——“唱歌的怎么可能懂投资”。

这就是我们习惯了的思维定式。我看了几期“一起投吧”之后,发现,林依轮还是蛮有眼光和判断的,我的那种标签式的评价太不靠谱了。

类似的事情一直发生在赵薇身上,她因为演了《情深深雨濛濛》里的陆依萍和《还珠格格》里的小燕子而大红大紫,吃瓜群众就给了她一个人设,认为她不能做不符合她身份的事情。可是她不啊,这么多年,她当导演,自己做电影,当国际电影节评委,嫁给商人,跟商界名流过从甚密,做股权投资,投资实业……每一步都超出了吃瓜群众对她的人物设定,你刚适应她新的样子,她又抛开了往前走了,你跟不上趟了,你愤怒了,发出怒吼:“怎么能这样!你怎么可以去投资!还要玩儿杠杆控制上市公司?”

但是,为什么不可以?

破茧重生

其实前面提到的四大难,可以一个一个的破掉——只要思维转变过来即可。

我们身上发生的大多数事情,它们的结果是因为我们采取的某些行为所导致的,行为则取决于我们的某种思维。所以,只要改变思维,最终就可以改变结果。这就是我们的逆向分析模型:“结果–>行为–>思维”。

1. 路径依赖

路径依赖往往是因为我们低估了自己的潜能,高看了现在取得的成绩。其实想想,你现在走出的路,也是从零开始过来的。

那为什么不可以从零开始走新的路呢?况且,你在这条路上积累的经验、阅历、做事流程与方法、逻辑思维与分析等等等等,都是通用的,可以迁移到新的路径上去,你并不是从零开始呢。(参见“转行不必从0开始,7成积累能迁移”)

所以,关键是要有一种学习型心态,要能够归零、空杯,要相信一切皆有可能。我在“哇,你也想自由职业啊”一文中提到的邹鑫、彭君,都是做了很多年开发后转型的。

2. 成本

对于无法接受转型后收入可能有一段时间比现在低的朋友,可以想想,你要那么高的薪水,是为了什么?

工作无非是为了更好的实现自我,更好的生活,更有意义感。那你现在的模式就是:“赚钱–>为幸福和意义花钱–>赚钱……”。

如果你切换到了更喜欢让自己更有成就感的职业上,那你的模式就变成了:“一边赚钱一边收获幸福感、成就感、意义感–>为幸福和意义花钱–>一边赚钱一边收获幸福感、成就感、意义感……”。

这就是更积极的思维转变!

3. 缺乏技能

在“你在职场可能犯下的最大错误”一文中,我提出了以下三个方向:

  • 精进既有专业能力
  • 培养第二职业
  • 提升通用能力

它们能够帮助我们保持精进,让我们的能力与价值跟得上我们的年龄。

4. 他人的期望

当你因为别人给你贴的标签而举步不前时,要想想:

你不是你的工作,你不是你的技术,你不是你的成功,你不是你的失败,你是一个立体的、多元化的人,你具有多重角色和身份,你在开发软件时是程序员,你在写作时是作家,你在讲课时是老师,你在照顾孩子时是爸爸妈妈,你在陪伴父母时是孩子,所有的角色都是你,但没有一个单一的角色代表全部的你。

这里的思维转变点在于:

  • 你不是你的工作
  • 你不是你的标签
  • 你不是别人对你的评价
  • 别人的评价不会改变已然发生的事实

意识到这些,再进一步,你就能看到:你的价值来源于你能做什么事情、能解决什么问题,你是因为做了什么事情而成为了你,而不是别人的评价——那是后发的、后发的、后发的,是你做了事情之后他们才走的马后炮

但丁先生在700年前就看穿了这一点,他说:Go your own way;let others talk

我们呢,还在乎什么?

怎样为转型做准备

因为没有技能、因为不熟悉行业、因为年龄、因为薪水落差、因为被贴标签……在转型时会遇到很多很多的困难,即便你心态和思维上突破了,这些困难依然在,怎么办?

首先,得做心态调试,我们可能会遇到各种困难,可能半年了还找不到钟意的工作,此时怎么办?先给自己设定找工作的预期时间,比如半年,一年,这样就没那么焦虑。给自己设定预案,设定第二套行动计划,如果转行失败,就执行第二个计划。(参看“找不到合适的工作怎么办”)

然后,更重要的是,要学会怎么准备:

  1. 盘点自己的知识、技能、经历、人脉,看自己都有哪些价值
  2. 盘点自己的兴趣、爱好、向往、愿景,看自己想到哪里去
  3. 找到两者交叉区域,那就是你想去、又能去的地方
  4. 初步寻找身边的公司、职位,形成公司与职位的基础清单
  5. 详细了解每一个公司,根据1、2步的结果,筛选出目标公司和目标职位
  6. 针对每一个公司的每一个职位,准备一份简历,突出你与目标职位匹配的知识、技能、经历
  7. 优先考虑通过人脉、内推等方式获取面试机会;实在找不到的人推荐,再考虑网络、现场招聘等方式

重复上面的过程,迭代,优化,直到找到工作。更为详细的准备和操作,可以参考《你的降落伞是什么颜色》这本书,求职史上最强的书。


推荐阅读:

  • 精进:如何成为一个很厉害的人
  • 你的生命有什么可能
  • 你在职场可能犯下的最大错误
  • 当我们谈论跳槽时我们在谈论什么
  • 哇,你也想自由职业啊
  • 转行不必从0开始,7成积累能迁移
  • 找不到合适的工作怎么办
  • 你的降落伞是什么颜色
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

程序员转行为什么这么难 的相关文章

  • 硬盘的那些事(主分区、扩展分区、逻辑分区、活动分区、系统分区、启动分区、引导扇区、MBR等

    硬盘的那些事 xff08 主分区 扩展分区 逻辑分区 活动分区 系统分区 启动分区 引导扇区 MBR等 主分区 xff0c 扩展分区 xff0c 逻辑分区 xff0c 活动分区 xff0c 系统分区 xff0c 启动分区 主引导扇区 xff
  • Vcc(电源)和GND(地)之间接电容的作用

    1 在直流电源 xff08 Vcc xff09 和地之间并接电容的电容可称为滤波电容 xff0e 滤波电容滤除电源的杂波和交流成分 xff0c 压平滑脉动直流电 xff0c 储存电能 xff0e 取值一般100 xff0d 4700uF x
  • APM/Pixhawk地面站航迹规划指令单

    本文来源于http ardupilot org copter docs mission command list html condition distance 由于对APM Pixhawk的爱好 xff0c 翻译成中文供参考 xff0c
  • APM/Pixhawk路径规划飞行(自动起飞/降落/航路点飞行)

    APM Pixhawk路径规划飞行 xff08 自动起飞 降落 航路点飞行 xff09 本节主要介绍各类飞行器一般的航路点设置 xff0c 已经实现了自动起飞降落和按计划轨迹飞行 设置家的位置 对于直升机和多旋翼家的位置一般是飞控解锁的位置
  • E2上GBA模拟器移植的困难。。。

    终于决心动手写GBA的模拟器了 修改了半晌 xff0c 终于吧Oop的模拟器源码编译通过 xff0c 但是到了机器上却跑不起来 xff0c 那个源码用了一个非常奇怪的方式来处理系统响应 xff1a 主动调用系统去处理 xff0c 没开线程
  • 蓝牙物理链路类型:SCO和ACL链路

    蓝牙物理链路ACL Asynchronous Connectionless 另外的一种链路是SCO Synchronous Connection Oriented 主要用来传输对时间要求很高的数据通信 蓝牙基带技术支持两种连接类型 xff1
  • Linux内核角度分析tcpdump原理(二)

    上篇文章介绍了在内核角度tcpdump的抓包原理 1 xff0c 主要流程如下 xff1a 应用层通过libpcap库 xff1a 调用系统调用创建socket sock fd 61 socket PF PACKET SOCK RAW ht
  • 3 Linux目录管理

    注意 xff1a 在下面的讲解中 xff0c 每个命令都有很多的参数说明 选项 xff0c 我们只讲其中的几个 xff0c 关键是让学生掌握命令的语法 xff1b 学生学习完语法后 xff0c 就可以自己按照参数书写各种命令 xff0c 这
  • 多线程-读写安全

    多线程31 读写安全01 简介 文件操作 IO操作 读取文件 往文件中写入内容 不能允许读取和写入同时进行 我们之前做的加锁那种操作 xff0c 平时开发中有点缺陷我们最好让读的操作可以多条线程一起读取 多读单写 xff0c 多线程出乱主要
  • 单片机的程序具体运行过程以及栈空间的使用

    单片机的程序具体运行过程以及栈空间的使用 初始化RAM xff1a 将启动文件里选择的RAM空间清零 xff0c 将初始化不为零的全局变量在RAM里赋值 给PC指针赋初值 xff1a 将程序的第一条语句在ROM的地址取出给PC指针 程序执行
  • __block-内存管理

    我们创建一个对象如果我们block内部用到了 block类型的变量 xff0c 他会拥有这个对象 xff0c 我们可以通过cpp文件来分析 一旦访问对象 xff0c desc结构体里面就会多两个成员 xff0c 一个是copy 和dispo
  • 多线程 线程安全

    多线程的安全隐患 我们用多线程有很多好处 xff0c 但是也存在安全隐患 资源共享 1块资源可能会被多个线程共享 xff0c 也就是多个线程可能会访问同一块资源 比如多个线程访问同一个对象 同一个变量 同一个文件 当多个线程访问同一块资源时
  • IOS 推送通知 本地推送和远程推送

    什么是推送通知 首先明确 此处的推送通知跟我们的 NSNotification 没有半毛钱关系 可以理解为 向用户推送一条信息来通知用户某件事情 作用 可以在APP退到后台 或者关闭时 继续推送一条消息告诉用户某件事情 推送通知的应用场景
  • IOS Xcode用git管理我们的代码git的使用

    项目部署 xff0c 代码仓库 进入网站 创建项目 xff0c 2选择开源许可证的时候很关键 创建成功 然后找到 ssh https链接 用来认证 可以先用https不需要生成公钥和私钥 在终端cd到当前项目的文件夹 然后 使用 git c
  • Linux系统与设置命令

    2 系统与设置命令 在前面的两个章节中 xff0c 我们主要介绍了Linux基本知识和虚拟机的安装 xff0c 从当前章节开始 xff0c 我们一起学习下Linux的基本命令 xff0c 在当前章节 xff0c 我们先简单的学习下一些系统的
  • 4. iOS面试题原理篇2

    lldb gdb 常用的调试命令 xff1f po xff1a 打印对象 xff0c 会调用对象description方法 是print object的简写expr xff1a 可以在调试时动态执行指定表达式 xff0c 并将结果打印出来
  • SQL语言

    1 什么是SQL SQL structured query language xff1a 结构化查询语言 SQL是一种对关系型数据库中的数据进行定义和操作的语言 SQL语言简洁 xff0c 语法简单 xff0c 好学好用 什么是SQL语句
  • 实测:Ubuntu16.04 ROS中实现RVIZ控制驱动UR10E机械臂!

    踩过了太多的坑 xff0c 此博客警醒自己 xff01 能用的收藏一下 一 演示一切之前 xff0c 要清楚两个问题 xff1a 1 你的UR是什么型号 xff0c 示教器软件版本是什么 xff1f xff08 这个不会看的话 xff0c
  • STM32CubeMX安装及使用教程(一)

    背景 随着芯片行业不断发展 xff0c STM32系列芯片不断扩大市场份额 为了方便开发者的不同需求 xff0c 意法半导体 xff08 ST xff09 推出了一款图形化配置工具 STM32CubeMX STM32CubeMX可以通过图形
  • STM32CubeMX安装及使用教程(二)

    背景 第一章我们讲述了如何安装和配置STM32CubeMX软件 xff0c 这一章我们来说说如何简单的使用STM32CubeMX软件 软件使用 1 打开STM32CubeMX软件 xff0c 点击File gt New Project 2

随机推荐

  • xshell无法连接虚拟机中的ubuntu解决方案

    xshell无法连接虚拟机中的ubuntu解决方案 查看虚拟机中ubuntu的IP地址的方法 ifconfig a 利用xshell工具进行远程连接 ssh IP地址 发现无法连接 xff0c 这就是我一开始将VM安装好 xff0c 一次性
  • 气压计融合定高控制逻辑

  • Git简介

    什么是版本控制 学习Git之前首先要了解一个概念 版本控制 xff0c 什么是版本控制 xff0c 版本控制就是一种在开发的过程中用于管理我们对文件 目录或工程等内容的修改历史 xff0c 方便查看更改历史记录 xff0c 备份以便恢复以前
  • Git图形化管理工具Sourcetree的使用及git冲突问题

    目录 一 了解 Sourcetree1 什么是Sourcetree2 为什么要使用Sourcetree 二 Sourcetree下载与安装1 下载2 安装 三 Sourcetree的使用1 Gitee的介绍与使用什么是GiteeGitee的
  • [智能车]平衡车/直立车的入门经验(代码讲解)

    做为第十六届智能车的FW 在半年的做车经历中把能踩的坑都踩了个遍 写这篇文章是为了留个纪念 xff0c 也是为了帮新车友快速入门 xff08 可能完全0基础 xff09 我自己的经验也不足 xff0c 所以可能会存在一些漏洞 xff0c 还
  • Mac系统 dockerfile 报错 COPY failed: stat /var/lib/docker/tmp/docker-builderxxx

    报错 xff1a Step 3 4 span class token keyword span COPY nginx 1 12 2 tar gz usr local src COPY failed span class token func
  • VS code的git设置

    先建立一个空文件夹 在git窗口先点 初始化仓库 xff0c 再点侧边栏右上角的 更多 xff0c 选 远程 下的 添加远程存储仓库 输入远程仓库地址 xff0c 再输入仓库名称 打开 源代码管理存储库 视图 xff0c 点上面的git分支
  • L4Linux的版本比较

  • 利用XML文件的一个写日志的类!!!!!

    对于程序执行期间的错误跟踪 xff01 相信大家都有自己的一套办法 xff01 xff01 xff01 但都是利用文件文件 xff0c 我这次利用的是XML amp XSL xff0c 可产生报表格式的日志 轻松生成报表 xff01 xff
  • 【Kubernetes实战】(四)MiniKube方式部署

    目录 一 当前配置环境 二 准备工作 1 关闭防火墙和SeLinux 2 禁用swap交换分区 三 Docker安装 1 配置docker源 2 安装docker环境依赖 3 安装docker 4 启动docker并设置为开机自启 5 配置
  • DGPS与RTK的区别

    2013 10 11 10 49 11 分类 xff1a GNSS 举报 字号 订阅 最近一直感觉身在这个行业不能对这个行业理论知识一无所知 xff0c 这对于技术人来说应该是一种遗憾 所以决定要学一些东西 xff0c 并记录下来以便于以后
  • 基于Ubuntu19.04安装docker

    输入命令 lsb release a 显示如下 Distributor ID Ubuntu 类别是ubuntu Description Ubuntu 19 04 16年3月发布的稳定版本 xff0c LTS是Long Release 19
  • PHP获取当月开始时间和结束时间

    startTime 61 date 39 Y m 01 39 time 获取该月份的第一天 endTime 61 date 39 Y m t 39 time 获取该月份的最后一天
  • CSS3实现动态进度条

    CSS3的线性渐变使制造动态进度条成为可能 现在就来一步一步讲解如何创建动态进度条吧 以Chrome浏览器webkit内核为例 目标 xff1a 单个矩形条背景 目标进度条 xff0c 背景是淡蓝色 xff0c 上面平铺了一层倾斜的深蓝色条
  • C语言-阶乘数列

    求Sn 61 1 43 2 43 3 43 4 43 5 43 43 n 之值 xff0c 其中n是一个数字 include lt stdio h gt include lt math h gt long long factorial in
  • 深入MTK平台bootloader启动之【 Pre-loader -> Lk】分析笔记

    1 bootloader到kernel启动总逻辑流程图 ARM架构中 xff0c EL0 EL1是必须实现 xff0c EL2 EL3是选配 xff0c ELx跟层级对应关系 xff1a EL0 app EL1 Linux kernel l
  • STM32输出模式详解

    本文为个人见解 xff0c 如有问题欢迎指正 首先需要明确输出 输入的意思 输出是指STM32控制外设 xff08 主要指输出高电平或低电平 xff09 或STM32发送数据给外设 xff0c 输入是指外设发送数据给STM32 输出模式有三
  • [OPNET学习总结]——SITL

    软件自带的SITL例程中 xff0c 出现如下error xff1a lt lt lt Recoverable Error gt gt gt Object repository construction failed due to erro
  • 漫谈程序员系列:程序员的生活就这样吗

    我当了快十年程序员了 xff0c 终于老得可以来谈谈程序员的生活是什么样子了 或许陈奕迅的 十年 中的一段歌词 xff0c 可以表示很多程序员和软件开发之间的感情纠葛 xff1a 十年之前 我不认识你 你不属于我 我们还是一样 陪在一个陌生
  • 程序员转行为什么这么难

    尽管我在 大龄程序员的未来在何方 这篇文章里比较乐观地介绍了程序员保持竞争力的几个方向 xff0c 但现实依然是残酷的 xff1a 很多人将不得不离开软件开发工作 xff0c 转型去从事其他职业 当你要这么做时 xff0c 就会感慨 xff