19岁的高颜值程序员,教你如何像她一样自学编程

算法与数据结构 2018-04-17 17:51 次阅读

之前,我曾写过一篇名为《我是如何成为19岁的软件开发者》的文章,数百条留言都表示:我喜欢读你的文章,也很想学习编程,但是我根本无法踏出第一步。缺少系统化的学习和学习动力,是问题的关键。

我知道现在有成千上万的资源可以“教你如何编码”。但是,这绝对不是这里最重要的部分,也不是这篇文章的主题。重要的是你如何建立起良好的学习习惯,如何更好的吸收处理新知识,时刻保持自己的学习动力,并把注意力放在核心问题上。

如果你愿意远离你的舒适区!你一定会为学习到新知识而感到兴奋,并且能获得优越感,久而久之,你也一定会成为一名优秀的开发者。

我已经有多年的执教经验,当我的学生告诉我他们没有动力的时候,我经常看到一种现象,他们只执着于最终的大目标,而忽视了每一次小小的进步,这让他们始终觉得离目标很远,从而导致挫败感。当我刚开始学编程的时候也有同样的想法,不断的和身边的人对比,觉得他们比我优秀太多,我永远无法达到我要的高度。

正是一直存在这样的想法,往往忽视了自己做出的努力,即便自己轻松创建出一个比之前复杂的应用程序时,也不会有成就感,因为心里一直沉浸在和更有经验的开发者的比较中。

学习如何编程是最困难的,每个人都在努力克服。本文会把重心放在学习编程时最常见的问题上:如何尽可能有效地处理新信息,如何保持动力。

有效地处理新信息

每个人吸收新知识的方式不同,所以,在开始学习代码之前,你首先要做的就是先学习如何学习。

很快你就会发现,最常见的两种学习资源就是:在线课程和语言文档。除超人类的天才外,是没人能够在只看课程/读纯文本的情况下还能记住所有知识点(尤其是你很难保持注意力集中,毕竟此类课程真的是太无聊了),所以每当你在看视频课程或阅读文档时,感到迷茫和困惑是完全正常的,毕竟对于没有太多知识的人来说,通过一些极客术语来理解代码是蛮难的。

无论你觉得自己有多优秀都不要忽略基础知识,开始学一门语言的时候不要跳过任何一个细节,如果你一开始不注意的话,会后悔的。即便是阅读文档,也请从第一页开始阅读,相信我:注意细节,过后会感谢今天的你。

教学是最好的学习方式,是每隔10分钟,就停下来用自己的话解释一下你刚刚所学到的东西,即便周围没有人,你可能会觉得做起来十分困难,但这种做法可以让你立刻知道自己还不了解的知识点有哪些,你可以及时巩固研究,就记下来,通过实践编码,会让你记忆的更加简单深刻。

不要只听课程和阅读文档,你还应通过积极参加创建自己的个人项目,把你所学的每一个新的知识点都运用上来,这听起来似乎也不是那么简单,但你只要一直坚持,你一定可以提高你的编程技能。

保持动力

很多人问我日常生活中如何让自己编写出这么多代码,思考了很久之后,得出以下答案:

每个人否喜欢玩游戏,不论什么类型的游戏,因为游戏可以带给你即时的满足感,这就是动机成因,通过编程,我也获得到了满足感,但编程不是游戏,没有你想象中的容易。

设立小目标,不是因为你不思进取,而是因为你不注重改善,做一个当天完成的事情待办列表:也许只是读一页,或者只看一个课程更或者只是编写10行代码,看到自己完成整个待办事项清单,你会获得满足感,对自己的进步更有信心。“我已经完成了今天的目标任务”比“我只完成了2%的课程”要好得多,及时行乐是很重要的。

不断提醒自己,你已经走了多远。这一点经常被忽视,你不会意识到自己每天都在进步,但相信我,你只要每天都编码(哪怕一点点),你也会越来越好。所以最好的方法是写日记,每天用一句话来记录自己的困惑,一个月后再回头看看,你可以看到自己正在变得更好。

在你真正感兴趣的个人项目上编程,这里不包含在待办事项列表中,而是你真正想要建立的项目,也不要想到自动驾驶汽车、机器人等等这些庞大的项目,可以选择一些小项目,比如创建一个网站或者一个小型游戏,这种项目会让你更有动力去完成它,一旦项目完成,你就会有成就感。

意识到自己比想象中要优秀。你可能会觉得你身边的每个人知道的东西都比你多的多,这也被称为冒名顶替者综合征。但事实并非如此,只要你有足够的学习动力、足够努力地编码,你一定可以可以成为一名优秀的开发人员。

要时刻牢记的事

不要和其他开发者对比。非常老套的建议,但这是至关重要的。你比你想象中的进步更快。我下面这张照片,如果在4个月前看到这些屏幕中的代码,我会感到害怕的。但现在我完全可以找出这里面犯了多少错误

