学易优
始于2008年专业教育平台
  • 地区

免费发布课程

学易优网
咨询热线:400-099-6980
学易优网
了解更多 快扫我吧

首页 > 备考指南 > 计算机/IT > 正文

我2年学习编程的经验总结 文  /水墨青花2016年10月26日 16:230

摘要 我以前从来没有想过我现在的生活会是这个样子。几小时几小时地盯着电脑屏幕,想要解决app中的bug。如果一直找不出错误的源头,我就会开始变得焦躁、郁闷甚至于想砸键盘,最后原因居然只是因为我拼错了一个文件名。

我以前从来没有想过我现在的生活会是这个样子。几小时几小时地盯着电脑屏幕,想要解决app中的bug。如果一直找不出错误的源头,我就会开始变得焦躁、郁闷甚至于想砸键盘,


最后原因居然只是因为我拼错了一个文件名。

有时候,我会觉得自己很厉害。比如我写下自己的第一个脚本并且成功运行的时候。又比如说在我部署我的第一个app给服务器的时候。以及写下我的第一个爬虫来填充数据库的那一瞬间。我感觉自己就像阿拉丁一样,得到了一个无所不能的神灯。


编程就像毒品一样,尽管一开始的针管有点疼,但是慢慢的我已经离不开它了。下面我将总结一下我这两年学习编码的经验。


作为工程师的乐趣


就像很多技术人员一样,我既着迷于硅谷又崇拜那些那些技术大腕。


这里有一个非常有意思的变化——在不久以前,我还在一所大学念书时,由于工程师给人的印象是缺乏时尚感和社交技巧,所以别人要是说我看上去像一个工程师——我会觉得非常尴尬。


当然现在听上去很蠢,但是当我还在大学的时候,“硅谷”对我而言也只是一个地理名称而已。


还有一件你可能不知道的事情——我曾经是一所中学的IT俱乐部的会长。我会使用HTML和Flash,在我的空余时间喜欢玩Sim City 3000,并且创建了一个关于这个游戏的网站。


在我大学的最后一年,社交网络开始展现头角。我刚一毕业就作为高科技记者参加了新加坡的新兴行业创业场景赛。

我所接触的每一个人都表示了对代码的酷爱。不想成为高手的程序员,就不是好程序员。


学习代码的门槛也变得非常低。各种资源和文档,只要一个谷歌搜索就全有了。


现在的代码学习俨然已经成为了一个产业,这也说明了一个事实,即好的工程师一直存在着缺口。


现在已经是2015年了。如果你也想为自己做一个新一年的编程技术提高计划,那么欢迎阅读这篇文章。我从我个人的学习历史总结出了以下这些真理:


你的过去决定了你如何学习编码的方法。


我是在2012年底才学的编程——在我开始了我的第一份工作的一年多以后。这让我处于严重的劣势,如果我的目标是成为一个职业开发人员的话。


因为我可能需要和那些12岁就开始编程,刚刚新鲜出炉的毕业生同台竞技。他们的期望薪水会比较低,他们的关系承诺会比较少。我将不得不改变我的人生轨迹,并作出一定的牺牲来追逐这种职业生涯。


但是现在的情况是这样的:我已经在媒体行业淫浸了很多年。甚至,我还蛮喜欢我当时的工作,工作中并没有碰到什么过不去的难关。总之我还没有足够的财力和动力能让我转而去投资一个全新的方向。


因此,我只能在我空闲的时间里学习编码,同时还要保证不能干扰到我的日常工作。牺牲掉我的空闲时间是很艰难的一个决定,但是我别无选择。


在承诺之前,先理解你的最终目标。


学习代码可能对你的目标完全无用,也可能是不可缺少的。


如果你是一个学生,编码可能会为你开辟更多的未来规划,比如说,在你25岁的时候或许就能赚到一百万美元。


如果你是一个对当前工作感到厌倦想要有所改变的年轻“专家”,在你已经累计了初期财富之后想要来点冒险的话,或许可以考虑一下编程,这将是一种更富有成效的职业生涯。


当然,编程可能并不适合那些已经在大公司就职需要养家糊口的CEO。不过如果你是一名年轻的高管并且希望能在一年内开办自己的高科技企业,那么学习编程就很有价值了,因为它能有助于你与开发人员亲密协作或者自己创建产品。


你或许会说,学习编码很难或者完全没有必要。这当然是可以的,没有人能强迫你。不过也有可能你学习的原因就只是想让别人以为你也是很厉害的(很多新入行的喜剧演员往往是因为这种原因而去演喜剧),又或者你直截了当地表示你就是想编程。当然如果你的目标是想提高薪资收入,也成。

如果你的目标是建立一个可正常使用的Web应用,一开始的时候难度并不大——就像Codecademy网站上面教授基础内容一样特别简单。关于Ruby也有大量的资源可供你起步。


根据我的经验,如果你想要建立一个完全成熟的web应用,你才会发现编程很难。为什么呢?因为这时候你才知道你还有那么多的东西需要学习。如果你正在学习的是Node.js,那么你需要掌握的不是一种而是两种编程语言:一种是服务器端语言,另一种是面向客户端的JavaScript。


此外,你还需要使用如HTML和CSS的标记语言,来制作网站的外观,还要确保服务器能够运行起来(我建议初学者可以试试Heroku)。这还不是全部。每一种编程语言都有一堆的数据库需要掌握,每个API都有它自己的文档。你还需要掌握数据库的工作原理。这还不包括没有学过的Git和测试驱动开发(TDD)。


