目录
毕业季职场新人应如何选择工作?
技术人进阶路径
程序员三十五岁瓶颈你怎么看?
Java开源项目推荐
Java学习与面试指南
设计模式
监控与诊断
编码规范
工具库
企业级开源项目
毕业生/在校生寄语
毕业季职场新人应如何选择工作?
尽可能的选择朝阳产业,因为个人感觉大多数人的选择是大于努力的,选对了行业能让你事半功倍,就像雷军说的,在风口上猪都能飞上天呢😅。
他山之石,可以攻玉。选好大树(公司、团队、leader、big old),毕竟大树底下好乘凉,虚心请教互相学习,多沟通多交流。沟通产生价值,技术人永远不要羞于表达自己的观点,你也需要具备独立思考的能力。
做一个可靠的人。提高自己的能力,勇于挑战自己,在职场中,很多时候都是双向选择题,同样的东西你比别人做出来更可靠,更稳定,自然大家对你的信任度会提高。
珍惜时间,养成持续学习的习惯。活到老学到老,你知道的越多你不知道的也越多😅。持续学习,日常复盘,总结输出,利己利他。
技术人进阶路径
不同工作经验的朋友一些建议:
- 工作 1~2 年,以学习知识为主,先打好基础,注意知识广度的培养,保持对新技术的好奇心,切忌心浮气躁;
- 工作 3 年以后,需要多一些主动思考,培养自我学习能力,要有意识的提升团队协作、跨团队沟通、项目设计等能力;
- 工作 5 年以上,要重点树立起自己的技术品牌。要经常思考业务或项目中存在什么样的问题,如何解决,解决后的收益是什么,对于管理能力要有意识的加强。
技术进阶建议:
初级-->中级-->高级,一般程序员到达高级水平之后,此时就会开始出现分水岭,就看个人的职业选择了,有人会选择走管理路线,有人会继续深耕技术。优秀的人最终会成为行业领导者,顶级的会成为行业创新/变革者(流下了羡慕的口水🤤🤤🤤)。
日常学习建议:
多看:看一些好的开源项目,看技术文章,看好的技术书籍等,并总结经验。
多写:要把看的东西变成自己的必须实践,把所说的技术通过自己的理解总结梳理并写出来加深印象,并把学会的技术运用到实战中。Talk is cheap, show me the code。
多交流:以开放包容的心态去交流,耐心听取他人意见,只有站在客观的角度去看问题才能把问题看的更透彻,只有不抵触才能让自己学到更多的东西。
彼得.德鲁克《成果管理》书中提到的经典:知识是人类特有的资源。书上没有知识,书上只有信息;知识是在特殊的工作和行动中运用信息的能力。用通俗易懂的话说就是:实践出真知😄。
推荐尼克拉斯·卢曼的卡片学习法,在阅读时他也会对看到的或者想到的做笔记,划一划,就像我们大多数人所做的那样,但是过了一段时间,他意识到自己的笔记没有任何意义。于是他开始想有没有更好的尝试做笔记的方法。他开始尝试改变做笔记的方法,没有直接写在书本空白处或者写在一本书上,而是将他们全都写在小卡片上,并编上号码,收集到一个盒子里。
因为他意识到,如果只是把笔记积累在一个地方,除了产生大量的文字,不会再有其他的成果,都只是碎片化的知识或看法,无法形成系统的想法。他将卡片分成三大类:1.闪念笔记:阅读或生活中突然产生的灵感或想法。2.文献笔记:阅读中直接引用的文章材料等。3.永久笔记:通过阅读产生的联想或者洞见。同时,他将笔记之间建立索引与主题,让他的笔记形成网状结构,同时又有同一主题。卢曼本人通过用阅读和写作完成从普通的公务员到德国知名的社会学家的逆袭。
程序员三十五岁瓶颈你怎么看?
随着年纪大了,跟年轻人比体力比加班肯定是比不过了。😪作为35岁的程序员肯定不只是一个写代码的工程师了。个人认为35岁前需要建立的核心竞争力能够让你35岁还能稳如老🐶。
- 工程能力: 对团队规范、效能、质量做相关改进。
- 架构能力: 能够从业务痛点和现在的复杂问题提出你的建设性意见,并提供相关架构能力做支撑。熟悉业界通用的架构设计,并能从自身业务出发来优化或者重构团队的业务和技术架构。
- 细节把控:从一些隐蔽的坑、风险、线上问题或者技术难点来提供具有建设性的解决方案。
- 团队管理能力: 具备一定的团队管理人力和培养人的能力,最好有数据做相关支撑。
- 技术视野: 足够了解业务领域的架构与技术,并对比出优劣,可以想到哪些能力在未来可以沉淀输出,并表达出一定的技术前瞻性。
Java开源项目推荐
Java学习与面试指南
- architect-awesome
后端架构师技术图谱
github地址:https://github.com/xingshaocheng/architect-awesome
- JavaGuide
「Java学习+面试指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识。
github地址:https://github.com/Snailclimb/JavaGuide
- leetcode-master
《代码随想录》LeetCode 刷题攻略:200道经典题目刷题顺序,共60w字的详细图解,视频难点剖析,50余张思维导图,支持C++,Java,Python,Go,JavaScript等多语言版本,从此算法学习不再迷茫!🔥🔥 来看看,你会发现相见恨晚!
github地址:https://github.com/youngyangyang04/leetcode-master
- CodeGuide
一线互联网 Java 开发的学习历程技术汇总,旨在为大家提供一个清晰详细的学习教程,侧重点更倾向编写Java核心内容。
github地址:https://github.com/fuzhengwei/CodeGuide
设计模式
- java-design-patterns
Design patterns 是程序员在设计应用程序或系统时可用来解决常见问题的最佳实践手册。
github地址:https://github.com/iluwatar/java-design-patterns
- itstack-demo-design
《重学Java设计模式》是一本互联网真实案例实践书籍。以落地解决方案为核心,从实际业务中抽离出,交易、营销、秒杀、中间件、源码等22个真实场景,来学习设计模式的运用。
github地址:https://github.com/fuzhengwei/itstack-demo-design
监控与诊断
- Arthas
Arthas旨在帮助开发人员解决Java应用程序的生产问题,无需修改代码或重新启动服务器。有了Arthas,你就可以在不重新启动JVM或需要额外的代码更改的情况下实时地对问题进行故障排除。
github地址:https://github.com/alibaba/arthas
编码规范
- P3C
Alibaba提供的Java编码规约扫描插件,同时附带编码规范文档。
github地址:https://github.com/alibaba/p3c
工具库
- Guava
Guava工程包含了若干被 Google 的 Java 项目广泛依赖 的核心库,例如:集合 [collections] 、缓存 [caching] 、原生类型支持 [primitives support] 、并发库 [concurrency libraries] 、通用注解 [common annotations] 、字符串处理 [string processing] 、I/O 等等。
github地址:https://github.com/google/guava
- Hutool
Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以“甜甜的”。
Hutool中的工具方法来自每个用户的精雕细琢,它涵盖了Java开发底层代码中的方方面面,它既是大型项目开发中解决小问题的利器,也是小型项目中的效率担当;
Hutool是项目中“util”包友好的替代,它节省了开发人员对项目中公用类和公用工具方法的封装时间,使开发专注于业务,同时可以最大限度的避免封装不完善带来的bug。
github地址:https://github.com/dromara/hutool
企业级开源项目
- jeesite
JeeSite 是一个 Java EE 企业级快速开发平台,基于经典技术组合(Spring Boot、Spring MVC、Apache Shiro、MyBatis、Beetl、Bootstrap、AdminLTE)采用经典开发模式,让初学者能够更快的入门并投入到团队开发中去。在线代码生成功能,包括核心模块如:组织机构、角色用户、菜单及按钮授权、数据权限、系统参数、内容管理、工作流等。采用松耦合设计;界面无刷新,一键换肤;众多账号安全设置,密码策略;在线定时任务配置;支持集群,支持SAAS;支持多数据源;支持微服务。
github地址:https://github.com/thinkgem/jeesite
- Cloud-Platform
Cloud-Platform是国内首个基于Spring Cloud微服务化开发平台,具有统一授权、认证后台管理系统,其中包含具备用户管理、资源权限管理、网关API 管理等多个模块,支持多业务系统并行开发,可以作为后端服务的开发脚手架。代码简洁,架构清晰,适合学习和直接项目中使用。 核心技术采用Spring Boot 2.4.1、Spring Cloud (2020.0.0)以及Spring Cloud Alibaba 2.2.4 相关核心组件,采用Nacos注册和配置中心,集成流量卫兵Sentinel,前端采用vue-element-admin组件,Elastic Search自行集成。
gitee地址:https://gitee.com/geek_qi/cloud-platform
- mall
mall项目是一套电商系统,包括前台商城系统及后台管理系统,基于SpringBoot+MyBatis实现,采用Docker容器化部署。 前台商城系统包含首页门户、商品推荐、商品搜索、商品展示、购物车、订单流程、会员中心、客户服务、帮助中心等模块。 后台管理系统包含商品管理、订单管理、会员管理、促销管理、运营管理、内容管理、统计报表、财务管理、权限管理、设置等模块。
github地址:https://github.com/macrozheng/mall
- RuoYi
基于SpringBoot的权限管理系统 易读易懂、界面简洁美观。 核心技术采用Spring、MyBatis、Shiro没有任何其它重度依赖。直接运行即可用。
github地址:https://github.com/yangzongzhuan/RuoYi
基于Spring Boot、Spring Cloud & Alibaba的分布式微服务架构权限管理系统。
github地址:https://github.com/yangzongzhuan/RuoYi-Cloud
毕业生/在校生寄语
一分耕耘一分收获,制定长期有效的计划,坚持自己的梦想勇敢的去追逐。
活动地址:毕业季·进击的技术er