之前很早就有耳闻过一个名叫John Washam的外国小哥自学编程的励志故事,还曾一度登上GitHub热度榜。

他的故事说来也挺励志。为了让自己从一个非CS科班的自学党蜕变成Google的软件工程师,每天坚持自学8~12小时,持续了数月之后,他如愿以偿,成为了一名大厂软件开发工程师。

重点是这位小哥也乐于分享,他将自己成为一个软件工程师的学习历程整理成了一个丰富的GitHub资源仓库并开源了出来,而且一度被称为GitHub上最励志的计算机自学教程!

昨天进去又看了一眼,好家伙,截止到目前为止狂砍了171k+的Star,吓得我啪的一下当场就献上了膝盖,很快啊!

要不说开源项目的魅力大呢,有众多开源爱好者参与进来将这份学习笔记翻译成了很多语言的版本,其中就包括简体中文。

仔细看了一下这份自学主题清单你就会发现,内容涵盖的东西可真不少,比如:

  • 开发环境和开发工具学习

  • 必备计算机基础知识

  • 编程语言的选择

  • 各种数据结构

  • 常用算法和算法复杂度分析

  • 设计模式

  • 操作系统基础

  • 计算机网络基础

  • 软件测试

  • 系统设计问题

  • 书单推荐

  • 面试注意事项和面试准备相关

  • 学习方法和心得

  • ...

除了这些之外,这份自学清单甚至还涉及到有关计算机硬件基础信息论密码学计算机安全信号处理离散数学概率论计算机领域经典论文等一系列内容,可以说非常硬核了。


看完之后,除了领略到了作者这份硬核学习主题清单本身的技术内容之外,更让我产生共鸣的是他的学习态度和学习方法,这也是我体会最深的一个点。

平日里跟很多小伙伴也探讨过各种关于学习方法的问题。关于自学编程,自己也是踩着坑一步一步过来的。我个人到现在依然最坚信的一点那就是:学习不在入,而在出

什么意思呢?

很多人在自学的过程中总是会在意自己看了多少书,听了多少视频,刷了多少题目,似乎这些才是衡量自己是否真正学会某项技术点的标准。

然而必须要明确的是,其实它们只是获得知识的一种途径而已,并非最终目的。看了这么多资料,刷了这么多题目,到底有多少是自己真正融会贯通,并转化成自身能力的提高呢?

如果仅仅为了做而做,而把自己陷入一种忙碌的假象之中,这反而成了大家所说的伪勤奋了。把自己弄得很累,但却未能尝到真正提升技能的甜蜜点,这可能是你我曾经所共有的感受。

所以接下来聊聊几点小想法吧,个人在过去的时间里不断尝试和执行,感觉对自己的帮助还是挺大的。

  • 提前做好全局调研、统揽和路线规划。

动手学习之前做好学习路线的全局规划十分重要,看书、刷题不是最终目的,最终还是要关注自己知识体系的形成

不做规划,上来就一头扎进知识的海洋往往会让人迷失自我。我发现一个普遍问题(当然也包括我自己),其实大家在学习过程中的最痛点往往不在于说具体某一项技术该怎么学,这个不是最痛点。最痛点往往在于很多人对于其想学的某个技术(岗位)方向,并没有一个技术点上的宏观视角。

身处其中而不知所向,我觉得这是个人自学道路上最大的恶意!没提前做好规划一头扎进去,久而久之会很容易被各种内部或外部的因素给劝退。东一榔头西一棒子迟早会把自己的学习热情给浇灭。

实时洞察自己位于学习路径中的位置我觉得还是挺重要的,一来方便自己掌控时间和效率,另外也可以增加自己的获得感与成就感,学习有奔头也很重要不是吗?

  • 做好留痕,步步为营。

就像去一个地方旅游我们都习惯拍照留念一样,在学习过程中遇到的每一个困难,踩过的每一个坑,留下的每一点感想,获得的每一个成就,都值得被记录下来。

个人博客、电子笔记、GitHub仓库、Wiki文档,我觉得都是非常不错的方式,不可能有白走的路,凡事过往,皆为财富。

随着时间的积累,这将是一笔宝贵的资源,这也将见证着自己的学习之路,上面的这位小哥不也是这么做的吗?

  • 总结、输出、回顾。

不知道大家有没有这种感觉,有时候某些知识非得回炉重造个几次才能在后面某一时刻突然有了一种打通任督二脉的感觉,就像这位小伙伴所说的:

说实话,我也很迷恋这种感觉。

看了再多本书其实也检验不了自己是否真正学会了某项技术,而只有能从自己口中或者笔下所能清晰表达出来的知识才真正属于自己。

用自己的语言或者思维导图把所学知识整理成文、梳理成图,这样也方便自己后续的复习和回顾。

热门内容:我们已经不用AOP做操作日志了!
强烈不建议你用 a.equals(b) 判断对象相等!
为什么强烈建议你不要做联表查询?没错,使用 Nacos 踩坑了
最近面试BAT,整理一份面试资料《Java面试BAT通关手册》,覆盖了Java核心技术、JVM、Java并发、SSM、微服务、数据库、数据结构等等。获取方式:点“在看”,关注公众号并回复 666 领取,更多内容陆续奉上。

明天见(。・ω・。)ノ♡