你比你想象的要进步得多。每一次学习或编码,你都在成长。

每个人一开始都很迷茫,大家都是一样的,但这并不意味着你会成为一个糟糕的程序员。你现在的想法只是学习过程的一部分。不久,你会回头看看这时的你,你一定会认同我说的!

最后如果可以,试着找一位导师。通过向其求教相信更有助于你克服问题并获得新的启发。

热门推荐

原文标题:19 岁美女自学编程:我是如何成功教会自己的

文章出处:【微信号:TheAlgorithm,微信公众号:算法与数据结构】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
分享:

评论

相关推荐

为什么你觉得旧代码异常混乱?因为读代码更难

但是,认为新代码比旧代码好简直就是荒谬。旧代码是已经运行过的,测试过的。无数的bug在被发现前都上线....

的头像 机器学习算法与人工智能 发表于 05-23 11:07 85次阅读
为什么你觉得旧代码异常混乱?因为读代码更难

优化Stellaris®微控制器的代码性能和尺寸应用笔记

本节更详细地描述了表1中总结的因素,并提供了改进代码性能和大小的示例代码。

发表于 05-22 09:39 20次阅读
优化Stellaris®微控制器的代码性能和尺寸应用笔记

面向对象设计之定义领域服务

若遵循基于面向对象设计范式的领域驱动设计,并用以应对纷繁复杂的业务逻辑,则强调领域模型的充血设计模型....

发表于 05-21 02:42 36次阅读
面向对象设计之定义领域服务

接收卡升级的详细说明概述图文详解

接收卡升级的详细说明概述图文详解

的头像 LED显示屏之家 发表于 05-19 11:36 165次阅读
接收卡升级的详细说明概述图文详解

如何由浅入深的学习编程语言?学习一门编程语言的大致框架

每种编程语言必然有其优点和缺点,这也决定了它有适合的应用场景和不适合的应用场景。现代软件行业,想一门....

的头像 C语言编程设计 发表于 05-19 11:07 442次阅读
如何由浅入深的学习编程语言?学习一门编程语言的大致框架

编程语言排行榜Python高居首位,是什么让它成为最流行的机器学习语言!

自从20世纪90年代初Python语言诞生至今,它已被逐渐广泛应用于系统管理任务的处理和Web编程。....

发表于 05-17 09:36 321次阅读
编程语言排行榜Python高居首位,是什么让它成为最流行的机器学习语言!

代码行数最多的 Python 项目是什么 我猜你不知道

而这世界上有的是著名的开源项目,也有像 Github、Instagram 这样流量巨大的知名网站是基....

的头像 马哥Linux运维 发表于 05-14 11:19 144次阅读
代码行数最多的 Python 项目是什么  我猜你不知道

PLC最全编程算法:模拟量的计算与脉冲量的计算

PLC模拟单元的分辨率是1/32767,对应的标准电量是0—10V,所要检测的是温度值0—100℃。....

的头像 工控资料窝 发表于 05-14 11:15 423次阅读
PLC最全编程算法:模拟量的计算与脉冲量的计算

“菜鸟”程序员和“大神”程序员到底有什么区别

现在社会上有很多程序员,那您是否可想过程序员为什么会有不同的水平?你又是哪一类的程序员?“菜鸟”程序....

的头像 机器学习算法与人工智能 发表于 05-14 08:48 137次阅读
“菜鸟”程序员和“大神”程序员到底有什么区别

《Visual Basic 6.0应用编程150例》-下载

各种实例,供大家参考

发表于 05-13 10:33 16次阅读
《Visual Basic 6.0应用编程150例》-下载

几种编程教育的方式

学习编程并不是学习编写程序的技能,编程教育的真正目的是在过程中培养学科兴趣、坚持和解决问题的能力,以....

的头像 IOT万物互联 发表于 05-11 15:38 298次阅读
几种编程教育的方式

机器人离线编程与机器人编程趋势

多传感器融合技术的建模与仿真。随着机器人智能化的提高,传感器技术在机器人系统中的应用越来越重要。因而....

的头像 工控云学堂 发表于 05-10 15:02 404次阅读
机器人离线编程与机器人编程趋势

【晒出你的第83行代码】踌躇满志的三位高中生,以敬畏之心踏上了代码征程

发表于 05-09 17:28 55次阅读
【晒出你的第83行代码】踌躇满志的三位高中生,以敬畏之心踏上了代码征程

【晒出你的第83行代码】阿里研究员福贝,用一个小演示程序来解释一下 C++11/14 里的 closure 是可以多么的“爽”

发表于 05-09 16:32 67次阅读
【晒出你的第83行代码】阿里研究员福贝,用一个小演示程序来解释一下 C++11/14 里的 closure 是可以多么的“爽”

中断控制基本编程方法和库函数及例程的详细中文介绍

