当前位置: 首页 > news >正文

程序员的迷茫期

30岁,人生最迷茫的时候,家庭,工作。精神上、身体上均出现不适,对未来充满了不确定性,甚至想逃离北京,去上海或者杭州。

原文名叫:《你看那个人他像一条狗》,取名来源于《大话西游》向星爷致敬,很多年前在《大话西游》中就向我们讲述了这个道理。后来被很多编辑将文章名改为《30岁程序员的迷茫》发表于各个网站。

我好像感觉还很年轻,才刚刚毕业,对未来一片憧憬,耳边才响起小马说,走!咱俩一起闯世界去。我仍然感觉我还是小伙子,但回家后才发现印象中那些屁颠屁颠的小男孩,他们才是正年轻真小伙,此刻我已经30岁了。

以前我在想30岁是什么感念。大着啤酒肚、人生过半、生活稳定开着车子,此刻我均没有。

666812d47e3550899aff5fd662f18018346bbb1d

30岁,到了传说中程序员最应该迷茫的年龄了,那么我迷茫吗,没的说,按照华为34岁就要劝退的要求,我还有4年的程序生涯。

为什么30岁的程序员就应该迷茫呢?30岁正是经过了七八年的职场生涯,技术、经验、职业素养等各方面都到了一个比较充沛的阶段。如果前几年不是在混日子,到了现在,踏踏实实干活的一般会成为公司的核心开发,潜心研究技术的应该会成为架构师,有领导才能的也许是小领导或者项目负责人。按道理来讲30岁正是人生的最黄金年龄,也是事业发展的核心阶段,如果在这个阶段抓住机遇能有突破,对整个职业生涯影响可谓不小。

转眼一想,三十岁也确实该迷茫,三十岁了,你在熬几个通宵试试?父母年纪大了或者有了儿女真是到了上有老下有小的阶段,很大的一部分精力需要放到家庭里面,这个阶段你就是家里的顶梁柱,可能家里最大的收入就来源于你。如果你和我一样来自于农村,没有什么家底,回家之后你会看到昔日里你感觉混的很一般的同学,买了房和车,日子过的很悠闲,然而你每个月工资一万两万的收入照样无房无车无存款,然后你会想,这么多年自己也一直没有歇着,每天也都坚持和努力,但现实和理想仍然差了那么大一截?

想起了上一段时间看到的一个新闻,当大家都骂此男子不守规矩的时候,有人从另一方面进行了解读,心情比较复杂。

9e50f79a0287904e919ee8f9374f3aa8b1890c64

中国的IT行业还很年轻,真正发展的时间也不过二十多年,而且中国互联网发展的速度非常的快,往往在其它行业需要积累N年才可以职业级别,到互联网公司几年就完成了。很多写程序很牛逼的程序员没过两年就都多多少少的被提拔到了管理的职位,有好处也有坏处,好处是可以综合的锻炼自己,坏处是没有太多的机会去做深入的研究,大公司可能还好一点。在这个快速的发展过程中,选择多了起来,也容易产生迷茫。

就像研究技术一样,探究迷茫的本质是什么?迷茫本质是未来的不确定性,典型的代表就是在你人生最关键的几个选择点上,比如:毕业时考研还是上班、工作后选择大公司还是创业公司、工作几年后走管理路线还是技术路线…

诚然每个人每个阶段的迷茫都是不一样的层次也是有所不同,很多线上或者线下的朋友也会一起聊聊自己现阶段的困惑,有的会说,我现在进入了一个瓶颈,不知道如何去突破了;有的编程语言已经换了两次了,然后还问,现在转Java还有前景吗?我自己其实也不敢妄言,也只是结合自己的情况给了一些建议,也未必正确。

所以迷茫是不分年龄的,到那个阶段都会有那个阶段的迷茫,只是到了30岁迷茫的情况会更复杂一些,回顾一下自己的职业生涯的几个关键的迷茫点,希望可以给同样阶段的你有所启示。

大学毕业

