成长初期的程序员一定会遇到的问题,我是如何解决并完成认知转变的

前言

大家好,我是东东拿铁,95后奶爸程序员。下面通过自己刚毕业的一段经历,分享下在工作初期,遇到困难并找到解决方案,自己完成认知转变的一段经历。

年轻气盛,开启北漂

2017年毕业后,我进入到济南一家传统行业,做自助机的相关系统。系统只需要本地部署,还要频繁的出差各种现场。系统的复杂性很低,主流的技术MQ、Mybatis、Redis都没有用到,更不用说那时候火热的微服务了。系统的使用量,可以说qps不到10,业务很简单,虽然那时候我刚刚毕业,但对我来说,仅仅用这些,似乎也太过于普通了。 那时的我对互联网有着很强的向往,也想做出好用的产品,让更多的人用起来。因此不满足现状的我,仅仅工作半年后,与工作中认识的两位大哥,一起裸辞来到北京。 裸辞带来的心理压力,至今还历历在目,尤其是更换城市的情况下。那时的我工作年限不到一年,且是从二线城市来到北京,可以说几乎得不到面试机会。毕业半年也仅仅攒下了一万多块钱,来到北京,这就是我全部的积蓄。

抵达北京,出师不利

记得到北京的那天是3.8号,我的第一个落脚点,是位于十里堡的自如驿,也就是青年旅舍,一个房间四个人,下边学习,上面睡觉。北京的消费能力,大家是有目共睹的,因为我们是三个人,青年旅舍是我们最好的选择,记得那时的自如驿,是90元一晚吧,在老家都可以住一间大床房了。

和我一起到北京的两个大哥,由于有3年左右的工作经验,虽然约不到互联网大厂,但在遍地互联网公司的北京,也是完全不缺面试机会的。而那时的我刚毕业还不到一年,工作经验有限,更不用说做的还是传统的项目了,我很快尝到了裸辞带来的恶果,因为根本约不到面试啊!看着两位大哥每天都在接到面试邀约,我内心简直无比焦虑,我做好了面试失败的准备,但没想到自己投递的公司,却连面试的机会都不给。 那时的我也发现,不同城市之间对于技术的要求,是明显不同的。那时候最热门的面试题,那必须HaspMap和ConcurrentHashMap,这个问题在18年几乎成为了面试必问,如果你在17、18年面试过Java开发岗位,那我相信你一定有所体会。在这之前,我的所有经验只不过是开发业务逻辑,应用那些集合、工具类,完全没有对技术的底层原理,有过相关了解,更不用说去了解源码了。另一个就是SpringBoot,面试一定会问,而我的SpringMVC就显得没有竞争力。从我到北京开始到入职,一共有四家公司给了我面试机会,至今每一家面试的场景我都能历历在目。

因为每天都要住青旅,自己吃饭,而且呆了半个多月的时间,就那四个面试,我在面试完第四家公司之后,为了缓解焦虑,坐高铁回到了济南,一个是每天能省点钱,在一个也能调整下。 其实上面说的省钱、调整自己都是借口,那时候心态真的已经有点崩了,一个是面试机会紧缺,在一个是技术能力不足,也不知道如何去学习。

非常走运的事,我在回到家后的第三天,接到了之前面试的一家公司电话,通知我被录用了,接下来邮件回复入职即可,这是我面试的四家公司中的最后一家,也正是这家公司录用了我。现在想来,如果不是接到了offer,即使我还能获得零零散散的几个面试,我可能也没有继续在北京继续面试的勇气了,估计会在济南继续工作,也就没有后面的故事了。现在想来,对这家公司的领导,依然心怀感激。

遭受打击,直面困难

接到了北京的第一个offer,自然是十分欣喜,租下了离公司只有步行10分钟的一个小屋,公司在东二环,寸土寸金的地方,住的小区是老破小,两室一厅的房子被自如分隔成了三室零厅。北京的房租是真贵啊,一个月房租加上水电,几乎要2800块钱了。 但工作后很快,我便面临了来到北京的第一个挑战,那便是技术问题。这家公司虽然是一家小公司,但是是做的互联网相关业务,节奏上迭代很快,上午运营发的邮件,下午技术就要尽快把页面搞出来。技术方面,由于初来乍到,代码中用到的许多技术,是完全不了解的,比如乐观锁扣库存、本地缓存数据、Redis这些,之前只听过这些名词,可一旦在代码中使用,就完全看不明白了。业务方面,由于当时没有了解业务的意识,也不知道公司具体靠什么赚钱,纯看着干巴巴的代码,更像是看天书一样。就在这样的环境下,迎来了我的第一个任务,领导用excel表格给我和另一个同事布置了任务,大概有10多条,我们两个平分,可当领导和我说完,我都不知道该从何下手。小公司么,需求模糊,没有标准,全靠自己摸着石头过河。

那段时间陷入了深深的自我怀疑中,自己一直认为,只要自己想学,没有什么是学不会的。可那是建立在大学里面,时间充裕,没有人催进度的情况下。可复杂的任务到自己身上,还有着明确的dead line的时候,我明显感觉自己很慌乱,也无从下手,更没有人能够带着我去做。那段时间,我的心态又有点崩溃(PS:怎么心态又崩了),一度每天早上起来不想去上班,因为手里的许多工作,都不知道怎么去推进。那时候的我,明显是畏难情绪,不知道,也不想去推进解决,期待着有人给我整理清楚需求,有人帮我上手一下项目。

