之前写的 一个IT工薪族的4年奋斗成果  这篇文章,更多针对白领、互联网从业者、技术人员等广泛人群提出来的“职业发展路线”,更准确的说法应该是“能力模型”。

本文,单独针对“程序员”等IT互联网技术人员,提出自己比较认可的“技术学习路线”。

美其名曰:隆中对,技术人员心中的“隆中对”!

网上,也有很多类似“Java学习7步走”,“Android学习路线图”等某个技术领域的“技术学习路线”,写得非常好。

不过,在我看来,过于“细节”了,细节,永远也写不完!

人的一生是很有限的,不过短短百年!

回顾自己的技术学习之路,得出如下结论:技术学习是有规律可循的。

一、技术学习路线

1.从有编程经验的人员角度

第1步:计算机原理,从全局角度,了解计算机这个“硬件平台”和“软件平台”,核心部件之间的关系。

第2步:操作系统,在计算机硬件和软件之上,构建自己的“软件平台”,Windows和Mac、Android和iOS。

第3步:算法,在硬件和软件平台上,能够把现实中的问题,用计算机语言解决它。

第4步:网络和协议(底层+应用层),计算机不是孤立存在的,软件也是可以互相交流的。

第5步:编程语言(C++、Java、PHP等)。

用具体的语言,具体的算法,解决具体的问题。

数学问题、画图、游戏、任务调度、AI等。

第6步:面向对象、软件工程、设计模式,理论上的升华。

第7步:广度优先(看个人),学习多种操作系统、多种编程语言、多种协议。

第8步:框架、中间件、云平台。一个具体的问题,有多种技术参考。

理想境界:研发一个大型项目,可以画出全局图。项目进度路线图、技术架构图、任务分配图。

重在全局!

2.从初学者角度

第1步:初步浏览计算机原理、操作系统、编程语言等,不求一次搞懂,能懂多少就懂多少。

第2步:会使用操作系统的各种功能,能使用IDE。

第3步:深入学习一门编程语言。

只要能够使用一种编程语言,独自搞定1个项目,其它就都不是问题了。

第4步:学习面向对象等理论,使用编程语言的官方和第三方框架。

第5步:参照“从有编程经验的人员角度”,重新规划自己的学习路线。

理想境界:信心很重要!不要被当前阶段无法理解的技术吓住了!

3.补充说明

本文针对“所有程序员”,而非Java程序员或者Android程序员。

本文仅提出“技术学习路线”,不包括管理、职业发展等其它话题。

Java程序员,Android程序员等,可以有自己某个领域的路线图,比如“Java学习7步走“,”Android学习路线图“。

二、技术全局观

学习技术时,最迟也要在学完后,对它应该有个“全局”的认识。这项技术,出现的背景是啥,解决了什么问题,和其它技术的关系是啥。

计算机原理:CPU、内存、IO、

操作系统:线程、线程调度、网络

Linux:各种命令,Shell脚本

Windows:各种功能,很多功能,不去研究,根本不知道

Mac:不怎么好用,还在熟悉中

Android:分分钟就会用了

网络协议:TCP/IP、HTTP协议

编程基础:语法、数据类型(int,string,double)、语句(顺序、选择、循环)、函数,引用和指针

编程语言:编程基础、基础语法、高级语法、官方API文档、官方框架、第三方框架

编程工具:IDE(Eclipse、AndroidStudio、HBuilder、VisiualStudio等)、记事本、

算法:排序、查找,具体领域的算法(网页搜索、AI、交通调度)

面向对象:对象、类、多态

设计模式:23+

软件工程:项目开发等理论,工期管理,质量控制等方方面面

三、技术平台和解决的问题

PC:Windows编程、Mac编程

Web:

前端:JavaScript、HTML、CSS

后端:Java、PHP、.Net、Nodejs、Python等

Mobile:手机、平板电脑(Android、iOS)

其它:嵌入式设备、冰箱和机器人等各种硬件平台,硬件平台之上往往都有个软件平台

解决的问题:

数学问题:算数求解、公式论证等

信息检索:查找论文、查找信息等

网络聊天:文字聊天、语音聊天等

网络游戏:斗地主、中国象棋、Dota等

其它:...

技术带给我们的现代文明:

千里之外,可以和老妈视频聊天。

教会了老爸QQ欢乐斗地主,老爸多了一点欢乐。

