本科毕业做java程序员修炼之道是个可以的选择吗

本帖子已过去太久远了,不再提供回复功能。工作一年的java程序员该达到什么样的水平呢 - ITeye问答
本人主要做web方面的开发,具体指各项技术的掌握程度,希望大家指点一下.
采纳的答案
如果非得说1年后的水平,那什么样的人都有,有些人跟刚毕业的水平差不了多少,只是编码熟练程度提高了。有些人却超越了大部分3、4年经验的程序员的水平。
结果怎样要看你付出多少。你认为呢?
至于方向,我觉得对框架的掌握不是主要的,首先要弄明白框架为什么要用。但也没必要去研究框架的实现、源码——除非你兴趣。
如何弄明白框架的用处呢?比如说hibernate有什么用呢?这个问题其实是在问ORM的作用。Hibernate实战的第一章关于对象模型和关系模型不匹配讲得非常明白(但那本书的中文版我只建议你读第1章)。也许你这时候又会问,对象模型有什么好处?那你可以去看看早期JavaEye关于领域模型的讨论帖子,还有陶文同学前段时间在JavaEye发的两个领域模型的讨论帖,还有就是读读《领域驱动设计》这本书(中文译本也挺差的,我只是告诉你往这方向去关注)。然后你会开始弄明白到底什么是面向对象,面向对象究竟有什么好处,也不会再在“接口和抽象类的区别”、“接口的作用是什么”这类初级问题上耗费时间。也许你的方向会开始转向一些敏捷实践……
也许有时候你觉得一些概念很难看懂,没关系,多看多想多实践,积累多了慢慢就会领悟。
还有,注重代码质量是最基本的素质,可以去关注一下相关的主题比如重构。但在这之前,你要弄明白为什么提高代码质量是重要的事——当然相关书籍在开篇一般都会提到这个问题。
其实我觉得最重要的是:你本身主观上是否有强烈的提高自己的愿望。如果没有,以上这一切都白说。
其实关于技术来讲主要看自身的技术,就说一年的开发工程师来讲如果如果技术与工龄对等的话,薪资怎么也要在8000以上了,当然如果技术不行那么工作在久也没有什么效果,所以说对于java来讲技术非常重要,其实工做时间相对是比较次要的,当然如果有想学习提高java的我也可以为大家提供一些资料在java技术学习以及java教程里都有资料&
一年的看你自己做了什么,如果感觉不足有需要java资料的可以看看这个[url]http://javaee.3g-edu.org/courses/?lbjeye [/url]
一年,以我的标准的话:
1、java基础,除开多线程、IO流、特殊算法等
2、ssh框架一定要熟练掌握其开发流程(不一定是ssh,其他框架也要触类旁通)
3、映射方面一定要熟练
4、前端方面一定要回常用的,类似于jquery+ajax返回个json类似的
5、数据库方面写个函数啊,存储过程之类的
6、对于项目、业务流程要整体有个理解,至少你要知道每个模块做什么的
我觉得一两年的就是一个熟练度的问题,编码,业务等各方面的熟练度都要提升就对了。
很难说,但是不能以时间来评估自己。而是用行动来评估自己。
一年和十年是一样的,如果自己没有实际行动的话。
楼上说得都很精彩,受益良多,我也认为专注是很重要的。
会做人的人1年的水平就能爬上去
不会做人的人4年的水平依然还是个coder
很简单,在开始的一年里要对java的知识结构有一个整体的认识,知道哪个知识点是做什么用的,处于整个知识结构的哪个位置,了解了这些,你应该算是入门了.
接下来你就可以针对你项目中使用到的技术深入学习,一个一个的掌握.
这个东西很主观,看你这个杯子里能装愿意装多少东西了,得到和失去是平衡的。
某人说,把冰箱里放满披萨,想要什么样的编程深度都可以~~
所以专注
因人而异,你不学习,5年经验可能还比不过应届的
一年可以说还是初级水平吧,
做web开发要懂的东西很多,
一年根本就太短了,
我认为java两年才入门,5年一个坎。
这样子,你去找一家公司面试,工资是你现在的两倍。
如果面试成功了,证明你达到了1年java的水平,
如果不得行,那再练练.
我面试一个工作三年的,面的是WEB岗位,他以前是做DELPHI的,你能说他水平不行?我认为关键是做一行,然后把这行里面的问题搞精搞透
首先基础技术要计较扎实了。面对没见过的问题能短时间内解决。对要实现的功能有自己的想法。
其次就是在这一年中你通过自己的努力学会了多少东西。不是在工作中的项目,那个不同人机遇是不同的。而是你在休息时间学到的东西!
长期潜水的小菜出来冒个泡~~
Web 开发实际是以浏览器为"虚拟机"的二次开发,当然要想办法了解这个"虚拟机"是最重要的.....
最低标准:熟练干活.
最高标准:业务熟练、工作中常有"新想法",除了工作用到技术以外能熟练使用一门技术.能带小弟.
我认为1年工作经验,应该可以达到以下的程度:
1.有扎实的java基础。
2.对常用的j2ee框架的机理有所了解,能单独熟练使用,可以对框架进行简单的修改。
3.对数据库的链接和掌握基本的几种DB的使用。
4.对新技术时刻关注,吸收新技术的优点来完善老的技术上的缺陷。
5.有较好的英语阅读能力(日语还可以,有些日语资料也很有价值),至少可以能看懂大致的英文文档。
6.对工作充满激情。
一年工作经验能达到这些应该就差不多了吧,望大家指正。
数据库设计
java基础知识也是很重要滴~
javascript,jsp,servlet等。
引用
我觉得,基础是最重要的,
1、面向对象的思想一定要掌握的很清楚,最好能用uml工具;
2、java基础知识,如java线程、集合类的使用等,需要达到不用工具,手写代码的程度;
3、对一些常用的框架,如struts、hibernate,应掌握其使用配置方法;
4、分析使用数据库;
5、j2ee,应掌握http、servlet的原理以及使用;
gangwu (初级程序员)
基础是基础了点,不过工作一年的人不仅仅只是了解这些吧?我感觉起码对hibernate以及spring的内核以及整个架构都得有一个了解。而且至于java的基础只是,我感觉不仅仅停留在基础,要灵活..学了一年丢人应该能够在实际开发中,针对业务,选择最好的实现。以及对设计模式的掌握。
我觉得,基础是最重要的,
1、面向对象的思想一定要掌握的很清楚,最好能用uml工具;
2、java基础知识,如java线程、集合类的使用等,需要达到不用工具,手写代码的程度;
3、对一些常用的框架,如struts、hibernate,应掌握其使用配置方法;
4、分析使用数据库;
5、j2ee,应掌握http、servlet的原理以及使用;
4what 写道
我觉得楼主不如思考另外一个问题:1年来,我每天花多少时间在自身的提高上?
不问结果。
这才是根本。
很多人的提高是被动的,但好处也是大大滴,嘿嘿,另:楼主这个问题太难回答了。
一年的时间里,学的是经验,自学的是知识。书还要不断地看。新技术要不断地去学。现地更新太快了。
觉得我说得好的,我要的不多,5秒钟的掌声,还有lz的分数。
我觉得楼主不如思考另外一个问题:1年来,我每天花多少时间在自身的提高上?
不问结果。
这才是根本。
竟然是搞web开发的,一年后,应该能对几个主流的框架比较熟悉。对一些异常能马上就知道在那里发生及解决。然后再对数据库有更加深的了解。对OO,设计等到应该要一定的认识。
其实最主要的是,应该要学会独立思考了。即结合,一年的经验,开始思考或总结吧。
我觉得做web开发需要学的东西还是很多的,最好的是能专精一样技术,例如j2ee或者.net 然后知识要广博,搞j2ee不能就只知道java那点东西,除了什么框架外,重要的是行业的应用,例如工作流,CRM等等。其次linux 数据库(orcale、sqlserver、mysql)都要熟悉。其实web开发里面还有好多方向,搞精一个应该也不错了,可能最重要的还是要专注吧,呵呵。
这个问题很模糊,一年,关键是看你在这一年中做了些什么事,学到了什么!不是每个人都能达到别人一年能达到的水平,这不像黄金分割点那样有准确值。如果你加油,每天总结,相信你一年后能力绝对比一年强;如果你是在混时间,那可想而知了,我现在在一家教育行业做开发,结果刚进去就在搞CMMI3的认证,说实话,好郁闷,有那么点软件工程思想,可对于CMMI3来说,我真的不想碰那东西,哪个中小型公司真能按那步骤一步一步实施?想走,可现在金融危机。所以你不要纯粹的想一年后你是什么样的水平,每天总结,你每天就在进步。呵呵,祝你早日成功,相信你一年后会比你预期的要强很多。
已解决问题
未解决问题老菜鸟致青春,程序员应该选择 Java 还是 C# - 文章 - 伯乐在线
& 老菜鸟致青春,程序员应该选择 Java 还是 C#
还记得自己那年考清华失败,被调剂到中科大软院,当初有几个方向可以选,软件设计、嵌入式、信息安全等等,毫不犹豫地选择了信息安全。
为什么选信息安全?这四个字听起来多牛多有感觉,我本科是学物理的,记得做一个光学实验的时候,一个老师看我做的结果,说,学物理不是什么人都可以的,这个是需要一点智商的。
好吧,当初其实并非对我一个人所说,但我确实感觉到受到了鄙视,同时,我没有任何在物理上的精湛技艺可以反击我的老师。
由于整个大学期间,我都在沉迷游戏和小说,以至于辅导员说,现在找你都得预约。
而我的同学基本在学期开始和考试前能见到我,当时为了应付考试,我不得不学习复杂的物理公式和推导,有一门课程是激光原理,老师是双博士学位,大概是很厉害的,在我考试时,过来看我的卷子,说你的”背功“很厉害。
考试时如期通过,但老师大概都对我评价不高。自然,我是感到不愉快的。
回到我的毕业论文,大概是做一个电离层特征参量的反演,其实就是用迭代法解病态方程。
这个论文基本是没有人选的,因为题目本身可能相对比较难,也需要编程实现,好吧,当时下载的是盗版的matlab,参考的是一个日本学者和我导师的论文,铿铿锵锵地写出来了。还做了个所谓的参数优化,以使得结果看起来更平滑。
当时觉得很得意,我女朋友(现在的老婆)也很惊讶,我一个月做完了。
其实这不是第一次领略程序的魅力,在很久之前,高中时期,为了追一个女生,我做过flash,当时我就觉得拖来拖去很麻烦,但苦于没有基础,看不懂actionscript,所以难以深入体会编程的精妙,如果看到网上有一些类似雪花飘落、旋转字等效果,都是直接拷贝修改到完工。
现在回到,为什么选择信息安全上来,因为在大学时,很喜爱游戏,尤爱单机,国情大家是清楚的,而且我没有钱,也不知道哪里可以买到正版,这个猥琐了,呵呵。
仙剑、上古、火炬之光、火焰纹章,各种类型都喜欢。也很喜欢生存类游戏。给一个单机游戏做的exe补丁和用lua拓展的mod至今看来仍让我怀念。
讨厌网游是因为自己没有钱,搞不过RMB玩家,而且砸装备总失败。
唯独一个,2006年时,我玩完美世界,后来玩它的SF,为了砸装备,我第一次想到写封包外挂,由于当时已经有一些socket、tcp/ip的概念了,虽然C++玩不转,还是各种参考,写hook、写字节转换,同时完美当时打击WG很厉害,游戏基址容易变,又加了很多防调试的功能。
但为了不手工砸装备(SF里的石头几乎免费,就是砸上去的几率太低),我欲望那个强啊,所以用OD调试找网络发送的函数地址, 然后C++写代码hook。
程序最终工作很好,我还分享给了几个玩友。
后面也写过一些类似跳舞自动击键的WG,主要也是为了自娱自乐,因为我真的反应不过来屏幕上瞬间出现太多的key!
与程序为伍的日子很少,但每一次接触,似乎都是为了达到自己的一些目标。
所以凌乱的编程体验,虽然不系统,不精湛,却让我快乐。
再次回到为什么选择信息安全上来?也许答案已经很清楚。
当时觉得虚拟机加密太高深了,联网解密也难搞定,所以觉得信息安全一定是能解决我的问题的!
后来你猜到了,就是C,就是汇编,就是linux,我当时是多么反感linux,当时还用的是ubuntu,但为了课程,实在是没有办法,为了考研,自己系统自学了数据结构、计算机网络、操作系统、组成原理,当时在考研论坛上还和一个清华搞计算机体系的探讨问题,刷了好几页的帖子,现在看来,多幼稚!但,快乐也是固定在那个过程之中了。
我讨厌汇编,我讨厌C,我讨厌linux,但他们强大,能够满足需求,这就够了。
java还是 c#?
其实这不应该是我们真正的主题,而且入了行的也很少会java还是c#这么比,但初学的,java和c#往往就代表了两大流派,java代替了j2ee,c#代替了.net,ok,没有关系,这么作为title,不影响我们说事。
如果从语言的角度上来讲,c#毫无疑问胜出,易用、门槛低、优雅、较为简洁。但java和c#的语言特性是相似的。
在很多类的命名上,它们都如出一辙:
System.out.println("java比C#强!j-a-v-a!");
System.Console.WriteLine("你没看到#是4个+吗,我比c++还强2个+,你就歇菜吧!");
//javaSystem.out.println("java比C#强!j-a-v-a!");//C#System.Console.WriteLine("你没看到#是4个+吗,我比c++还强2个+,你就歇菜吧!");
c#出现的时间比java晚,所以自然吸收、借鉴,同时又有它的创新,比如很早就支持lamda表达式、比如event和委托,比如var,比如linq。
但如果从面向接口来讲,java同样可以做到event和listener,只不过对象引用的传递比较直接。
而.Net的类库和jdk则各有千秋。
如果从应用的角度来看,javaee和.Net体系几乎都涵盖了主流的开发方向:
桌面、Web、服务端、数据库、网络、移动端、中间件。
哪个方向,哪个更强?这个留给读者自己体会吧。
微软给.Net一个宇宙最强的IDE,也给了各个方向统一而平滑的编程体验,不得不说,微软的上手要容易的多。
而java则一开始就和开源分不开,多如牛毛的框架、引擎、包,blabla,用java开发,程序员要懂得东西更多一些。应为你大部分情况下得自己整合。但整合的好了就是很强大的,比如SSH。
在近几年很热的大数据和云计算领域,hadoop、spark、tez、leveldb、mongodb、mariadb、hive、hbase,还有oracle,都各自在自己不同的层面发力,大部分的这些都对java是极为友好的。
很多java程序员,都觉得搞.net开发的,就是拖拖控件而已,其实我可以告诉你,说出这种话的java程序员一般都还比较小白,如果你是搞.net的,你也可以说搞java的都是拷贝别人的开源软件的代码,然后改改而已。
当然改改没什么问题,谁都不喜欢重复造轮子,比如,google里面也并非全部是创新,经常”拿“别人的东西自己改吧改吧,淘宝就很不用说了,招了一些能改c、会点编译的程序员,经常拿各种开源框架开刀,然后表明是自己的东西。比如双11的那个问题。
当然不是说淘宝找的人有问题,而是这个企业的文化就是销售和广告文化,后来的google也如此。
回到正题,wpf和silverlight(虽然已经EOL)中最大的创新莫过于xaml技术,如果你认为wpf只是winform的简单升级,或者说你只会在wpf中拖控件,说明你还是一个非常初级的.net程序员,不管你工资上w没有,或者你已经是项目经理了。
xaml天生就是为mvvm模型而生,这一点,搞前端的同学,应该熟悉,即使你不懂wpf,js和html怎么做mvvm,你也应该体会过它的好处。
wpf中在xaml中布局控件,并支持INotifyPropertyChanged接口,可以非常容易的实现界面和数据分离,做出一个mvvm模型出来。
说到标记性语言,我们看看jsp的jstl、struts2的tags,还有asp.net mvc3之后的razor引擎:
jstl和aspx的标签类似,自由、强大,可以很容易的穿插交织到html标记中;
struts的标签就是个另类,我个人反感这种既不遵循主流标准也不简洁的东西,虽然好多人会说好用,那是个习惯问题,我这么说,不是说这东西难学难掌握,只是比较一下和razor引擎中的标签语法,弱爆了。
razor,强大、简洁、优雅。
你肯定觉得我是微软.net的粉丝,其实我想告诉你的是,最强的标签语言只有两种,html和xml,穿插动态语句到服务端页面上,然后刷出html,从来都不是好的做法,因为不只你一个人写代码,后面可能会有其他人维护这个页面,本来这是需要由web designer来做的事情,但是有了语句,他的维护成本就很高。
规范的页面开发,程序员是不会染指一个css、style的,动态语言在aspx、view、jsp上面应该尽量少用。否则你不如使用php和asp。
这一点,你会在工作中会深有体会的。
青春的你,怎么选择?
看看现在的招聘吧,动不动就是
精通j2ee,精通struts、spring mvc、hibernate或者mybatis,对mysql、oracle有深入理解,精通webservice、精通多线程,能处理高并发,有的还得懂jvm,最好有hadoop等开发经验。最后再来个211以上。
.net方面呢?
精通.Net,精通mvc3-5、精通wpf、wcf、多线程,mssql等等等等。
我现在处于离职状态,所以每天收到猎聘上的一些推荐,都很郁闷,因为没有一项是我精通的。
但是不妨碍我在2012年实习中,就拿到了13K的月薪,比一些正式员工可能还要高。
而且,仔细想想,代码中经常讲到要容易维护、这个设计模式、那个AOP,这个大并发,那个高性能,我个人没有见到容易维护的代码。学习一个新公司的一套模式,一套老产品,比学习一门新技术需要的时间长得多,你会发现,99%的情况下,你最需要的,不是什么代码,模式,而是对产品的理解、对业务的理解,很多情况下,除非太菜太小白,大家的代码都差不多,谁有时间重构代码?程序员又为何加班?
这是行情,一个项目接一个项目,公司需要挣钱的,这是大部分公司的现状。
为了回答java还是c#的问题,我会从我的经历提供一些参考,既然是我的,那就不会是全面的和准确的,你自己判断。
还是从故事开始吧!
在科大软院(苏州),因为老婆想和我一起在外面过个年,我不得不去临时找实习,当时c和汇编不行啊,所以得选个流行的,什么流行呢,当时是web。
所以我遇到了java还是c#的问题,确切的是我遇到了j2ee还是.net的问题。
因为经常使用windows,又因为.net门槛如此低,所以毫不犹豫选择了.net,当时是不会写SQL的,但是却系统学习了数据库设计原理。
进入公司就接触mvc3,觉得好,外企的技术确实比较新呢,比我学习.net时学的aspx优雅,那个时候开始接触并尝试理解mvc模式和ddd的概念。
当时,时薪25人民币。
6个月的实习,基本能玩javascript和c#,然后sql还是不行,当时记得一个高级开发跟我说,他以前做delphi开发的时候,团队写sql写的好就牛,我深以为然。
只会用Entityframework + mvc3 + javascript,开发网站的我,用理解很浅的.net的web技术体系,支撑了我和老婆在上海的生活费用,当时10年,我们租的拎包式入住公寓1500一个月,不算生活费、水电费。
再一次,通过一项技术,达到了我的目标,支撑了我的计划,当时对技术的理解,但是偏执于.Net,对java阵营是不屑一顾的。
后来很快离开了科大软院和苏州,考取了中科院,到了北京,房租是1580一个月,照样不算生活费、水电费。
没办法,学校发的补贴根本不够押2付3的。
找实习,做过什么呢?office编程,而且当时的老板是从IBM下来的工程师,项目主要是java开发,jsf做页面,招我过去,做word编程,还不能使用.net,你猜到了,我用的是vba。
没做多久,公司发钱就开始拖延,两周后,我没有积蓄,只能被迫离职,后来加入一家公司,从4K到10k,用了8个月,在这里,我完善了程序员生涯中sql能力的快速成长,并且广泛地使用了silvelight、aspx、oracle、mssql技术。记得当时一个北邮毕业的同事,做了6个月的office文档在web展示,因为涉及到了com编程,所以运行非常不稳定也难于调试,更重要的是,拉一个页面到展示,需要20秒。
老板是中科院软件所的博士,架构很厉害,但对于这个技术细节并不擅长,问我有没有办法,我说做过vba,大概了解word的dom结构,我试试。那个同事说,如果你能做到稳定、快速的实现,你可以拿这个做你的毕业论文了。
我说,我试试。
临危受命,我猥琐地查找资料,研究百度文库如何实现等等,后来为了.Net环境的一致性和可维护,所以抛弃了pdf + flash。
通过大量看老外的东西,我选择了aspose.Net框架 + 一个能把word转为Xaml的框架 + silverlight实现,可惜这两个框架都收欧元,公司铁定不会出钱,所以我猥琐地对其进行了破解,也开始接触IL码。
docx文档在线编辑 + 展示的功能完成,给老板run了一下,老板点了个赞,显示时间缩短到5秒左右。
后来做了数据库的静态,显示时间缩短为1秒内。老板又点了个赞。
后来带领团队,从mssql迁移代码oracle,至今还记得和老板并肩一起写存储过程的情形,并感叹微软自身的数据库外迁还得依靠三方工具的搞笑。
时光很快,当时回想,.Net是多么的强大,是么?
在工作的同时,学业,为了凑够4个整天来实习,也为了自己的未来,我选择了数据挖掘、计算机图像处理、天文数据处理、文本检索、分布式计算、高性能计算等所有听起来很牛的东西。
不求甚解,一段一段的代码和注释,将能掌握的注入到自己的技术骨头里去。
还记得在学校周一开组会,同一个组的基本都是博士了,我放弃硕博连读,因为我实在年龄大了,得养家糊口。
后来一家西二旗的距离oracle很近的公司面上了,记得最后一轮面试是小屋子压力面,从董事长到我的小组领导都在,没有水。
首席架构师是科大少年班的,博士在网络所读的,问了一个问题:
你如何实现google的负载均衡?
那个问题我答的不好,其实即使不理解负载均衡的实现,也该从组成原理的总线仲裁知识中窥的一点参考。
所以那次又被鄙视了。但那次拿到了13K的月薪,当时的总监是汉王以前的副总裁,评价是,基础扎实,思维灵活,实习阶段就参与公司重大项目研发,值得培养。
直到现在,我,相信也还有很多程序员,遇到了数不清的技术,我经常会茫然,到底我该何去何从?
一些疑问:
访问数据库,随便找个高效的connector或者driver就行了,一般提供数据的厂家,谁不提供connector?ORM是很必要,但是追求性能和反框架泛滥的公司不在乎ORM带来的那点便利性,用一个jdbc + sql照样写稳定高效的数据访问。
做web前端,真的需要自己写一个框架出来?真正需要这种开发的项目有几个呢?jQuery和d3,原生的javascript就够了,你写的也许不叫框架,最多就是个wrapper。
数据库的唯一性索引、聚合索引、辅助索引都没搞清楚,就开始搞hadoop、spark、hbase、mongodb,用人单位也一再这么要求的,你的项目中真的有那么大的数据量?在传统的rdbms下解决不了?
你开始知道轮子的概念了,并且知道不要重复造轮子。可是你快不是程序员了,而是框架员了。
所以,回到java还是c#,这个问题,要比我遇到的技术分裂要简单的多。
我的意见是,忘记java或者c#的对立,如果要做一个开心、有自我追求、同时满足就业的程序员,你需要重视以下方面:
函数调用栈,这个很多高级程序员只知其然不知其所以然。你可以不懂的汇编、函数入口、返回地址、寄存器,但你需要调试,你得深刻理解函数调用栈,无论是在dev模式调试struts开发的jsp页面,还是debug模式调试aspx页面,你得看懂调用栈的信息
基本的数据结构和算法,数据库中索引的组织方式,是B+树还是Hash,还是堆,你的公司有Web、桌面、移动用户,有社区,有产品,你可能要做个推荐什么的,或者研究个社交图谱什么的,这门技术可以帮助你。
一门动态语言。lua、python、javascript,都可以,你需要随时和系统进行交互,或者实现一个原型,或者用程序的方式来画点界面、数据图什么,它们够轻量、够快捷。
一门重量级语言。比如java或者c#。你靠它们吃饭。
理解跨平台的含义。掌握一些基本的跨平台技术,比如xml、c、html、json。
重视网络编程的练习和理解,在你使用URLConnection或者MySqlConnection或者WebRequest的时候,你是否理解它们的生命周期和底层实现,用什么语言无所谓,你要记住tcp/ip协议和http的基本特性。这样不至于你写了几年程序,还不知道method=post是什么原理。
找一个顺手的IDE,我个人不是CLI控,虽然不得不CLI,一个顺手的IDE真的可以提高生产效率。搞.Net推荐vs + resharper,搞java推荐intellij IDEA.
关注一些热门而经典的领域,比如机器学习、图像处理、数据挖掘,即使已经有了mahout,不代表你不需要了解这些领域,你可能永远不会在工作中使用它们,但它们的思想值得你拥有,因为你选择了做程序员,而不是哪个公司的程序员。
剩下的,就是你的解决问题的思路和你实现的硬功夫(编码能力),我相信,很多看这篇文章的人,不能够轻易写出一个ftp服务器,不能够不参考、不联网查询资料写出一个简单的快速排序,也不能够轻易写出一段通用分页SQL,但他们依然可以正常工作。
所以外面的功夫容易忘记,有网络就能拾起,内功才是入骨的东西。
架构不是学出来的,是你的理解到位了,恰好工作中有这么个需求,你就开始整合你的已知,然后开始选择轮子。
最重要的是,你千万不要成为一个只会熟练使用框架的程序员,那样,你会疲于奔命,你也许永远只会使用hadoop,而写不出一个hadoop,你只是一个hadoop程序员,而不是一个分布式程序员。
你也许永远只会使用struts,而忘记了自己写filter,你只是一个ssh程序员,而不是一个web工程师。
人言三十而立,如今二十有九,反反复复,虽然买房买车(俗了~),依然一事无成。
结婚5年,老婆再次怀孕,她很兴奋,我也很开心,由于时常加班,对她很抱歉。
目前离职,有些感触,特撰此文。
可能感兴趣的话题
重要的 不是 “会Java” 或者 “会C#” 而是 “会写程序”
只会一种语言,肯定连新手的门槛都过不了
关于伯乐在线博客
在这个信息爆炸的时代,人们已然被大量、快速并且简短的信息所包围。然而,我们相信:过多“快餐”式的阅读只会令人“虚胖”,缺乏实质的内涵。伯乐在线内容团队正试图以我们微薄的力量,把优秀的原创文章和译文分享给读者,为“快餐”添加一些“营养”元素。
新浪微博:
推荐微信号
(加好友请注明来意)
– 好的话题、有启发的回复、值得信赖的圈子
– 分享和发现有价值的内容与观点
– 为IT单身男女服务的征婚传播平台
– 优秀的工具资源导航
– 翻译传播优秀的外文文章
– 国内外的精选文章
– UI,网页,交互和用户体验
– 专注iOS技术分享
– 专注Android技术分享
– JavaScript, HTML5, CSS
– 专注Java技术分享
– 专注Python技术分享
& 2017 伯乐在线

我要回帖

更多关于 java程序员做什么 的文章

 

随机推荐