最近我司在招聘中级Java工程师,在boss直聘上面发布了一个岗位需求,半天的时间来了100多封简历,突然感觉刚毕业程序员现在竞争很激烈,从我毕业到现在吧,有一个感触刚毕业的程序员是最难找工作的,工作1-6年中找工作的溢价能力是不断提高的,多工作一年出来找工作的机会就越多,企业也热于招聘有丰富经验的程序员,工作6年以上,也就是30左右了吧,如果在前6年中都在混日子,或者都在外包公司,或者业务6年几乎都没有太大变化的公司中,那么6年后受欢迎度会越来越低。

所以刚毕业的第一家公司,最重要的是有一份工作可以让你去学习和实践,毕竟大学课程和实际工作差别还是比较大,如果有选择的情况下,尽量选择自己喜欢的行业,比如对游戏感兴趣,那么就多投一些游戏公司,对电商感兴趣多投一些电商公司,如果没有太多选择的情况下,尽快选择一家有技术氛围的公司,那么如何在面试的时候判断这家公司有技术氛围呢?第一看公司的面试过程,对面试人的态度是否真诚,如果面试者一副牛逼呼呼的感觉,基本上面技术氛围不咋的,越是牛逼的人越低调;第二看面试过程中考察的知识点都是什么,一般面试者官都会关于公司的项目技术基础来问一些题目;最后主动问一下公司的技术栈都有哪些,自己入职后负责那部分?

对于这个阶段的同学来讲,最重要的是尽快去入职工作,积累经验。对了,尽量不要去外包公司,很难赚取到什么经验,而且会累死。

工作两三年

先说说我工作两三年的那个阶段吧,就是工作两三年后,技术积累也有了,项目中遇到的问题基本上也都能解决,但是当时我们是一家偏传统的企业,我做的项目基本上就是给各个公司的IT管理员或者企业领导来用的,基本上使用者不超过10个,那时候我就特别想让自己做的东西可以让千千万万的用户来使用,这样我才觉得我的工作更有价值,而不是做了大半年的项目给几个人用,而且几乎没有反馈。

于是在公司了两三年后,我换工作的时候目标就稍微明确了一些,做自己产品的公司,并且未来这些产品可以服务于大量的用户,这种类型的公司基本就都是互联网公司了,当时放眼西安几乎没有什么像样的互联网公司,大家都知道北京是互联网公司最多的地方,因此依然决定来北漂寻找一份互联网公司的工作,当时只是不想去传统企业,但是到底是进入什么样的互联网公司我并不清楚,机缘巧合进入了第三方支付行业,那时候我感觉这就是我当时想要工作。

如果你不知道自己喜欢什么样的行业,那么你至少要知道什么是你不喜欢的,这样在选择的时候也能帮你做筛选。

两三年之后应该是程序员最黄金的年龄,在这个阶段积累技术应该是最快的,如果你在自己的岗位中呆了一年多了,感觉还是没有学到什么东西,建议跳槽,有时候如果你自己没有能力去驱动自己去改变的时候,那就靠外部环境来驱动你,真正的经验、解决问题的能力都是在实战中学习到的,去了新的公司打破自己原有的技术盲区。

管理or架构

按道理来讲,在公司4年到6年的这个阶段,基本都到了中级or高级开发工程师的阶段,也是正练代码的时候,也是从how to do 做why to  do 的阶段,到了可以慢慢做一些底层或者原理的研究阶段,但是在中国,基本上程序写的好的在这个阶段慢慢都会让去做一部分管理的工作,比如项目经理,小组组长等,有可能涉及到沟通或者其它的杂事太多,相应的编程的时间就少了,也容易产生迷茫?可以潜心研究技术,不太愿意做沟通或者撕X的,对技术保持热爱的可以走向架构师的这个方向。

其实我在工作4年多的时候,心里面的标准方向就是想做一名架构师,幻想着可以指点项目架构的江山,但是很快我发现在中小型公司里面不太现实,技术架构基本上都是技术经理在做决策,有架构师职位也基本上要不是偏高级的编程人员,要不也是做了一部分的管理职能,没有纯粹的架构师职位,后来我司成立互联网金融项目,领导就以可以让我独立负责所有技术为诱惑,后来就走向了技术经理的这条路子,不过后来确实可以按照自己的想法去构建整个平台的时候,感觉还是挺不错的。

