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