我不希望拿工作时间长短来衡量什么东西,因为人总是活的,工作年限是可以混的,这说明不了什么
罗曼·罗兰说:“多数人二十或三十岁已经死了,他们变成了自己的影子,此后的余生则是在模仿自己中度过,日复一日,更机械更装腔作势地重复。”
20多岁,本来应该是对生活饱含向往、不甘平庸的时刻。
20多岁,本来应该是对世界充满好奇、一往无前的年龄。
可是在最该闯荡的年纪,有很多人就早早认命,觉得这个不行,那也不行。
程序员的圈子里面也一直都有黄金五年的说法,可是我发现听到很多的就是自己学历不行,有没有机会去大厂拿高薪?
可是为什么没人说自己技术不行呢?
不可否认学历是一块敲门砖,可是即使自己站在用人单位的角度,我也愿意通过最简单的“标签”,去招聘到最“优质”的人选。
这是我随便找的一份Java工程师的面试要求:
职位要求上清晰的一条条信息,那一条不是你自身的标签?那么属于你的标签,足够吸引人了嘛?
相信大家只要好好去想一想,就能知道为什么要用学历去筛选人才。
对比一下高学历人群与自己本质上的区别和优点就可以看出来。
学历已经是没有时间去解决的问题,应该考虑的难道不是怎么样解决这些问题,怎么样缩短彼此的距离嘛?
每个人都希望自己过得好,但现实是残酷的。在职场,有人春风得意,年轻有为,有人则步步错,和同龄人相比,混的很失败。
大部分人还是在中小型公司,或者外包类传统IT公司里工作。
一直徘徊在各种中小公司里开发一些没技术难度的Java系统,主要就是CRUD。
哪怕是用了用MQ、缓存、分库分表,但是也没什么并发量,数据量也不算特别大,自己的技术成长极为缓慢。
等过了三五年,甚至是十多年过去,职业发展和技术水平都停滞在这个状态,无法有更进一步的发展。
不知道那一次的寒冬来袭时,自己就会在浪潮中被淹没,到处裁员,中年码农的危机,加不动班、体力越来越差、孩子压力越来越大,对自己何去何从很迷茫。
那么我们先来搞清楚一个问题,你的技术到底为什么三年五年十年甚至都无法进步?
拆解一下,你的能力集中在哪几块:
技术广度
对MQ、缓存、NoSQL、大数据、高并发、高可用、微服务,等一系列的相关技术都有一定的了解,熟悉常见功能
在自己的项目里落地使用过,有一定的技术使用经验。
技术深度
读过Kafka的底层源码?
对消息中间件的架构设计思想有深刻的理解?
对分布式事务框架/中间件的架构设计有过研究?
在每秒百万并发场景下做过底层系统的深入优化和故障处理?
如果你有类似这种过人之处,那么才能说你有某些技术深度。
项目经验
你有没有整体负责过几亿注册用户,几千万日活用户的大规模、高并发、分布式、高可用、高复杂度的系统架构设计?
或者你负责的一直都是那种公司内部使用的,几十个人用的OA系统,CRM系统?
团队管理
你在互联网公司里带过20的团队?
或者你在一个传统IT公司里带过3个人的小组?
拆解过后再来看看,如果你在一些小型互联网公司,或者是做一些传统软件开发,为什么技术无法进步?
其实道理很简单,可能公司推出了一款APP,但是用户量总共就100万,日活用户就10万人。
那你的系统有技术挑战吗?没有。
既然没有技术挑战,你把系统搞那么复杂干嘛?或者架构师搞那么复杂干嘛?不需要。
大家简单做一做,主要CRUD写一下功能,最多现在Spring Cloud流行了,上一下拆成微服务的就够了。
这套系统就稳定支撑公司的业务了,那你接触不到很大的技术挑战,所以技术进入停滞状态,不是很正常么?
或者你做一些传统的软件开发,比如说建筑类软件、办公自动化软件这种的。总共就几十个人用一个系统,或者几百人用,那情况就更是如此了。
可能都不需要Spring Cloud,直接单块系统,单机部署,就是在里面填充业务代码就好了。
所以根本原因是很多同学平时的工作环境,没有什么技术挑战,所以只要把系统技术做的简单一些,低成本就可以支撑公司业务了,那既然这样,当然技术就进展很缓慢了。
可能你工作了八年十年,技术广度还可以,对流行的技术自己都看过一些书,简单用过,玩过Demo。
你的项目经验积累了不少,但是都是一些各个传统领域的系统业务理解较为深刻,没有极高技术挑战的项目经验。
有的人工作时间长,可能就是带过一些人,有过一些带团队的经验,能管人。
大概就是如此了,每次换工作,还是只能换类似的公司,干类似的技术,依然没有进步,依然是类似的项目经验。
技术人的未来在哪里?对于这个问题,相信很多技术人一边工作一边在不断地思考。但小编首先必须跟大家明确的一点是,程序员真不像医生、教师这种越老越吃香的职业,新技术发展太迅速,而且迭代更快,如果想要跟上,必须就得不断的学习。
技术人的成长道路平缓且陡峭,你付出的多收货的也就多。在满足工作需要的同时,能多思考,你和其他人的差距就会慢慢体现出来。
最后给工作1到5年Java开发的朋友提供一个学习进阶的技术路线,互联网白银时代机会是留给有目标准备的人!
我自己收集了一些Java资料,里面就包涵了一些BAT面试资料,以及一些 Java 高并发、分布式、微服务、高性能、源码分析、JVM等技术资料
想要获取的同学可以加Java群:171662117即可免费获取以上内容资料
1.性能优化
深入内核,直击故障,拒绝蒙圈
2.应用框架 源码解读
站在巨人的肩膀上,收货不一样的视野
3.分布式架构设计
透彻理解高性能架构的好处和优点
必然性,适应市场需求,能够去找一些更大的平台发展,提升自己的综合技术能力和薪资。
了解从传统架构到分布式架构演变过程所带来的技术变革,将理论和实战相结合,透彻理解分布式架构及其解决方案。
从分布式架构原理,到分布式架构策略,再到分布式架构中间件,最后在加上分布式架构实战,让程序员可以在技术深度和技术广度上得到飞跃的提升,成为互联网行业所需要的T型人才。
4.微服务架构设计
随着业务的发展,代码量的膨胀和团队成员的增加,传统单体式架构的弊端越来越凸显,严重制约了业务的快速创新和敏捷交付。为了解决传统单体架构面临的挑战,先后演进出了SOA服务化架构、RPC框架、分布式服务框架,最后就是当今非常流行的微服务架构。微服务化架构并非银弹,它的实施本身就会面临很多陷阱和挑战,涉及到设计、开发、测试、部署、运行和运维等各个方面,一旦使用不当,则会导致整个微服务架构改造的效果大打折扣,甚至失败。
5.团队协作
让你的团队开发效率提升十倍的秘密都在这里了
6.大型商城项目实战
要想立足于互联网公司,且能在互联网浪潮中不被淹没,对于项目的开发实战演练是不必可少的技能,也是对自身能力的一个衡量,有多少的量对等于获得多少的回报。看似简单的一个项目需求图谱,其中的底层原理,实现原理又能知道多少?你搭建一个完整的B2C项目平台到底需要多少知识?这一切都是需要我们考量的。
总结的这些架构技术希望对Java开发的朋友们有所参考以及少走弯路,本文的重点是你有没有收获与成长,其余的都不重要,希望读者们能谨记这一点。同时我经过多年的收藏目前也算收集到了一套完整的学习资料,免费提供给大家,希望对想成为架构师的朋友有一定的参考和帮助。
欢迎工作一到五年的Java工程师朋友们加入Java高级架构:171662117
里面提供免费的Java架构学习资料(里面有高可用、高并发、高性能及分布式、Jvm性能调优、MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多个知识点的架构资料)
合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!
网友评论