编程是什么
学习编程就是解决问题的过程,分析拆解问题,把大问题变成小问题,观察输入什么,输出什么,遇到情况A执行什么,遇到情况B执行什么。计算系统的逻辑性而不感性,这让问题解决变得流程化,不会像你的情人,那么捉摸不透。
入门编程的错误认知
1.必须要有天赋
2.必须看懂每一个步骤
3.要扎实,从技术基础学起
4.禁止复制粘贴代码
这些错误的认知导致缺失成就感,很难成功入门。注意这里是「入门」,要很快上手,而不是一直在门外敲门。如果从未接触过代码,看到那么多陌生的编码,就畏惧,不知道从哪里下手,就可以用拼图理论,先复制粘贴代码,看看运行之后,输出的是什么,再分模块运行,修改每一个部分,看看没个模块实现什么功能。
有时候,过于严肃的态度也容易让人退缩,不如在面对代码的时候,和自己洗脑说玩玩而已,玩出一点花样出来就要立马分享出来,享受赞美,获得成就感,给自己信心继续深入学习。
入门学习的方法理论
1.拼图理论
不需要把基础知识全部学好,不需要把规范都学完善。不是登山,而是拼图。
2.成就感
学习过程中不断得到正向回馈,而不是被挫败感湮灭。
3.重复训练
大量的重复训练练成肌肉记忆,开始就是照着敲下来。学会举一反三。
如何自学
1.工作中学习当然是最快速的,任务驱动型,而且可以有问题及时请教,避免很多坑,比如刚开始有一些环境配置的问题,如果在这上面就浪费很多时间,会容易让人泄气。
2.mooc coursera 上都有相关的课程和练习题;一个人学习的确有些孤单,我个人也报名过课程,但是没有坚持下去,所以有一起学习的小伙伴还是容易走的更远的。
3.参加线上的一些比赛,和天南地北的人组队。比赛有业务需求,有时间节点,容易push自己。
自己的程序媛生活
自己刚入职不到两年,所学专业也并非计算机。曾经在学生时期看到代码就头大,当时的我想像不出来我以后会做程序员。入职后算是从零开始,做过前端、数据分析、数据仓库,短暂的时间的确对这些都只是入门。然而学习写代码真实训练了逻辑性,生活中遇到一些技术型问题(比如修理器械等等),都会自信心爆棚的要自己解决,可能是觉得写代码我都会了,这些问题都不算问题的错觉。
平时的工作状态,加班比较多,身边的同事感觉没有勾心斗角,都很随和,都非常乐意帮忙解决bug。
以上有些观点在xdite老师元学习课中提及过,自己切身体会也是如此,遂分享之。