武汉课工场 > 新闻资讯 > 学员故事 >

徐威学员:5年java到全栈——我是如何做到的

栏目:学员故事 日期:2017-09-13 来源:武汉课工场官网 作者:武汉课工场官网

徐威在宏鹏毕业后,12年去上海泓智公司做java开发。打算在IT行业混出名堂,和带着一颗并不比别人差的心,他工作干的很有动力。很快成为公司开发组长,就在职业发展迅速的时候,他突然提出辞职。用他的话就是:我当时就是想走,并且我很快就走了,没有提前打报告。

01

他说:在泓智我已经把公司的技术要求用得滚瓜烂熟了。那来来回回几个框架的使用效率太慢,并且已经跟不上主流,起初的激情被磨没,没有新挑战,日子简直太难熬。

跳到文思海辉,果然又是一番新的天地,接触到更多技术。上一家公司还在使用struts1,现在用struts2,还可以接触到springhibernate,甚至还包括前端bootstrap。而后随着工作变动他又接触到了 spring  springMVC  myBatis 这些框架的使用。

今年初他回到武汉。他说,在这几年工作期间,对于开发,我所接触到的主要技术涵盖很多方面,一部分是在实际工作中所接触到的,其中包括,SpringSpringMvcHibernateMybatisRedisLinuxJqueryHtml5OracleMysql另外一部分则是利用业余时间自学的,其中包括CPythonPerlAndroid、网络安全等。不敢自称是全栈,IT之路任重道远。

他现在学习已经不再是为了胜任岗位工作。而是用编程思想去让整个公司高效运转。例如现在公司中他都是用自己的想法封装组件。一是为了提高工作效率,保证代码质量;二是,这些个性化组件可以形成公司代码规范,用来提高团队工作效率。

武汉课工场

02

以下是徐威对IT技术的感悟:

我不知道大家有没有听过一个叫破窗理论的故事,内容大概是这样的:一个房子如果窗户破了,没有人去修补,隔不久,其它窗户也会莫名其妙地被人打破;一面墙,如果出现一些涂鸦没有被清洗掉,很快的,墙上就布满了乱七八糟、不堪入目的东西。而我的技术就是从这个破窗理论的故事给我的启示开始的。

一段结构工整,具有语义化,易于阅读的代码和一段结构非常混乱,命名非常随性,且不易于阅读的代码,你会选择前者还是后者?结果很明显。在工作中,实际我们大部分时间都是在做着代码维护的工作,可能新加一些功能、也可能对旧的代码进行优化。在你看来写的很好的代码,你可能根本不想去破坏它的原始结构,而是想让它变的更完美;而对一些比较烂的代码,你会心想着都已经这么烂了,无所谓好不好了,只要快速完成功能交差就行,破罐子破摔吧。

在刚开始工作时,我是一个非常注重代码质量的人,对于好的代码,看起来简直就是一种完美的享受,并不让我觉得编程是一项非常苦逼的活。我也因此在那方面投入了很多时间,而之所以叫投入,是因为那是值得的。《代码整洁之道》和《编写可维护的Javascript》这两本书对代码规范都有明确的要求。前者主要以概念为主,后者则是概念与实践的结合。但是其实好的方式则是学习源码,你会发现那些业界大师们所编写的代码是极其规范的。

可能此时又有人会问,不就是代码规范嘛,需要这么这么较真嘛?是因为代码规范教会了我一种学习的思维方式,通常我在碰到一个棘手的问题时,通常会先对它进行分解成若干个小问题,保证每个小问题都是各自独立,然后逐一进行突破,即便有问题出现,也能快速发现。这种思维方式,就是来自代码规范的启示。即使这里显得有些空泛,但是编程本身就是对思维过程进行归纳和总结的一种活动。所以还是先从代码规范做起,多花那么一点时间去设计个好的方法名、好的变量名、好的类名。 

03

徐威的技术分享

如果在这,需要我分享一下自己编程思维的练习,大家去写技术日记

1.你可以梳理一下每天的学习过程,有哪些收获,哪些遗憾,通常你会发现,即使非常糟糕的一天,也有很多亮点。

2.对印象深刻的某个知识点或困惑点进行分析,可以分析起初为什么没有理解,又是通过哪种途径解决的,解决过程的思路是什么,解决后的感受是怎样的。

3.定期,比如以月考为分割点,每月进行回顾,对这个阶段学习过程进行反思和总结。

