按照惯例,我先说说我的基本情况。1985年出生,计算机专业普通本科毕业。在二线城市,毕业后,由于自身能力问题、认知水平问题、运气不好,换了很多工作,每一份工作都没有干多久。结果,在我30多岁的时候,一无所成,几乎没有积累任何经验、技术、行业知识等,他甚至还开过网约车送外卖。在转行做程序员之前,我的月收入只有三四千元。2017年下定决心,准备转行!我知道自己最大的劣势是年纪太大了,但思前想后还是决定走这条路,原因有以下几点:我现在的处境,已经算是城市底层了。不会做生意,没有其他经验和技能,性格内向,不擅长销售和沟通。所以我不怕失去任何东西,因为我也没有什么可失去的。我想学习一种创造生活的技能并重新开始,学习发展对我来说是最好的。因为我没有零基础。毕竟我大学学的是这个专业,以前也是很喜欢编程的。我对待遇要求不高,工资在5k以上即可。如果有6个或7个,那我就很满意了。我当时的胡乱猜测:因为国内出生率极低,未来可能没有那么多年轻人可供雇主选择,所以我们中老年人也有一定的机会。比如在一些心灵鸡汤的鼓舞下,种一棵树最好的时间是十年前,其次是现在!我辞掉了工作,开始在家自学网络开发。主要的学习方式是看网上的视频教程。那些视频教程对初学者来说基本上是免费的。一些中高级的会收费,大概50-300元一套。反正“学费”没花多少钱,加起来也就一千块钱不到。首先,我学习了一些前端基础知识。在学习后端的时候,一直在犹豫是学PHP还是JAVA。读书的时候学过JAVA,虽然记不太清了。所以我想学一个新的!也因为PHP比JAVA简单,更适合中小型项目。以我这种情况,肯定进不了大厂,做不了大项目。所以我决定学习PHP。(现在有点后悔了)学完前后端的基础知识,跟着视频教程自己做了两三个简单的项目。在我的学习过程中,让我更加自信的是我没有遇到任何挫折。当然肯定是遇到了各种问题,卡住了,不过还是去百度解决了。接下来,我开始准备找工作。第一个困难是简历。一个快32岁的人,如果只是自学,没有实际工作经验,肯定没人要他。只好打包简历,说自己有两年的开发经验。补简历的过程还是很艰难的。之前在哪个公司干过什么项目,完全是凭空想象捏造出来的。然后投了一大堆简历,面试困难,不断被淘汰……当时我的信念是,大不了花一年时间找工作,如果找不到,我会继续研究直到我找到它!最后,我花了将近两个月的时间和大概20次面试才勉强找到工作。因为没有实际工作经验,假简历很容易被发现。稍有经验的面试官只要多问你几个细节,就会揭晓。既然你没有做过,就不可能把所有的细节都凑齐。所以面试过程很艰难。让我告诉你几次我印象深刻的:1.这是一家非常小的公司,而且是共享办公室。我当时看到的员工似乎只有两个人。和技术面试官简单交流后,他当场决定录用我,让我明天来上班,并说稍后会发短信给我确认。但是不知道为什么,后来就没有再联系我了。2.另一家小公司还在居民区办公,不过办公环境还不错,大概有七八个人。与面试官交流的地方在客厅阳台。面试官坐在洗衣机旁边的简易塑料凳上。和他聊了很久,觉得他问的问题我都回答的很好,很希望拿到这个offer。我满怀期待地回家,等了好几天,却无话可说。3.同样是在居民楼办公的小公司,办公环境感觉压抑。我去的时候碰到一个老板的样子,跟开发商发脾气,那些开发商都不敢说什么。然后老板对我们这些面试者态度很粗鲁,抱怨我们为什么提前10分钟到?笔试的内容甚至包括直接为他们现有的项目查找和改正错误。我心中一怒,中途离开了。4.最终能找到工作并通过面试,主要是运气。老板直接找我谈,没有经过技术面试官。老板觉得我有相关行业的工作经验(其实没什么用),而且我是招本科专业的,就直接录用了我。如果他当时让有技术知识的人来面试我,我可能不会通过。小公司,加上老板,一共十几个人,工资6k。这种治疗被认为是发展的最低水平。但我还是很开心。说不出口怕丢人。和之前的工作相比,6k对我来说已经是高薪了。刚上班的那段时间,还是发现了很多“新奇”的东西。比如,曾经有一个职位叫“产品经理”。我曾经认为你只需要一个开发人员来编码。更让我惭愧的是,我竟然不知道PHP也可以做APP。正好我看的视频教程没有提到这个。讲课的例子,还有实际的项目练习,都在pc网站上!当我同事刷手机告诉我app里面的数据是从接口获取的。我点点头,假装是那样。其实我心里是震惊的:不过,PHP也可以当APP来用,真是牛逼啊!没错,我就是这么干的,甚至当时我都搞不清楚什么是api接口。感觉是一件很难做的事情。还把它与OOP中的“接口”混淆了。因为它们都被称为“接口”。在那里呆了两三个月后,我就不是那么白痴了。每天分配给我的开发任务都能按时完成。呆了半年,才渐渐发现。我有一些后端同事,他们的水平也就那样。可以说基础没有我好。我也会不时为他们解答技术问题。当时我还有点心慌,以为他们只是对业务比较熟悉而已。现在回想起来,我大致是对的。原因很简单:程序员愿意去这家公司拿6-7k的薪水(无非是工资),只能是初级水平。一年下来,我已经成长为一名合格的CRUD工程师。这里没什么可学的。现在回想起来,那个公司一点技术氛围都没有,呆在里面有一种退休的感觉。没有外在的动力和压力强迫自己继续学习。经朋友介绍,跳槽到另一家公司,顺利通过笔试和面试,工资9k。刚去的第一个月,压力很大。部门负责人,看我这么大岁数,觉得我是一个很厉害的人。他们给我布置了一些比较难的任务,我很吃力地完成了一两个。他给我安排了一个比较难的,说:“这都是架构师做的,你好好研究一下。”我又着急又坐立不安,研究了一个星期,还是云里雾里,只好鼓起勇气跟他摊牌,说我做不到。还好负责人没说什么,安排我去做增删改查的业务。我的第一家公司的另一个大问题是它使用了过时的技术。而我也在第二公司跟上了这里的主流技术。比如git(之前的家是svn)、laravel5(之前的家是tp3)、docker(最后的家是phpstudy)、前后端分离(之前的混合)、任务进度管理系统(最后的家里没有),专业的测试工程师(最后一个是操作员和测试员)等等。我花了很多时间来学习和熟悉这些。这里开发人员的技术水平和之前公司完全不在一个水平上。气氛也和第一家不一样。同事们经常聊各种新技术。就算是八卦,也主要是IT新闻。我听不懂他们在说什么。让我深感自己知识的狭隘。这里的学习氛围也很浓。做过开发的都知道,忙的时候真的连喝水都顾不上了。但有时我无事可做,我很自由。以前公司没事的时候,大家偷偷玩游戏,看视频,看小说等等,这里没事的时候,大家就看看文档,学点新东西。两三个月后,我就慢慢习惯了。但是还是有同样的问题一直让我焦虑——年龄。同事聊天的时候,我最怕谈及年龄的话题。哪怕和年龄有一点关系,我也会警惕。例如,同事们谈论他们的第一部智能手机。我通常不接电话,因为我的第一部智能手机是掌上电脑!但是,无论我害怕什么,总会有一些事情发生。在一次聚会上,我们又谈到了年龄。大家有说有笑地报年龄。轮到我时,我苦笑着说:“我永远18岁。”情商正常的人会明白,这不过是不愿意说而已,如果你懂事,就不要多问。不过,坐在这里的一位同事情商实在是太低了。他跳出来说:“他是1985年的!”我随口说:谁是1985年出生的?那一刻,我感觉整个空气都凝固了,大腿不受控制地颤抖着,后背大汗淋漓,衬衫也湿透了。我只好举手说:“是我,我是1985年出生的……”我永远不会忘记当时的尴尬和羞愧。目前我的工资是12k,还是一个技术上普通的后端开发人员。这份收入我很满足也很满足。我是个皮薄敏感的人,2020年又要35岁了,哎!此刻让我感到尴尬和羞愧的并不完全是年龄。就是我的年龄和技术能力完全不匹配!公司里也有我这个年纪的人,但在我眼里,都是技术高手。感觉他们无所不知,只要你问一个问题,他们就能教你基本原理。听到一个新的技术概念,我觉得很新鲜,马上就要有个大概的概念了。他们不仅熟悉,就连fennelbeans中的fennel这个词,他们也知道,有四种写法!青春已逝,时光已逝。比我聪明,比我早入行的人还在努力。现在能做的就是继续努力学习,只希望不要那么丢人。对于那些一毕业就开始开发,目前还不到30岁,却经常听说程序员只能活到35岁的同学,为此感到焦虑。请大家不要着急,只要你不是做养老工作,而且每年都有重大的科技进步,你找一份好工作绝对没有问题。至少在中等规模的公司当领导是没有问题的。但是奉劝30多岁想转行做程序员的,如果不是我这种脸皮厚的人,一定要慎重!但是,如果一直呆在10人左右的小公司,年龄尴尬,还好,但没有技术氛围,成长更慢。至于有人问我要不要转行做程序员,我想说职业规划是件大事,每个人的情况都不一样,不好回答。更何况,我不是“人生导师”,只是一个技能一般的大龄程序员。我个人的看法总结起来是这样的,就不一一回复了:1、你有兴趣和能力做好开发吗?有一个简单的方法可以判断你是否有能力。那就是回顾你中学或大学的数学成绩!如果你的数学成绩好,说明你有天赋,反之则没有。这并不是说进行项目开发需要多少数学知识——相关性不等于因果关系。只是因为数学成绩好,说明你比较聪明,抽象思维能力强,这是发展所需要的。我自己读的是普通中学,普通大学。我的数学成绩一般在班里前5名。个人感觉初级和中级知识还是比较容易学的。高深的知识特别难学。我公司有个同事,很年轻,技术也很好。我很好奇,就问他:“你上大学的时候数学学得好吗?”结果,他回答说他在学校的数学成绩一直是第一名。2、你目前的情况如何?如果你有一份薪水不错而且可以干很长时间的工作,那么就没有必要转行。相反,如果你像我当年一样,做的是一份没有前途的工作,月收入只有3000到4000元,你可以考虑转行。3.你几岁?如果你还年轻,大概26岁以下,并且满足前两个条件,那你就可以转学了。如果你和我一样,当时30多岁,那就要小心了。如果大家对学习Java有什么疑问,可以随时向我咨询如何提高学习Java、学习方法、学习技巧,快速达到就业的技术水平。这是我建立了5年的Java学习交流QQ群:796866257,有什么不懂的可以随时在里面提问,也可以下载各个阶段需要Java的学习资料。前端和Python的问题也可以问。