互联网上可以找到完整的学习资料,一个智力正常的人,好好利用,二十年必成大师!

四、技术清单

常见的技术,列了一部分自己熟悉的。

这部分在我看来,就是“细节”了,不在本文详细描述。

编程语言和框架

Java

ApacheCommons:Java语言编写的,一大堆工具类,编程必备,大大提高开发效率

Freemarker:模版语言,JSP、Freemarker、Velocity等一大堆都是这个“概念”!

SSM:MVC、IoC等一站式解决方案、持久层-数据访问层

JS

语法:基础语法(和静态性编程语言比较接近)、高级语法(原型、闭包、面向对象)

框架:一站式解决方案,JQuery,AngularJS,JqueryEasyUI

http://bbs.jeasyuicn.com/forum.php

http://www.kendoui.com/

http://jqueryui.com/demos/

http://www.jeasyui.com/download/index.php

组件:第三方+自己实现

验证:jquery验证

富文本:http://kindeditor.net/index.php

图片上传: http://fex-team.github.io/webuploader/

对话框:https://github.com/aui/artDialog

日历:http://www.my97.net/

表格:用自己的fupage

树:http://www.ztree.me/v3/main.php#_zTreeInfo

轮播图:http://www.lanrentuku.com/down/js/jiaodiantu-989/api.html#sub_table_01

Ajax:Jquery Ajax,跨域,jsonp

互联网开发

分布式事务:

TCC:Java框架 https://github.com/changmingxie/tcc-transaction

Base:只有思路

分布式锁:Zookeeper、Redis、Memcache

分布式Session:Cookie+Redis,Tomcat Session+Redis

服务化/SOA:Dubbo、WebService,其它框架

运维和自动化及基础服务

Jekins、Linux-Shell脚本、Maven

Nginx:服务端代理

Zookeeper:注册中心

Redis:缓存

缓存:Memcache

云服务

阿里云、腾讯云,基础硬件服务IaaS、平台服务PaaS、应用服务Saas

其它

PHP:基础语法,IDE,ThinkPHP

Node.js:异步编程,Express

Windows编程,MFC,WindowsAPI

Android:Java基础、4大组件、IDE

CSS:Bootstrap

Object-C,Python

数据库:MySQL、Mongodb

大数据:Hadoop、HBase之类的

......

五、技术太多怎么办

推荐3个方法

提前学习: 提前了解互联网上较为流行的技术,论坛博客中提到的技术,有人正在用的技术通常是值得了解的

 延迟学习:不求一次性把一项技术搞明白,了解大概就可以了,实际中需要的时候,再深入学习

 快读学习:读书-看博客,重点看 上下文背景+目录,而不是“正文”。

六、小结,全局观和执行力

技术学习路线,技术全局观和技术清单。

这些技术的学习顺序,他们之间的关系和重要性,是需要思考和选择的。

只要对技术学习有了个全局的认识,理清了技术所能够解决的问题。按照我们自己的目标,坚持学习下去,10年之内,

一定可以达到较高的水平。

七、相关文章

1. 一个IT工薪族的4年奋斗成果

2.定义和分析问题,往往比解决具体问题更重要

3.如何在三个月内获得三年的工作经验

4.考上好大学,然后进入IT行业是穷人孩子晋级中产的唯一出路?

5.技术兴衰与开发者的技术发展路线

一个非常重要的值得思考的问题

你学习技术是为了什么呢?成为自己认可或者大家认可的“技术大牛”?还是赚钱多多益善的“财主”呢?还是?