不是技术好的都可以做管理,有时候也和个人的气质有很多的关系,有的人在为人处世方面确实比较擅长,有的人却对技术有着天生的敏感性,做了管理之后和很多不同的人做了深度的交流,你会发现把合适的人放到合适的位置是多么的重要,可以省很多的心。因此在这个阶段需要对自己有所了解,自己擅长或者喜欢做哪个方向,另外沉下心来研究技术,实践技术,等待机会。公司提拔人才会优先选择老员工,因为经历了多年的共同抗战感情上信任的住,技术能力也比较了解,频繁跳槽比较难一下进入高级一点的职位。


在这个阶段最好能选择一个自己喜欢的行业来稳定下来,比如热爱游戏开发以后换工作的时候也是游戏方向,比如你喜欢金融,以后的工作尽量都和金融相关,持续的行业积累对以后的发展非常重要。如果这两年做金融,过两年又是通讯各种换,到头来行业背景几乎是零,因为技术的本质还是为了解决实际问题,如果你在某个行业多年,基本会对行业痛点有比较全面的了解,开发过程中也会避免很多问题,这就是为什么很多公司招聘的后面都会有一条,有xxx工作经验者优先的原因。

30岁程序员

我身边有一部分程序员到了30岁左右转行了?当然很少的一部分转到了完全不相干的行业里面去了,理由是写程序太累30岁以后身体就不行了,还有相当一部分转业到IT的其它岗位了,比较多有:产品、测试、售前、需求管理等等。其实我觉得还是对程序的热爱不够,或者是本身的兴趣点就不在这里,这里就不讨论30岁程序员到底还适不适合编程的这个话题,因为我现在还在写代码,我也热爱写代码完全没一点问题。

有一段时间,半夜总是失眠,躲进卫生间里面点上一支烟,对镜子问自己这是你想要的生活吗?在北京13号线,身体可以保持倾斜45度而不倒,这不是魔术是生存。地铁里面男男女女以各种姿势贴在一起,站在门口不用走自动被挤进去,都拼上自己一天的力气演绎这上班的第一课。每次我看着地铁里面急匆匆的路人,我就想他们的生活是什么样的?16年冬天的时候我差点被北京的雾霾给逼疯了,白天是黑夜,夜晚也是黑夜,每到周末就是大雾霾,感觉自己好像被囚禁了一样,在房子里面坐立难安,不知道哪一天我会不会因为雾霾而离开北京。

隔一段时间朋友聚会就会发现又有一位朋友回老家了,每次走一个朋友心里就咯噔一下,想想自己为什么还在坚持,回家好像生活很悠闲,有一刻真的有回家的想法,但是下一刻立刻被我否了,首先经济条件还达不到回家养老的程度,第二老家根本没有自己喜欢的什么互联网公司,第三,我可能也习惯这种大城市的生活,方便、快捷、甚至拥堵。

e62bb9604d65fab44312be44fe8280057c4b0e43

这就是我30岁的迷茫,要不要重新选择拼搏一把,要不要离开这个热爱又无奈的城市。你呢?

最后

那么迷茫就不对吗?从某种角度来讲,迷茫是一件好事情,说明你对现状进行了思考,对目前状态有改变的期望,同时又对接下来改变后的未来不确定性,所以才迷茫。所以说迷茫不是错,迷茫之后没有行动没有改变才是问题。可以给自己一段时间,在这个时间内,进行充分的了解选择后的结果,以及对自身定位,在这个时间段之后,就果断的行动,不要拖拉。

回想自己这几年的迷茫,刚毕业那时迷茫要不要进入IT行业,要。工作两三年迷茫要不要离开家乡去互联网公司?去。来北京后,要不要跟着公司搞互联网金融,搞了。去年朋友说创业去不去,思索良久,么去;那么现在呢,要不要继续在北京吸霾,还是没有想好,要不要进入一个新的领域去拼搏,也是没想好?

对了,这几年好像过一年两年我就要迷茫一阵子,但是现在回想起来刚开始的迷茫却和现在迷茫又了大不同,思考的层次也不同,没事迷茫的这种频率还是保持了下来;在回想自己不迷茫是什么时候呢?下决心进入IT行业,潜心学编程的时候,刚工作热情工作的时候,天天加班搞互联网金融的时候,有一个共性,那就是飞速成长学习的时候,打破自己壁垒的时候,所以现在的迷茫可能就是慢了下来,又要重新选择了吗。

