济南济阳县学计算机技能要全力投入才能成功

  • A+
所属分类:计算机培训

在参加完计算机培训班后,我变成了一个普通的上班族,平时穿西装、坐办公室,过著朝九晚五的生活,但脑里一直有个模糊的创业想法。有一天我无意间在酒吧听到隔壁桌的客人大肆讨论著他借由「Ruby」来自动化他的日常工作、大大提高了工作效率。我心想:「『Ruby』,是吧?」回家后我立马上网搜「Ruby」,十五秒后我已经开始学起程序设计语言 Ruby 了。

一个星期后,我参加了人生中第一个骇客空间(Hackerspace),听大家讨论著程序设计语言像是 Scala、Clojure 跟 Go,太多新知需要吸收了,当天我抱了三本厚厚的程序设计语言书回家看,每本都看了 50 页左右。

济南济阳县学计算机技能要全力投入才能成功
写代码很辛苦

身边的一个朋友听到我在学程序设计语言,他建议我应该要先把 Emacs 学好,在我学 Emacs 时,另一个朋友走过我身边发现我在用 Emacs,他跟我说:「你怎么会选用 Emacs 呢?!难道你不知道 Vim 比较好?」

于是我开始记 Vim 的键盘指令,这个时候的我觉得「下指令下得越快= 写程序设计写得越快」,还甚至因此换了 Dvorak 键盘 —— 程序设计开发者公认最有效率的键盘。

一段时间后,我已经用 Linux 作业系统用得很顺手,还在 Udacity 上学习 Python。经过七个月的自学,我应征上人生第一个「it软件工程师」职位。

公司那时决定用 Ruby on Rails 来构建他们的产品,虽然我不会 Ruby on Rails,但公司认为我既然能自学 Python 跟 Django 并赢了一次骇客松,我自然也有能力学好 Ruby on Rails。

前几个星期对我而言非常的难熬,并不只是因为我要学习一个全新的程序设计语言、熟悉一个全新的开发环境 RubyMine(整合开发环境,IDE)、而且跟一个陌生的团队合作,真正让我觉得痛苦难熬的是:

我发现过去是我自己选了一条特别艰难的路来折磨自己 。

在自学的那段时间,我花了几个月独自坐在图书馆跟咖啡厅里专研如何在命令列环境下安装工具、debug linux 系统问题,有时因为一个漏写的括号、分号而卡了老半天,我修了无数个 MOOC 课程,但一直到了第五个月我才真正有点「作品」可以放到网路上,这些过程让我相信程序设计开发是个永无止境的挣扎之路。

结果看看我身边的同事们,他们几乎很少因为语法错误、打错字、漏了个符号这种小事而卡关,因为他们的 IDE 都先把这些错误抓出来了;当遇到问题挣扎几分钟还解不出来时,他们会直接把问题丢给朋友,互相帮忙 debug;在开发程序设计时,他们总是在对方的位子随性的来来去去互通有无。

我的队友他们十分忠于「自己的一套工具」,当然在许多场合(例如骇客松)里他们应该都曾玩过许多不同语言、不同框架,但 他们主要专注于精进自己现有的工具技能,对于能够允许进入他们脑中「程序设计库」的知识,他们的态度相对保守 。

济南济阳县学计算机技能要全力投入才能成功
传说中的码农

就跟 ThoughtBot 等平台一样,开发者只固定用少数但有效率的工具链(在这个例子里,Rails, Vim, Postgres 跟 Redis),当开发者们只要全心全意的「用好」几种关键工具时,他们全都成了可以互相合作沟通无障碍的专家。

所以我真正的问题是,如果限制一个团队的it软件工程师使用同样几种固定工具可以让他们拥有超高生产力,那学习写程序设计的新手不也是在只学固定几样工具的时候能够学得最好吗?

其实线上的各种程序设计语言学习平台、程序设计营也是这样教的,虽然听起来理所当然,但是当你是一个人去面对这么多的选项时,真的很难选择该学哪一样!我懂,因为我就是这样经历过来的,像是小狗在十字路口追逐来来往往车子一样,追著一台又去追另一台,不断的在原地漫无目的地横冲直撞。

一名真正优秀的it软件工程师,他的知识领域应该是「T」字型的 —— 对任何领域都稍有涉猎但至少在某一方面专精到底。

结果在几个月的埋头苦干之下,我发现我自己是条底线「_」…。

在我遇过跟我一样情形的程序设计自学者们(我遇到非常多),其中大概多数人都在这样的过程中丧失信心、迷失方向,甚至放弃了成为it软件工程师的目标,我不希望这些情况发生在你们身上。

学程序设计语言需要你「一心一意」

废话就不多说,在此分享几个我认为程序设计新手最容易犯的错误给你们参考:

语言、框架、工具,一个换过一个,而且妄想著自己能够每样都精通。

死守著自己「特制」的开发环境,死都不肯尝试一些「现代工具」—— 被发明来方便开发者们合作交流程序设计码、还可以自动除错、自动填写的神器。

在还没把基础打好时,就想尝试一些新兴的工具,像是 Docker 或 Famo.us 等。

如果以过来人的身份给你们一个最重要的建议,那就是:「请一心一意」。

我也想问,如果你正在学程序设计的话,你认为你的学习计划够「一心一意」吗?如果你的答案是肯定的,那就不用再往下看下去了,快回去念书实行你的计划吧!因为我并不想给一些会影响你现在计划的建议。如果你的答案是否定的,那没关系,好消息是你可以从现在开始「一心一意」。



发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: