上一次,写了一篇的“完整的程序员学习步骤以及知识点”。 有部分同学留言,是否还可以讲讲我的学习经验。 今天,这是我第一次口述,我的跨界学习成长经历,希望对你有所帮助。我先从单一一个技能学习主线路,开启今天我的跨界学习经验分享!
从借鉴开始学习
任何一门编程语言,都离不开上图的学习步骤和轨迹。
我知道部分同学喜欢跨越式学习,先掌握高阶的内容,然后再开始学习基础的部分。先把难度较大先攻破,然后再开始接触简单的和基础部分?
编程语言有很多种,java、php、c#、c、c++、phthon、javascript、ruby、go、groovy,我使用最多的是java,其次是javascript,再次是php、c#、groovy等,这与工作经历相关,偏向WEB为主。
每一门编程语言的学习,大部分都会经历上图的六个阶段,我先用其中的第一步做一个简单的回顾,然后才开始切入到我的跨界学习经验。
首先,从基础开始
java编程基础,先从语法开始:常量与变量、数据类型、运算符、流程控制语句..以及面向对象接触、常用类包熟悉、常用数据结构和算法等。
1 编程基础(语法掌握)
2 面向对象和设计(理念)
3 常用类包(集合等常用类)
4 常用数据结构和算法(语言背后的逻辑)
5 基础项目实践(结合开发环境和简单工具)
凡事都有一个学习目标以及结果
熟练使用eclipse编写java代码;
熟练使用java语言的常用类;
熟练部分数据结构;
掌握面向对象编程思想。
任何大牛,都要从helloworld开始。
其次,再开会编程语言高级
学完编程语言高级后,再实践,然后才开始WEB开发、数据库、常用框架、工具..等学习。
之所以,要给大家还原这个小插曲。其实,这就是一个典型的学习场景。任何一门新技能,总有一套规律的方法。只有找对了方法,才懂得循序渐进的重要性,才能事半功倍!
除了一个技能的学习主线外,有没有多个维度的跨界学习经验呢,是否跨界学习也有主旋律呢?
我的跨界学习经验
最早我是前段开发工程师出身,最早在newegg工作,当时的newegg相当于如今的京东,不管是知名度还是商业模式,后来的易迅总经理就是从newegg出来的..,回归正题。
由于我是所属于newegg的EC(电子商务组),我们最早的业务对象是在美国,当时中国新蛋还没开始建立和运作。所以,我们的客户都是老美为主。在美国这样的市场,由于用户大部分是老外为主,大家都知道浏览器在美国可是层出不穷啊,例如(当时的情况):ie 5.0开始、ie6.0..,firefox1.5开始的版本、safari、netscape等浏览器从低级到高级版本。
备注:当时,浏览器的祖师爷netscape,在当时可还是主流,ie也就在6.0左右,还没有chrome了。
绷着客户第一,当时newegg要求所有浏览器从低版本到高版本,要求所有版本都要支持。由于每个浏览器的核心解析引擎是不一样的,所以最后渲染出来的结果,有时候大部分浏览器都是OK的,比如Opera的某一个版本有一个空格被多渲染出来了或者说字体大了一号。这个时候,测试组就响应公司的号召了,主动提出:这是一个Bug。
我当时没有经历过这样的场景啊,”怎么能变态到这样的要求”,不是说好的ie、firefox支撑好了就可以了?
最后,在多浏览器上的问题,不管是css还是js,问题真是层出不穷。刚开始,我真的是硬着头皮上的。随着时间的推移,很多看似不可修改的bug,基本后面都修复了。很多看似不能完成的任务,后面基本都完成了。从刚开始的不自信,到后来慢慢变得逐渐自信起来了。我现在做还原,在当初的这个阶段,当初的自己,可以说是痛苦不堪来形容一点都不为过。多浏览器的经验在css、js等前端知识,就是在那个阶段积累起来的。可以这样说,在市面上没有几个具有多浏览器的前段经验,全靠自学和一步步磨炼。
也就是这一年,我从一个菜鸟到被逼着成了公司的前段高手。虽然过程蛮痛苦,但还算结果还不错。这是我第一次尝到甜头,知道原来学习是这样的,原来只需要反复磨炼和学习,一年后的变化可以有如此天翻地覆。所起在那里担心,还不如自己奋起一搏,抓紧时间去摸索方法。
之所以讲这段小插曲,因为这段经历对我太重要了。后面我又开始做后端,当时我前段基本都难不到我了。我就给领导提出,能否给我分一个后端开发的任务,前段和后端我同时兼顾。就是这个阶段,我的学习的信心建立起来了,我想多浏览器这么难的都搞定了,后端么侧敲旁同。所以就兼职做了asp,后来newegg又改为了.net。
按照正常的学习线路,后面我应该留在公司继续发展。也许这就是我好折腾的性格,后面才有离开了newegg这个已经适应的“温适圈”,开始了我的第二次跨界学习,进入淘宝开始java的新旅程。
去淘宝面试的时候老大们都知道我是.net(他们也不知道我擅长前段),初面是我的直接领导哲别,以及第二轮面试,当时的淘宝产品技术老大之一行癫(当时老大还是三丰)。是的,就是现在的阿里集团CTO,淘宝、天猫、聚划算等事业部的负责人:行癫。行癫的经历,堪称传奇,淘宝的第一代架构师,技术牛逼没的说,再到后来跨界做产品以及运营,最后做到了淘宝、天猫的总经理的位置,堪称技术人的终极学习目标。以后,有机会再给大家分享一段我在淘宝观察行癫的故事。
进入淘宝工作后,才发现java体系里,学习的东西比.net多好多,而且,我心里很清楚,要想在淘宝站稳脚跟,前3个月至关重要。由于有了newegg的这段学习经历,积累了一定的学习气场。而且neweg这段经历,还让我认识到了一个不变的真理:你如果怕什么就回来什么。所以,在刚进入淘宝的时候,一边学java一边适应新的环境,我都是迎接为主的姿态。我印象特别深,学了2个礼拜,就直接找老大哲别要活干,其实2礼拜怎么够呢,掌握的还不太好。当时,我知道这种姿态是必须要有的。再结合淘宝的学习氛围,我一不懂了就拉着我旁边的小哥问各种各样的问题,淘宝的开发环境当时还是比较杂乱的。
老大看我2礼拜主动找活干,当时还是很吃惊,还不断安抚我,“你再学学,不着急”。又过了2礼拜,也就是一个月后,老大开始安排项目了,没想到没有经历什么大的障碍,项目做的也挺好的。再到后面又做了很多淘宝内部的项目,从刚开始有师兄带,到后来自己做系统设计方案,再到我带小师弟,以及参与淘宝架构的设计等。
我自己后来回顾,主要还是得益于newegg的这段成长经历。让我从内心的里真正认识到了学习的主动性和心态的重要性。当然,我不会闲下来的,后面我又开始做架构师,转管理、转产品等。
我总结和还原,后面的这些跨界学习,基本都是来源于我早期的newegg的这段启蒙学习经验。
作者简介
陈睿|mikechen,10年+大厂架构经验,BAT资深面试官,就职于阿里巴巴、淘宝、百度等一线互联网大厂。
关注作者「mikechen」公众号,获取更多技术干货!
后台回复【架构】,即可获取《阿里架构师进阶专题全部合集》,后台回复【面试】即可获取《史上最全阿里Java面试题总结》