毕业后java入职快一个月给我的启发【拒绝学生项目思维,在职业编程快速适应和成长】

作者分享了从学生项目到商业项目的心路历程,包括熟悉技术栈、项目运行、数据库管理和团队协作的重要性。强调了拒绝学生思维,学会提问和交流的技巧,并指出商业项目需关注安全、监控、日志和异常处理等方面。同时,对自身成长进行了反思,对未来方向感到迷茫,鼓励大家持续学习和探索。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、开门见山

写这一篇既是写给我自己回顾反思沉淀记录的,也给刚入职有缘人看到此篇能有感触有收获,更希望有一定的帮助和指导意义。热烈欢迎留言和建议。
6月份毕业入职一家公司,毕业前是已经有来实习了3个星期,公司还好,有提供专门的视频让新入职的同事学习和熟悉技术框架和体系。看了两个星期的视频,让我加入一个前后端分离的项目组,跟着后端大佬慢慢开发,最后一星期完成大佬安排的两个小任务,写了简单的查数据库和他需要的一个中间的函数方法。
毕业后正式签劳动合同入职公司,也是刚巧,前面3星期接触的那个项目开发结束了。那天入职刚好是一个新项目的开发启动,项目需求文档、数据库建库建表、开发人员组建等等也还没稳定,笑哭.JPG,原来前端是个漂亮的小姐姐的,我正式入职那天她刚好离职,刚来不久的一个前端大叔就顶上来了。哈哈,加上原来那个后端大佬,就本地办公司3男组合,加上远程分公司的项目经理和一位见不到面的产品+需求+测试小姐姐。

5个人小团队,这样子度过了6月份,今天周末有空写个记录。
下面讲讲我的熟悉新项目的过程和收获。

2、熟悉技术栈

很重要,这点真的很重要,这个最开始面试这家公司的时候就要问清楚。

  • 这个也分国企和私企(自己要有辨识度)。
  • 一是SpringBoot、SSM、SSH,还是要写后端也得写前端,原生三剑客、VUE、React还是Angular,问清楚,看看自己能不能接受。
  • 二是成熟行业的公司都是有自己开发的内部使用的框架的,行业不止360行哦,有的比现在市面上流行的SpringBoot、SSM、微服务、阿里巴巴那一套还早成型并自己公司内部不断优化使用,以更精确和准确得可以快熟且安全的开发对应行业的业务需求。
  • 三是入职前和入职后,进项目组的前后,大一点的公司内部框架有多个、对应的问题的技术解决方案有多套,开始接触到都是要问清楚。别到了解清楚业务需求后不知道怎么写,要使用公司提供的什么框架和规定,最不好的事情是自己去瞎搞造轮子浪费 时间。当然要是像一个需要写几千行复杂SQL的需求,那就得看看B站鱼皮那个视频了。你得先有那个能力是吧。

3、项目跑起来

啥也别说,组长或者师兄给你的工程,跑起来先再说,这里涉及到有的是新项目有的是二次叠加需求开发,大项目有很多个模块,认证授权、网关安全等等,有些地方要改的组长或者师兄给你的时候是一定会讲清楚的。之后要是maven工程就得先慢慢等导包完成,这里默认你电脑是OK的,内存8的倍数,你懂得。几次过后有些红的也可以不理他 ,然后直接把目标项目工程跑起来。出错了自己先看看是不是师兄给的自己哪里漏了之类的,排查一下、分析问题。半小时到一小时搞不出来,问人,有空直接问人,别瞎搞。

4、数据库

再来是数据库,我的因为项目开始是个空工程,啥都没有,MVC那些包都是空空的,需求文档也是刚看,到手项目代码里面的雅妹儿文件里面有开发数据库的配置信息,开始没排工期,都是有时间让你熟悉环境人员和数据库
的,用SQL羊儿或者NaviCat都可以,那个顺手用哪儿个,这边我也会加上使用一个原来叫PDman,现在叫CHINER元数建模的软件,把数据库有几个表,名字叫什么,快速的结合需求文档和业务把项目里面ER模型理清楚,这一步在开发前和开发中都是要有的,边理解需求边开发,有时候还可以看到数据库设计不合理的地方,还能提提建议。

5、拒绝学生项目思维

