01

2016年即将进入尾声,不禁感叹,在学校的时候过日子是以天来算,而现在是以星期来算,甚至是月份。

这才发现,时间过得真快。这一年,遇到了很多人,很多事。

机缘巧合,年中去了趟帝都,爬了长城,游了故宫。然而并没有什么唯美的感悟,只是觉得,长城好长,故宫好红。也罢,我只是个简单的人,就不发表什么深刻感想了。

工作方面,算是度过了最艰难的时期,也就是新人期。我发现,不仅仅是我,大部分程序员新人,刚刚踏入这个行业后,就会有一段迷茫期。在这个时期,颇有些手足无措之感,反正就是什么都想学,生怕自己学的东西不够。

然后带着畏惧的心里,把基础知识远远抛在脑后,认为都是些无用的东西,殊不知这些基础,比如JavaSE,Servlet,JSP才是奠定将来上升空间的基石。

我曾经也陷入这个怪圈,认为基础不重要,痴迷于三大框架(SSH),觉得会了框架就是会了Java,因为企业里面都是用框架。

可是自己servlet都不知道怎么回事,就在那写MVC,根本不明白他的内涵。刚参加工作那会,虽然很艰难,但是也能依葫芦画瓢,用各种框架做一个增删改查。

接着就是各种急躁,东打一枪,西打一枪,一会去学maven,一会又去学h5。

看了半天又看不懂,这是最麻烦的事。说到底,我不过是在寻求一些心理安慰,生怕被这个技术潮流劝退。有的时候,我甚至连一个HelloWorld都写不出来,就开始把精力转向另一门技术。

就这样白白浪费了大半年的时间。

02

虽然我很不想承认,但我必须要说,编程这行业,似乎真的有“内力”这种东西。曾经遇到一个大牛,上面安排任务下来,我一看,完了,都是没用过的技术。

诚然,依葫芦画瓢,根据详细的开发文档把功能做出来真的不难,难的是从无到有。

尤其是那种网上也找不到任何demo,需要你自己想办法搞出来的东西。

我说,“这个技术比较新,我没做过,你呢?”

他看了一眼,淡淡地到,“我也没做过”。

不过神奇的是,他随便在那捣鼓一下,没多久就把demo做出来了,然后这部分功能也就差不多成了。

我目瞪口呆,问,“你不是没做过吗,怎么这么快就弄出来了?”

他楞了一下,说:“我也不知道,随便瞎捣鼓呗,弄着弄着就出来了。”

我后来反思,为什么同样没有类似的经验,可是他却能很快做出来,而我不能?

正巧这段时间,js和css功底增长迅速,我闲暇时间也会做一些静态页面,或者jquery特效。

当一个问题出现,比如挑一个样式,修改js脚本,我总能够随便捣鼓几下就解决了。

这时候我想,为什么半年前让我画一个html简直能要了我的命,而现在闭着眼睛都能快速的调样式?

对比之前那位大牛,我豁然开朗,没有为什么,原因只是我写的多了。

我不得不承认,真的有一种类似于内力的东西。

比如Java,当你遇到的问题多了,解决的手段也就多了,首先心态就不一样。

比如程序出现BUG,新人是这么想的:

“哎呀,怎么又不对了,我到底行不行啊,我会不会被劝退啊?”

“不行,要赶紧解决,不然被别人看到了笑话”(结果越这么想就越解决不了)

“算了,去百度一下吧!”(结果看了十几个链接,都是匆匆瞥了一眼,然而并没有看懂。总是把希望寄托在下一个网页上。)

而老司机是这么想的:

“妈了个鸡蛋糕,劳资干了这么长时间,什么问题没碰到过,还怕了你不成。”

然后随机冷静下来,脑子里飞速运转,开始思考对策,实在不行去网上百度,没多久,总能“神奇地”把问题解决。

03

“内力”这个东西,虽然玄乎,但的确存在。就好像游戏里面打怪升级,你副本刷得多了,哪怕一直打哥布林,也是有经验值可以拿的,升级真的只是时间问题。

很多新人就陷入一个怪圈,认为学得多就是好的,反正不能让自己闲着。这就好比,刚从新手村出来,就世界各地发出战帖,从此东奔西走。结果每次都是力有未逮,仓皇撤退。

