[脑图]如何入门技术、进阶技术(技术开发人员)

最近学习各种各样的新的技术,总是会发现,有什么不知道怎么去学,入门,进阶,再深入的学习,所以,自己就摸索了一下,也看看网上大神们的学习方法,所以,进行了一个小的总结,如果有不对的地方,请谅解,欢迎大家在留言区留言,批评更正,毕竟我也是很菜的,和大家一起努力,共同进步吧,分享一下,希望对大家的学习有帮助。

一、先决条件

1、首先思想要主动求变,敢于跳出的自己的舒适区,对任何技术都抱有开放的心态。

贪图安稳是人的本性。而这种本性往往会阻碍你的发展。人所能了解的知识的多少,取决于自己的舒适区有多大,舒适区越大,与外界接壤的范围越大,就越感觉自己的无知。程序员至少要做到两点,不要对自己不了解的技术心存偏见,不要对自己不熟悉的技术心存恐惧。

2、要化被动式学习为主动式学习。

在中国很大一批程序员每天都是在被动式学习。什么是被动式学习?就是被人、事逼着去学习。今天新启动一个项目,技术调研不想采用新的技术,开发过程中碰到难题才会去查资料,整天就是把别人的、自已以前写的代码复制重用,复制以后出问题了也要花好长时间解决。

举个例子,一个程序员使用了Spring好几年,都不知道Spring的核心理念,不知道Spring框架结构,不知道Spring各个组件功能,不知道Spring各个组件功能,不知道Spring新版本的新特性。这是非常可怕的,因为你不知道这些东西,就无法采纳Spring的最佳实践,出现问题不知道如何快速定位,项目中的某些需求就无法使用Spring早已封装好的功能(因为你不知道Spring还能干这个)。主动式学习需要你未雨绸缪,不能临时抱佛脚。而且要把学习看做是对自己的积累和提高,看成是对自己的长期投资,不能抱有太强的功利性。

二、技术入门

1、学习一门新技术前,先要搞清楚为什么要学习它?没这个技术前我们是怎么干活的?有了它以后我们又是怎么干活的?它带来了哪些改变?

其实问这些问题,就是为了了解该技术解决或者简化了那个问题域的问题,又是采用了什么方式达到了这样的效果。就拿AngularJS为例,AngularJS最初是为了弥补HTML构建应用的不足。以前的HTML在设计时是为了展示多媒体信息,后来虽然拓展了一些动态功能,但是在应用web化的潮流下,HTML设计上的不足就越来越突出。比如DOM元素操控太繁琐、业务逻辑很难模块化、可测性低、开发效率底下等。而AngularJS采用了一种全新的设计来解决该问题,它提出了一系列概念,引入了数据绑定、标识符、路由、依赖注入等特性,大大简化了我们开发WEB开发的工作量。通过这样的方式能迅速建立起了对该技术的宏观认识,了解了其潜在的应用场景、应用方式以及一些局限性等。

2、接下来就要实际使用一下该技术的核心的功能,强化对它的认识。

方式就是参考该技术官网的Quick Start(快速开始)章节,一步一步来。

现在的程序员越来越珍惜时间,文档的简洁性、完备性、易上手都成了是否采纳某项技术的指标之一。尤其是现在的各种开源组件,连文档都是开源的。所以很多文档都是完全按照程序员的思维写的,读起来很清爽。

再拿Spring来说,想学习Spring4.0推出的Springboot组件,那么可以访问其官网,页面上最大的按钮就是Quick Start。点击学习吧。页面是一个简单的例子,可能花不了你五分钟。

如果还没过瘾,右边又列出了更多的Getting Started Guides,也是一步一步的教你进阶功能。

有些人可能要问了,英语不好怎么办?请学英文。英文是一个优秀程序员的必备技能。

可能也有人说,看文档时有各种杂音咋办。比如看Spring boot的start guide,需要之前对Spring有一定了解,需要知道tomcat、jetty是干啥的,需要有一定gradle或者maven使用经验…这些知识在演练Spring boot的那个小程序时都需要,但由于这些杂音的干扰,会拖慢学习的过程。摆脱这些杂音的唯一方式就是,对于那些不了解的知识点,也花时间去学习吧。所以学习是一个良性循环的过程,学的越多,就学的越快。

三、技术进阶

1、前面两步能够保证你对一门技术入门,那么如何进阶呢?

这个阶段就是读了。从官网上把该技术的详细文档扒拉下来,使劲读吧。通读这些文档能让你进入它的实现细节,以及各种使用方式与场景,甚至一些最佳实践。

