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

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

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

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

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

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

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

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

有效地处理新信息

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

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

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

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

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

保持动力

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

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

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

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

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

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

要时刻牢记的事

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

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

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

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

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

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

收藏 人收藏
分享:

评论

相关推荐

作为一名开发者,如何让自己比现在厉害10倍?

编程是一种创造性的追求。对于普通人来说,它似乎技术性很强、而且很枯燥,但实际上你是一个艺术创造者。你....

的头像 新智元 发表于 10-18 10:28 105次 阅读
作为一名开发者,如何让自己比现在厉害10倍?

基于LCD单片机输入/输出端口GPIO编程

一、输入/输出端口GPIO编程一—(02)、控制LCD1602显示~~废话不多说了~~直接上图~~然....

发表于 10-17 16:33 38次 阅读
基于LCD单片机输入/输出端口GPIO编程

不是按1.33编译代码,而是1.32

我遇到过这样一个问题。我可以通过我同事的XC 16 1.32传递我的代码,但是我不能超过1.33,错误是从编译器里面出来的。我需要X...

发表于 10-17 16:31 6次 阅读
不是按1.33编译代码,而是1.32

ICD4无法使用PIC24FJ1024GB610调试Explorer 16/32板

当我尝试用ICD4将我的程序加载到我的Explorer 16/32板上时,我得到以下错误信息:验证失败。[调试执行]在0x8000,预期0x000 ...

发表于 10-17 16:26 16次 阅读
ICD4无法使用PIC24FJ1024GB610调试Explorer 16/32板

谁可以告诉我pyrealsense2控制深度曝光的方法或代码?

比如realsenseviewer,我想用pyrealsense2来控制深度曝光水平。 所以我正在寻找一个解释,但我还没有发现任何相关的东西。 谁可...

发表于 10-16 16:45 28次 阅读
谁可以告诉我pyrealsense2控制深度曝光的方法或代码?

你应该知道的S7-300的编程技巧

