学历不够,技术来凑,看八年开发码农如何逆袭进阿里拿年薪百万

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介: 有人说,今年可能是过去十年最差的一年,但却是未来十年最好的一年。随着越来越多的知名企业进行大规模裁员,我们不得不承认一个事实:经济寒冬与裁员潮,将是未来常态!

有人说,今年可能是过去十年最差的一年,但却是未来十年最好的一年。随着越来越多的知名企业进行大规模裁员,我们不得不承认一个事实:经济寒冬与裁员潮,将是未来常态

个人经历

普通二本毕业,学历不突出,在杭州工作两年,14年来到深圳,从事java开发一晃8年多。

做过外包、跳槽比较频繁,由于内心一直以一个技术人自居,所以一直重技术,轻业务,导致在职业规划上做的很差。

期间尝还试过2次开发方向的转变,一次是2014年左右,移动APP的浪潮时期,自学了安卓开发半年,结果还没等转开发方向成功,移动开发的浪潮就逐渐过去,第一次转变尝试就这样胎死腹中,白忙活一场。第二次是2015~16年,这个时间点正是大数据开发最热门的时期,自学各种大数据框架,无奈受限于学历,并没有找到满意的工作,只能回归java。。。。。。

曾经盲目的追逐了几次技术浪潮,但是又没有真正对自己的职业生涯有多大的帮助。

经历了这些事之后,从此决定安心搞Java,方向确立之后就是考虑提升技术栈了!

确立方向后的恶补

俗话说:“书中自有黄金屋、书中自有颜如玉” 作为码农提升的第一想法就是多读书!!

就这样怀揣着不服输的性格,购买的大量同事及一些大牛推荐的书籍:《Java数据结构和算法》、《重构:改善既有代码的设计》、《代码整洁之道》、《Java并发编程实践》、《Hadoop权威指南、《Java8 实战》、《Spring实战(第4版)》、《深入理解 Java 虚拟机 第2版》、《实战Java高并发程序设计》、《Java性能权威指南》、《程序员的职业素养》等等经典书籍

在网上也找了很多学习资料、进阶视频等等,常常和公司的同事、大牛虚心请教!

小转折

就这样沉下心来学习半年多时间后,我离职了且成功拿到了一家30Koffer的互联网企业!

工作8年多,成长最快的就是这段时期,遇到好的同伴、领导,找到了正确的学习方式,从而也让我明白了技术栈系统化的重要性。

人生的路,一步慢,步步慢,合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代

小建议

八年来的小结:Java程序员必经的三个阶段

第一阶段1-2年

我认为1-2年对于程序员来说是第一个门槛,这一阶段菜鸟正式从理论迈向企业级开发。我们知道如何使用工具、项目版本如何控制、接触并能够使用以下tplaravel等框架完成项目等等,积累了一定的开发经验,也对代码有了一定深入的认识,是一个比较纯粹的Coder的阶段。

第二阶段2-3年

3年又是区分程序员的第二个门槛。有些人在3年里,除了写工作代码,在空余时间基本不会研究别的东西,这些人永远就是个Curd,年纪大一些势必被更年轻的人给顶替;3年的Java程序员除了写代码还需要热衷于学习各种技术实现、不仅对项目运筹帷幄,还要能解决一切性能问题。只有深入学习底层原理、spring、Java虚拟机,微服务,Mysql底层优化等,才能保持核心竞争力,拥有一份不错的薪资!

第三阶段3-5年

到了第三阶段3-5年的阶段,技术体系需要逐渐往大型层次进阶, 有效、高速的处理从很小到非常大的项目管理,随着我们的业务量越来越大和越高并发,单体的架构模式已经无法对应大规模的应用场景,利用分布式架构来冗余系统消除单点的故障,从而提高整个系统的可用性。同时分布式系统的模块重用度更高,速度更快,扩展性更高是大型的项目必不可少的环节。

关于找工作面试

1、面试一定要带简历,这是态度问题,不然容易第一印象就不好。

2、简历上最核心的2点,1是自己掌握的技术栈说明,让面试官清楚知道你掌握技术栈;2是项目中使用了哪些技术栈,体现自己对这些技术栈的实际项目的运用情况。

另外简历不要超过3页。很多早期的项目经验和大篇幅的项目功能介绍,并没有什么意义。

3、准时,实在有突发情况,要提前打电话商量修改面试时间。

4、至少提前几周准备面试,因为java知识体系真的很庞大,不复习下直接面试,就像送人头一样,很容易错失难得的面试机会。

5、java基础一定要掌握好,不然丢分非常严重。之前面试一个高级java,竟然回答不出年轻代的垃圾回收机制,一下子我都不想继续聊下去了。

6、框架的核心特性要熟悉,并对其实现原理有一定的了解。比如:Spring Boot有哪些新的特性?它的核心特性自动化配置的原理了解吗?

7、主流中间件的工作原理和调优有一定的了解。

8、数据库一般也是必问的,索引,锁,事务,sql优化都必须了解。

9、听清楚面试问题再回答,不要答非所问,太过自由发挥。你和面试官聊的越有共鸣,你通过的几率越高。不知道可以直接说不知道,然后再阐述下自己的认知和了解,以探讨的方式让面试官和你互动,这样也能偷师点东西。

10、了解不深的技术栈名词和机制,尽量回避,不然只要你提到,面试官就可能展开深入的问下去。

11、多积累一些技术圈的人脉,很多时候内推进入会容易很多。

12、多积累一些可展示的技术成就和作品,比如参与了某某著名网站或者APP的核心模块开发,在GitHub上开源了什么框架或者参与了什么开源框架的开发,著名博客网站的一些排名,运营某某技术公众号。

上面我们提到系统化学习的重要性,那么到底该如何系统化的学习?

