做了6年的程序员,最近很迷茫。有相同经历的吗?
这个问题是关于程序员的职业规划。绝大多数程序员在工作了三到四年之后,包括我自己,都曾有过这样的困惑。
要搞明白这个问题,首先应该问自己,对于一个企业而言,程序员的价值到底是什么。或者换一种问法——如果你是企业的老板,会为一个什么样的程序员开出高薪?
很多人给出的答案是,你要懂JVM,要看JDK源码,要懂分布式架构,要深入学习数据库原理;还要学redis,kafka,ElasticSearch,akka,各种名词罗列一遍。
不客气地说,这些回答都是片面的。须知,一个程序员的价值,不在于他用哪门语言,也不在于他会哪些工具;而是在于,他在一个特定行业或领域里积累的经验。这个行业里可能遇到的各种奇葩场景,各种坑,各种可能出现的潜在问题,他都了如指掌,并且给出完整的解决方案,那么,这种人才放在任何时候都是稀缺的。他在企业中所发挥出的价值,就是能帮助企业少走多少弯路,节省多少成本,并且结合过往经验解决新的问题,从而创造出的更多溢价。
回到问题本身,语言也好,数据库也罢,甚至大家最推崇的数据结构、算法这些,都只是工具,是用来解决问题的。如果我们只是学习工具本身,而不是从业务场景出发,从问题本身出发,那就无异于缘木求鱼,本末倒置。
这样说有点抽象,我举一些例子。
比如,如果你从事电商领域的后台开发,那么,在技术选型上,你要选什么服务器?平时用的Tomcat行不行?JBoss好不好?自己用Netty写一个行不行?能扛到多少TPS,到了极限值怎么办?可能遇到些什么问题,会造成什么损失,该怎么解决?
在系统设计上,数据库怎么设计?怎么设计账户体系,怎么设计订单系统,怎么设计活动系统,怎么做数据脱敏,业务规模上来了怎么横向和纵向扩容,怎么解决分布式事务的问题,怎么回滚,怎么保证数据一致性?这中间能用哪些开源的中间件,各有什么优缺点,你以前踩过哪些坑,怎么避免?
在运维上,怎么做好流量和告警监控,怎么预估流量增长情况从而提前做好扩容,怎么做好高可用,怎么做灰度发布?
在业务场景上,怎么防止别人薅公司的羊毛,怎么防止评论灌水,怎么防止别人恶意刷单,怎么防止别人暴力破解你的账户系统?
再比如,金融领域,怎么做到高可靠和保证安全?通信行业或互联网的高并发场景中怎么保证实时性?音视频领域,怎么做回声抑制,怎么降噪?等等等等。
所以,如果要做好职业规划,我们首先要选好一个行业。你是做金融,还是通信,还是电商,还是物联网…… 然后,再去选择自己的领域,是全栈,还是后台、前端、DBA,还是做算法?
刚入行的同学,选准一个行业,一个领域,沉下心,踏踏实实地干上两三年,把这个行业里你遇到的、可能遇到的问题,业界的解决方案,前人踩过的坑,认认真真地想透,吃透。
这样基本上就可以算作入行了。
在这之后的发展就因人而异了。有的人希望在一个领域做到精深,做到专家,比如DBA,安全,运维,算法,那就做好打硬仗的准备,多学习基础知识,多和同行交流经验;有的人想做架构,那就弄清楚行业的一些难题,搞明白各家的解决方案,各自的优缺点,结合自家的业务特点好好做做功课。
基于以上,我奉劝各位,不要痴迷于对技术本身的追逐,不要沉迷于在你的简历上写一些高大上的技术名词,也不要沉醉在和别人用几个风口上的概念相互吹水。结合你所在业务领域的问题,踏踏实实地做事、总结、思考、学习。总有一天,你也会成为别人眼中的大牛。
迷茫是好事,起码知道有什么地方不对劲,不过可能又说不清楚具体是哪里不对。
其实细究起来,无非是工资不见涨,职位也动不了,工作应付得不好不坏,技术能力也没见长进。
怎么破?
要说办法之前必须得接受一个事实,就是任何进步都是反人性的,不可能指望眼前这点事重复做就会有不同的结果。
推动自己走出眼前的舒适区,咬牙对自己狠一些是有必要的。
最重要的建议就是学习。但不是学习哪个框架怎么用,或者哪门编程语言的技术细节。要通过学习具备把事做成的能力。
一个人再牛逼,能做成的事总归有限,但能串起一帮人,那能做成多大的事就取决于你能串起多少人了。
可能你会说,不就是要我转管理吗?这不是单纯地做切割,说不做程序员,就是做职业经理人了。
写代码仅是程序员这个职业的一部分,随着职业生涯的前进,甚至都不是最重要的部分。
举例来说,客户提出一个需求,程序员首先可以将需求落实为可行性方案。然后进行系统化设计,提出开发架构、数据架构、部署架构等。
再组织起人力,申请资源,多方协调,通过行之有效的开发管理手段,将产品开发完成并交付。
这里面涉及不少的角色,看起来就好像工程师,架构师,项目经理,产品经理,这些职责都包括在内了。
但我们要说的是程序员的进步,只扎在自己那个萝卜坑里不想出来也没问题,就是迷茫不是。
如果想出来,可以说没有哪件事是轻松的,但最终程序员能把做成事作为发展目标,那显然会跨进更广阔的天地。
迷茫本源来自于无知,你迷失的是你的目标。
做开发的乐趣在于用程序去解决一个一个问题,实现后的满足感,如果你在第6年的时候就遇到了这种问题,那么证明你需要一个全新的挑战。
另外一点,眼界决定了你的未来,很多研发人员都爱守着自己的一亩三分地,两耳不闻窗外事,只想一心敲代码。但是这样的后果就是当你迷茫的时候,外面已经变天了。所以提示各位,在你通过开发巩固你的智商的时候,也花点时间接触外面的世界提高一下自己的情商。
外面的世界很精彩,以我个人的经历来看,程序员是最容易转型的职位,因为程序员严谨的逻辑性是我们学习其他领域最好的方法论。技术是我们的看家本领,但能决定你能走多高多远的不仅仅是技术。
十二年老程序员给点建议,你做程序员六年了,应该在技术层面有所领悟了才对,要开始规划后面的路怎么走,首先要做一件事就是全方位的了解自己,一要了解自己之后想要做什么,二要了解自己在哪方面有过人之处,比如对某种业务系统非常熟悉,那可以向产品经理,或业务专家方向发展;或对某种技术框架熟悉,那就深入学习,从“熟悉”到“精通”,也就是架构师;如果在人情世故方面游刃有余,那就往管理方向发展。当然考虑职业生涯还要结合学历、家庭情况等多方位因素考量。
看到这个问题,我很感慨,我现在工作10年了,大概就是在工作6年左右的时候,我也非常迷茫,一度很抑郁。曾经我们看到网上有明星自杀的,实在想不明白,一个明星挣那么多钱,实在不想干了退出就行了,挣的钱还不够你花一辈子吗?怎么还抑郁的跳楼自杀呢。直到我自己经历了那么短暂的抑郁期后,我才发现自己真的有不想活下去的冲动。我自己为什么有这样的经历呢?
我当时在外包公司,那会公司刚经历过大裁员,我看着身边的人一个一个被裁掉,甚至整个组都被裁掉,我有点慌了,我以前从来没有担心过会被裁员,我也相信自己的实力不至于混到被裁员的份上吧,但是看着那整个组整个组都被裁了的,我知道那已经跟能力没有关系。郭德纲打过一个比喻:死不可怕,可怕的是告诉你明天下午四点半枪毙。我当时的感觉就是身边的人被一刀一刀干掉,而那把刀每次都带着风声从你脖子上滑过。然后我就主动开始找工作,投了简历以后不是很顺利,有几个面试的机会,但是经过面试以后发现自己的技能脱节太严重了,根本不符合人家的要求。加上当时虽然还没有30岁,但是自己一直在担心程序员的中年危机。越想越多,就考虑到以后很长远的问题,失业了怎么生活?然后发现自己是个技术宅,除了技术什么都不会,然后就抑郁了。
抑郁是什么感觉呢?焦躁,非常焦躁,心里非常烦闷,回家以后坐不下躺不下,就在家里来回转圈,停不下来,就好像神经病一样,就想从窗户跳下去,晚上睡不着,胸口就像压着一块石头,躺下就喘气不顺畅,持续了好几天。后来是怎么走出来的呢?联系了我上一家公司的主管,他人非常好,年龄也比较大,是我刚毕业就带着我的,我称他为师傅。在微信上我给他留言:师傅,你忙着吗?最近有点职业迷茫了,想跟你聊一聊。然后他就给我把电话打过来,聊了大概有一个多小时。因为他已经快四十了,还在做技术,他就跟我讲了以前的经历,其实对于我当时的情况没有什么帮助,但是在那一次聊完以后,自己突然就轻松了很多。
后续就是我们项目重组,跟另外一个客户对接,那是一个非常专注于技术且乐于分享的人,跟他合作了两年,我学到了很多东西,主要也是那一次裁员和找工作不顺利让我明白了一个道理:技术才是第一位,持续学习才是程序员拜托中年危机的唯一方式。
所以你现在最好就是静下心来,好好考虑考虑自己在技术方面的缺陷和提高方向,哪里补足弥补哪里,这样即便是以后工作不顺利,也可以通过兼职或者知识分享维持自己的生计。程序员最怕的不是丢失工作,而是除了工作什么都不会。
亲,看到你的提问,突然想起来我自己在深圳的日子,感触十分的深,不过早在四年前,我就改行回老家做农村电商了。
说句心里话,在深圳做ERP开发的日子,现在回想起来,我自己都不知道自己是如何熬过来的,那个时候由于自己对ERP开发的汇编语言不太熟悉,基本上是早上八点半左右到公司,晚上十二点左右回住处。一年半的时间,几乎天天如此。
突然想起来,前不久马爸爸说996就是幸福,那是真的啊,我们那个时候,7*24那都是家常便饭了。记得有一次,公司服务器出问题了,我跟一个同事更是一天两夜没有睡觉。搞好以后,我同事直接站在机房睡着了。
不过这都不算什么,让我一辈子难忘的事,那是2013年十月份左右了吧,因为公司有个project,是改报关系统中的几个程序,因为厂部急着要出柜,我的部门经理怕我们自己压力太大,晚上十一点就让我们下班了, 大家都还觉得十分的反常,不过因为都比较困也就没多想。可是谁也没想到,这个夜晚竟然成了我们的永别。
第二天早上,我是最后一个到办公室的,当我进办公室时,已经有一群人将经理放在120的担架车上了,听同事说,经理脑供血不足猝死。听到消息的那一瞬间,我的脑子里一片空白,平日里对他的那些怨恨早已经不知道去了哪里,眼泪在眼眶里直打转,怕被同事们看见,我转过头,硬生生的顶了回去。直到现在,每每看到一些代码时,依然还回想起他那时骂我的场景,但是,回忆里他好像真的是对我们好。
2014年,我回到老家,时常独自一个人走在家乡的小道上,看着家里年迈的父母,想着部门经理的不幸,自己就十分的迷茫,该怎么办,就这样呆在家乡,可是我能做什么呢,工作找不到合适的,创业又没有资金,如果回到深圳,那就是三点一线枯燥乏味的生活,一转眼自己快是奔三的人了,许多同学的孩子都上小学了,自己还是单身。
6月的时候,我跟公司请了三个月的长假,去四川旅游一翻,遇到一个多年不见的同学,他混得很不错,在成都有自己的电商公司,办公室很大,在他的怂恿下,我回公司辞了工作,在重庆呆了半年多,后来辗转回到了西安,跟朋友一起做起了电商。
通过自己近三年的努力,现在在老家做农村电商,虽然依然十分的艰难,但是现在的自己有车子,有房子,媳妇也快要生了,家里老人也能够照顾。于是自己也就慢慢地适应了这样的农村生活。去年过年同学聚会时,我看到同年跟我一起做开发的同学,虽然在东莞有车有房,但是原本比我小两岁的他,却已经谢顶,高高的前额大半头发不见了时,我庆幸自己改行是对的。
亲爱的朋友,程序员这个行业,真的不是越老越吃香,在我看来30岁似乎就是一个过不去的坎。如果你感觉到迷茫,我的建议是要么就出去走走,换个环境,换个心境,要么就索性改行,换个职业,换个岗位,人,在哪里都能吃饭,在哪里都能生活。最后,祝你好运。
同6年!同迷茫!
我是14年年底入行软件开发的,至今已6年有余。
谈谈我迷茫的几个点,或许是一样的处境吧。
- 能力有限(会的基本也会了,不会的很难再提高)
- 精力有限(成家了,事多了,根本没有整块的时间用来学习,年纪大了,精力也不够)
- 理想变了(成家之前还想在技术上牛逼一点,成家之后只想搞钱,已经没有心思提高技术)
- 温水中的青蛙(呆在这个环境中,跳槽工资不见长,项目管理没多大兴趣,转行啥也不会,待遇还可以,也就一直这么熬着,又不知道能这样熬多久,对未来充满迷茫,内心充满焦虑)
微信群里吹牛逼的时候,又很有想法
- 等我存到多少钱了,我就去开个xx店
- 等我没有什么压力了,我要回家种起祖传的一亩三分地
- 我要回去养猪、养牛、养鸡
- 我要创业当老板
然后接着第二天的迷茫,觉得生活本不应该如此!
都在说程序员的发展不外乎两条路:
- 走技术路线,做技术专家,架构师
- 做管理
但是这是要结合个人的学历、家庭情况、机遇、兴趣(很多人一开始搞程序并不是因为兴趣,而是因为工资高待遇好),迷茫的程序员无外乎这两条路都不适合自己。
所以,我们讨论的结果呢?
- 熬着,走一步看一步
- 转行(或许你在IT圈的资源能应用于新行业,让你发现商机,成就一番事业,跨越圈子、阶层才容易产生价值)
- 继续迷茫着(或许哪天,头脑一转,发现了自己的人生新目标)
- 跟志同道合的朋友一起创业(创业一定要合伙,能单干的不在这)
欢迎点赞、转发、关注!
有,尤其是年龄大了后,就更加迷茫了。
但是,我觉得我最近的经历可以说下,还是那句话,如果你还在技术路线上的话,你的技术是否跟得上时代。
比如我一开始做Java开发,各种框架,多线程,后来写了半年vue,再后来回到后端学大数据,然后在大数据生态中干了几年,再后来做大数据解决方案。如果你走了产品路线,那应该是偏向市场方面了。
总之,不管什么路线,要看下自己是有6年的开发经验,还是一年的开发经验用了6年。如果是后者,那么你的迷茫更多是来自于被淘汰的可能。
如果是这样,那么就要小心被淘汰了,要马上赶紧学习,这个行业本身就是不断学习的行业,要学习新技术,解决更多实际的问题,crud必然会被淘汰。
如果技术跟得上时代,有程序员良好的学习习惯,那么你多迷茫可能源于你目前工作的状态,是不是那种一眼看到死的工作,虽然互联网都说累,忙,但像某些国企内部的IT行业,其实还是很轻松的,如果是这样,那么建议你去面试,看看有没有更多更好的机会,待遇提高的同时,让自己忙起来,不是死气沉沉的迷茫下去。
总之,这个行业技术不行必然会引起焦虑,要不断提高自己的业务能力,当然,年龄歧视必然会有,放好心态,公司那么多,自己技术过硬的话,不愁找不到工作。
好了,这就是我想说的。。。
我觉得做产品才是王道。做产品如同搞艺术,如果你所创造的产品能够为人们解决一些需求,那会给自己带来很充实的成就感。我是5年的程序员,在创业公司做中层管理,后台、前端、产品、管理、运营等能做的工作都在做。公司的宏图很大,目标也很远,但是一直都还没有做起来,没有融资,没有营收,完全是靠老板的资产在坚持。在这种状态下,我也一直很焦虑,很患得患失。最近我也才确定了一条思路,就是在业余时间自己开发自己的产品,自己运营。我搞技术从来不是为了成为一个技术大牛,只是为了以后自己做产品可以完全自己把控,并且可以降低成本。自己业务做产品,既可以提升自己的技术,也可以带来做产品的经验。一切技术能力都是为了让你的产品或服务能够更好地为用户创造价值。
所以总结,已经是6年的程序员了,已经积累了这行的很多能力经验,应在此基础上,明白自己真正想要、擅长的,然后又恰好能和现有的吻合相近,找到一个共存的点,设定好目标计划,分布执行,专注坚持下去
本人8年了,迷茫也是一种经历,找准方向,有了目标这种感觉就会慢慢地淡化,前提是自己喜欢这个职业,而且所得酬劳能够满足生活的基本需求。
目标+时间
程序猿每过一个阶段就会产生心理的变化,这个变化属于正常的,不用过于担心,如果有必要可以寻求心理辅导。
偶尔去旅游一下,放松心情,或者找一些开源项目进行一下简单的bug修复也是一种放松。
技术层面可以考虑增加深度,如有必要可以增加广度。
总之,迷茫也预示着忙碌,雨过天晴后就是彩虹。
谢谢邀请回答!
首先,我是一个沪漂7年29岁的女生,月薪29000的女java程序员,所以我觉得我有能力告诉你我的经验!
我确实有和题主相同的迷茫,而且经历比问题更难。我在今年4月份被裁只能在家待产,因为临近30岁,所以我也很无奈自己以后到底该怎么办,职场30岁对女性太残忍了,我经历过。我生产完还有自己带孩子,这就有2年空档,公司肯定会嫌弃我这段经历,我也不知道自己该怎么解释。
但是我现在能做的就是好好待产,健康平安地把宝宝生下来,给他我和老公全部的爱,毕竟这是我们的第一个孩子,因为这个孩子我损失了29000的工作,不过也值了。
所以 我觉得我现在迷茫也不管用,焦虑也不管用,不开心也不管用,所以那为什么不开开心心的呢,对自己和宝宝都好。
所以我建议,你在你目前的位置确定好自己的定位,现在自己该干什么你自己最清楚,别人也不能给你建设性的意见,人生是自己过的,问别人都没用,只能靠自己,迷茫一段时间就行了,只要不一直迷茫就行了,加油!