为什么要编程?

整理文档的时候,翻到了17年年末写的一篇小复盘,决定贴上,他日若有悔意,可做打脸凭证。

正文

这一篇写给自己。

关于为什么我要编程。

记得几年前有篇很火的文章,why everyone should learn programming? 呼吁着人人都应该学一点编程技能。

编程将会在不久的未来成为一个必备技能。

所以你必须学习编程。

可这是别人的版本,不是我的版本。

我为什么要学?

也许是大学四年那少有的几次熬夜coding?我早已不记得当时敲的具体是什么了,只记得宿舍的灯已经熄了,室友们已经睡了,安静得只听到键盘的敲击声,而我盯着电脑屏幕,看到那个C++程序运行成功,那一刻,满满的快乐与知足。

也许是在我脑抽地报了C#选修课?记得第一天去上课,老师点名的时候,我才发现我是唯一一个外班的学生,其他同学都是计算机专业的,但是这并不妨碍我去跟着瞎倒腾。虽然那个学期课堂上的很多知识点我早已忘了,但这一段特别的学习经历却在记忆中留下了痕迹。

也许是大三时那次Matlab期末考?我还记得有一题作图大题,那题老师曾在实验室解过,代码很长。课后我用了两个for循环,运行结果无误,但是整个代码块简化了很多,看着特别清爽,所以考试时,我继续照着自己的想法来,后面竟然拿到了满分。现在想来,那时候我做的应该算是refactoring。

乔帮主曾说“ You can’t connect the dots looking forward; you can only connect them looking backwards. So you have to trust that the dots will somehow connect in your future. ”

也许这些便是后来那些事情发生的引子。

毕业后, 我做的是市调数据分析的工作,能跟coding搭上边的就是设计网络问卷,可以玩玩JS特效,那时候啥也不懂,只是单纯喜欢看那些英文docs,跟着文档实作,出现预期效果便会欢喜,更多的是图个乐。

14年,利用下班时间和周末,一个月把VBA学了个大概,然后就开始自顾自地玩起来,把工作中遇到的重复劳动简化,自动化报表,后续被老大发现我竟然还有这技能,索性给我安排coding的工作,然后就是做些小插件,认识了visual studio。

16年,看了Linus Torvalds的那本《Just for fun》,然后心里痒痒地想着要玩一次Linux系统,给Mac装虚拟机,倒腾Ubuntu,在Edx上刷《Intro to Linux》,看《Linux command line》, 注册cloud9, 我还记得7月的时候,cloud9被Amazon收购了,cloud9的CEO写了封信,结尾处happy coding,莫名觉得激动。

刷了点Linux,半懂不懂,但也觉得没什么,just for fun,当然也没闲着,瞎逛过多个学习平台,刷了Edx的《Introduction to Computer Science and Programming Using Python》,在Udacity刷了《Introduction to java programming》,安装BlueJ各种玩……

这么瞎倒腾的结果是,我把bashprofile玩坏了,后来不得不拿着Mac到店里重装系统。

而对于ROR,最开始的接触是看了Michael Hartl的learn enough to be dangerous 系列,后来在Amazon上买了本原版的《Eloquent Ruby》,这应该是我二十多年来买的最贵的一本书。不过那时候更多的是小打小闹,完全野路子,没有任何目标性地自学,多浅尝辄止,后来机缘巧合,看到了Fullstack线上培训,报名,随后便是几个月的投入,第一次在机场候机时敲代码,第一次参加meetup,第一次用hexo+github搭建了自己的个人网站,第一次与人协作并成功部署了一个乐器售卖平台,第一次按照自己的想法做了个线下meetup的召集令,第一次租阿里云,买域名,买SSL凭证,第一次开始以编程谋生……

太多的第一次。

当年那个不小心瞥了一眼C++的大二女孩,一定不会想到多年后她会成为一名程序员。

Welcome to the new world。

这个新世界很大,路很长,所以呢?

可以看很多很多的风景。

也不是没有顾忌。

这是个新东西层出不穷的时代,特别是技术领域,很多我们今天习以为常的技术,不久可能就会被丢弃。

但那又如何?进步不就是推陈出新?科技在进步的同时,人也在进步。

拥抱变化,努力成为其中的一部分。

Enjoy。