为什么要说这一点呢?因为我就在这儿犯错了。

  • 【1】团队问题:因为前面实习到毕业再到入职试用期,一路都是顺顺的,任务也都是简单一些的。完全没有转变自己的学生思维,在学校我们大部分人是自己写自己的项目的,前后端都自己一顿咔咔咔想怎么来就怎么来,学过《软件工程》的有的也自以为项目开发就那么肥事,巧了,我就是像自己说的这么天真,不清楚的东西很多,了解了才知道。

    • 熟悉各种工具:Git、SVN、打包工具、发布平台、运维部署、协同办公软件、文档工具
    • 熟悉自己的角色,做后端开发,得了解用户需求、产品需求、开发需求,技术评审;
      项目的流程–>开发测试运维部署
    • 不能一直自己盯着屏幕写完代码摸鱼之类的,也得了解周围的人在做什么事情,看看带你的师兄平时工作是怎么组成的,有哪儿些好的习惯的学习的,千万不要当闷葫芦。
  • 【2】交流讨论请教的技巧:

    • 遇到问题,代码写不出来,需求做不好,没办法呀,只能问人了,看组长或者师兄什么时候有空,记住先把自己想问的问题梳理一下,几个问题几个点,脑子过一下,然后开口,和师兄讨论怎么处理和怎么做。
    • 和前端交流就照着接口来,定义什么请求方式,Get/POST,要几个接口,什么请求体过来,什么请求体回去,需要什么,不需要什么都得先交流OK。这一步也就是接口文档的东西,项目启动通常都会先定义好各个页面各个需求大概会有哪儿些接口,请求方式,请求参数,返回体等等,项目开发的时候需求有时候也会变化,加需求改需求都是有可能的,这也要求我们在写代码实现的时候也还得多留个心眼,这个接口会不会变化,会怎么变,我这样子写后面改和维护起来方便么?等等
  • 【3】团队其他注意事项
    (1)态度积极:不一定上班早下班晚,但是可以做完主动要求活干,多和产品、测试等沟通问题、进度等。
    (2)再来遇到问题多查资料、多调试,实在不懂就及时问。
    (3)可以多照抄原来模块 / 代码,异常参考原来代码处理方法,但是出问题你得会改。
    (4)要问具体问题,问不忙的人,不要同时问一个人,这点视情况团队而定。

  • 【4重点】为什么用了怎么久Springboot,至今还是学生项目那个样子?问题在这里?
    1、骂一下我自己,真的吃饭的家伙、每天都在用的东西怎么能不快点熟悉一下呢?大哥,你醒醒。
    2、之前想一下商业项目需要什么东西,除了功能实现之外,好像就没了。
    3、现在想想,成熟的商业项目是不是需要充分考虑状态码、异常处理、日志处理、性能监控、数据安全、部署等等因素,要是没这些东西,就怕上线了分分钟解体,出问题了都不知道怎么办。。。
    4、这边还没有设计到中间件、微服务等等,项目主流有一点业务体量的公司都是会使用微服务的,即使没上升到微服务那么大,不同的很多个系统之间Http请求接口返回数据再次封装也是很常见的。

从学生项目到商业项目:
【 安全监控】

  • 一个是安全,常见的网络攻击、SQL注入等等都是要考虑的
  • 再来是监控,页面响应慢、数据库SQL执行慢等等问题不能全推给用户网络和电脑问题吧,哪儿怕加个阿里的druid也行呀。看看哪里慢了。

【日志】

  • 去年发生什么事情有浏览器的道友应该都有看到,那个著名的log4j。。。。
  • 日志记录操作轨迹、监控系统运行状态、回溯系统故障,保留系统故障现场,方便程序员快定位问题。生产环境不同于学生项目,随时有问题就重启debug,在公司里,开发人员你碰服务器的资格都没有,所以保留日志成了排查bug唯一的方法。

【状态码/异常处理】
怎么和善良的前端妹子或者抠脚大叔快乐的开发就看这个了,200、404、500这些基操正常不过,也得封装个统一的请求返回体,成功失败都得设置清楚,别瞎搞,真的。
异常的话,后端主要是RuntimeException,业务异常,正常的做法是封装一个AppException继承自RuntimeException,在发现业务异常时,配合状态码抛出对应异常。

6、总结

可以说一个月还是有所成长的,在JAVA这片亚马逊热带雨林里面想变成大树得到大量阳光还是得自己一直学习练习复习,不断理论实操小总结。

其实自己也是对未来的不确定充满了迷茫,不知道自己java能做多久,现在都没认真想过自己能往架构师的路上走?现在大数据、人工智能、物联网、Go语言以及其他行业也不是无路可退,

不知道选择干后端,是不是真的适合吃互联网行业这口“软饭”。。
只能说 随心所往才能看见未来。Follow your heart,see the future!

加油,兄弟姐妹们!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

高高飞起的勇敢麦当

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值