软件开发解惑系列之四:每天干着打杂的工作,觉得自己没成长,为什么

Posted 无处不在的海贼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件开发解惑系列之四:每天干着打杂的工作,觉得自己没成长,为什么相关的知识,希望对你有一定的参考价值。

写这篇文章的原因也是发现很多工作几个月的小同学,觉得自己在当前这家公司没什么成长,用不到那些高级的技术,自己很努力学习了知识,却无法应用在工作中,每天干着打杂的工作,无法接触到核心工作,工作几个月仍然是项目中技术能力最差的那个,每天都在写CRUD,回家了继续学习却无济于事,我彷徨了,我自卑了,我迷惘了,我自我怀疑了,我是不是要离开这个圈子回归大自然比较好呢?

在本篇文章之前写过了几篇文章,最好看一下我之前的文章:

1、B端中的那些经常遇到的外包/驻场/实施/To B/POC这些概念:

银行项目外包专题系列之一:经常遇到的外包/驻场/实施/To B/POC这些概念_无处不在的海贼的博客-CSDN博客_银行外包开发

2、公司没提升打杂,裸辞后收到银行外包,到底去还是不去

银行项目外包专题系列之二:公司没提升打杂,裸辞后收到银行外包,到底去还是不去_无处不在的海贼的博客-CSDN博客_银行外包员工值得去吗

3、如何判断当前学习到什么程度,需要适可而止吗,好痛苦

开发解惑系列之一:如何判断当前学习到什么程度,需要适可而止吗,好痛苦_无处不在的海贼的博客-CSDN博客

4、学生找开发工作担心没有含金量,影响了的未来发展,到底去不去?

开发解惑系列之二:学生找开发工作担心没有含金量,影响了的未来发展,到底去不去?_无处不在的海贼的博客-CSDN博客

5、如何快速理解并熟悉项目的流程

开发解惑系列之三:如何快速理解项目的业务流程_无处不在的海贼的博客-CSDN博客

你有上面这个感觉,有的话,看看我的经验分享。不一定对,希望对于你参考帮助。建议阅读完上面5篇文章后,在来看看以下文字。

有人发现自己不去外包,竟然也遇到和外包环境一样的工作困扰。

如今的世界有的人每天努力的按照八股文的路线进行学习知识,却无法与工作集合,工作还一直没干到核心开发。

我先来说一说比较粗浅和浅层次的的原因:

1、当前公司为外包模式,自己觉得没成长,当前公司环境为B端项目,自己觉得没成长

2、当前公司需求频繁变更,每天都在开发不确定的CRUD,没办法进行代码质量、代码性能、代码安全方面的处理,觉得没成长

3、当前公司技术体系落后,不使用高阶框架,自己没成长

4、工作时间不能进行学习,自己觉得没成长,每天加班到很晚,到家后,没有学习时间或者学习时间短,自己没成长

5、看不到大牛程序员的代码,自己觉得没成长

6、公司呆了一年,活很杂,没啥技术,自己写代码的水也很菜,没成长

阅读到这里,你是不是觉得自己都命中了,但是大家有没有发现呢,这些原因都感觉情绪消极,且好像都是主观意识的原因,好像把自己的没成长都归因于外部条件了,而对自己却没有体现出一些原因呢。

那么,深层次的原因会有哪些呢,是哪些深层次的原因造成了我自己感觉没有成长呢?

这里我分享下个人的一个经验,客观意识哦。

第1条:自己对于技术的学习路线不清晰,不成体系,无法将高阶技术应用到工作中

这个先不说自己有没有学习能力,作为一个IT开发者,至少需要定期梳理和思考当前的学习路线,其中包括了针对公司技术栈的学习路线,针对近期面试的学习路线,针对短期内技术积累的学习路线,如果觉得自己自学能力很差,希望有个好资料,好老师讲解,那么还是建议去报班,比如MSB教育、LG教育、JKSJ、TL教育、GP教育等等,2019年以后,对于Java程序员的要求提高后,不少在线教育都出来为大家提供资源了。基本上都会告诉你一个学习路线,且老师会告诉你一个基础的应用到工作中的方法和短期的技能。

而我的个人经验是,根据针对公司技术栈的路线,想办法把JVM、多线程并发、mysql应用到工作中,想办法熟悉项目中的部署/调优/测试工作,可以应用到JVM、多线程;想办法熟悉项目中的SQL开发/优化,可以应用到数据库及底层原理;想想当前项目的会话是否存在问题,即可引出分布式会话、分布式ID。

你会不会说,我都基础不到核心开发,我怎么想啊,你个锤子!我想说的是,你至少能看见项目中其他模块或其他人的代码吧,分析别人为什么这么写,知道能看见项目的页面吧,自己去主动看看呀。

这里的我想说的一个客观意识就是:主动去发现当前项目中存在的问题,解不解决不重要,至少要知道有个问题,怎么解决好。

第2条:自己努力学习了,写了大量的博客,依然是项目中那个干活最差的人,自己适不适合干

