在《你该拓展自身技术能力的10个理由》那篇文章里,我解释过拓展技术能力,将它作为个人发展努力目标的组成部分为何重要。强大的技术能力可以帮你节省时间,提高收入,并在购买技术产品时找出最高性价比选择。
我许诺要写篇如何提升技术能力的文章,下面就是无论个人当前技术水平如何,在提升技术能力上你可以去做的10件事情:
1. 阅读技术书籍
提升个人技术能力的最佳方法之一,就是阅读相关书籍。我年少时曾会在本地书店买电脑书籍。如今在网上购书是更佳选择,因为你可以更容易地去伪存真。请直接访问亚马逊网上书店,搜索你想学习的特定主题的某本书,然后查看留言和评分。要寻找评分至少高于4分的书籍(我通常不会买任何评分低于4.5分的书籍)。请充分利用亚马逊网站的浏览筛选功能,快速找到任何领域内的最好书籍。
即使你选择从本地书店买技术书籍,仍可以先在网上查看留言评价,排除那些糟糕选择。请花些时间到网上或书店预览一下想买的书籍,尤其是在需要考虑购书成本的情况下。若你看不懂书籍的第一章内容,就不要浪费钱购买。
虽然技术类书籍可能价格昂贵,而且经常写满长篇代码,但优秀书籍能用清晰架构,出色编辑和易懂内容弥补这些问题。第二版或更晚版本的书籍会是极佳选择,因为它们至少已经过一轮的市场检验。
2. 阅读网上学习资源
网上学习资源优于书籍的地方在于,它们方便查看,时效性好,当然还有免费选择。不利之处是它们通常没有做过专业编辑,可能缺乏完整性和/或清晰度。但它们常包含其他特性,比如丰富的链接资源,用户留言评论,还有互动性演示。有时留言评论比原始信息还要好,因为评论里会包含大量额外技巧和建议。我发现像php.net(PHP编程语言的参考资源)这样的网站尤其如此。
我寻找网上学习资源的最喜欢方式,就是用Google搜索。如果自己需要CSS学习资源,我便会针对这个关键词进行搜索。我常会通过这种方式,在Google返回的头5个结果里找到些有用资源。其他好用的搜索关键词包括:如何XXX,XXX参考资源,以及直接输入XXX来搜索,XXX指代你想学习的任何内容。
3. 和极客们待在一起
若你和技术人士待在一起的时间足够长,他们的一些知识经验会潜移默化地影响你。甚至极客们也是从其他极客那里学习,但若你本身不算什么极客,加速拓展个人技术能力的一个好方法,就是加入本地的电脑俱乐部或用户社群。这些社群通常欢迎任何技能水平的新成员。不妨联系一个社群,作为访客参加一次聚会,看看自己是否喜欢它。
一旦你加入了某个电脑俱乐部,或者其他满是极客的组织,提供志愿服务是快速结交朋友的绝佳方式。这些非营利组织频繁需要志愿服务;即使你的技术能力薄弱,他们经常也只是需要单纯的人力协助。我在1990年代后期决定积极参加“软件专业人士协会”的活动时,自己便投入了大量精力提供志愿服务。我为他们的新闻邮件写文章,并作为副会长和会长分别服务了一年。这些志愿服务肯定包含大量工作,但我也从和其他志愿者紧密共事中学到许多东西。其中很多经验知识在经营这个个人发展网站时被证明非常宝贵。事实上,当初写作的那些文章,后来逐渐变得技术内容更少,而激励内容更多,这对我在2004年从软件开发行业转换到个人发展行业贡献极大。
4. 订阅技术类杂志
技术类杂志曾是我学习相关知识的最喜爱渠道之一,但多年前我已取消所有杂志的订阅服务。在80年代早期,我花过很长时间打字输入Family Computing之类电脑杂志上的BASIC程序(因为自己那时还未学会快速打字)。虽然我认为纸质杂志在今天用处更少—— 我们常能从网上找到同样的信息 —— 但它们的确是提升总体技术能力的经济实用方式,尤其是在你不太可能采用其他学习方式的情况下。杂志的专业编辑与经验丰富的作者能提供巨大帮助。
5. 课堂学习
若你喜欢群体学习方式,可以寻找学院课程,以及其他本地的培训和工作坊教学项目。
课堂学习的一个关键优势,就是有机会和经验丰富的老师现场互动。拥有几十年专业经验的老师,能知道你无法从书籍或网上资料中找到的知识差别。而且不像很多技术型作家那样,这些老师知道如何把人教懂。
若你想要相关学位,可以考虑上大学修个技术类学位。我上大学时获得过计算机科学和数学的本科双学位。但回顾自己大学毕业后的历程,那些学位都是并无必要的布置作业,而非实用的技能建设。我从10岁时便开始学习电脑编程,虽然自己确实在上大学时学到些额外知识,但省去上大学的所有时间,完全靠自己学习有用知识,反而是利用个人时间的更好方式。长远来看,我发现自己的数学和物理课程,要比计算机科学课程远为有用 —— 前者的知识内容不会像后者那样迅速过时。
6. 创建你自己的网站
长期关注这个网站的读者都知道,我是体验学习方式的铁杆粉丝。设定目标去创建一个基本网站,就是学习HTML和CSS之类实用技能的绝佳方式。当你有了学习的强劲理由时,那个目标会加快你的学习速度,你在学习时也将专注于实际应用。
我是在1995年想制作自己第一个网站时,学习了HTML知识。我边学HTML语言边创建网站,从基本的“Hello, world”编程样例逐步提升。后来我又学过CSS、PHP、MySQL和RSS,这样除了HTML能做的那些平淡工作外,自己还可以去做更多有趣事情。
7. 打造你自己的PC电脑
若你想拓展更好硬件技能,极佳做法就是从零开始打造一台自己的PC电脑。我在2004年做过此事,发现它的回报非常丰厚。你可以节省成本,学习电脑怎样工作的许多知识,最终得到一台日后能轻松升级的定制机。买来所有部件后,我花了大概一天时间完成组装并安装必要软件。这样做对你来说可能是,也可能不是利用时间的好方式,但我觉得它对积累经验很有价值。我今天仍在使用那台电脑,它的处理能力远超自己的实际需求。
如果此事让你觉得紧张,我便不推荐你这样做。但若你对研究选择部件,以及按照指导谨慎组装感到舒适自如,那便是花上一整天时间的好做法。
8. 拥抱各种软件
高效使用软件的能力会随着个人经验拓展而获得提升,所以请使用大量不同的软件(包括线上或线下软件),来提升自己通过软件搞定工作的总体能力。我是从1981年开始使用软件,这种广阔经验让我很容易快速学会新的应用程序。我经常不看辅导材料或说明手册,直接开始动手使用它们。这样做能节省大量时间,鼓励我安装新软件和升级旧软件。
当妻子Erin遇上软件使用麻烦时,即使对相关程序不熟悉,我也常能在几秒钟内解决她的问题。用过成百上千款不同软件后,你终将学会像个用户界面程序员那样去思考,所以直觉会告诉你某些功能可能处于什么位置。你可以把它想成技术直觉。
请拓宽你的软件视野,通过使用众多不同的软件界面,来体验软件程序的丰富性。从图像编辑软件,编程软件和电脑游戏里,你将学到许多界面设计的经验知识。你体验过的软件界面越丰富,就能越快学会和精通自己使用的每款新软件。
9. 学习编程
编程是指导一台电脑完成某项任务的艺术。实现这种壮举的关键,就是学会像台电脑那样思考。编程是人类能执行的最具思维挑战的任务之一,但没有什么事情能和用一串代码解决特定问题带来的满足感相比。不信你可以去问任何一位程序员。🙂
我10岁时开始学习用BASIC语言编程,后来陆续学过十几种编程语言。在如此小的年纪便拓展自己的逻辑和分析能力,让我终生受益,甚至在非技术类的生活追求上也获益丰厚。
例如,我会用程序员思维应对许多个人发展问题。我们如何定义眼前问题?可能的解决方案是什么?什么解决方案能最好满足各种约束条件?落实解决方案的指导步骤是什么?那个解决方案能产生想要的输出结果吗?我们能让这个解决方案变得更优雅或完善吗?在个人发展问题上,我充分应用了常见的编程步骤,即搜集条件需求,建立架构,设计、编码、查找漏洞和优化完善。
虽然人类肯定不像机器那样精确或可预测 ——人际间存在严重的兼容性问题,有时甚至对自己也不兼容 —— 但程序员思维可以对非常人性的问题带来有效解决方案。直觉在个人发展和编程工作中是重要因素,但我也喜欢能有架构清晰,在这两个领域都可行的后备方案。不过这种方案用在个人发展领域要难得多,因为我们明白电脑的工作原理,却仍不清楚人类的思考方式。
10. 找个极客结婚
你在通往技术自由之路上的最后拯救方案,就是找个极客结婚。想到如果我和妻子Erin从来不曾相遇,她现在会身处技术上的何种悲惨世界,我不禁浑身一颤。当1994年最初相遇后,看到她仍在用台10英寸的黑白Mac电脑时,我几乎要哭了出来。于是我很快帮她把电脑升级到14英寸的彩色PC。我告诉过Erin,假如自己先她而去,她需要立马再嫁个极客 —— 对于她所具备的社交技能,这种任务再简单不过。
若你本身并非极客,就应该尽可能让家中有位极客成员。如果做到此事太难,请至少找位极客做朋友。他们确实能将你从困境中拯救出来,而且不会让你和其余世界落后得太远。
请好好待你的极客朋友,对他们的帮助给以公平回报。创意性的技能交换通常是很受欢迎的做法。例如,我和Erin在时尚与家居装饰上显得挺笨拙,所以能教我们穿衣打扮和搭配家居装饰的人士将受到热烈欢迎。目前我们能找到的最好帮手就是六岁大的女儿。她对自己倒很自信,但我不太确定能否信任她的时尚建议。
假如您还没注意到此事,请看到极客们正在接管这个世界。现在世上有多少极客型的亿万富翁,包括我们的世界首富?技术能力在当今社会愈显重要,技术贫乏者也比以往任何时候都和整个世界更加疏远。正如传奇冰球运动员Wayne Gretzky所言:“请朝着冰球前进的方向去滑,而非它已到过的地方。”