a416eb3a1f7513cbc7f852e9fbd7415be89bb2ff

所以呢,迷茫是一件好事吗?从某种角度来讲,我认为是的。

那么作为程序员的你,还在迷茫吗?


原文发布时间为:2018-09-26

本文作者:纯洁的微笑 

本文来自云栖社区合作伙伴“ 全栈开发者社区”,了解相关信息可以关注“全栈开发者社区

相关文章:

  • Java集合源码学习(1)接口
  • 微信小程序【树形视图】demo
  • 使用JTAG调试器和Freemaster 2.0 进行powerpc架构的mpc5XXX系列的调试
  • EM算法随记
  • Vue 字段验证 八
  • 批量ping 检测linux主机是否可以通
  • find详细参数
  • PostgreSQL 10.1 手册_部分 III. 服务器管理_第 18 章 服务器设置和操作_18.9. 用 SSL 进行安全的 TCP/IP 连接...
  • PostgreSQL 10.1 手册_部分 III. 服务器管理_第 23 章 本地化_23.2. 排序规则支持
  • 最近关于虚拟机的学习
  • Linux的systemd特性及gawk使用
  • 新东方雅思词汇---7.3、dioxide
  • 阿里云最新一代GPU云主机GN6(V100机型)正式售卖
  • 还原一个 Windows 10 Metro 布局
  • 记一次内存爆涨分析 , JVM命令使用
  • .pyc 想到的一些问题
  • gf框架之分页模块(五) - 自定义分页
  • Go 语言编译器的 //go: 详解
  • JavaScript异步流程控制的前世今生
  • Java读取Properties文件的六种方法
  • PHP 7 修改了什么呢 -- 2
  • 爱情 北京女病人
  • 纯 javascript 半自动式下滑一定高度,导航栏固定
  • 关于使用markdown的方法(引自CSDN教程)
  • 基于Android乐音识别(2)
  • 每天10道Java面试题,跟我走,offer有!
  • 使用Swoole加速Laravel(正式环境中)
  • 数据结构java版之冒泡排序及优化
  • 通过几道题目学习二叉搜索树
  • 在Unity中实现一个简单的消息管理器
  • 在weex里面使用chart图表
  • 深度学习之轻量级神经网络在TWS蓝牙音频处理器上的部署
  • 3月7日云栖精选夜读 | RSA 2019安全大会:企业资产管理成行业新风向标,云上安全占绝对优势 ...
  • 从如何停掉 Promise 链说起
  • # Maven错误Error executing Maven
  • #LLM入门|Prompt#3.3_存储_Memory
  • #大学#套接字
  • (07)Hive——窗口函数详解
  • (python)数据结构---字典
  • (附源码)springboot家庭装修管理系统 毕业设计 613205
  • (四) 虚拟摄像头vivi体验
  • (未解决)jmeter报错之“请在微信客户端打开链接”
  • (一)ClickHouse 中的 `MaterializedMySQL` 数据库引擎的使用方法、设置、特性和限制。
  • .net core 微服务_.NET Core 3.0中用 Code-First 方式创建 gRPC 服务与客户端
  • .NET delegate 委托 、 Event 事件
  • .net framework4与其client profile版本的区别
  • .net mvc 获取url中controller和action
  • .Net高阶异常处理第二篇~~ dump进阶之MiniDumpWriter
  • .NET构架之我见
  • /使用匿名内部类来复写Handler当中的handlerMessage()方法
  • [ CTF ]【天格】战队WriteUp- 2022年第三届“网鼎杯”网络安全大赛(青龙组)
  • [120_移动开发Android]008_android开发之Pull操作xml文件
  • [2018/11/18] Java数据结构(2) 简单排序 冒泡排序 选择排序 插入排序
  • [android]-如何在向服务器发送request时附加已保存的cookie数据
  • [Android开源]EasySharedPreferences:优雅的进行SharedPreferences数据存储操作