java实习生的成长之路<转>
2.精通几个常用的代码编辑工具。(注意,这里说的是编辑工具,除了常用的eclipse,myeclipse,jBuilder等IDE工具外,还必须掌握文本编辑工具,notepad++,vim)。
3.掌握Linux系统中常规命令。(这个是所有程序员都必须掌握的基本功)。
4.随时随地的做笔记。(这个就不解释了,反正善于总结经验不会错了,可以推荐使用有道笔记)。
5.学会一些主流的代码管理工具的使用。(如SVN,gitHub,maven等)
6.熟悉并精通某种编程语言的基础和特性。(java语言必须掌握corejava基础部分)
7.善于给自己写一些工具,拿来即用的那种。(如数据库连接,文件读写操作等等)
8.掌握web开发的常用技术。(如HTML,CSS,javascript,Ajax,JSP,jQuery)
9.掌握常用数据库的基本操作。(如oracle,mysql)
把一些常用的琐碎技术学会了,比如xml的作用和实际运用,如何操作文件,如何运用日志,如何简化封装常用的工具类,比如日期操作、编码处理、分页模块等等,这些小东西会占用你大量的时间去处理摸索。
把数据库用好。数据库不是会增删改查就可以了的,你要关注事务设置是否合理,是否有可能产生脏数据,是否要动用乐观锁悲观锁等等,重要数据出了错,无论是技术上还是业务上都是很麻烦的事。
懂得什么是集群,什么是分布式,懂得怎么向别的系统发请求,交换数据,webservice。
如果你也写页面,你要会用JAVASCRIPT,不一定要很深入,你可以用JQUERY代替,做到无刷新的页面操作以及AJAX请求。
11.掌握设计模式,学会使用一些开发模式。
12.掌握Linux中的shell编程
14.学会使用数据库的DDL,DML,以及存储过程。
15.熟悉项目的整个生命周期,从需求到上线中的各个阶段。
16.关注技术网站和社区,开拓思路,汲取他人的优序经验,同时分享自己经验。(如csdn ,oschina等)
17.熟悉整个项目周期的中的各类文档。
18.定期给自己策划一个项目,练手。
多线程和异步、并发的概念会忽然变得很重要,因为在一个对性能有要求的系统里,是不会允许你把各种琐事都排着队一件件去办的,你不能老写些a方法调b方法再调c方法再调d方法然后返回的代码。你开始想起有队列这种东西,有runable这种东西,你开始觉得自己的代码高端起来了,和当年的增删改查程序员有天壤之别。但同时麻烦也来了,你开始遇到线程安全问题,尤其是当你的程序跑在一个多机环境而不是单机环境里的时候,你会对这些很头痛。对于这些问题,Jms技术是个很有代表性的东西,当然并不像ssh那么常用。
你会发现数据库性能实在不行,出于不甘现状,或者赶时髦,你该去了解nosql了,memcached redis mongodb,眼花缭乱,没关系,试着用用,能很好地缓解mysql之类关系数据库的压力。
出于公司某些业务需要,你可能会钻研一个特定技术领域,比如全文搜索技术,lucene\solr,比如工作流jbpm,比如权限系统,单点登陆之类的,又或者某些特定业务领域的算法研究,这些是你的加分项。
你开始发现你的代码很乱,久了以后自己都看不懂,重复的,难以重用的代码堆积如山,不想维护,BUG百出。于是你要开始重视设计模式,合理地改造下自己的代码习惯,不再被僵化的SSH,MVC三层架构束缚住。
Google和各种资料是你进步的动力,极少再遇到必须请教别人才能解决的问题,如果你这个阶段还老是问别人,你的技术生涯也就快到头了。
20.开始学习项目管理相关知识,学会如何成为一个优秀的项目管理人。
21.适时给自己买一些书籍,给自己大脑及时充电。
22.经常参加一些培训讲座,开拓视野。
23.关注政策,了解时代互联网发展趋势,学习和创新。
你要读读优秀开源项目的源码,你要搞懂一些当年不懂的基础知识,你开始理解thinking in java的精髓,你能写一些底层的代码,有时还会觉得自己封装的比某些开源工具更好用更简单。
WEB的难点和重点永远都在于性能、负载能力上,而现在网络的发达造成了数据量和操作密度的大大上升,硬件却没有相应的进步,你得试着更好地运用更多的服务器来协同工作,从WEB端到服务端到数据库,全都需要集群,需要分布式,需要合理的控制数据的流向,掌握好网站上下,一大堆机器的平衡,找出性能的瓶颈,找出稳定性和安全性的瓶颈,硬件出现故障,第三方技术出现错误,将被当成家常便饭融入到你的系统和代码里仔细考虑。
开始觉得方案无比地重要,一将无能累死千军将不断应验,一个不好的设计,一个不好的方案,会让一群优秀的程序员工作成果大打折扣。你 要关注架构知识,不能再满足于SSH三层架构到底。领域驱动设计,面向事件开发, 敏捷开发等等一系列的思想在关键时刻能决定你项目的生死,这个阶段不再有标准范例让你照抄,你只知道思想和原理,实践却需要自己不断尝试和改进。
多关注各种杂七杂八的开源技术,有些你可能前面已经接触过了,和通信有关的,和集成开发环境有关的,和架构有关的,各个领域你都应该 能信口说上几个主流技术,虽然你可能只是听说过,了解,但关键时刻你得知道如何 去选择技术,并快速掌握它。你还会去考虑尝试下别的语言,这里不是说转向什么C++ C#之类的,那和JAVA程序员不相干,我说的是一些运行于JVM之上的语言,比如scala和groovy,初识他们时你会觉得java真的老了。但当 你回到一个综合性的大型项目中,又会觉得java积累下来的整个体系技术是如此完善,就像一个工业化标准一样。
做JAVA没有轻松的方向,但一个对技术抱有兴趣的人,走到这一步时,仍然会对开发抱有热情,想要写出好的项目。纯为了生计而工作的程序猿是走不到这一步的。
java实习生的成长之路<转>的更多相关文章
- Java游戏服务器成长之路——感悟篇
又是一个美好的周末啊,现在一到周末,早上就起得晚,下午困了又会睡一两个小时,上班的时候,早上起来喝一杯咖啡,然后就能高效的工作一整天,然而到了周末人就懒散了,哈哈. 最近刚跳槽,到新公司已经干了有两周 ...
- 一个JAVA程序员成长之路分享
我搞JAVA也有些日子了, 因为我比较贪玩,上进心不那么强, 总是逼不得已为了高薪跳槽才去学习, 所以也没混成什么大牛, 但好在现在也已经成家立业, 小日子过的还算滋润, 起码顶得住一月近万元的吃喝拉 ...
- 分享下对JAVA程序员成长之路的总结<转>
我也搞了几年JAVA了,由于一向懒惰,没有成为大牛,只是一普通程序猿,手痒来给新人分享下从新手成长为老鸟的已见. 首先初识语法的阶段,必须要学会怎么操作对象,操作if和for,操作list set ...
- 【转载】分享下多年积累的对JAVA程序员成长之路的总结
注:该文是从百度贴吧转载过来,之前看到觉得写得还不错,对Java开发学习者来说很有意义的,可以看看. 我也搞了几年JAVA了,由于一向懒惰,没有成为大牛,只是一普通程序猿,不爱玩社交网站,不爱玩微博, ...
- Java程序的成长之路
转载链接:http://www.admin10000.com/document/2901.html 互联网发展日新月异,社会科技每天都在发生着翻天覆地的变化,而程序员已经成了这个时代的庞大群体,各种各 ...
- 分享下多年积累的对JAVA程序员成长之路的总结
http://blog.csdn.net/zhongzelin/article/details/8643269我也搞了几年JAVA了,由于一向懒惰,没有成为大牛,只是一普通程序猿,不爱玩社交网站,不爱 ...
- Java程序员成长之路
北哥在前文总结了程序员的核心能力,但在专业能力维度,只是做了大概的阐述,并没有详细展开.从今天开始,我会把我作为程序员成长过程中,学习的知识总结成系列文章陆续发出来,供大家学习参考. 本文是第一篇,关 ...
- Java游戏服务器成长之路——你好,Mongo
关于mongo的思考 第一阶段的弱联网游戏已基本完成,截至今天下午,测试也基本差不多了,前端还有一些小bug需要优化,接下来会接入小米,360,百度,腾讯等平台,然后推广一波,年前公司还能赚一笔,而我 ...
- Java游戏服务器成长之路——弱联网游戏篇(源码分析)
前言 前段时间由于公司的一款弱联网游戏急着上线,没能及时分享,现在基本做的差不多,剩下的就是测试阶段了(本来说元旦来分享一下服务器技术的).公司的这款游戏已经上线一年多了,在我来之前一直都是单机版本, ...
随机推荐
- GenIcam标准(一)
1.概述 如今的数码摄相机包含了很多的功能,而不仅仅是采集图像.对于机器视觉相机来说,处理图像并把结果附加到图像数据流上,控制附加的硬件,代替应用程序作实时的处理等都是很平常的事情.这也导致了相机的编 ...
- C#-反射知识点(转载)
反射的用途: (1)使用Assembly定义和加载程序集,加载在程序集清单中列出模块,以及从此程序集中查找类型并创建该类型的实例. (2)使用Module了解包含模块的程序集以及模块中的 ...
- 不安全的直接对象引用:你的 ASP.NET 应用数据是否安全?
介绍 作为一个在X94的航空工程师,你的老板要求你从2号楼的工程图中检索出一个特定的专利.不幸的是,进入大楼需要你出示你具有进入大楼的资格的证明,然后你迅速地以徽章的形式出示给了保安.到了十三楼,进入 ...
- [MST] Attach Behavior to mobx-state-tree Models Using Actions
Models are not just a nifty feature for type checking. They enable you to attach behavior to your ac ...
- 数学之路-python计算实战(18)-机器视觉-滤波去噪(双边滤波与高斯滤波 )
高斯滤波就是对整幅图像进行加权平均的过程.每个像素点的值,都由其本身和邻域内的其它像素值经过加权平均后得到.高斯滤波的详细操作是:用一个模板(或称卷积.掩模)扫描图像中的每个像素.用模板确定的邻域内像 ...
- iOS AES的加密解密
主要是要得到加密后的原来的字符创,MD5无法得到原有的,仅仅能用AES+base64 要用GTMBase64这个能够自己去下载, 主要看另外2个类文件. #import <Foundation/ ...
- 浅析为什么 char 类型的范围是 : -128~+127
在 C 语言中. signed char 类型的范围为 -128~127,每本教科书上也这么写.可是没有哪一本书上(包含老师)也不会给你为什么是 -128~127,这个问题貌似看起来也非常easyea ...
- [USACO09JAN] 气象测量/气象牛The Baric Bovine 解题报告(DP)
题目链接:https://www.luogu.org/problemnew/show/P2933 Description 为了研究农场的气候,Betsy帮助农夫John做了N(1 <= N &l ...
- SharePoint InfoPath 保存无法发布问题
设计完表单以后提示以下错误 错误描述 InfoPath无法保存下列表单:******* 此文档库已被重命名或删除,或者网络问题导致文件无法保存.如果此问题持续存在,请于网络管理员联系. 可参考网站 & ...
- VS导出方法名和方法备注的方法
VS导出方法名和方法备注的方法 方法一: 只能导出图片格式的UML 类图 1.点击查看类图 2.在空白处点击讲关系导出为图像 方法二: 是把整个类库的方法名都罗列出来 这个方便整理一些 具体方法如下 ...