前言:由于有不少人咨询过我如果从.net转java,有什么技巧吗,我现在就分享我从.net转java的历程,这里不涉及两门语言的比较,记录的都是我个人的观点。
我是2013年11月正式开始使用.net这门语言工作一直到2016年3月份截止,前后近2年半的时间,从最开始的套站到用TDD来自己搭架构。说实话我很喜欢.net语言的,编辑器智能,语言很优雅也大家可以从我的博客中看到很多关于.net,但是在2016的一个转折点让我思考是不是应该转java了,因为当时2个同事相继离职,分别去了美团和小米(他们都是前端),谁不想去大企业发展呢,我也想,可是我看遍了网上的招聘,除了汽车之家、去哪儿基本没有知名度高的企业招聘,我又去看看java的真是太多大企业招聘,阿里、百度、美团、网易、爱奇艺等都有,所以那个时候真的想转行,所以在私下就会看了一点java的书籍。
有一天在一个EA(enterprise architect)群聊天,他说要招人,我就和他嫌扯几句,因为我会用EA画流程图、活动图、序列图等,所以他觉得非常合适他说他们却一个这样的人,希望我可以去他们那工作,最后在细聊的过程中发现他们是java,他问我你用什么语言我说.net,他迟疑了一下说,没关系语言不分家,就这样就被录用了,不过我自己整整纠结了2个星期到底要不要去,一个是并不是去做java而是先去画图说什么需求分析师,二个是虽然薪水比我原来薪水多了几千,但是五险一金缴纳比较多,而且老东家也提出加薪了,所以一直犹豫,最终我做出了选择,如果我继续去.net那我只能找一家好的企业待下去,可是外界比我现有公司好的已经不多,所以我必须去尝试,就这样踏上了java的道路。
刚刚开始去公司就是白天画图,各种图,也没让我从事java,我只能夜晚私下的学习,我记得当时我就想像.net那样搞个sqlhelper帮助类,然后能完成增删改查,整整搞了2个夜晚才搞定,我大学室友是搞java的,然后喊他给我指导他说谁还写这个现在都是Hibernate或者mybatis,我说你能不能搞定,他写了很久查了半天资料才搞定,我就说这要是.net我给你20分钟就搞定,你这是什么玩意.就这样我算是完成了第一步,会用库了,然后我就在网上查怎么初学者怎么学习java,有本书介绍的比较多《SERVLET/JSP深入详解 基于TOMCAT的WEB开发 孙鑫著》不是打广告,就这样按照书一步步的来,然后把所学就写在博客中来加强自己的理解,就这样我按照这样写终于完成了一个小的网页,真的好有成就感,感觉就像回到了刚刚接触.net那会,然后继续接着学习又开始了另一本书籍《30天学通Java_Web项目案例开发》然后按照这个例子开始写项目,而且在这基础上加上单元测试,就这样慢慢的准备期待哪天可以进行实战,机会又来了,公司由于规模不大,离职率也高所以就让我去开发,在这期间认识一个人感觉基础非常扎实,人也特别好,然后他带着就这样一步步开发,也越来越熟悉,在后来公司领导决定让我使用新的开发工具(idea),刚开始还不是很适应,但是用着用着发现这个可以媲美vs了,觉得异常好用。在私下我依然没有忘记去学习,继续了第三本书籍《SPRING in action》,就这样度过了刚刚开始不适应java那段路程,然后公司让我独立开发,承担并发量比较高的项目(优惠券相关)然后在网上学习了一些如何提升性能的方式然后还在GitHub上开源了我写的项目大家可以参考(https://github.com/lipeiNet/peiyu-mem)。再后来带我的那个哥们跳槽了去了jd,那整块业务就全部交给我了,当时知识已经够处理这段业务。再后来公司的CTO和架构师相继离职,而且听消息说公司老板打算从滴滴挖人并且用php开发,然后我知道自己是时候准备下一份工作了,然后就开始看java基础知识,包括源码等主要的书籍是《thinking in java》,到2017年3月份我觉得时机成熟了时候找新的企业去完成自己当初定下的目标,后来真的完成了自己的目前去了一家大企业,关于面试大家看这篇文章面试。
1、关于.net转java 一般有2中渠道风险稍微小点,第一就是内部转岗,和自己领导搞好关系,然后在和java部领导搞好关系,就算是平跳也是非常不错,我有一个同学这么做的,还不错。另一个就是先私信努力学习,做一些项目,然后没事就可以看一下招聘动态,说不定有意想不到的收获。
2、把以前用.net实现的项目用java实现,遇到问题去查询,然后在去看书效果会好很多,如果都好了不妨去看看java的源码,主要看集合那块。最后就可以出去试试水,看看面试官面试什么那么你就多看看这方面的知识(因为他们问的一般用的都是比较多的)
3、这里只是写出我自己的经历,有时候选择真的挺重要的。