中断基本编程方法 利用《Stellaris外设驱动库》编写一个中断程序的基本方法如下:1. 使能相....

发表于 05-09 11:07 41次阅读
中断控制基本编程方法和库函数及例程的详细中文介绍

安装Pet命令行接口代码管理器

我们不可能记住所有的命令,对吧?是的。除了经常使用的命令之外,我们几乎不可能记住一些很少使用的长命令....

的头像 Linux爱好者 发表于 05-09 10:52 124次阅读
安装Pet命令行接口代码管理器

RealViewMDK4.01的安装及破解和新建工程的编程概述和J-LINK驱动安装

本文的主要内容介绍的是RealViewMDK4.01的安装及破解和新建工程的编程概述和J-LINK驱....

发表于 05-09 09:15 32次阅读
RealViewMDK4.01的安装及破解和新建工程的编程概述和J-LINK驱动安装

Python工匠是什么?变量和代码质量

有时,不能使用短名字的原则也会有一些例外。当一些意义明确但是较长的变量名重复出现时,为了让代码更简洁....

的头像 马哥Linux运维 发表于 05-08 14:25 247次阅读
Python工匠是什么?变量和代码质量

树莓派有什么用_树莓派能用来做啥_树莓派新手入门教程

本文首先介绍了树莓派的功能,其次介绍了树莓派的用途,最后详细介绍了树莓派新手入门教程。

的头像 电子魔法师 发表于 05-08 14:15 308次阅读
树莓派有什么用_树莓派能用来做啥_树莓派新手入门教程

MSP430之系列用户指导和示例代码

MSP430之系列用户指导和示例代码。

发表于 05-08 09:42 28次阅读
MSP430之系列用户指导和示例代码

关于LaunchPad温度代码

关于LaunchPad温度代码。

发表于 05-07 17:04 24次阅读
关于LaunchPad温度代码

LaunchPad(MSP430G2553)官方例程(无修改)

LaunchPad(MSP430G2553)官方例程(无修改)

发表于 05-07 15:52 26次阅读
LaunchPad(MSP430G2553)官方例程(无修改)

MSP430在三表中的应用

写更少的代码,使用更少的周期。

发表于 05-07 10:14 26次阅读
MSP430在三表中的应用

C语言程序内存布局该关注哪些内容

C语言代码(文本文件)形成可执行程序(二进制文件),需要经过编译-汇编-连接三个阶段。编译过程把C语....

发表于 05-07 08:03 128次阅读
C语言程序内存布局该关注哪些内容

uchar变量乘以小数可以吗

发表于 05-04 21:58 100次阅读
uchar变量乘以小数可以吗

搜集的很多msp430f5438示例代码

搜集的很多msp430f5438示例代码

发表于 05-04 14:08 22次阅读
搜集的很多msp430f5438示例代码

比较好的LM3S8962平台的TF卡操作函数完整代码

比较好的LM3S8962平台的TF卡操作函数完整代码。

发表于 05-04 09:57 28次阅读
比较好的LM3S8962平台的TF卡操作函数完整代码

高效的Msp430数字滤波器代码

Msp430用其高效的乘法器可以很容易的实现数字滤波。

发表于 05-03 11:33 66次阅读
高效的Msp430数字滤波器代码

MSP430x41x,MSP430F42x,MSP430F42xA 示例代码

MSP430x41x,MSP430F42x,MSP430F42xA 示例代码

发表于 05-03 10:53 25次阅读
MSP430x41x,MSP430F42x,MSP430F42xA 示例代码

MSP430x13x,MSP430F14x,MSP430F15x,MSP430F16x 示例代码

MSP430x13x,MSP430F14x,MSP430F15x,MSP430F16x 示例代码

发表于 05-03 10:50 30次阅读
MSP430x13x,MSP430F14x,MSP430F15x,MSP430F16x 示例代码

MSP430x11x1,MSP430F21x1 示例代码

MSP430x11x1,MSP430F21x1 示例代码

发表于 05-03 10:48 26次阅读
MSP430x11x1,MSP430F21x1 示例代码

C-primer-plus(第五版)课后编程练习答案(完整)

C语言习题

发表于 05-03 10:46 22次阅读
C-primer-plus(第五版)课后编程练习答案(完整)

MSP430F543xA, MSP430F541xA 示例代码

MSP430F543xA, MSP430F541xA 示例代码

发表于 05-03 10:45 25次阅读
MSP430F543xA, MSP430F541xA 示例代码

MSP430F541x,MSP430F543x 示例代码

MSP430F541x,MSP430F543x 示例代码

发表于 05-03 10:41 32次阅读
MSP430F541x,MSP430F543x 示例代码

MSP430F471x6,MSP430F471x7 示例代码

MSP430F471x6,MSP430F471x7 示例代码

