一个程序员的自述

从业四年,摸爬滚打的我,十分感谢路上碰到的给予过指导的师傅们,今天记录下曾经经历与大家分享,希望对刚入行的小朋友有点帮助。

16年7月末,大三结束后,在老家呆了7天就到了北京找实习工作。
清楚记得当时是两家单位叫我去面试,其中一家需要培训就没再考虑,在另一家单位面试通过,回顾下当时的场景:

  • 大学并没有开设JAVA的课程,所以我去面试怀揣的仅仅就是从网上学习的简单的Struts2开发方法(无知者无畏)
  • 面试官当时并没有问一丝丝关于JAVA基础或者框架的内容,问了在学校的一些情况,还问了爸妈的生日(没答上)

16年8月开始,稀里糊涂进了单位开始了作为一JAVA开发工程师的生涯(这个时期真的是最渴望学习的时候,对未来的一无所知、憧憬让一个人那么热爱学习,但是如果你是一个人的话,学习效率却又那么低):

  • 记得当时项目有一部分用的Spring框架,有一部分用的简单的Servlet
  • 记得当时会学习怎么建一个工程并跑起来,说是学习其实就是照着一个好的工程抄一遍,记不住就多抄几遍
  • 记得当时用的是Eclipse,在配置工程的时候会有很多复杂操作
  • 记得当时配置Spring工程的XML文件时会因为xsd配置、命名空间配置搞出很多问题
  • 记得当时调JSP样式只会硬写px,仅仅是在我的显示器上能看的顺眼而已
  • 记得当时照着教程学习如何在Linux安装Mysql,安装Nginx,Nginx尤其复杂
  • 记得当时也曾有拜读过JAVA编程思想、HTTP权威指南
  • 记得当时学习如何配置多数据源,如果读写分离,还了解了MyCat,当时根本用不上的东西,用上了就靠那水平也不可能用好的东西,不知道为啥一直在看,有意思
  • 记得当时我负责Servlet的项目,捎带着装一些一体机,虽然代码水平有限,但是装机水平我还是很不错的
  • 记得当时有一些对浏览器的特殊需求,还编译了Google Chromiuml浏览器,记得是注释了些代码把浏览器崩溃后再启动的弹窗给屏蔽了,把浏览器的地址栏给屏蔽了,还把这个点子交给了同一个讨论群的弟兄,那弟兄给我发了60多的红包,美
  • 现在想想都感觉自己当时对学习广度的要求真是太过分了,啥都想懂,那哪行啊
  • 记得当时作为一个程序员在楼下装机的时间比在楼上工位敲代码的时间都长,导致我跟市场部的人混的挺熟,哎

之后要做毕业设计就回校呆了俩月,做出了大名鼎鼎的学生信息管理系统,此时是17年4月份(工作一阵子后的假期是那么的爽,前一半人生的最后一个长假):

  • 论文主要倒不是讨论怎么写JAVAWEB,是讲怎么搞一个简单的分布式系统
  • 当时准备的很充分,工程用了dubbo,当时计划是部署两个后端应用,演示的时候会kill掉其中一个应用,但是系统还是能运行,以突出分布式的优势
  • 最牛逼的地方来了,当时一上台紧张的手抖的不受控制,这部分演示直接放弃了,淦

毕业后,回到单位,没过俩月(17年11月)被外派到了一个项目(打游戏都有新的征程,换了新项目就像换了个单位一样,什么都是新鲜的,什么都是可以学习的,认识更多的人,学更多的东西):

  • 记得当时一水的Spring框架
  • 记得当时好多人开发一个项目,还有专门的前端,跟之前完全不一样
  • 记得当时开发的时候,开发组长会建好所有的类,并在类里写好注释,只需要负责填空就好了,刚一接触这个模式都给我整不会了,开发很简单但也很无聊
  • 记得后来开发任务完成了会看整个项目的大框架,接触了Spring Security,单点登陆,Activiti工作流
  • 记得后来领导突然叫我接手了Activiti工作流的开发,当时为了让它用起来很友好,做了些改动,虽然不太简单,但是很有意思
  • 算上实习也工作一年多了,但是在学习的时候仍然是照着别人的工程抄袭配置,知其然而不知其所以然
  • 之后有一个紧急的小项目要做,这是一个没有组长注释的新项目,这是我第一次真正意义上开发一个项目,最后做的很失败,后续bug的处理基本就是代码重写和硬补充,开发前的构思真的很重要
  • 之后开始学习一些HTTP、JVM等一些理论知识,开始了一个看了就忘的一个过程,不知道是无法理解还是什么原因,当时感觉看懂了,但是又跟现实应用无法结合,所以忘的也很快
  • 记得当时看源码催熟的速度比大学看数据催熟的速度还要快
  • 记得当时针对分布式问题专门搜了分布式事务相关实现,结果还是一知半解
  • 记得当时对设计模式的理解它就只是停留在书本上的一些知识,无法应用的知识

2018年5月开始,搭建了一个自己的博客,开始记录一些平时工作的小经验,在翻了翻之前的博客之后,发现当时写的基本都是读书笔记,有零散几篇记录了当时觉得设计的很巧妙的代码,当然现在在看的话都有点小幼稚了。(在当时工作两年的情况下,对代码深度还是一无所知,感觉自己前方的路还是一如既往的模糊,就问你慌不慌,没心没肺的我肯定不慌

2019年中旬,浑浑噩噩的工作3年,记得是在看了一个读Mybatis源码的视频,感觉是相当有意思,有人带着读代码,还是很舒服的,就找了他们平台的Spring相关的视频,看了一遍。(看完之后怎么说呢,感觉就有种醍醐灌顶的感觉,不知道是因为工作年限到了,还是说因为有人教会了读源码的方法,就感觉对代码好像多懂了点什么。

  • 之后能够自己从头读Spring源码,了解Spring组件的所以然
  • 能从异常中跟踪源码找到问题
  • 学习HTTP,TCP,JVM理论知识也不再读了就忘
  • 学习新的框架,在读完基础的文档后大致能想到一些实现,并通过源码来验证

2020疫情的一年,实际操作中知识用的越来越熟练,数据库死锁分析、线程dump分析也都在线上碰到了,理论知识越来越能融入到实践中,对理论知识的需求量也越来越大,不论是以后的工作和面试,都越发的考验对基础的理解。

总结:

  • 不要觉得大学的课没用
  • 不要自己漫无目的的学习,加群聊,倍速看视频教程学方法
  • 不要在自己刚入行的时候就充满对未来的担心

可能想表达的没表达清楚,越写越不知道怎么写,但是希望从事代码行业的各位能够踏踏实实的学习进步,没有哪个单位会淘汰一个牛逼的人

你可能感兴趣的:(spring)