-
这里是筑梦师Winston,本文致力于将自己如何从0到1成为一名前端/全栈工程师的路线图,原版在简书发布,但很多人告诉那篇路线图并不友好,学习路线陡峭。
-
经过长达90天的自学和实践,我也发现了之前路线图的缺陷和不足,因为简书的样式限定,无法达到本文要求,故在Github长期分享个人经过实践总结的路线图.
-
我不是大神,也不厉害,我可能成为不了你列表中大神的一员,但我可以成为你列表中和你一起学习的一员。我只会是一个活生生的在努力学习的例子。
- 所有在培训机构以及在校大学生、计算机系和非计算机系并对编程感兴趣的人。
- 所有想从事程序员行业的非本专业、非科班、转业的社会人群。
- 所有在职程序员学习,并想要提升自己的人。
-
如果您是一名想要自学,并且还有可能是非科班出身的人,无论您出身如何,我们都始终欢迎您加入我们,一起自学。
-
如果您是一名热爱分享,谦虚好学,成熟沉稳的大牛,想要更好的引导即将入行的大学生和转业人士,欢迎您加入我们Learn+Code Club提供您的资源以及宝贵的意见。
-
如果您在阅读本文时有什么好的想法及建议,或者发现了错误,以及不妥之处,还请您积极提出issue,我们会及时更新,谢绝恶意灌水。
- 只想要学习前端的同学看到第三阶段前端向即可。
- 全栈向可以选择性看完全部。
- 后端开发目前只提供部分PHP,Java后台后续会放出。
- 本手册只代表个人观点。
- 准备阶段
- 第一阶段学习
- 第二阶段学习
- 第三阶段学习(前端向)
- 第三阶段学习(后端向)
- 第三阶段学习(Node全栈向)
- 第四阶段学习(经验向)
- 第五阶段学习(架构进阶向)
- 尽请期待
程序员必备 | 程序员必备 | 前端必备 | 前辈博客 | 推荐博客 | 其他 |
---|---|---|---|---|---|
StackOverFlow | CNode社区 | 前端的收藏夹 | 阮一峰的博客 | 祈澈姑娘 | 脚本之家 |
LeetCode | 开源** | 前端必备收藏 | 廖雪峰的博客 | 筑梦师 | 站长工具 |
掘金 | CSDN | JS前端开发联盟群 | 张鑫旭的博客 | vivian | 编程语言排行榜 |
思否 | 知识星球 | JavaScript参考标准 | 陈皓的博客 | java3y | 在线JS代码测试 |
简书 | 51CTO | 伯乐在线论坛 | 今日头条技术博客 | zhisheng | 在线文档查询 |
知乎 | 极客导航 | MarkDown排版利器 | 前端农民工的博客 | 贾顺明 | |
小专栏 | 慕课网 | 火狐开发者官方手册 | 尤小右的博客 | 幾文山 | |
InfoQ | V2EX社区 | 极客导航-前端 | CSS魔法的博客 | sindrilin | |
腾讯ISUX | w3cplus | W3C-School | 小胡子哥的博客 | 沈唁志 |
在看下面文章之前,请先看我这篇文章,它阐述了我个人观点以及个人的学习方法,您可以先判断自己是否适合程序员这个行业,不要盲目入行,后悔终生啊。
这里粘贴部分 给没有点链接的人
是否适合程序员
首先,判断自己是否适合程序员这个职业.
在校大学生&应届毕业生
1.是否计算机相关专业?
如果不是计算机相关专业,判断自己是否会适合程序员或者计算机工作的学习.例如:打字速度,不会厌倦电脑,独立钻研的能力.
2.是否在学习C语言等计算机课程还算得心应手?
数学和英语能力,以及计算机基础学的是否扎实,都决定了以后你能达到的高度上限,如果你学的并不扎实,不用担心,你只是会比别人慢一点到达同样高度而已,只要努力学习.
3.是否对着程序员这行或者计算机语言有着浓厚的兴趣?
我个人看法,学习能力是一方面,在勤能补拙的基础上,往往兴趣却是能支持你在程序员道路上越走越长的核心.
社会人士&其他职业
1.是否是发自内心的学习?
不是单纯的因为程序员行业工资高,而是想来学一门技术的.单纯把程序员当成挣钱的工具,会限制你以后能到达的高度.怎么限制?可能没有兴趣两年以后就转行了这种程度.
2.是否适合程序员行业?
挣钱的行业很多,不只程序员,程序员大多996模式,自己是否适应长时间在电脑前工作?
3.是否有着改变人生的想法?
往往社会人员进行转行时要比应届毕业生有着更大决心,否则你不会在这条路上走太远,你需要比大学生更有耐心和毅力进行学习.
程序员需要谦虚、好学、内敛、成熟的人,因为不仅需要不断的学习,还需要人际交流、灵活变通、独立解决问题、主观意识.你才可以达到一般程序猿到达不了的高度.
高工资是需要不断学习的,而不是空口白话就有的高工资
- 安卓应用开发 Android
- Java SE
- Kotlin
- 苹果应用开发 iOS
- Objective-C
- Swift
- 电脑端应用开发 & 硬件开发
- C
- C++
- C#
- VB
- UI设计师
- Photoshop
- Sketch
- 前端网页开发 & 小程序开发 Front-End
- HTML5 +CSS3
- JavaScript
- Vue.js | React.js | Angular.js
- 后端开发工程师
- PHP
- Java
- Python
- Bash
- Shell
- 运维工程师
- Bash
- Shell
- Python
- 应用架构师 & 产品架构师
- 音视频开发
- FFmpeg
- OpenCV
- 区块链
- 大数据
- 人工智能
- 技术经理 & 产品经理
- SDK开发工程师
- 其他语言
- GO语言
- Ruby语言
- Swift语言
- .Net语言
- Lua语言
- Kotlin语言
- TypeScript语言
- 2015年3月-2016年6月 全国各地培训机构集中培训iOS开发工程师,导致iOS行业就业苦难。 2017年3月 全国各地培训机构全部取消了对iOS开发的培训,iOS行业回暖。
- 2016年6月-2017年8月 全国各地集中培训H5前端开发工程师,该行业受到些许影响,但是因为小程序和公众号的兴起,使得H5承受住了这次考验,同年,iOS和安卓开发被培训机构合并为"大前端"课程
- 2016年11月 大数据行业新兴,但至今未火的原因是师资力量和岗位需求.可能是培训出来的不能达到企业要求,或是企业大部分选择校内直招。
- 2017年6月 AR、VR行业兴起。直播行业兴起。小视频兴起。故音视频开发人员需求大增。
- 2017年 人工智能和区块链兴起,但对数学要求比较高,企业招聘大多走校内招聘,要求研究生学历。
- 其他未提及语言,均为成熟的语言,各个语言领域都有同一个情况:初级API工程师过多,有**有技术的工程师很少,高级工程师紧缺,所以你还在等什么,你只需要稍微努力一点,就可以比很多人优秀。
- Sublime Text 3
- VS Code
- Web Strom
- IDEA
- Atom
- Vim
- Emacs
如果只是单纯的喊让你去好好学习,认真刻苦的学,一定没有效果,所以我打算晓之以理,动之以情。
可能在学校,你无法体会到一分耕耘一分收获的感觉,你认为那永远是别人的事,那些优秀的人,现在正过着自己想要的生活,可你有没有想过,自己去争取自己想要的生活。说到这里,又有些像鸡汤了,我也听抵制喊口号不做事的人。
我希望你可以行动起来,而不是原地踏步,谁体面的生活背后没有艰辛的努力呢,他人的艰辛你是看不到的。为什么说到这里你没有感触,因为你就没有正经的努力过。
说一下我自己吧,努力前,我过着悠闲的都市生活,公司和家两点一线,3个月看50页书。业务逻辑都能实现,没必要提升自己,但这就好比温水煮青蛙,不进则退。同时也因为身体原因,被迫辞职回家了。
在找到学习方法以后,我每天都充斥在学习当中,当然开始的时候我一周也会玩几次游戏,但在几次学习方法改进之后,游戏这个东西几乎是没碰过了。
还记的高中时,每天都埋在题海的日子吗?你还能想当初一样努力吗?在经过这几年的大学生活洗礼之后.是否还能想当初一样为了自己想上的大学一样,为了自己的生活再奋斗一次?
鸡汤到此为止,当你真正决定踏入程序员这个行业后,或是看到我为你推荐的学习路线图,你就会发现,当你仔细规划以后,你的时间是不够用的。请你记住,在你真正成为一个能独立工作的程序员之前,你学习阶段这段时光是最珍贵的,你如果抽出时间去打游戏,你将来会后悔的。你会发现当工作的重负和产品经理无理的需求充斥了你的生活以后,你根本抽不出时间去学习提升自己。
当看了我的学习路线图后,不要惊讶有那么多书,有那么多知识点,我个人已经实际践行了,下面就需要你来证明比我优秀,比我更适合当程序员。
最后一点给所有转业和非科班出身的人说:我们已经在学历和基础上差了那些科班出身的大学生很多了,尽管他们很多都是混日子的,但如何超越他们成为更出色的程序员,非努力和认真缺一不可,如果你在这个时候还心想着规划如何娱乐和游戏,那么你注定要被淘汰。
学习力不同于学习能力,而是将知识资源转换为知识储备的能力,你看了多少书、文章,这是你的知识总量(阅读量),但不是你拥有的.你能够讲出来的知识,就是你所拥有的.
学习一定要找到难度适中,需要一定时间学习才能理解的知识.而且以后能用的上. 从遇到的问题出发,从能实践的领域出发去找适合的认知材料。 不要一上来就阅读数据结构、算法导论这种圣经类的书籍,而是一步一步来.
当我遇到一个自己不会的知识点时,我会进行百度,进行泛读,充分结合各个大神的文章,进行理解,重点是自己个人的理解.做笔记.辩证的看待每个人的文章,然后提炼到自己的笔记里.
遇到难点时,我会询问列表里的大神,是否在工作中也是这个做法.得到答案. 整理以后,可以用自己的话描述出这些知识点. 在讲的过程中,就会发现自己的话有瑕疵,就会去寻找正确的说法,不断修正自己.
如何提高巩固自己的实力,也是本人最喜欢的一个学习方法,在整理自己的笔记之后,尝试把自己的笔记转成文章输出出来,放在博客,简书或者CSDN等技术论坛上. 在输出的同时,在追求完美的同时,就会发现自己的不足,搜罗各种知识点,结合自己的理解.
最后变成自己的输出文章.这就是输出倒逼输入.完美的文章逼着自己学习更多的知识.
我是一步步自学探路过来的,我很清楚你们所谓的自学的情况是什么,几点到几点看什么书,几点到几点看什么视频,从来没有按时完成,然后一拖就石沉大海了。
不要给自己的目标限制死时间,因为一件事可能会被耽误,那么接下来的目标都会耽误,而是要以完成目标、达到目的为中心进行学习。例如我这两天要看完一本书,那么这本书可能会有些难懂,我可能需要再多一天,那么我便三天去看完这本书,我的目的是看完这本书,而不是在有限的时间内,我的重心是学习这本书的知识。
在完成了某两天的目标以后,再完成下一个目标,因为你无法预估你是会提前完成你的目标,还是延后。
这就是弹性时间学习法,以完成目标为重心的学习方法
随机目标就是,不要只把学习的重点只放在一个范围内,而是要做好随时跳出去的准备,只有懂得多了,才能更容易理解后面的知识。简单来说,每本书都不可能面面俱到,他不可能把一个业务逻辑所涉及的方方面面都给你讲一遍,有时候需要你自己去延伸,如果你不延伸,你又无法读懂后面的知识。
例如学习HTML和CSS的过程中,可能会涉及到Cookie和Session,那么这两个东西又属于HTTP协议,如果这个时候,你不去延伸一下什么是HTTP协议的话,后面的内容就无法融会贯通。
学习编程语言不是为了看书的数量,刷视频刷代码的次数,而是在于连贯性,越能融会贯通你学习编程语言的速度就越快。
沉浸式学习法,毫无疑问,就是没有任何干扰。这里指的不是外界干扰,就拿我来说,我可以在KFC非常吵闹的地方看书敲代码。却有时无法在家中静下心来想事情。
所谓的沉浸,便是把自己沉浸在学习中,远离游戏,远离来自自身的一切干扰,例如聊天软件非必要不开,例如游戏该戒就戒,现在的努力和刻苦是为了以后更好地生活和打游戏,别因为现在的一时痛快,浪费了整个人生。
那么高效的开发,为什么推荐Mac呢,因为快捷键太方便了,我会将常用的终端,文本编辑器设置快捷键,快速调用. 关于笔记,我本人会开启三个笔记窗口,使用的是Omni outliner.
- 自学笔记,该笔记针对并记录在书中的问题,以及书中重点.
- 视频笔记+学习日志,该笔记针对每天的学习中遇到的问题,以及在各个视频当中汲取的知识点的笔记.
- 输出笔记,例如:全栈工程师开发入门笔记,该笔记按照文章输出规范整理,每一个知识点,都可以成为一篇文章输出,不整理好不写入笔记,这就是我的财富.一定要漂漂亮亮的.
说一个在高质量群听到的把,我97年在群里算年龄小吧,但是当我得知比我小6个月,已经在16年拿到了16K 15薪的时候,那个压力,虽然我不喜欢攀比,但当你知道,很多人都比你强的时候,你自己就会很冷静,时刻明白自己还要努力很多.就不会把时间放在娱乐上.
就是压力,让我现在可以把一整天的精力都放在学习上,而不是打游戏,看电影,环境很重要.
规划了个人目标以后,我们可以开始程序员的学习了.那么怎么进行学习呢,我是一个小白,我怎么知道该学习什么呢.找个人带带吗?
自学:
自学往往需要一个良好的学习环境,以及高效的学习方法,往往需要大量的时间成本,大量时间成本最适合大三大四的学生,在最后的两年进行自学,完全可以达到毕业后寻找工作的程度.
但是你要做到不被寝室的人干扰哦. 自学大概需要2年的时间成本,社会人士0基础可能需要更长.请慎重考虑
找人带:
相对社会转业人士,往往迫切的需要投入程序员行业开始赚钱.那么怎么办呢.这时候就体现你的人脉了.
首先寻找自己人脉中的程序员,看看有没有更好的推荐以及实习机会.找到人带,往往是最好的途径,可由于目前互联网经济快速发展,程序员并没有空带实习.大公司都喜欢培养985 211的迎接毕业生.
最快的方法是快速入门一门语言,然后找一个实习工作,看看人脉当中有没有这个机会. 如果没有,而且又想转行的,只能考虑下面这个了.
培训:
首先说明一下,我并不推荐培训,为什么这么说呢.
个人看法:很多人都觉培训机构坑,是因为培训机构根本不会看你适不适合程序员这个行业,就会把你拉去学习,有些人对计算机一窍不通,听说高工资,被拉过去以后交了钱也学不会,这就是培训机构被骂的原因.培训机构只想挣钱,并没有在人上面进行把关.
如果你觉得自己的确适合程序员这个行业,而且还有着刻苦学习,克服困难的毅力,那我只能勉强同意你来培训机构进行学习.
如果没有,你还是选择别的行业吧,程序员真的不是随便培训一下,你就很厉害了.
在培训机构,还有一个重点就是,你不能被老师灌输思维,一定一定一定要有自己的理解和体会,不然出来也是废物.
培训机构的学习氛围还是不错的,大家都是交钱过来学习的,而不会在那里玩游戏.玩游戏注定被淘汰. 培训机构也有好坏,这里小提几个个人认为不错的:黑马,小码哥,老男孩,兄弟连等.其他那几个知名,耳熟能详的不推荐,你懂我意思吧.
学习动力这里不多说了,如果你觉得你学习动力不够,觉得需要和一个人比着学习,那就请毫不吝啬的加我好友吧。
我目前日常基本都在看书,研究前端开发和Node后台开发,隔几天就会更新朋友圈.
「编程微刊」是一个专门为IT程序员提供实时资讯的技术分享类公众号。其作者祈澈姑娘是一名前端开发妹纸,会编程,会摄影,爱好写作和厨艺。
祈澈姑娘现常驻于简书,有着5万+粉丝,连载的「前端技术」知识和实践代码分享,「从零开发小程序」专题,偶尔还会更新随笔,欢迎大家多多关注。
这个是我个人公众号,公众号回复'书单',即可获得本人收藏的所有技术书籍,技术书籍共享仅供交流学习使用。