因为OB35是循环中断功能,这里我们可以是使用OB35做一个自己的周期时钟脉冲(放在OB35里面需要....

的头像 工控帮 发表于 10-16 16:38 165次 阅读
你应该知道的S7-300的编程技巧

UNIX教程之UNIX环境高级编程第二版电子教材免费下载

本书是被誉为UNIX编程“圣经”的Advanced Programming in the UNIX ....

发表于 10-16 16:18 24次 阅读
UNIX教程之UNIX环境高级编程第二版电子教材免费下载

Java的基础知识包括:基本数据,类型表达式,类与对象等资料

基础不牢,地动山摇。最近不少同学在问我基础问题,小编在这里便给大家重新将Java 基础知识梳理一遍。....

发表于 10-16 15:43 24次 阅读
Java的基础知识包括:基本数据,类型表达式,类与对象等资料

Bricked Curiosity HPC无法进行编程

嗨,所有,得到一个好奇的HPC的盒子,可以读取固件(1.41),并试图通过MPLAB 4.15更新到最新的PKOB固件(1.51),它...

发表于 10-16 15:32 17次 阅读
Bricked Curiosity HPC无法进行编程

AELOS1S评测 适合作为编程入门的产品

相信对于大部分的男孩子来说,拥有一个机器人玩具绝对是小时候的梦想之一,而伴随着近年来智能机器人在国内....

的头像 39度创意研究所 发表于 10-16 09:16 316次 阅读
AELOS1S评测 适合作为编程入门的产品

linux内核入门教材之linux内核设计与实现第二版中文版免费下载

此书是当今首屈一指的linux内核入门最佳图书。作者是为2.6内核加入了抢占的人,对调度部分非常精通....

发表于 10-15 18:20 20次 阅读
linux内核入门教材之linux内核设计与实现第二版中文版免费下载

能力风暴Oculus5评测 以体现创造力为核心

1982年,上海市教育局从每个区挑选了8名小学生和8名中学生,对他们进行最基本的计算机培训,以此试验....

的头像 39度创意研究所 发表于 10-15 11:03 166次 阅读
能力风暴Oculus5评测 以体现创造力为核心

DATALOGIC的CBX100读码器的详细资料合集免费下载

本文档的主要内容详细介绍的是DATALOGIC读码器的详细资料合集免费下载包括了:DLCODE中文简....

发表于 10-15 08:00 13次 阅读
DATALOGIC的CBX100读码器的详细资料合集免费下载

推荐系统中的EE问题及解决问题的基本Bandit算法详细概述

Exploration and Exploitation(EE问题,探索与开发)是计算广告和推荐系统....

的头像 人工智能爱好者社区 发表于 10-14 10:48 221次 阅读
推荐系统中的EE问题及解决问题的基本Bandit算法详细概述

人形机器人落户重庆,完成AI编程教育的任务

从两江新区获悉,作为智博会签约项目之一,乐聚(重庆)机器人技术有限公司在两江新区完成企业注册,将在新....

发表于 10-14 09:09 158次 阅读
人形机器人落户重庆,完成AI编程教育的任务

S29AL016J代码下载错误

HI团队我使用S29 ALL 016J为我的项目,我有问题下载代码到它,我已经创建了一个闪存ALGO,但每当它给一个闪光灯超时错...

发表于 10-12 15:40 33次 阅读
S29AL016J代码下载错误

有没人有EXECUTE CLEAR这个问题

我们最近将所有程序从Vee5升级到Vee9。 在每个实例中,在V5中执行完美的程序现在会在V9中崩溃,我们有“EXECUTE CL...

发表于 10-11 16:46 28次 阅读
有没人有EXECUTE CLEAR这个问题

请问eeprom语句在哪里发生

目前,我有一个E.EEPROMPEX数据(12,0,0,5,5,5,50,5);作为主C中的一个声明,在顶部正好是主(空隙){,这样...

发表于 10-11 08:51 34次 阅读
请问eeprom语句在哪里发生

代码在头文件中定义了宏,在行的末尾有一个“\”,这是什么目的?

我有一些代码,我下载和已经研究,在头文件是宏的定义有一个“\”在最后的线,这是什么目的? 以上来自于百度翻译 &nbs...

发表于 10-11 08:41 36次 阅读
代码在头文件中定义了宏,在行的末尾有一个“\”,这是什么目的?

Lorenz曲线编程实现方法详细资料免费下载

本文档的主要内容详细介绍的是Lorenz曲线编程实现方法详细资料免费下载。

发表于 10-11 08:00 23次 阅读
Lorenz曲线编程实现方法详细资料免费下载

如何编程MAX32620FTHR平台及配置寄存器

在本系列视频的最后一节,我们将了解如何配置寄存器以及编程MAX32620FTHR平台,对连接到....

的头像 Maxim视频 发表于 10-11 04:07 110次 观看
如何编程MAX32620FTHR平台及配置寄存器

工业机器人逻辑编程指南

输入输出的设置是为了机器人与外设设备的通信,例如工具传感器等。

的头像 工控云学堂 发表于 10-10 16:42 212次 阅读
工业机器人逻辑编程指南

三菱PLC的类型、运行原理及编程软件的使用

PLC采用存储程序循环扫描的工作方式,一次扫描称为一个周期。

的头像 工业机器人 发表于 10-10 15:44 276次 阅读
三菱PLC的类型、运行原理及编程软件的使用

使用传感器搜索命令的L6470加速

在使用ReleaseSW()和GoUntil()命令执行一些传感器搜索后,我注意到它们没有使用相同的加速/减速。 GoUntil()使用编...

发表于 10-10 10:41 36次 阅读
使用传感器搜索命令的L6470加速

闪存可以有多达10000的读写是什么意思

嗨,在数据表中,它说闪存(用于存储用户数据而不是程序)可以有多达10000的读/写。我想问一下这到底是什么意思。正如我所理解的...

发表于 10-10 10:23 44次 阅读
闪存可以有多达10000的读写是什么意思

8X8点阵屏显示原理是怎样的?及C程序代码资料免费下载

由于51单片机驱动能力有限,亮度不够,所以一般需要三极管驱动,只要行驱动或是列驱动接三极管就可以,不....

发表于 10-10 08:00 41次 阅读
8X8点阵屏显示原理是怎样的?及C程序代码资料免费下载

ug1292时序收敛快速参考手册

这个手册与ug949的理念是一致的即”尽可能地把所有问题放在设计初期解决“。宁可在设计初期花费更多的....

的头像 电子发烧友网工程师 发表于 10-09 10:52 187次 阅读
ug1292时序收敛快速参考手册

华为内部软件编程规范总则详细资料免费下载

本文档的主要内容详细介绍的是华为内部软件编程规范总则详细资料免费下载。

发表于 10-09 08:00 59次 阅读
华为内部软件编程规范总则详细资料免费下载

jQuery教程之jQuery权威指南实战资料电子教材免费下载

本书由国内资深Web技术专家亲自执笔.4大Web开发社区一致鼎力推荐,权威性毋庸置疑。内容新颖,基于....

发表于 10-09 08:00 27次 阅读
jQuery教程之jQuery权威指南实战资料电子教材免费下载

如何利用MAX32620FTHR开发平台执行程序

了解如何利用MAX32620FTHR开发平台执行Eclipse编程环境下的程序。在下节视频“MAX3....

的头像 Maxim视频 发表于 10-09 05:40 95次 观看
如何利用MAX32620FTHR开发平台执行程序

什么是IO-Link

Discover the benefits of the IO-Link smart sensor ....

的头像 Maxim视频 发表于 10-09 03:26 76次 观看
什么是IO-Link

工业机器人逻辑编程教程

输入输出的设置是为了机器人与外设设备的通信,例如工具传感器等。

的头像 工业机器人 发表于 10-08 15:57 328次 阅读
工业机器人逻辑编程教程

飞思卡尔Freescale 9s12单片机资源代码免费下载

本文档的主要内容详细介绍的是飞思卡尔Freescale 9s12单片机资源代码免费下载,对Frees....

发表于 10-08 08:00 29次 阅读
飞思卡尔Freescale 9s12单片机资源代码免费下载

什么是临界段 RTOS临界段的作用是什么

代码的临界段也称为临界区,指处理时不可分割的代码区域,一旦这部分代码开始执行,则不允许任何中断打断。....

的头像 玩转单片机 发表于 10-06 14:38 139次 阅读
什么是临界段 RTOS临界段的作用是什么

PLC的7个基础指令和4个编程实例分享

在PLC学习的过程中,逻辑指令是PLC编程中一个非常重要的环节,其中基础指令是PLC可以识别的语言,....

的头像 工业机器人 发表于 10-05 09:24 556次 阅读
PLC的7个基础指令和4个编程实例分享

notepad++与vivado关联

在Editor下选Custom,并在Command line syntax下输入“{notepad+....

的头像 电子技术应用ChinaAET 发表于 10-04 10:46 126次 阅读
notepad++与vivado关联

DCS工艺流程图中常见的图形符号及代码识别你了解吗?

每一个项目在投标前都会经设计院设计工艺流程图,然后投标者依据流程图上标识的DCS控制点及设备连接线路....

的头像 工控资料窝 发表于 10-03 18:26 253次 阅读
DCS工艺流程图中常见的图形符号及代码识别你了解吗?

如何利用Python实现实时监控别人微博动态

前几个星期在写一个微博监控系统 可谓是一波三折啊 获取到微博后因为一些字符编码问题 导致心态爆炸开发....

的头像 马哥Linux运维 发表于 10-03 12:32 308次 阅读
如何利用Python实现实时监控别人微博动态

Linux引发争议,贡献者能否删除上传的代码?

多位贡献者和社区成员对 COC 进行批判和反对,甚至有人在邮件列表发起了撤销贡献代码的讨论。

的头像 Linux爱好者 发表于 09-30 14:46 234次 阅读
Linux引发争议,贡献者能否删除上传的代码?

如何使用Python来设计和实现语料分析系统设计?

语料分析系统是利用计算机软件技术实现语料分析与研究的重要手段,利用它可以实现对大量语料的分析、词语1....

发表于 09-29 17:23 67次 阅读
如何使用Python来设计和实现语料分析系统设计?

你想知道的Ocaml语言

关于OCaml,最早称为Objective Caml,是Caml编程语言的主要实现,开发工具包含交互....

发表于 09-29 14:23 115次 阅读
你想知道的Ocaml语言

如何从一名iOS开发新手到iOS开发专家详细建议分析

虽然你有可能在一周内学习到iOS开发的本质,但想要精通iOS开发需则要花费更长的时间。问题是你如何从....

发表于 09-28 17:41 83次 阅读
如何从一名iOS开发新手到iOS开发专家详细建议分析

java教程之如何进行Java异常处理?

本文档的主要内容详细介绍的是java教程之如何进行Java异常处理?

发表于 09-28 17:16 37次 阅读
java教程之如何进行Java异常处理?

java教程之Swing用户界面组件的详细资料介绍免费下载

在Java语言中,有两个Swing组件用于得到文本输入:文本域(JTextField)和文本区(JT....

发表于 09-28 17:15 37次 阅读
java教程之Swing用户界面组件的详细资料介绍免费下载

科学的PLC编程的9个步骤

科学的PLC编程步骤其实很简单,但往往大多数工程师就是认为简单而忽略很多细节。细节的忽略,必然会在以....

的头像 工业机器人 发表于 09-28 17:06 556次 阅读
科学的PLC编程的9个步骤

Google编程风格指南(六)

即使是英文, 也不应将用户界面的文本硬编码到源代码中, 因此非 ASCII 字符应当很少被用到. 特....

的头像 C语言专家集中营 发表于 09-27 18:18 299次 阅读
Google编程风格指南(六)

Google编程风格指南(五)

所有具有静态存储类型的变量 (例如静态变量或全局变量, 参见 存储类型) 都应当以此方式命名. 对于....

的头像 C语言专家集中营 发表于 09-27 18:15 242次 阅读
Google编程风格指南(五)

Google编程风格指南(四)

用于定义移动构造函数 (使用类的右值引用进行构造的函数) 使得移动一个值而非拷贝之成为可能. 例如,....

的头像 C语言专家集中营 发表于 09-27 18:08 356次 阅读
Google编程风格指南(四)

Google编程风格指南(三)

C/C++ 中的函数参数或者是函数的输入, 或者是函数的输出, 或兼而有之. 输入参数通常是值参或 ....

的头像 C语言专家集中营 发表于 09-27 18:06 245次 阅读
Google编程风格指南(三)

Google编程风格指南(二)

鼓励在 .cc 文件内使用匿名命名空间或 static 声明. 使用具名的命名空间时, 其名称可基于....

的头像 C语言专家集中营 发表于 09-27 18:01 280次 阅读
Google编程风格指南(二)

Google编程风格指南(一)

使代码易于管理的方法之一是加强代码一致性. 让任何程序员都可以快速读懂你的代码这点非常重要. 保持统....

的头像 C语言专家集中营 发表于 09-27 17:57 225次 阅读
Google编程风格指南(一)

Google的C++代码规范是全球最好的一份C++代码规范

个人感受:这种做法可以从一开始就避免一些bug的出现,或更容易解决一些bug。构造函数+Init()....

的头像 C语言专家集中营 发表于 09-27 17:54 334次 阅读
Google的C++代码规范是全球最好的一份C++代码规范

如何在Linux录制一个终端操作视频详细资料分析

录制一个终端操作可能是一个帮助他人学习 Linux 、展示一系列正确命令行操作的和分享知识的通俗易懂....

发表于 09-27 16:32 39次 阅读
如何在Linux录制一个终端操作视频详细资料分析

嵌入式Linux是什么?基础知识,系统环境搭建和综合应用详细讲解

本书从嵌入式Linux 的基础知识、系统环境搭建到综合应用,共分三个层次深入浅出地为读者拨开萦绕于嵌....

发表于 09-27 14:49 52次 阅读
嵌入式Linux是什么?基础知识,系统环境搭建和综合应用详细讲解

浅析PLC编程的九个重要步骤

科学的PLC编程步骤其实很简单,但往往大多数工程师就是认为简单而忽略很多细节。细节的忽略,必然会在以....

的头像 工控资料窝 发表于 09-26 11:56 621次 阅读
浅析PLC编程的九个重要步骤

电子工程师怎样学习编程

每到年底各大媒体就争先恐后热火朝天地搞总结,什么十大人物,十大品牌,十大美女,十大帅哥等等五花八门乱....

的头像 工程师人生 发表于 09-26 09:24 210次 阅读
电子工程师怎样学习编程

乐源正在实现儿童机器人制作的教程化

除了儿童机器人的制作方法外,乐源也在涉足编程教学,据《2017-2023年中国少儿编程市场分析预测研....

的头像 1号机器人网 发表于 09-25 16:54 1827次 阅读
乐源正在实现儿童机器人制作的教程化

只有从事20-50年编程才知道的事情

我们不再需要更多的编程语言了。不过,你还是会立马跑去开发一个新语言。让我猜一下,你所谓的“神奇”的语....

的头像 新智元 发表于 09-25 09:10 265次 阅读
只有从事20-50年编程才知道的事情

单片机程序设计时必须遵循的优化原则

说明:函数和宏函数的区别就在于,宏函数占用了大量的空间,而函数占用了时间。大家要知道的是,函数调用是....

的头像 电子设计 发表于 09-21 08:46 1146次 阅读
单片机程序设计时必须遵循的优化原则