贵人相助,认知转变

那段时间我联系了我哥哥,上面说到我哥也是程序员,我哥做的是前端,所以对我后端遇到的问题可能不太了解,但认识不少后端的朋友,于是给我推了三个他在阿里的后端同事,分别是兔子姐,刚哥,伟哥。那一年,抖音刚刚起步,拼多多还未崛起,阿里是所有技术人梦寐以求的公司吧,对于彼时刚刚入职小公司的我,他们在我眼中几乎就是神一般的存在。

兔子姐,真的就像大姐姐一样,在我的很多疑问之下,不仅在技术上给了一些建议,对我当时有些极度低沉的状态也做了一些开解,告诉我心情、环境是很重要的。

刚哥,那时已经从阿里离职回到腾讯,而且是回到了自己的老家,非常让人敬佩,告诉了我做一个项目都会有一段比较痛苦的时间,熬过去就好了,但当时刚哥很忙,于是后面沟通的其实也不算多。

伟哥说话起来,不像一个大哥哥,是很没有架子的那种,也是想到什么就说什么,我发的消息,大部分都会用语音回我,回复很快,所以其实和伟哥沟通,没什么心理负担。当时我能感受到,他对我遇见的一些问题,都是一些不值得一提的问题。对我的问题,反问了我好几个问题,比如我到底希望是什么样子,是不是需要给我都整理清楚,告诉我1+1等于几?我能不能把模糊的需求自己整理清楚?其实当时对伟哥给我的很多建议,我是不能理解的。但是伟哥是一个不掩饰态度的人,对于我提的问题,他的一些语气,我是能听出对与我幼稚的一些嗤之以鼻的。

你们是不是以为,伟哥的态度,会不会对我产生一些不好的影响?但是并没有,我是一个不服输的人,从不觉得自己比谁差。其实我去北京,还有一个原因,就是因为我的大学室友,毕业去了北京,月薪是我的一倍。所以我一直认为,别人可以的,我也可以。所以伟哥的许多话,对当时的我而言,是具有极大的激励作用的。当然兔子姐和刚哥的帮助也非常大,让我在无助的时间,有所倾诉。也让我了解到了许多做事情的方法,认识到有比自己有经验的人指点,是多么的重要。

总结一下

通过这一段时间我认识的几个事情

  • 无论是在大公司,还是小公司,需求模糊、技术不规范的现象,都会存在,理想与现实,一定会有些偏差
  • 技术上遇到困难,公司环境项目不够好,一定很难熬。但所幸,技术是一个很开放的事情,你有很多种方法去成长,没有人能够限制住你
  • 没有人会为你准备好一切,才让你去做,你也并不是一个单纯的执行者,自己去探索、去解决,对个人的收获,一定比单纯的按照别人的指示去做,收获更大

自此我开始直面问题,直面困难。需求模糊?那就多去沟通,多去摸索。代码复杂?那就花比别人更多的时间去阅读代码,去debug摸清流程,不放过任何一个方法的代码。在一段时间内,我静下心来沉淀,阅读代码,与我一同进入公司的同事,短期内,靠口口相传、经验之谈,解决问题的速度比我快很多,可2个月后,他遇见的问题,就需要来找我了解了,因为我能大概猜到问题在哪,也能快速定位到可能又问题的代码,也更清楚了各类功能有关的表结构。我依然会遇到许多问题,依然遇到了许多煎熬的时期,但我没在退缩过,时至今日,这个道理我依然受用。

被别人照亮过,就也想为别人点盏灯。后来我也很喜欢帮助别人,虽然能力还不够强大,但是有了不少经验的积累,能提供一些力所能及的帮助,帮助到别人,我也是很开心的。感谢我的哥哥,感谢兔子姐、刚哥、伟哥,感谢在那些年,帮助过和陪伴过我的人。

如果你有职场的一些疑问,也欢迎私信或者加我沟通 wx:DongLattle。

相关推荐
qq_251836457几秒前
基于springboot vue3 在线考试系统设计与实现 源码数据库 文档
数据库·spring boot·后端
2401_8581205321 分钟前
古典舞在线交流平台:SpringBoot设计与实现详解
java·spring boot·后端
赐你岁月如歌33 分钟前
如何使用ssm实现基于web的网站的设计与实现+vue
java·后端·ssm
潘多编程3 小时前
Spring Boot微服务架构设计与实战
spring boot·后端·微服务
2402_857589363 小时前
新闻推荐系统:Spring Boot框架详解
java·spring boot·后端
2401_857622663 小时前
新闻推荐系统:Spring Boot的可扩展性
java·spring boot·后端
江湖十年4 小时前
在 Go 中如何优雅的处理错误
后端·go
Amagi.4 小时前
Spring中Bean的作用域
java·后端·spring
侠客行03174 小时前
xxl-job调度平台之任务触发
java·后端·源码
2402_857589364 小时前
Spring Boot新闻推荐系统设计与实现
java·spring boot·后端