我能理解那种不堪重负的感觉。但是种种困难都不能阻挡我前进的脚步。关键是要从小处着手,建立信心,以便能应对更大的项目。慢慢的,你的学习进度会加快,你会为你自己消化吸收的速度所震惊。


不过编程最让人沮丧的是,app出现了问题却一直找不到根源,我真是烦躁得都想扯自己的头发。由于我们的app是构建在其他人已经写好的源代码的基础上,所以任何一个地方都有可能产生bug。学会高效调试往往是很多人都低估了的技能。


懂得庆祝每一个小小的胜利也很重要。想想你最终的app版本——这是一种精神的鼓励。为了达到这个目标,你需要一步一个脚印扛过每一个低潮——有时候甚至都想放弃编码了。好好记住我的话,你以后也会有很多次想要放弃的时候。


如果出现了这种想法,那么你的精神需要休息了。过会儿再来看看问题,想想异常所有可能的来源。也可以向周围寻求帮助。并且当你修复了这个bug的时候,小小地庆祝一番。然后再来个深呼吸,继续干。


获得社交关系上的帮助。


学习代码不应该是一种闭门造车的行为。可以咨询懂行的朋友。他们会教你一些在谷歌中搜不到的知识。加入相关内容的同城群,有需要的时候可以寻求帮助。Stack Overflow是个提问的好地方,并且你会发现你碰到的问题,你的前辈们早八百年前就给出答案了。像Airpair这类在线咨询平台,通过支付一定的费用你就可以接触那些顶尖的程序员(虽然我还没有试过)。


结对编程也能让人受益。如果你的目标是加入一个开发团队,那可以假设自己是一个专业的编码人员。每个团队都有自己的方案、工作流程和工具套组,这些通常是由那些稳坐最高级程序员宝座的人决定的。一开始可以先从和朋友们一起搞业余项目着手。如果你所在的是一家初创企业,里面的开发团队正在耐心地带新人,那你也可以参与到这个志愿活动中,协助写一些代码。


Ruby on Rails必胜。


学习代码之前,我们先需要决定学习哪种编程语言。


对于我而言,我的决定并不是按照什么科学依据来的。最初我选择Python,是因为我看到大家将其视为“一种理想的初学语言”。后来我转而投向Ruby的怀抱是因为我的一个同事熟悉它。这是由我的社交关系所决定的(见前一点)。现在回想起来,总体来看还真是这样。


除了能获得很多帮助,Ruby也是最干净的语言之一,因此很容易阅读和学习。同时,Rails有大量的插件,可以赋予app各种能力——如用户认证、内容管理系统或管理仪表板——“开箱”即可使用,非常方便。功能齐全得让人感觉构建一个Rails程序就像是将几个小的app拟合在一起一样简单。


所以,如果你的目标是尽可能快速地设计出一个工作原型,那么Ruby on Rails就是通往目的地的门票。


管理期望。


想要通过写代码而晋升职位是需要时间的。如果你所在的是初创企业,你想要通过提交一些前端代码为自己增加筹码,那么学习HTML、CSS和Git可能只需要几周时间就够了。如果你是一位有志向的企业家,正试图建立一个web应用程序,那么学习必要的技能则取决于你有多少时间可用于学习,而这有可能需要数个月。所以要合理安排自己的期望,记住,一直努力总有看到黎明的那一刻。


下面是一些我想要分享的想法:


编程只是一个工具。


我总是需要考虑在学习编程的过程中我应不应该去学习其他东西,例如学习管理技能、设计原则,如何制作实物模型以及如何成为一个更好的记者。


这个问题很重要,在你开始编程之前就应该想好,虽然我自己本身也没有就此给出一个满意的答案。哪怕我已经学习了两年,我有时候也会发现我现在的努力方向可能并不适合我的目标。


假设你是一家初创企业的CEO,各种资源有限。学习编程对你而言可能并不如了解用户体验设计、用户测试、数据分析和其他开发人员可能并不具备的技能等来得有用。你只要记住这一点,编程只是一个工具,是另一种打造成功产品的工具。


永远不认输。


我会很自然地规避风险,所以我习惯于一上手就想好另一个备用计划。我会问自己:如果我放弃这个web应用的话,会发生什么事情?我的回答是:


“至少我体验到了它的样子。”


“至少我知道这不适合我。”


“至少我更加理解开发人员,可以与他们更好地协作。”


“至少我学会了注重细节,并获得了更好地解决问题的能力。”


“至少我的简历上又多了一条新的经验。”


最后我往往能做到鱼与熊掌兼得的结果(鼓掌)。




阅读上一篇:幼升小择校必知五大原则

阅读下一篇:奥地利留学奖学金介绍


发表评论

暂无评论

推荐阅读更多>

如何成为计算机编程高手
2016年10月26日 15:13
如何在大学里成为IT技术大神
2016年10月26日 15:29
提高编程技巧的十大方法
2016年10月26日 15:21
编程老手与高手的误区
2016年10月26日 15:03
成都WEB前端开发培训
2018年02月11日 11:09

在线投稿

亲,请先登录呦~
关于我们
关于学易优
企业理念
网站地图
联系我们
报名指南
求学登记
报名流程
帮我选课
付款方式
招生合作
机构合作
会员服务
网站加盟
广告服务
学员专享
专享礼遇
积分制度
客服中心
咨询热线
400-099-6980
周一至周日:
8:00-22:00