转载

开始之前……

在接下来的过程中,我们默认提到的都是 Mac OSX 操作系统,而 Ubuntu 版本的说明,只能等到有志愿者原意帮忙的时候才可能有……

2. 大屏幕很重要、双屏幕更重要

衣服简谱一点没关系,食物清淡一点没关系,工具不够精良绝对不行。千万不要在工具上舍不得花钱,否则你注定落魄一生。

大尺寸屏幕 —— 甚至两块屏幕 —— 真的非常重要,这不仅仅是对程序员重要,其实对每个人都是一样的。 美国犹他大学的研究者在 2008 年经过统计调查发现 ,大屏幕一天能帮人节省两个半小时 —— 请注意,这是干活做事过程中的两个半小时!别说程序员了,哪怕是那些每天书写文档,编辑表格的人,使用 24 吋屏幕的人要比使用 17 吋屏幕的人快 52%!这几乎是十年前,现在已经是 2016 年,iMac 的显示器已经是 27 吋了,分辨率已经是 4096 x 2304,几乎相当于十年前四块显示器的显示区域……

现在很多 IT 公司都不给员工配备电脑了(也许是因为笔记本电脑的降价与普及),但,少数开明的公司,基本上都会给员工配备外接的大面积显示器 —— 其实是很便宜的投入,却很实实在在提高很多效率。事实上,爱惜自己是一种生活态度,即便公司不给买,也要自己给自己买,反正现在显示器很便宜。

3. 注册一个 Github 帐号

很少有计算机书籍会把这件事儿单独拿出来说。可实际上,这确实很重要 —— 因为从骨子里来看,习得任何技能的最根本技巧,就是一句话而已:

马上开始像那些已经精通这个技能的人一样生活。

因为从本质上来看,一切的学习与创造,都是学习者与创造者的生活方式、生活内容。去目标技能拥有者最活跃的地方生活,像他们一样生活,直至真的就那么生活 —— 这就是学习与创造的另外一个更为生动、更为本质的描述。所谓近朱者赤近墨者黑,讲的也是一样的道理 —— 因为激活大脑里的“镜像神经元”是学习与创造的最初起点。

Github 其实是目前地球上最先进、最高级、最高质量的社交网站,对,它就是个社交网站 —— 虽然貌似现在的人们普遍认为“社交网站”指的是另外一类东西。在那里,工程师们用他们固有的最高效的方式相互交流。他们写好代码就传到 Github 上去,用 Github 做开发中必须的重要事情:

  • 备份自己的代码
  • 文档与代码的版本管理
  • 相互最高效地交流与协作
  • 通过展现有效活动而获得更高信用
  • 更方便地展示自己与自己的成果

在 Github 出现之前,工程师们在命令行下最常使用的命令式 cdls ,现在,他们最常用的命令早已经是 git 了…… Github 是个崭新的世界,先开门进去罢 —— 注册个帐号就行了,多简单!

一个零人沮丧的事实是,在中国有很多所谓的程序员,真的不用 Github,还有很多为了求职跑到 Github上提交假项目…… 三叹。

4. 每天都要有一整块的思考时间

这才是最重要的一条。工程师不是每天每时每刻都写代码的,他们用更多的时间思考。这有点像什么呢?你看大家从小上学,挺辛苦地学会了识字、写字,可大多数人一辈子都不会写文章,就算写出来了,也传播不出去 —— 其实只是是因为确实没价值,因为在传播自由的时代里,真有价值的东西总是会被发现。为什么呢?因为他们不思考,也不会思考,所以,等于没有什么东西值得表达 —— 尽管已经掌握了一定的表达技能。

又因为不会写东西,没什么东西可写,所以,他们的表达技能永远停留在初级阶段,因为他们没有机会用这个技能与真实的世界交流(与读者沟通,无论是单向或者双向,或者与其他作者比较,无论是更好还是更差),于是,他们永远不可能获得真正的高级技能(那些技能也有人写书出来,可纸上得来终觉浅)。

工程师其实跟写书写文章的作者一样,无非是用他们特有的表达技巧去表达他们的思想,作者用自然语言文字,工程师用特定字符构成的代码…… 可关键在于,首先要有表达的标的,之后才有表达好坏的判断。工程师表达什么?他们发现问题之后解决问题,提高效率(通过大量的自动化任务)…… 那么他们天天要思考的事情多的去了,什么值得解决?要解决的话如何解决?我的解决方案是不是比别人的都更好、更优雅?为了搞定这个任务,我需要学会什么?我需要和人么样的人以什么养的方式合作?我能否持续地维护我的解决方案?我如何才能让更多的人支持我?

与大家认为的“码农”并不一样,真正的工程师,时间分配大抵上是这样的,80% 的时间用来思考,20% 的时间把思考结果用代码表达出来(也许是通过带领团队)。这个思考的过程包括反复搜索( search 多了,就叫 research ),深入阅读各种文档(因为今天的工程师必定要用到大量别人写好的模块),还要思考自己写出来的代码如何写好文档才能让更多的人使用……

而刚入门的时候,可能是反过来的,80% 的时间用来写代码,没有思想可以表达,就去模仿表达别人的思想…… 但,一定要有 20% 的时间花在真正的思考上,像工程师一样思考。 很多人进步慢的根本原因在于,每天都在“学”,但从来不花大块的时间深入“想”。

从一开始就要养成习惯,每天要有起码一小时的时间专心思考:

  • 我将要解决的问题是什么?
  • 最重要的问题是什么?
  • 它的核心关键在哪里?
  • 已有的解决方案都有哪些?
  • 我如何才能给出一个更好的方案?
  • 我的方案应该如何拆解,如何逐个实施?

给自己买一个小本子,里面夹上一根笔,随身带着。你学的东西越多,你越离不开这种小本子,遇到什么事儿就记下来,因为你是拼命使用你的大脑的人 ,你要记住的东西太多了,平时必须依赖这种随身携带的小本子减轻你的记忆负担。虽然现在移动设备上的记事本也挺方便,但你用过一段时间就知道了,弄不好还是纸笔写写画画对大脑的帮助更大 —— 其实成本也很低很低。

用整块时间思考,其实并不容易,因为刚开始的时候会很快走神。其实有很简单的解决方案的:

一边思考,一边写写画画,一小时不知不觉就会过去。

集中精力思考的时候,我喜欢在电脑上,而不是纸质的笔记本上,因为我的打字速度非常快,能跟得上我的思考速度 —— 手写实在是太慢了,并且太难看了哈。

5. 功夫在行外

以后请你随时留意这种情况:

事情的关键往往在另外一个领域中。

在中国想要成为工程师,竟然有很大的一个关键并不在于技术本身,而是在于英语阅读能力;再比如说,即便成为了一个入门级的工程师,驻足不前的根本原因并不在于技术难关无法攻克,而是在于平时的思考习惯不良,或者干脆没有真正深入思考的习惯……

这可能会另很多人惊讶。可这种情况是普遍存在的。当年我教英语的时候,写了本书,《TOEFL 核心词汇 21 天突破》,其核心关键在于通过统计结果筛选必背词汇,你看,这就是“英语专业”、“师范专业”毕业的职业英语教师肯定不会的东西,于是,他们一下子被我打败了,那本书在市场上卖了两辈子之后(2003 年第一版),还在继续畅销……

小时候,我父亲怕我唱歌跑调,将来会因此学外语产生困难,给我买了一把吉他。五音不全的我,竟然摸索着学,虽然弹得一般般,但也自得其乐。因为听音差,也因为无法像好歌手那样自如地控制自己的声音,所以,无论哪一个曲子都是一个小节一个小节地反复练,甚至有些小节都一下子顺不过来,以至于需要再细分成若干个环节分别练,每个都练熟了之后,还有再反复串起来练,最终才算过了及格线……

成年之后,我拥有比大多数人更为强大的学习能力,无非是在这个过程中养成了几个习惯:

  • 我不怕麻烦,因为再麻烦的事儿,都可以拆分成无数个可处理的小块,于是就不麻烦了;
  • 即便是天赋不好,通过一定量的练习,也可以做到比大部分人好,哪怕滥竽充数也充得更像;
  • 经验告诉我,经过一段时间之后,一定会越来越有能力解决更大的麻烦…

你看,我什么都敢学,什么都能学 —— 只要有时间 —— 竟然只是因为小时候唱歌跑调,老爸给买了一把吉他…… 除了我自己,谁会觉得这事儿有这么重要呢?而上面这三条所提及的“解决麻烦方法论”,其实不也恰恰是工程师们用代码解决现实生活问题的方法论吗?

对,功夫常常就是在行外。

原文  http://xiaolai.li/2016/06/15/makecs-before-starting-anything/
正文到此结束
Loading...