结果时间花了不少,经验值却没有多少斩获,宝物宝箱,各种机缘也是难以获得。

因此,还不如先给自己定好位,然后有的放矢,瞄准适合你的副本,多刷几遍。

练习数量,真的是重中之重。

很多人觉得基础不重要,JavaSE才刚刚敲了一个HelloWorld,就立马去学SSH,结果看了半天又看不懂。于是演变为一种不愿意自己思考,一有问题就问,一有问题就问的恶性循环。时间长了,必然遭到同事的反感。

这就好比,为了迅速获得大师成就,你拿着新手村送的木剑,去挑战终级BOSS一样。

造成这种结果的原因,还是对自己的不自信和对这个行业的陌生。

2016年,收获了很多,同时也失去了很多。当年的朋友,因为工作关系和地域原因,一个个渐渐地不再联系。我也遇到不少其他问题,这些磨难反倒令我的心境大为改变,看明白了很多事情。

通过写博客,认识了很多朋友,这一点感觉很好。有人问我,怎么度过进入编程领域后的最艰难时期,我现在觉得,千万不要去到处乱学,先根据你公司里用到的技术,有针对性的去学一些东西。不管怎样,第一步就是先把工作稳定下来,然后,空闲时间再根据具体情况去钻研一下新的技术。

说是这么说,不过就我个人而言,最好还是先研究一下这个叫做“内力”的东西,一个技术点,你即便会了,最好还是要重复练习几遍。

学习Html和js,css的时候,我曾经一直用editplus,因为没有提示,所以所有的代码都是我手动去敲。这虽然很麻烦,但是潜在的,我获得的“经验值”是用先进IDE软件的好几倍。那段时间每天晚上学到凌晨一点钟,后来闭着眼睛都能飞快地写出一行行的css代码了。

哪怕是很简单的案例,也是有经验值的。

这些都是促成你升级的筹码,那些轻视基础,以三大框架以及各种先进技术马首是瞻的新人,未必有你稳扎稳打,一步一步刷副本来的经验值多。

在群里经常有人问我问题,有些问题确实很好,可是大部分问题都太基础了。我仔细思考了一下,这些问题大部分都是因为自己基础不够扎实才导致的,如果基础足够牢固,就不应该存在这些问题。

相反,问这些问题的人,对新技术的认知却远远甩开了我好几条街。好多新名词我听都没有听说过,他们却能娓娓道来。我想这些都是急躁的表现,如果基础都没学会,就想着要去搞什么大数据,立马月薪上万?

这真的不现实啊。

我并没有针对的意思,因为我曾经也是这样,也经历过这种状态,直到在公司里吃了几次瘪,才慢慢把这种急躁的心态放下。

这些急躁的心态,就是因为我的不自信。

技术都是死的,而人是活的。

我建议那些处于迷茫期的朋友们,先静下心来,好好思考一下将来自己到底要从事什么方向,然后有针对性的去钻研。而不是到处去乱学,我已经经历过这种阶段了,但是到头来却发现,这真的只是浪费时间。

我的个人博客:http://s-335245.gotocdn.com:8080/index.html

