前言:
本人大学其实是材料学院的一名路人甲,大二才开始有电脑,室友打字已经不用看键盘了,我打字得先找到字母,一个一个慢慢敲,还不能下手太重,怕按坏了,那真叫一个心急如焚。大三秉着程序员工资高的传说,自学编程,希望以后发大财(不得不来句:理想很丰满,现实很骨感),
现在2022年6月,在这里,把自己工作这几年摸爬滚打的经验总结出来,希望能帮助到那些像我一样自学编程,不想花钱报班的人,进公司后能快速进入工作状态,不要因为自己技术能力不足而找不到方向,也不要浑浑噩噩。
总结:
一. 项目
1. 进入公司之后熟悉业务大于一切,跟着老司机熟悉业务流程,抓业务终点,出问题怎么快速解决或找到对应的人,千万不要因为是开发就重心在code,不然几个月过去了可能code一知半解,业务也不熟悉,做啥都好像有点懵。(对于业务复杂的我其实宁愿拿一两个月去纯熟悉业务而不看一点code)
2. 熟悉公司已有的,跟项目有关的所有可视化界面,包括网页,Windows工具,后台接口(如Swagger等),数据库可视化操作界面等,在不影响正常项目运转的情况下,多用多看,跟着项目直接上手看问题查数据,另外,项目用的服务器也多看看,无论Windows还是Linux,但切记不要自己单独删改数据
3. 介入开发初期,问老员工code的启动流程,注意事项,需要配置什么东西,数据库连哪儿等等,把code全部整体在本地跑起来,然后大致熟悉各个业务对应的code入口以及最终的输出
4. 后期熟悉code的最佳方式:积极主动跟进项目问题,根据问题debug到那个异常点,可能刚开始不会修,但能找到位置告诉别人,多几次debug下来,可能在某个时刻,你会发现自己很多都不懂,但是已经能正常优化更改这个项目了。
补充重点:当你闲时看code的时候,千万不要一步一步debug看具体干了啥,没必要去把每个类都看的仔仔细细的,要知道就算老员工都不一定看过项目的所有code,而且去看也是没有多大意义的,你可以就你关心的某个业务点去debug,如果没有,那就去学习项目的整体框架结构,怎么分层的,对公共的东西怎么封装的,以及项目使用的可独立封装的技术点,然后针对这些技术点,自己建项目来实现它,加深理解和使用,好的技术点自己单独写个demo保存下来。
5. 一开始最好多看多问,当然问的话可能不是所有组内都好说话,但是针对你的问题基本应该还是会有一个能给你说的,即使不知道也大概能给你个方向,不要自己一个人闷声不吭的死盯code,如果觉得实在难沟通或者难为情啥的,那就多看看,积极性还是要保持。毕竟工作是一部分,还要尽可能提高自己的能力。
补充(随意):切记不要随便评价别人的code是好是坏,因为经历不一样,年龄不一样,思维不一样,有区别很正常,感觉比自己好的多学习,感觉比自己不好的以后自己写要留个心,而且还要根据具体的业务走,不能单从code角度去看别人的code,很多时候code没有好不好,只有合不合适。
二. 自身
1. 注重项目框架,个人觉得框架比技术更重要,一个好的框架,不仅自己一目了然,就算时间久了也能快速定位问题,写着舒服又有条理,而且移交给别人也容易看得懂,好梳理解释。对于像我们这种一开始还没入门的人来说尤为重要,能很快形成编程思维
2. 将公共的技术点或其他项目可以直接复用的code封装成一个单独模块,方便做其他项目时直接copy复用,像Log,NPOI,Swagger配置以及一些的类extension等等,这些通过实际项目慢慢积累,有很多的。
3. 当你觉得自己完全能独立开发的时候,可以不着急去学新的技术或语言,因为就我而言,虽然我现在能完全独立开发,项目设计自问还可以,接手一个新语言的项目也很快,但是实际上语法和计算机方面的知识很缺乏,虽然我好多能写出来,但是底层其实很多都不知道,所以可以停下来看看书,看看语法啥的,也能学到很多,当然这个看个人。
4. 一定要有自己的代码库,不管你用github还是gitlab还是就在你自己的磁盘,形成一种习惯,保存一些好的项目,自己写的好的demo,或者网上一些好的技术实现等等
5. 最后一点,Log非常重要