2015年毕业到现在已经3年了,而我转型开发已经有一年的时间了。写这篇文章除了记录,主要还是想分享一些经历给想要转型开发的同学们,不要走那些我走过的弯路。
2015年入职了第一家公司,当时是做的分销系统的维护,以及OA系统的维护。说白了就是软件系统的管理员,学会了怎么操作那个系统之后,教别人如何使用。每天的工作都是处理一些系统使用上的一些问题。刚开始我还是激情满满,差不多过了一年之后,我开始意识到了我的未来没有什么发展,我不知道我还能学到什么,对于一个处理人际关系不行的人,也很难走上管理的岗位。当然了这个工作也有好处,就是不加班。所以在下班了的很长的休息时间里,我开始了学习。我当时鼓励自己的理由是:如果这一年下班了我天天看电视,那一年后我什么都不会,如果这一年我每天学一点知识,那一年下来我可以积累很多知识。
还记得我第一个学习的网站是我要自学网,第一个学习的视频是sqlserver,当时什么也不懂,反正点开网站看到数据库,想起来好像公司用到过数据库,就开始学了,学完了之后,鬼使神差的接触到了java。大概是因为那个网站里面java视频最多把。然后开始了学基础视频,进阶视频,项目实战视频。这里我进入了第一个误区。那就是用javaSe做客户端系统,做界面,做游戏。跟着那个视频做那个象棋游戏,那个做的啊,简直是感觉太难了。照着打都会报错,更别说自己开发一个。我大概花费了半年的时间都在学那个。后来视频看完了就去图书馆借书看,借了一些项目实战的书,都是一些飞机大战之类的游戏开发的老项目。吐槽一下用java做游戏和界面简直太麻烦了。差不多第二年的时候才我开始学习到了javaWeb,当时从网上搜的学习路线,javase-->javaee,都推荐要先把javase学好才能学javaee,我就是理解错了。没学到该学的基础。对于初学者而言,我个人建议把java简单的语法学会,就可以学习javaWeb的部分了。学习javaWeb我是在一个培训机构的视频网站上学习的。他里面的学习路线规划的很好,我就按照他的路线来一个一个的看视频,很多人有疑问,看视频和看书哪个更好。个人认为初学者看视频更好一些,因为更简单,更通俗。比如你想入门一个东西,你先看视频入门了之后,慢慢了用了一段时间,你就可以看书来补全你的知识面,然后看网上的一些博客来深入你的知识。毕竟书上的内容相对还是比较老的。当时基本上每天都看视频,视频不长,一般都是10分钟,二十分钟左右,大概看了三百多个视频左右。然后开始自己模仿着做了一个项目,就是一个记账的,有增删改查,用的是strus2的框架和jsp做的。转眼第二年也快过完了,鉴于当时公司公司涨的工资太低,并且自己也想到软件公司去继续学习。就提出了辞职,当时自己也想去培训机构培训一下,但是就在我犹豫的时候,我竟然被录取了。现在可能很多人不知道培训机构靠不靠谱,我想说如果你想入行,但是自己实在自学不了你可以去花钱培训。首先,培训机构讲的东西很多,看了他们的目录我不认为有天才能够在几个月内从零掌握这么多技术。大概就是每个都了解一下最基本的使用而已,并且很快就会忘的。当然肯定能撑到面试。培训和自学都只是入门的两个不同的方法而已,走的多远还是要看进了公司之后的每个人的发展。如果进了公司就开始混,毕竟你进了一般的公司,一年的时间你就能进行正常的开发,实在解决不了的也会有老员工去处理。
但是我们不能这样,我们要规划好我们的学习路线,必学的内容我认为没有两三年是学不完的。下面我贴一下我大致的学习路线,这个是我在进入软件公司之后的路线,不包含入门部分:
这个路线是我的学习的路线,其中重构和设计模式这两本书我看完感觉就忘了,但是好像又没忘,总之看完之后你的代码风格会更加的规范,更有想法。其次就是一个java的源码,这个可能比较难,建议先看看集合,IO流这些简单的类的实现源码。然后就应该关注java的版本发展了。现在已经出道java10了,如果还不会java8的lamda表达式,就比较low了。学完这些还需要的就是学习git和maven。刚开始我觉得这些是不重要的,后来发现我错了,大多的开源项目都是通过git加maven的,没有在一个个的下载jar包,然后想看源码还要去下载到处找,用了git和maven,直接把别人项目的maven的配置复制粘贴就可以直接用了。这个必学的两个东西。然后就是linux,linux是作为java开发的必备技能,如果还不会,那你进了公司就比较尴尬了。最后你就该好好学习一些框架了,因为这些是应聘时必要的条件。
标红的部分是我学习了的,当然期间也看了一些各种各样的书,如计算机系统原理,还有一些忘了名字的,这些书因为基础知识不到看了一半就没看了,就不列出来了。Spring系列的重要性,我不用多说,我自己学习的目标就是去招聘网站上看他们的应聘的需求,然后去学习,比如我列一个出来,大家可以参考一下。
总之,努力学习,并找到好的学习路线和方法,持之以恒。就能实现自己的技术梦。
记一名软件实施自学转Java开发,附学习计划的更多相关文章
-
Java开发工程师学习路线
贴一个比较出名的Java开发工程师学习路线图 好好学习提升中 这个貌似也不是特别全,算法,设计模式,架构好像都没有
-
阿里java开发规范学习(附P3C IDEA插件 帮助规范的养成)
浅析 阿里巴巴 Java 开发规约 (未完成) 更加优秀的页面展现请到浅析 阿里巴巴 Java 开发规约 contents 为什么要学 编程规约 P3C IDEA 插件 why-use 我们知道,一般 ...
-
阿里巴巴java开发手册学习记录,php版
一.编程规约 (一)命名风格 1.目录使用小写+下划线 home,view,model,admin_view 2.类 UpperCamelCase PhpMailer方法 lowerCamelCase ...
-
JUC学习笔记--从阿里Java开发手册学习线程池的正确创建方法
前言 最近看阿里的 Java开发手册,上面有线程池的一个建议: [强制]线程池不允许使用 Executors 去创建,而是通过 ThreadPoolExecutor 的方式, 这样的处理方式让写的同学 ...
-
从阿里Java开发手册学习线程池的正确创建方法
前言 最近看阿里的 Java开发手册,上面有线程池的一个建议: [强制]线程池不允许使用 Executors 去创建,而是通过 ThreadPoolExecutor 的方式,这样的处理方式让写的同学更 ...
-
【转】线程池体系介绍及从阿里Java开发手册学习线程池的正确创建方法
jdk1.7中java.util.concurrent.Executor线程池体系介绍 java.util.concurrent.Executor : 负责线程的使用与调度的根接口 |–Execut ...
-
java开发规范学习
from 慕课网-明明如月-<阿里巴巴的Java开发手册> Integer缓存问题分析 1, Integer缓存[-128, 127]的数字,除此之外,将通过new创建. Long也是缓存 ...
-
实战java虚拟机的学习计划图(看懂java虚拟机)
啥也不说了,实战java虚拟机,好好学习,天天向上!针对自己的软肋制定学习计划. 一部分内容看完,自己做的学习笔记和感想. 学java很简单,但懂java会有难度,如果你的工资还没超过1W,那是时候深 ...
-
Arduino开发版学习计划
制定学习开发版的计划,今天先大体过一下整个教程. http://www.bilibili.com/video/av6105302/ 视频中说可以自己制造亦可卫星放上天. Arduino使用C/C++编 ...
随机推荐
-
我的Debian KDE常用软件记录
1.看图 digiKam 2.音乐 Amarok
-
深入理解PHP内核(九)变量及数据类型-静态变量
原文链接:http://www.orlion.ga/251/ 通常静态变量是静态分配的,他们的生命周期和程序的生命周期一样长,只有在程序退出后才结束生命周期,这和局部变量相反,有的语言中全局变量也是静 ...
-
开源中国git使用方法
1.添加公匙. 打开开源中国git公匙管理 用TortoiseGit Puttygen生成公匙文件 生成过程中 不断移动点击鼠标(因为生成密匙过程是记录鼠标变化作为加密过程) ...
-
PHP+MYSQL会员系统的开发实例教程
本文通过一个简单的实例完成了完整的PHP+MySQL会员系统功能.是非常实用的一个应用.具体实现步骤如下: 一.会员系统的原理: 登陆-->判断-->保持状态(Cookie或Session ...
-
(转)crontab安装(command not found)
1. 确认crontab是否安装:执行 crontab -l 命令如果报 command not found,就表明没有安装 2. 安装 crontab执行 yum install -y vixie- ...
-
oracle ebs应用产品安全性-定义访问权限集
定义 定义访问权限集是一项分配至责任层的可选的安全功能,是对Oracle 11i应用产品弹性域安全性定义的功能扩展,对总帐管理模块的一些内容进行安全性定义和权限分配的集合,以控制不同的责任对一些内容的 ...
-
把一个List拆分为几个大小一样的List
static void Main(string[] args) { List<String> tarArr = new List<String>(); tarArr.Add(& ...
-
JVM的结构
参考:http://blog.csdn.net/tonytfjing/article/details/44278233 JVM的结构 一般认为,JVM分为四大部分: 1.类加载器(ClassL ...
-
Codeforces Round #245 (Div. 2) A. Points and Segments (easy) 贪心
A. Points and Segments (easy) Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/con ...
-
[原创]用python检测LVS real server状态实现HTTP高可用
import httplib import os import time def check_http(i): try: conn=httplib.HTTPConnection(i, 80, time ...