Java程序猿 :2016 年终小结的更多相关文章

  1. Java程序员2016年终总结

    回顾2016年, 很庆幸,自己能在2016年年尾找到一份满意的web后台开发工作.这也是我学习编程以来第一份开发工作,我很是珍惜. 还记得大三接触了Java的JFrame编写的坦克大战之后,就对编程产 ...

  2. 2016 Java程序员的年终总结(转)

    2016 Java程序员的年终总结 技术积累 (1)代码规范 1.1.1.通常的模块分布:一般如果你要实现一个web 应用,你从后台将数据展示到前端页面,在一个比较大的公司,你少不了跟其他项目有交集( ...

  3. Java程序猿的JavaScript学习笔记(3——this/call/apply)

    计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...

  4. Java程序猿JavaScript学习笔记(4——关闭/getter/setter)

    计划和完成这个例子中,音符的顺序如下: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScr ...

  5. 人在囧途——Java程序猿学习Python

    引言 LZ之前其实一直对python都很好奇,只是苦于平时没有时间去了解它,因此趁着51假期这个机会,便迫不及待的开始了自己的探索.作为一个标准的Java程序猿,在了解python的过程当中,LZ遇到 ...

  6. Java程序猿的JavaScript学习笔记(6——面向对象模拟)

    计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...

  7. 回答阿里社招面试如何准备,顺便谈谈对于Java程序猿学习当中各个阶段的建议

    引言 其实本来真的没打算写这篇文章,主要是LZ得记忆力不是很好,不像一些记忆力强的人,面试完以后,几乎能把自己和面试官的对话都给记下来.LZ自己当初面试完以后,除了记住一些聊过的知识点以外,具体的内容 ...

  8. zx一篇让Java程序猿随时可以翻看的Oracle总结

    一篇让Java程序猿随时可以翻看的Oracle总结 前言:Oracle学习也有十几天了,但是呢,接下来还要学习许多其他的东西,并不能提步不前,所以在此总结了以下Oracle中常用的命令和语句,没有语法 ...

  9. 给Java程序猿们推荐一些值得一看的好书

    学习的最好途径就是看书 "学习的最好途径就是看书",这是我自己学习并且小有了一定的积累之后的第一体会.个人认为看书有两点好处: 1.能出版出来的书一定是经过反复的思考.雕琢和审核的 ...

  10. [转] java书籍(给Java程序猿们推荐一些值得一看的好书 + 7本免费的Java电子书和教程 )

    7本免费的Java电子书和教程 1. Thinking in Java (Third Edition) 本书的作者是Bruce Eckel,它一直都是Java最畅销的免费电子书.这本书可以帮助你系统的 ...

随机推荐

  1. ABP教程-打造一个《电话簿项目》-目录-MPA版本-基于ABP1.13版本

    此系列文章会进行不定期的更新,应该会有6章左右. 感兴趣的朋友可以跟着看看,本教程适合已经看过ABP的文档但是又无从下手的小伙伴们. 初衷: 发布系列教程的原因是发现ABP在园子火了很久,但是发现还是 ...

  2. 高大上的微服务可以很简单,使用node写微服务

    安装 npm install m-service --save 使用 编写服务处理函数 // dir1/file1.js // 使用传入的console参数输出可以自动在日志里带上request id ...

  3. 事务日志已满,原因为“ACTIVE_TRANSACTION”

    汇总篇:http://www.cnblogs.com/dunitian/p/4822808.html#tsql 异常处理汇总-数据库系列  http://www.cnblogs.com/dunitia ...

  4. Node.js:path、url、querystring模块

    Path模块 该模块提供了对文件或目录路径处理的方法,使用require('path')引用. 1.获取文件路径最后部分basename 使用basename(path[,ext])方法来获取路径的最 ...

  5. 关于Raid0,Raid1,Raid5,Raid10的总结

    RAID0 定义: RAID 0又称为Stripe或Striping,它代表了所有RAID级别中最高的存储性能.RAID 0提高存储性能的原理是把连续的数据分散到多个磁盘上存取,这样,系统有数据请求就 ...

  6. JavaScript基础知识总结(三)

    JavaScript语法 七.循环语句 1.while 语法: while (exp) { //statements; } 说明:while (变量<=结束值) { 需执行的代码 } 例子: / ...

  7. 【微信小程序开发】之如何获取免费ssl证书【图文步骤】

    微信小程序要求所有网络请求都走ssl加密,因此我们开发服务端接口需要配置为https 这篇文章介绍一下如何 在 startssl 申请一个免费的ca证书. 1. 打开网站  https://www.s ...

  8. JDBC简介

    jdbc连接数据库的四个对象 DriverManager  驱动类   DriverManager.registerDriver(new com.mysql.jdbc.Driver());不建议使用 ...

  9. TCP/IP基础

    TCP/IP 是用于因特网 (Internet) 的通信协议. 计算机通信协议是对那些计算机必须遵守以便彼此通信的规则的描述. 什么是 TCP/IP? TCP/IP 是供已连接因特网的计算机进行通信的 ...

  10. Oracle第一步

    Oracle 启动数据库 Startup [NOMOUNT|MOUNT|OPEN|FORCE] [restrict] [pfile=filename] 启动实例,加载数据库,启动数据库 oRACLE关 ...