如果尝试一段时间,能够发现自己的改变,我们的思维能力和解决问题都会提高。遇到难题不再是即兴得这一点,那一点,而是一个逻辑清晰,条理分明的思考过程。

管理大师彼得·圣吉有句名言:要想教给人们一种新的思维方式,就不要刻意去教,而应当给他们提供一种工具,通过工具培养新的思维模式。而记日记是一个低成本,可操作性强的工具。

04

学好编程,没有捷径可走,就是要不断的练习,即使是天才,也是拿时间砸出来的。这是一个非常考验自制力和耐心的事情,有时候我调个bug的时间,已经到了凌晨2点。如果想要上进,就必须要和人的弱点抗争。

徐威凌晨2点多还在写

这就要求我们有发自内心对编程的兴趣,这也是促使我一直坚持下来根本的内驱力。每次我调试成功或者用更好的方法做出结果的时候,我很享受那种兴奋。

 这种动力会让我因为一个问题会思考很久,思考的并不是这行代码怎么写,而是用代码实现我的想法。我会画各种结构图,来锻炼抽象思维,这也是一件非常有趣的事情。程序的世界和现实生活真的很类似,这是一种直觉!如果有条件的话,我还是建议每个人都能学习下编程,因为它真的会教会你如何思考。

网站介绍

对于拓展技术方法主要是看书、网站和练习,家里堆满了编程书籍。读书一是要学会选好书来读,而鉴别一本好书的方法就是看里面的内容是否很有针对性地能够解决你平时练习中掉进去的那些。经常看书的人知道有的书籍是那种你翻10页过去了还没讲到重点,废话太多凑页数的。其次是将书里的知识进行操作检验,只有这样理解才会深刻。

番外篇

徐威和同学、同事的故事和宏鹏同学

我曾经的一个同学,在上海就业,他感觉自己学习上一直很吃力,有的东西我们学一遍可能就掌握了,可能对于他来说,可能要反复好多遍。在临近要找工作的时候,因为压力大,自己一个人在教室突然哭了起来。后来情况也不是很遭,他顺利在上海找到了工作。有次,我们在网上讨论编程的问题,他说:今天有个问题,我问公司的人,但是都没有一个人理他,还是威哥好。说实话,威哥这个称号我还真受不起,因为他年纪比我大!
再后来,我们也直接在视频上讨论编程的问题,他问我:威哥,你用过Postgresql。我说:没有呀,他说:威哥,你太谦虚了,我说:我是真没用过。后来,我们在视频中就这个问题也简单讨论了一番,当时我看的出来,他比以前自信了,因为他讲的东西完全搞的我懵逼了。我当时心里的感受是,大叔,继续加油!

和同事

另外一位是我同事,总是一张生无可恋的相,(姑且就这么形容了)。不过长的还是很秀气的!!有次,问我,sql中的exists的用法,我说:可以呀,我告诉你了,你要请我吃饭,后来,我还是告诉他了,至于吃饭的事,那就算了。后来,经过一段时间的接触,他问我的问题也越来越多。我通常在告诉他关键知识点的时候,可能很严肃,没考虑过他的感受(因为我跟他说的时候,我也没参杂个人情感)。无奈的是,那家伙还老是总觉得我瞧不起他。比较贱贱的是,既然觉得我瞧不起他,还总是嚷嚷着,威哥,你下次跳槽了,就带我飞!
再后来,在我的耳濡目染下,他打LoL也少了,居然还假装买了几本书,有次,还主动发信息过来告诉我,跟我说:威哥,我终于知道你为什么能编码到半夜3点了。这货,还是半夜给我发的信息。

和另一位同事

还有一位同事,在我看来的话,他的能力确实不达标,因为平时遇到一个比较小的问题,不先思考,就开始直接问。每次我过去,都是把代码写出来,然后他照搬。后来,也不知道什么原因,被调走了。偶尔我们也会在网上讨论编程的问题。

就在前几天,我们正在讨论一个图例显示的问题,我先说出我的想法,这一次,他没有完全同意,有了自己的想法,并且坚定就是那样的。其实,那时候我是感觉很高兴的,因为他正在进步,敢质疑我的想法了。那天讨论了三个小时,还说:威哥,认识你感觉真幸福。其实这是他自己努力的表现,在这里,我也希望他继续保持,只要肯学习,用点心,就会有进步。