启蒙扫地僧马士兵P5—P8系统课程体系图

阿里巴巴企业及P8架构师学习导图及淘宝大型项目

可以点击此处来获取就可以了!

阿里巴巴P7级别系统学习导图

一、微服务体系

微服务架构的系统是一个分布式的系统,按业务进行划分为独立的服务单元,解决单体系统的不足,同时也满足越来越复杂的业务需求。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业务能力。

二、K8S

Kubernetes能在实体机或虚拟机集群.上调度和运行程序容器。且, Kubernetes也能让开发者斩断联系着实体机或虚拟机的”锁链”, 从以主机为中心的架构跃至以容器为中心的架构。该架构最终提供给开发者诸多内在的优势和便利。Kubernetes 提供给基础架构以真正的以容器为中心的开发环境。

三、Redis及ZK

Redis是一个开源,内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。内置复制、Lua脚本、LRU收回、事务以及不同级别磁盘持久化功能,同时通过Redis Sentinel提供高可用,通过Redis Cluster提供自动分区。

四、分布式、Spring源码及MySQL调优

马士兵全套阿里P5到P8级别Java高清视频、课件、笔记、源码,可以点击此处来获取就可以了!

多线程高并发及Spring源码全套视频

可以点击此处来获取就可以了!

SpringBoot源码解析

可以点击此处来获取就可以了!

网约车项目

可以点击此处来获取就可以了!

微服务体系

可以点击此处来获取就可以了!

P8架构视频

可以点击此处来获取就可以了!

可以点击此处来获取就可以了!

马士兵整理大厂面试专题及大牛简历分享

阿里巴巴内部PPT全集及电子文档分享

马士兵全集视频分享

可以点击此处来获取就可以了!

可以点击此处来获取就可以了!

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
小程序 前端开发 程序员
不得不说,这19个程序员兼职平台让我1年收入60w
关于程序员接私活,社会各界说法不一。
1753 1
|
11月前
|
Kubernetes 架构师 Java
史上最全对照表:大厂P6/P7/P8 职业技能 薪资水平 成长路线
40岁老架构师尼恩,专注于帮助读者提升技术能力和职业发展。其读者群中,多位成员成功获得知名互联网企业的面试机会。尼恩不仅提供系统化的面试准备指导,还特别针对谈薪酬环节给予专业建议,助力求职者在与HR谈判时更加自信。此外,尼恩还分享了阿里巴巴的职级体系,作为行业内广泛认可的标准,帮助读者更好地理解各职级的要求和发展路径。通过尼恩的技术圣经系列PDF,如《尼恩Java面试宝典》等,读者可以进一步提升自身技术实力,应对职场挑战。关注“技术自由圈”公众号,获取更多资源。
|
5月前
|
SQL 测试技术
除了postman还有什么接口测试工具
最好还是使用国内的接口测试软件,其实国内替换postman的软件有很多,这里我推荐使用yunedit-post这款接口测试工具来代替postman,因为它除了接口测试功能外,在动态参数的支持、后置处理执行sql语句等支持方面做得比较好。而且还有接口分享功能,可以生成接口文档给团队在线浏览。
214 2
|
7月前
|
JSON API 数据格式
携程网获取景点列表 API 接口(携程 API 系列)
携程作为国内知名的在线旅游服务提供商,其景点列表API对接口功能、参数和返回格式进行了详细定义。该接口可获取景点基本信息(名称、地区、开放时间等),支持条件筛选查询(如按地区、评分、价格区间等)。接口返回JSON或XML格式数据,并设有调用限制以确保系统稳定性和数据安全。虽然携程未公开免费API,开发者可通过商务合作申请权限。以下为模拟Python请求示例,展示了如何使用该接口获取景点信息。 代码示例中,通过`requests.get()`发送GET请求,设置请求参数(如地区、门票价格等)和请求头(模拟浏览器访问),并处理响应数据。实际应用需替换为真实的接口URL,并遵循携程官方文档要求。
1524 0
|
9月前
|
Java 测试技术 API
探索软件测试中的自动化测试框架
本文深入探讨了自动化测试在软件开发中的重要性,并详细介绍了几种流行的自动化测试框架。通过比较它们的优缺点和适用场景,旨在为读者提供选择合适自动化测试工具的参考依据。
|
9月前
|
运维 监控 持续交付
自动化运维在现代数据中心的应用与实践####
本文探讨了自动化运维技术在现代数据中心中的应用现状与实践案例,分析了其如何提升运维效率、降低成本并增强系统稳定性。通过具体实例,展示了自动化工具如Ansible、Puppet及Docker在环境配置、软件部署、故障恢复等方面的实际应用效果,为读者提供了一套可参考的实施框架。 ####
|
9月前
|
数据管理 测试技术 持续交付
软件测试中的自动化测试策略与最佳实践
在当今快速迭代的软件开发环境中,自动化测试已成为确保软件质量和加速产品上市的关键手段。本文旨在探讨软件测试中的自动化测试策略,包括选择合适的自动化测试工具、构建有效的自动化测试框架以及实施持续集成和持续部署(CI/CD)。通过分析自动化测试的最佳实践,本文为软件开发团队提供了一系列实用的指南,以优化测试流程、提高测试效率并减少人为错误。
233 4
|
10月前
|
JSON API 数据格式
携程API接口系列,酒店景点详情请求示例参考
携程API接口系列涵盖了酒店预订、机票预订、旅游度假产品预订、景点门票预订等多个领域,其中酒店和景点详情请求是较为常用的功能。以下提供酒店和景点详情请求的示例参考
|
敏捷开发 JavaScript Java
阿里云云效产品使用合集之如何进行Maven私有仓库迁移
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。