比如Spring boot官方文档,详细到了牙齿。凡是你想到的、没想到的,文档都贴心的列了出来。如果你想学习Scala,那么请访问http://www.scala-lang.org/documentation/,各种文档应有尽有,读完就是大半个Scala专家。一门技术最好的文档必须是它的官方文档,如果不是,那么这门技术火不了。

注意通读文档的过程中一定要在项目加以运用。如果在项目中没实践机会,自己可以写一些小的demo来实践。学习知识时实践与理论相结合的道理恒古不变。

2、走完前三步,你对这门技术的理解已经比大多数人强了。你可以算掌握这门技术了。那么还有进阶方式没?

当然有,那就是把你所学、所想讲出来,写出来,暴露在公众之下,接受批判,从而发现自己的不足,促使你进步。有空给大家做几个讲座,写几个系列文章,那么你在大家眼中就成了这门技术的牛人。你就有了各种机会来解决使用该技术遇到的各种疑难杂症,反过来加深和修正你的理解。没事上上StackOverFlow,回答别人几个问题,或者订阅该技术的问题列表,经常看一看。

3、继续深入

加入国内/国际技术社区(国内没这样的社区咋办,机会来了,赶紧自己建一个),进一步发挥自己影响力。翻译、编写与该技术相关的书籍;如果该技术是开源的,那么有时间就提交修改把,自己就成了开发者一员了。

这就是质的飞跃,从使用工具进阶到创造工具。

走完5步,你已经不是仅仅掌握这门技术了,你已经超神了好吧!有人可能又会问,能达到这五步的肯定要花很长时间,不是一般人能够到的高度。

那当然了,这个过程肯定很难,但并非难到登天。至少我身边有很多这样的例子。其实你只要完成前三步,你就比50%的程序员牛了,完成第四步,你已经站在90%程序员的前面。

四、总结(脑图)

这里写图片描述

原文发布于微信公众号 - 好好学java(SIHAIloveJAVA)

原文发表时间:2018-06-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏web前端教室

刚进公司,接手了一个烂项目,要不要继续?

如题,刚进公司,说是做新项目,刚开始有一些眉目。结果领导不知从哪接了个活儿过来,代码各种烂,重复代码一堆,一个大函数1000多行。说是临时抽你过来顶上去做,做一...

3038
来自专栏华章科技

大数据告诉你:如何让大忙人及时回复邮件

网上教人们如何写邮件的建议不少,但大多还没有数据做支撑。最近,邮件效率服务商Boomerang通过分析5300多万封邮件数据,找出了一些影响邮件回复率的窍门。总...

591
来自专栏杨熹的专栏

2017 我想要骑着光轮2000去追金色飞贼

2017 我想要骑着 光轮2000 去 追金色飞贼 一转眼就到了年底,大家都在忙着做盘点,做总结,做计划。 我也来回顾一下,先来复习一下超级个体的成长工具...

3546
来自专栏Vamei实验室

门外汉的IT

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!

1812
来自专栏机器人网

高水平自动化工程师是如何炼成的?

成长篇:如何成为一名合格的工程师 初入工控行业的年轻人,肯定梦想着早日成为一名合格的电气工程师。 个人觉得,首要任务,需要具备以下几个能力: 能用计算机进行...

3406
来自专栏HansBug's Lab

【作业4.0】HansBug的第四次面向对象课程思考

1163
来自专栏程序人生

黑客马拉松

软件开发听上去高大上,但实际很简单,全部活动可以分为两类:造轮子,搭积木。这和建筑行业很相似 —— 甚至相似到软件业懒得自己编词,借用建筑业的architect...

3255
来自专栏hbbliyong

每个人都应该看的--怎样管理您的知识

知识管理方法论解决的是效率和效果的问题,其实没有方法论的时候,足够的专注和努力也是可以的,许三多就是这方面的典型代表,他几乎没有什么技巧性的方法,完全是靠执着...

29711
来自专栏日常学python

用数据分析来看哪种 Python 程序员最赚钱?

本文以Python爬虫、数据分析、后端、数据挖掘、全栈开发、运维开发、高级开发工程师、大数据、机器学习、架构师这10个岗位,从拉勾网上爬取了相应的职位信息和任职...

4254
来自专栏机器之心

教程 | 如何通过57行代码复制价值8600万澳元的车牌识别项目

选自Medium 作者:Tait Brown 机器之心编译 参与:蒋思源、黄小天 Tait Brown 利用 Openalpr 库和 VicRoads API ...

4716

扫码关注云+社区

领取腾讯云代金券