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开发,附学习计划的更多相关文章

  1. Java开发工程师学习路线

    贴一个比较出名的Java开发工程师学习路线图 好好学习提升中 这个貌似也不是特别全,算法,设计模式,架构好像都没有

  2. 阿里java开发规范学习(附P3C IDEA插件 帮助规范的养成)

    浅析 阿里巴巴 Java 开发规约 (未完成) 更加优秀的页面展现请到浅析 阿里巴巴 Java 开发规约 contents 为什么要学 编程规约 P3C IDEA 插件 why-use 我们知道,一般 ...

  3. 阿里巴巴java开发手册学习记录,php版

    一.编程规约 (一)命名风格 1.目录使用小写+下划线 home,view,model,admin_view 2.类 UpperCamelCase PhpMailer方法 lowerCamelCase ...

  4. JUC学习笔记--从阿里Java开发手册学习线程池的正确创建方法

    前言 最近看阿里的 Java开发手册,上面有线程池的一个建议: [强制]线程池不允许使用 Executors 去创建,而是通过 ThreadPoolExecutor 的方式, 这样的处理方式让写的同学 ...

  5. 从阿里Java开发手册学习线程池的正确创建方法

    前言 最近看阿里的 Java开发手册,上面有线程池的一个建议: [强制]线程池不允许使用 Executors 去创建,而是通过 ThreadPoolExecutor 的方式,这样的处理方式让写的同学更 ...

  6. 【转】线程池体系介绍及从阿里Java开发手册学习线程池的正确创建方法

    jdk1.7中java.util.concurrent.Executor线程池体系介绍 java.util.concurrent.Executor : 负责线程的使用与调度的根接口  |–Execut ...

  7. java开发规范学习

    from 慕课网-明明如月-<阿里巴巴的Java开发手册> Integer缓存问题分析 1, Integer缓存[-128, 127]的数字,除此之外,将通过new创建. Long也是缓存 ...

  8. 实战java虚拟机的学习计划图(看懂java虚拟机)

    啥也不说了,实战java虚拟机,好好学习,天天向上!针对自己的软肋制定学习计划. 一部分内容看完,自己做的学习笔记和感想. 学java很简单,但懂java会有难度,如果你的工资还没超过1W,那是时候深 ...

  9. Arduino开发版学习计划

    制定学习开发版的计划,今天先大体过一下整个教程. http://www.bilibili.com/video/av6105302/ 视频中说可以自己制造亦可卫星放上天. Arduino使用C/C++编 ...

随机推荐

  1. ICG游戏:斐波那契博弈

    描述: 有一堆个数为n(n>=2)的石子,游戏双方轮流取石子,规则如下: 1)先手不能在第一次把所有的石子取完,至少取1颗: 2)之后每次可以取的石子数至少为1,至多为对手刚取的石子数的2倍: ...

  2. redis的连接方法|连接池|操作

    1.先看下redis的连接 import redis # 连接服务端 r = redis.Redis(host="127.0.0.1",port=6379) #获取所有的key值 ...

  3. 通过http流发送post请求

    一般都是用curl扩展来完成,看了手册的通过stream的方式更加简单. 请求脚本stream.php $url = 'http://localhost/stream_api.php'; $body ...

  4. C语言字符编码处理

    一.字符编码识别 1.简介 uchardet是一个开源的用于文本编码检测的C语言库,其功能模块是用C++实现的,通过一定数量的字符样本独立的分析出文本的编码,当前已经支持UTF-8/GB13080/B ...

  5. HBase 强制删除表

    业务系统中有一张表drop不掉了. 可以disable,就是drop不掉. 解决办法: 1.将HDFS上的数据删除或移动 hadoop fs -mv /hbase/<table_name> ...

  6. word生成包含echarts图形使用phantomjs,支持word2003,2007

    代码具体地址在我的github上 :https://github.com/HaoTwoDonkey/QuickOutPutWord 写得不好,欢迎提出问题 下面说几个phantomjs使用过程中遇到的 ...

  7. Interceptor for {http://cxf.liuyang.com/}IHiServiceService has thrown exception, unwinding now org.apache.cxf.binding.soap.SoapFault: Error reading XMLStreamReader.

    Jquery同域访问:客户端连接服务器访问跨域访问:通过本地html文档,浏览器点击开访问(jquery不支持此访问) 用域名的方式访问http://localhost:8080/CXF_09_jqu ...

  8. HDU 1569 方格取数(2) (最小割)

    方格取数(2) Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Su ...

  9. 异步IO原理及相应函数

    何为异步IO? (1)几乎可以认为:异步IO就是操作系统用软件实现的一套中断响应系统.(2)异步IO的工作方法是:我们当前进程注册一个异步IO事件(使用signal注册一个信号 SIGIO的处理函数) ...

  10. .NET基础 (17)反射

    反射1 请解释反射的基本原理和其实现的基石2 .NET提供了哪些类型来实现反射3 如何实现动态地发射程序集4 如何利用反射来实现工厂模式 反射1 请解释反射的基本原理和其实现的基石 反射是一种动态分析 ...