拜访了这位小哥的GitHub后,我失眠了!相关推荐

  1. 在线试玩,在体感游戏中打败泰森,这位小哥破解了任天堂「拳无虚发」

    视学算法报道 编辑:张倩.陈萍 加入体感控制,这位小哥破解了原版任天堂的拳击格斗游戏「拳无虚发」. 在经典红白机上玩拳击游戏是很多人的童年回忆,其中就包括任天堂 1987 年发布的拳击格斗游戏--「P ...

  2. 如何提高PyTorch“炼丹”速度?这位小哥总结了17种方法,可直接上手更改的那种...

    杨净 发自 凹非寺 量子位 报道 | 公众号 QbitAI 如何提升PyTorch"炼丹"速度? 最近,有一位名叫Lorenz Kuhn的小哥,分享了他在炼丹过程中总结的17种投入 ...

  3. 送外卖优先级_送外卖,真的能月入过万?跟外卖小哥聊完后,才知道真实情况...

    凌晨点了一份外卖,外卖小哥在大雨中骑着电车准时送达,看着这一幕我不由的心酸了. 如今,外卖已经成为很多人生活中不可或缺的一部分,既方便又省时间.无论是在炎炎夏日,还是在风雨交加的黑夜,外卖小哥都穿着制 ...

  4. 华人小哥周日加班后被马斯克开除....

    阅读本文大概需要4分钟. 关于推特裁员,前几天发过一篇文章:签"奋斗者协议"或者走人,马斯克给Twitter员工两天时间考虑 这篇其实引发了不小的争议,很多人认为马斯克裁的都是摸鱼 ...

  5. 嫌弃YouTube推荐算法,这位小哥决定自己动手写代码来推荐视频

    编译 | 陈彩娴 喜欢在YouTube上看视频的朋友也许会有一个苦恼:YouTube的算法会推荐一些"垃圾"视频,或者"标题党"链接. 这也能理解,毕竟算法推荐 ...

  6. 麦克风监听是否真的存在?有位小哥做了个实验...

    "我妈给我买了点心,我就看着上面的字念:蔓越莓松饼.手机上从来没有搜过,然后松饼就出现在了我的淘宝首页上,真的把我吓到了!" 网友"王辛藏的小口袋"日前发微博如 ...

  7. 太秀了!那个在 GitHub 用文言文编程的小哥,竟从 28 万行唐诗中找出了对称矩阵

    来自量子位 下面这张图,你能看出来,这首诗妙在哪里吗? 其实,横着读是一首诗,竖着读还是这首诗! 而且,这首诗可不是乱编的,其中的诗句都来自<全唐诗>,读起来也颇有意境. 创造这个奇妙组合 ...

  8. 太秀了!那个在 GitHub 用文言文编程的小哥,竟从 28 万行唐诗中找出了对称矩阵...

    点击上方"Github中文社区",关注 触达Github项目 来源:量子位 大家好,请看下面这张图,你能看出来,这首诗妙在哪里吗? 其实,横着读是一首诗,竖着读还是这首诗! 而且, ...

  9. 6篇论文入选NIPS 2018,这位中国小哥的开挂人生

    世界上总有一群人,过着开挂的人生. 很不幸,我不是这样的人. 根据 Google Scholar Metric 的最新榜单,NIPS 是 Artificial Intelligence 下排名最高的学 ...

最新文章

  1. 【开发环境】安装 Visual Studio Community 2013 开发环境 ( 下载 Visual Studio Community 2013 with Update 5 版本的安装包 )
  2. php 计算字符串相邻最大重复数_php如何解决字符串中重复字符的次数并且排序输出的方法...
  3. 【C language】C语言感悟之const
  4. 1作业python数据类型 条件循环 列表
  5. 3.1 if条件语句
  6. sqlserver 缩小表空间
  7. python3.8自带matlop和numpy吗_python3.8自带matlop和numpy吗_python之matloplib可视化
  8. iFrame左树目录
  9. 如何判断对方列表里是不是好友_QQ怎么知道自己是不是对方好友
  10. 财务部计算机操作规程,财务部操作规程.pdf
  11. 行业增长乏力,转型失败案例多,平安银行要转型“对公”?
  12. 我的计算机老师500,我的老师_作文500字_描写人物的作文_第一范文网
  13. 套接字的连接(服务器与客户端一对一的连接)
  14. 看我如何用云函数撸一个PC小程序代码包在线解密工具
  15. 计算机硬件专业叫什么作用,计算机硬件的五大功能是什么呢
  16. Request对象的一般用法
  17. FTP服务器安装和搭建
  18. Java数据结构探索
  19. 50道简单易学的家常菜谱(附图) - 生活至上,美容至尚!
  20. Spider07selenium进阶登录反爬

热门文章

  1. python async await报错_Python 3.7.7 发布 支持async并await现在为保留关键字
  2. 爬虫与浏览器的区别,爬虫产生(出自简书)
  3. 移动端rem屏幕设置
  4. 测试用例设计方法基础理论知识
  5. npm install出现的错误
  6. NSDictionary、NSMutableDictionary基本使用
  7. C#中Request.servervariables参数
  8. MSSQL 2012 拒绝了对对象 'extended_properties' (数据库 'mssqlsystemresource',架构 'sys')的 SELECT 权限...
  9. wamp配置虚拟域名
  10. 【青少年编程】马雷越:商品价格竞猜