上周一刚开始在上海一家软件公司上班,税前11K,五险一金,工作制度996。工作一个月了,说说自己的感受吧。
因为专科毕业4年,之前一直做电商运营,专科的专业是电子商务,所以打包了两年的工作经验。目前我平时的工作是添加、删除、检查,内容比较简单。我公司工作技术氛围一般,业务线比较简单。感觉在这个公司没有太大的发展,但是如果我想在这个公司积累工作经验,我会等到明年年初换工作,然后我会打包三年的工作经验去有前途的公司,应该可以拿到18K左右的工资。
我是怎么自学成功的?
和大多数人一样,我也是边工作边学习。在裸辞读书是不可能的,我的经济能力也不允许。我觉得我学习Java的决心更大,因为我从事的电商运营一直很难有大的进步,业绩压力很大,收入也差不多,没有任何提升,所以必然会转行技术。所以,既然打算转行学Java,那就做好努力学习的准备,因为边工作边学习真的很辛苦,但只要想要有所回报,就必须付出代价。这个道理大家都懂。
每天下班回家后自学四五个小时,基本都是凌晨1点以后,为了改变我现在的状态。上学的时候不明白生活的艰辛,却被社会打了一顿。我逐渐意识到,在这个时代,如果没有家庭背景、良好的教育、良好的技能和体面的工作,我只能是社会的底层。在上海这样的城市,更是无动于衷,所以我不得不学习一门可以通过努力获得的高薪技术,那就是在熟练程度上掌握Java。我的学习时间持续了7个月,已经掌握了Java foundation to framework的主要内容,之后才开始尝试申请简历找工作。我找工作已经一个多月了。压力大,中途转行真的不容易。
我觉得自己能成功学习Java最重要的原因就是“有人会和我一起监督我的学习”。我的表弟是一名Java开发人员,他把我拉进了他建立的Java交流小组。他维持这个Java交流群五年了。里面充斥着各种回答问题的Java技术,还有只想转行学习Java的人。每天的学习氛围都很浓厚。也许大多数人都属于水的群体。但是这个群体真的很独特。几乎每天都在讨论Java的问题,以及全国各地相互推广工作的信息。你可以看看每天交流的Java技术问题。
因为有这么好的学习氛围,我们每天都在一起监督,遇到不懂又到不了百度的问题,一个大老板可以第一时间帮我解答,这样我就可以用七个月的时间自学就业,不然我真的觉得自己会像大多数人一样半途而废。所以我强烈建议你加入这个Java交流群,是否能坚持学习,是否能学好,有个人一起学习,有人指导真的很重要。自学Java到自己就业的水平的可能性真的太低了,所以很多人会放弃。
我学习Java的顺序如下。给大家把每一步都写清楚。初学者跟着我走这一步。我保证你能顺利找到工作:
#第一阶段:JavaSE基金会
第一选择肯定是学习Java的接触,从环境搭建,开始,然后学习基础语法,然后去面向对象.
面向对象这个地方有很大的困难。很多刚开始接触Java的人可能很难理解,所以我们应该在面向对象.这个地方更加努力下一步,我们将继续在数组和集合.学习
然后在常用API,IO流、反射机制、多线程和网络编程.工作
学完以上知识后,用这些基础知识写两个项目进行练习。如果你不练习项目,就相当于白学了。当时我写了三个项目,分别是一个ATM机项目,一个聊天室项目和一个图书馆管理系统项目。这些都是阶段性的项目练习,基础很重要。基础掌握不好,后面的高级框架就理解不了。
#第二阶段:数据库(MySQL或Oracle)
MySQL主要研究DDL、DML、简单查询、连接查询、子查询、索引、皁视囹皁事务、存储过程、连接池、三大范式、UML建模。.
如果你有更多的时间,建议你学习甲骨文。如果时间不多,又着急就业,只能学习MySQL。在了解了数据库之后,一定要进行大量的“增删改查”练习
,大量练习做SQL语句,如果不练习,将来可能会浪费。
#第三阶段:前端
前端主要是网页的三剑客,学习。
HTML、CSS和JavaScript 。如果时间比较多的朋友,建议在了解一下
jQuery和Bootstrap 。
学完网页三剑客后需要模仿一个静态网页写出来,建议仿照京东的官网。
# 第四阶段:JavaEE
主要学习内容有 XML、MVC架构模式、Servlet、Filter、JSP、EL、JSTL、AJAX、代理模式、工厂模式。
这部分内容的核心思想是一定要 深刻理解MVC架构模式。
然后练一个MVC模式的项目实战,用servlet+Ajax+MySQL+jQuery+JDBC,主要的目的是 转变你的MVC思想。
项目建议写一个OA管理系统、超市订单管理系统、采购订单管理系统。至少是2个以上项目实战,如果不去练习的话,后面就会学得很困难。
# 第五阶段:项目管理
主要就是会使用两个工具,一个叫 Maven 、一个叫 Git 。
没什么特殊的要求,自己可以熟练掌握即可。
# 第六阶段:高级框架
学习 Spring、SpringMVC、MyBatis 是必学的,目前大部分公司都是流行用SSM整合框架。
这部分内容还是挺困难的,如果是新手学习,也没人指导的情况下,可能很多人都是懵逼的状态。如果之前的MVC架构模式还没有深刻理解的话,估计很多人在学习框架这部分的时候都会放弃的。学完这三个框架后,就自己搭建一个框架环境,升级一下自己之前练习的MVC架构模式的项目。把Servlet换成SpringMVC,把JDBC换成MyBatis,加入Spring去解耦MVC,换完能运行就可以。然后练习2个项目,例如SSM客户关系管理系统之类的项目,或者有关于SSM的项目都可以练一下。
# 第七阶段:分布式
学习迎合市场需求的 Springboot 。
如果在学习Springboot的时候觉得比较吃力,建议重新去过一遍Spring。学完Springboot后练习两个项目,到这个步骤便
可以去面试找工作了 ,到达这个步骤掌握以上技术,在一线城市的薪资范围大概在8K-12K之间,具体薪资多少要看个人能力和面试过程谈的如何。
# 第八阶段:拓展提升身价
如果不满足于上述技术的朋友,想要更高的薪资,可以再拓展以下技能。
Dubbo、ZooKeeper、SpringCloud、MQ、Nginx、Redis、 Liunx、vue、多线程、设计模式、JVM优化、算法。
这些技术我本人都没学,因为我的时间有限,我打算在工作之余的时间再进行填补,为明年跳槽做技能的准备。如果连以上的技术都可以掌握,那么你的薪资范围大概会在15K-20K之间,不过千万别觉得容易,以上这些内容没有任何一个是白给的,都有一定的学习难度。
如果我上述列举的学习内容大家找不到合适的教程,可以“Java”获取,会分享质量比较高的Java学习教程,也会定期的更新,我可以证明全是免费的,因为我当初就是看的这个教程学的,所以在这里我要分享给大家。
# 希望大家注意以下几个问题
1、代码量
学习编程最终的目的是为了写出优秀好用的软件产品,最终投放到社会,方便人们的生活。所以最终要落实到实际的代码上,学习编程不是用眼睛看出来的,而是动手写出来的,所以最后能在技术领域有一定水平的人,一定是通过大量的代码堆积出来的。但有的初学者学习编程只是看视频,却很少见过他写代码,这就完全搞错了学习编程的意义,很多人都是这样的,所以大家要注意,编程是动手落实到键盘代码上,而不是只看。
2、面向对象编程思维
Java其实就是在解决生活中的实际问题,所以当我们在写一段代码的时候,要逐渐学会用面向对象的思维来理解生活中的一切事物,用这样的角度去想,你就会发现Java其实非常好学。为什么有那么多人说自己能看懂代码,但是不会写,就是因为他没有用这样的思维方式去想,他的想法只是局限于这串代码中,而没有去思考这段代码要干什么,要解决什么生活中实际的问题。
3、学会用百度
其实我们遇到的很多问题都是可以通过自行百度解决的,如果遇到那种实在搜不到的问题,在去群里麻烦技术大佬,毕竟别人的时间不能随便浪费。利用好百度这个搜索引擎,我们可以解决很多问题,如果从开始不培养自己解决问题的能力,以后在这个行业中也很难走得太远。
4、学会正确提问
为什么要正确提问呢?对提问者而言,好处在于更清晰地描述清楚自己的问题,问题得到解决的概率更大,被提问者更愿意解答你的问题,对被提问者而言,好处在于花更少的时间去解决问题,心情更舒畅点,更愿意去解决问题。