致自己,致读者,致所有努力的人
共 2408字,需浏览 5分钟
·
2021-11-10 13:28
大家好,我是Leo。始终坚信分享的越多,收获的就越多!
今天主要聊一下人生,发展,规划与感悟!
相信大家一路走来,会有很多感触,对于一个技术人,大致的发展路线应该就是小白,初级,中级,高级程序员(更高的就不说了有点看机遇)。每到一个级别的进阶时,都是一个技术的分水岭。所以坚持自己的选择,拿出不放过任何一个问题的态度是我们的初衷与初心。
小白
对于小白来说,第一件事想的不是技术,而是自己的方向,你是否真正想从事开发行业。如果说只为了高工资,早点退场,因为开发没那么简单(你完全体会不到为了解决一个线上问题熬到凌晨2点,最终以失败告终的心情)。
我记得有一句话是这么说的:选择比努力更重要,坚持比能力更重要 选择对了事倍功半,选择错了至少要损失1-3年的青春,敢问我们有几个3年。
很多人听信外面传言,说程序员工资高。我只想说别惦记着程序员的那点歪瓜裂枣了,一天24小时。7.30-6.30主要是上班和上班的途中。6.30-7.30陪陪女朋友。8.00-12.00大概就是技术提升了吧。自己算算时间吧!过多的就不说了。点到为止!
下面聊一下入场之后的规划,别报培训班,1-2万坑的你都不知道东南西北在哪!最好的方式就是加一堆群,经常在里面交流,然后找一个靠得住的人,给个2000块钱叫他带你入门。入门之后知道该怎么学习如何学习了一切就都好办了,剩下的就是看你自己的学习方法毅力了!
初级
对于初级程序员来说,主要负责的工作就是CURD,别天天想着微服务,多线程,MQ消息队列有点不切实际,做事一步一个脚印把基本功走实了。
对于初级来说,主要发力点应该是
- 每一个SQL要逻辑清晰,知道量大了之后的弊端。也可以理解成养成 SQL调优的习惯。
- 多了解一些项目的配置问题。也可以理解成环境的部署,一定要理解 整个项目的的部署流程
- 计算机网络,计算机基础的一些相关知识。只有知道原理,才能更快的定位相应的问题*(就好比谁写的程序,改BUG好改一样。就是因为你知道了这个功能是如何实现的,所以你才知道问题点与排查思路)*
- 基础的算法要有相应的了解,算法是开拓逻辑思维与提升性能的开端!
- 了解一些设计模式的设计思路,可以提供我们系统开发中的处理方法!
- 熟悉springboot,mybatis,docker重要知识点的原理分析。了解这些可以更高效的开发出高效系统。
- 最后补充一下Java基础知识。多看多写多尝试。没捷径可走
差不多的时候,再进阶消息队列MQ,多线程,微服务这些。基础扎实了,这些其实万变不离其宗。之前认识一个网友,Java基本都不会,上来就要搞docker,elasticsearch,分布式。全程问我,真有点无语。欲速则不达
中级
对于中级程序员来说,主要负责的工作虽然也是CURD,但是不要仅限于CURD了。多做一些技术突破的事情,为公司团队的项目开发提出自己的一些见解。
上面说到了见解,其实所有的见解都是在于自己对当前技术栈有了一个足够的认知。那么就要了解其原理了。目前我的技术应该说是快到了中级水平。我现在可以一个人独立开发一个项目,从需求分析,前端设计,后端接口开发,环境的部署等都可以独当一面。有任何问题可以私聊我一起讨论。
对于中级的发力点是:
- 跳出CURD的业务SQL,多尝试整个模块的开发,或者说整个系统的开发
- 对技术栈的原理要有很深的理解,比如MySQL刷脏页机制,两阶段提交,innodb写入策略,Redis五大常用类型的底层技术实现,RDB+AOF搭配后的方案原理等等。
- 锻炼自己的交流沟通能力,不要埋头只知道写代码。除非你是研发人员(开创者)
- 进行微服务的进阶学习,要了解服务与服务之间的整体架构,假如方案不好,要可以有换方案的那种知识储备
- 除了微服务,MQ,分布式,多线程,JVM都要与更深次的学习。
- 必须要具备系统缓存设计,秒杀设计方案,分库分表方案,ELK方案,异常方案的能力
- 熟悉掌握对第三方接口,服务文档开发。(比如短信验证码,OCR识别,支付接口,快捷登录)
高级
高级我写的不多,我也不是这个水平的人,这里大概就说一下我的目标,方向。高级程序员一般的技术栈的选型应该是了如指掌了,MySQL,Redis,mongodb,nosql,RabbitMQ,微服务,多线程,JVM可以说都是精通了。要有带团队的能力,有大型项目的方案设计经验。
人生感慨
人生应该坚持不断学习,扛得住涅槃之痛,才配得上重生之美。牛逼人的光鲜亮丽,你确看不到背后发了疯学习的痛苦。
我们努力是为了什么?
我的想法是:大海不缺一滴水,森林不缺一棵树,单位不缺一个人,但是你的家族缺少一个扬眉吐气的人,缺少一个让家人过上好日子的人,缺少一个为了梦想而努力持续奋斗的人,之前是谁不重要,重要的是今后你会成为什么样的人。
回想过往
还有4个月,就是已经毕业1年了。时间好快,回想自己这一年也是非常的充实!
- 呆了4个月了全栈开发,让我掌握了一个人独立开发一个项目的能力,因为公众号无法IP链接,无法分析!
- 后续就是目前在职的Java后端开发,不断强化自己未来发展的技术栈,下述是技术强化成果!
对比去年,已经完成了MySQL。接下来将用2个月结束Redis的底层学习,2个月结束SpringBoot和Mybatis底层学习
2022展望
- 熟悉掌握微服务底层的相关技术
- 。。。。。
- 复习以往技术
写完第一条,我就不敢写第二条了,因为涉及的东西太多的,第三条还是留给复习吧。
公众号展望
接下来一周,会更新一篇 3万字聊聊什么是MySQL的修订版一,在原基础上继续深入与加餐
接下来两周,会更新一篇 Redis数据结构的实现,AOF,RDB的实现,Redis是单线程还是多线程
两个月,输出完对Redis的理解
两个月,输出完对SpringBoot和Mybatis的理解
过年送书,送服务器,发红包