发表于 05-03 10:39 29次阅读
MSP430F471x6,MSP430F471x7 示例代码

MSP430F241x,MSP430F261x 示例代码

MSP430F241x,MSP430F261x 示例代码

发表于 05-03 10:37 23次阅读
MSP430F241x,MSP430F261x 示例代码

MSP430F55xx示例代码

MSP430F55xx示例代码

发表于 05-03 10:28 19次阅读
MSP430F55xx示例代码

MSP430F47x3,MSP430F47x4 示例代码

MSP430F47x3,MSP430F47x4 示例代码

发表于 05-03 10:26 19次阅读
MSP430F47x3,MSP430F47x4 示例代码

MSP430F42x0,MSP430FG42x0 示例代码

MSP430F42x0,MSP430FG42x0 示例代码

发表于 05-03 10:22 19次阅读
MSP430F42x0,MSP430FG42x0 示例代码

MSP430F149跑ADC和USB好用的代码

MSP430F149跑ADC和USB好用的代码

发表于 05-02 17:48 35次阅读
MSP430F149跑ADC和USB好用的代码

MSP430F41x2示例代码

MSP430F41x2示例代码

发表于 05-02 17:37 26次阅读
MSP430F41x2示例代码

MSP430F23x0示例代码

MSP430F23x0示例代码

发表于 05-02 17:11 55次阅读
MSP430F23x0示例代码

MSP430F22x2, MSP430F22x4 示例代码

MSP430F22x2, MSP430F22x4 示例代码

发表于 05-02 17:07 42次阅读
MSP430F22x2, MSP430F22x4 示例代码

MSP430L092官方示例代码

MSP430L092官方示例代码

发表于 05-02 16:00 41次阅读
MSP430L092官方示例代码

MSP430F21x2示例代码

MSP430F21x2示例代码

发表于 05-02 15:44 35次阅读
MSP430F21x2示例代码

MSP430F20XX示例代码

MSP430F20XX示例代码

发表于 05-02 15:41 38次阅读
MSP430F20XX示例代码

MSP430F11x2, MSP430F12x, MSP430F12x2 示例代码

MSP430F11x2, MSP430F12x, MSP430F12x2 示例代码

发表于 05-02 15:39 34次阅读
MSP430F11x2, MSP430F12x, MSP430F12x2 示例代码

USB(hub)编程芯片型号求助

发表于 05-02 14:52 402次阅读
USB(hub)编程芯片型号求助

编程中经常碰到且觉得难的事是什么?

发表于 05-02 14:02 471次阅读
编程中经常碰到且觉得难的事是什么?

SFC的简介要点和编程和操作的详细中文资料概述

SFC(Sequential FunctionChart,顺序功能图)允许用户通过图形化的方式组态和....

发表于 04-28 17:03 52次阅读
SFC的简介要点和编程和操作的详细中文资料概述

先进的连接器技术,方便和高效的内存实用建议的详细资料概述

链接器是负责将所有对象文件和库链接到最终可执行窗体的代码生成开发工具。链接器提供了许多特性,包括一些....

发表于 04-28 15:44 39次阅读
先进的连接器技术,方便和高效的内存实用建议的详细资料概述

MSP430x24x系列用户指导和示例代码

MSP430x24x系列用户指导和示例代码

发表于 04-28 15:12 26次阅读
MSP430x24x系列用户指导和示例代码

MSP430代码编写器Studio V5.2

本手册描述了使用MSP430超低功耗微控制器的德克萨斯仪器代码编写器Studio Studio V5....

发表于 04-28 14:41 29次阅读
MSP430代码编写器Studio V5.2

HyperLink的介绍和配置和编程的性能考虑

HyperLink 为两个KeyStone 架构DSP 之间提供了一种高速,低延迟,引脚数量少的通信....

发表于 04-28 11:21 29次阅读
HyperLink的介绍和配置和编程的性能考虑

开发人员有必要过度追求软件灵活性吗?

我们必须设法通过简化开发流程来管理复杂性。 因为管理复杂性是次重要的责任,我们必须始终记住软件开发人....

的头像 嵌入式资讯精选 发表于 04-28 08:53 1315次阅读
开发人员有必要过度追求软件灵活性吗?

为什么阿里程序猿纷纷在内网晒代码?

发表于 04-26 14:09 677次阅读
为什么阿里程序猿纷纷在内网晒代码?

单片机C语言编程心得

发表于 03-27 11:14 375次阅读
单片机C语言编程心得

arm裸板编程学习出现的问题

发表于 03-23 19:01 483次阅读
arm裸板编程学习出现的问题

记录一下arm裸板编程出现的问题

发表于 03-23 11:07 474次阅读
记录一下arm裸板编程出现的问题

如何减少嵌入C语言代码空间大小

发表于 03-23 10:46 270次阅读
如何减少嵌入C语言代码空间大小