如果是这种,可能当前项目的环境占比了80%,自己的原因占比了20%(如果自己问题多,这个会提高不少)。

我来说一下正常的团队/项目组的大概是什么样的,这个是大多数项目环境的实际现状。

正常的开发团队:产品经理、高级程序员、技术负责人/技术经理、初级程序员的你、美工、有流程和文档或有时间补充文档

正常的项目团队:项目经理、高级程序员、技术负责人/技术经理、初级程序员的你、有流程和文档或有时间补充文档

如果这两种团队中的人出现了这些情况,那么当前环境都会产生不正常的情况,比如:项目经理不懂技术瞎排工期、高级程序员不帮助你解决问题、技术负责人不存在、产品经理频繁变更需求(间断变更需求其实比较正常)、出入职场的你逆来顺受忍住、同为初级程序员的同事没我干的好。

但是现实中,怎么可能每个项目组都这么完美呢?

我的多年经验告诉我,这些不正常的情况,但凡出现一种,项目中的开发人员就会出现焦虑、自我怀疑。相关公司领导也会觉得你不行。这些不正常的情况会导致什么问题呢?

从当前环境角度来看:

1、项目经理对工期着急,且对人成长不负责,只管分配任务,接收任务的人不反抗,导致任务出现返工或延期

2、产品经理频繁需求变更,不懂技术,且产品经理不和开发人员沟通交流,开发人员也不反抗,导致无效的工作一直在继续

3、项目中高级程序员不管初级程序员,问问题就让他自己搞,导致初级程序员总会问,出错了还被骂

4、技术负责人不存在,项目中的技术点的估计和实现和质量没有标准,导致初级程序员以为自己的工作算是完成的标准了。

从个人方面方面来看:

项目经理给自己的工作,不抗争,自己按照自己以为工作量排了期,实际却有差别,延误啥的,自己却从来不想想这个怎么解决。

产品经理给自己的需求,不抗争,接收到需求马上干,没有提出自己的想法,因为着急呀,却从来没想着如何优化这个流程,最后2个人都重新搞(产品经理没想到那个点,程序员实现不了或做到一半变了或者有问题)。

高级程序员忙于自己工作,自己老是问人家菜鸟级别问题,人家烦,同时自己某些问题还不想直接问,以免被怀疑无法干活。然后自己也不想怎么问,别人才能愿意回答,自己的这个问题一直不解决。

技术负责人不存在,没有为技术实现和技术方案和技术拆分做分享,自己的实现逻辑与期望的存在差别,或者一些优化实践也不知道,同时呢自己好像觉得没啥事,没有就没有呗,好像也不影响自己和项目。

当未来的你,在回顾今天的自己的时候,你会发现工作环境的上问题,排除技术落后这个问题,大多数是公司层面项目管理的问题,项目管理一般包括了十大领域的管理,而部分项目经理并没有学过项目管理知识,缺乏体系和感觉,只是单纯的管理一个项目,汇报工作,没有培养员工的打算(本身培养员工就和他没关系,很多项目经理真的是纯挂头衔的),同时项目组的人,都感觉不出来项目环境有问题,一直干着。

然后会发现当初自己方面的哪些问题,大多数都是沟通交流的问题、自己工作模式和方法的问题,缺少mentor指导和帮助的问题,很多缺导师带的小伙伴工作了好久,都没有掌握到正确且合适的工作方法。比如自己不愿意沟通,就会导致别人不了解你的认知和想法,长时间的就会觉得你这个人不行。自己的工作模式和方法,一直未得到正规的一个认识,自己没觉得有问题,反正需求变了是产品经理背锅,项目团队有问题产品经理背锅,我顶多是搞个开发BUG背锅。

在工作中,团队是一帮人一起解决问题,完成工作的,如果某个人有想法,应该想办法让其他人知道,积极也好,消极也好,憋在心里就会导致团队出现各种问题。如今的社会每个人都是有想法的。

先不说自己的技术是否有成长,我想说的是,当前的工作都干不好有问题,何谈成长(成长=硬能力+软能力,相辅想成)。

那么针对如上的问题,该怎么解决呢,之前的5篇文章中,写过简单的想法,这里我先不说,大家可以想想,阅读完这些经验,觉得没成长该怎么做呢?

跳槽 or 改变 or 转行,欢迎说出你的想法,感兴趣的可以加入我的知识星球。

以上是关于软件开发解惑系列之四:每天干着打杂的工作,觉得自己没成长,为什么的主要内容,如果未能解决你的问题,请参考以下文章

银行项目外包专题系列之二:公司没提升打杂,裸辞后收到银行外包,到底去还是不去

软件开发解惑系列之六:学生/毕业生去面试中小公司,如果假设自己有工作经验,要注意什么

软件开发解惑系列之六:学生/毕业生去面试中小公司,如果假设自己有工作经验,要注意什么

软件开发解惑系列之六:学生/毕业生去面试中小公司,如果假设自己有工作经验,要注意什么

跟在腾讯干了7年的师哥聊过后,才发现自己一直在打杂...

和月薪5W的测试聊过后,才知道自己一直在打杂...