隆中对,程序员修炼之道,技术学习前进之路相关推荐

  1. java程序员修炼之道

    今天在论坛里看到了一位工作10年的java大牛总结的java程序员修炼之道,看完后给出的评价是:字字玑珠,深入人心,猛回头,自己一无是处··· 大牛告诉我们应该好好学习与修炼以下知识与技能 Java语 ...

  2. 《Ruby程序员修炼之道》(第2版)目录—导读

    版权 Ruby程序员修炼之道(第2版) • 著 [美] David A. Black 译 钟凤鸣 陈雪静 责任编辑 杨海玲 • 人民邮电出版社出版发行 北京市丰台区成寿寺路11号 邮编 100164 ...

  3. 《程序员修炼之道》笔记(一)

    这几天开始看<程序员修炼之道>,也许不少人看了书的标题,第一时间会觉得这是鸡汤一类的书.但至少以我自己的感受来看,这是很棒的书,现代人文主义不是提倡自我意识嘛,自己感觉好的就是好的.况且人 ...

  4. 《程序员修炼之道(第2版)》!屹立20年王者归来!

    推荐语:收到博文视点的新书<程序员修炼之道(第2版),反复拜读,确实非常全面,涵盖编程,并发,架构,程序员个人修炼,团队,项目等方面 标题已经完全代表博文菌想说的话了! <程序员修炼之道( ...

  5. 读《程序员修炼之道——从小工到专家》(The Pragmatic Programmer: From Journeyman to Master)

    花了几天时间略读完了<程序员修炼之道--从小工到专家>(The Pragmatic Programmer: From Journeyman to Master).总体感觉就像是一位多年开发 ...

  6. 知识资产投资——《程序员修炼之道》的建议

    <程序员修炼之道:从小工到专家>曾经获得第14届JOLT大奖,很多程序员可能都知道甚至看过.我还没看完,初步给我留下三个印象: 书上的例子还比较有趣,仔细品位又是觉得很有哲理,比如那个&q ...

  7. 《Ruby程序员修炼之道》(第2版)—第1章1.4节易用的Ruby工具和应用程序

    本节书摘来自异步社区<Ruby程序员修炼之道>一书中的第1章,第1.4节易用的Ruby工具和应用程序,作者[美]David A. Black(戴维 A. 布莱克),更多章节内容可以访问云栖 ...

  8. [拇指飞动]读《程序员修炼之道:从小工到专家》

    在很多Must Read推荐书目中,<The.Pragmatic.Programmer_From.Journeyman.to.Master[1999][CHS][PDF]>(<程序员 ...

  9. 程序员修炼之道:从小工到专家pdf

    下载地址:网盘下载 内容简介 编辑 <程序员修炼之道>(The Pragmatic Programmer)由一系列独立的部分组成,涵盖的主题从个人责任.职业发展,到用于使代码保持灵活并且易 ...

  10. 《Ruby程序员修炼之道》(第2版)—第1章1.1节进入Ruby的世界

    本节书摘来自异步社区<Ruby程序员修炼之道>一书中的第1章,第1.1节进入Ruby的世界,作者[美]David A. Black(戴维 A. 布莱克),更多章节内容可以访问云栖社区&qu ...

最新文章

  1. Android resource linking failed
  2. git上传文件到github
  3. 修改Centos7的网卡ens32 改为eth0
  4. Linux命令之文件处理
  5. id jquery选择器 开头_HTML的id选择器类选择器
  6. Windows自动删除n天前的文件的批处理脚本
  7. JavaScript与二进制数据的恩怨情仇
  8. ROS Rviz 显示超声波测量范围 Python
  9. vs2019建立web工程_自动化工程师的C#之路(1)
  10. 全志 Allwinner V3S 开发环境搭建 (一)虚拟机搭建 Oracle VM VirtualBox6.1 Ubuntu14.4
  11. python绘制折线图显示点数据_Python_散点图与折线图绘制
  12. 最近频繁用到正则表达式,恶补一下,高手略过(零宽断言)
  13. 给WordPress加个评论关闭时间提示
  14. Protected Process Light(PPL)微软系统进程保护机制
  15. 抖音算法2023届秋招快上车
  16. Nacos服务健康监测
  17. 小米路由器的服务器无响应怎么回事,小米路由器常见问题与解决方法(高级功能) | 192路由网...
  18. clistctrl获取选中行数据_自动化报表——课程3:数据清洗
  19. 【java PTA实验】认真做实验的弱菜(6 / 7)
  20. 用户代理检测与浏览器Ua详细分析

热门文章

  1. oracle常用分析函数与聚合函数的用法
  2. WordBias | 可视化文本中的偏见(刻板印象)
  3. 2017阿里实习生在线编程题
  4. PHP判断ip是否在指定IP段内(微信支付回调IP段验证)
  5. 真的有这么丝滑:3D头发建模新方法NeuralHDHair,浙大、ETH Zurich、CityU联合出品...
  6. 怎样将PPT文件进行压缩?这几步很简单
  7. LeetCode 71-80题
  8. svm手写数字识别python_SVM算法识别手写体数字
  9. html迷你音乐播放器,javascript开发迷你音乐播放器
  10. html手机网站打不开,手机网页打不开是什么原因?网络正常但打不开网页怎么回事...