﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-debugk|C++-随笔分类-C++</title><link>http://www.cppblog.com/debugk/category/12182.html</link><description /><language>zh-cn</language><lastBuildDate>Thu, 29 Oct 2009 14:23:33 GMT</lastBuildDate><pubDate>Thu, 29 Oct 2009 14:23:33 GMT</pubDate><ttl>60</ttl><item><title>不是书评 ：《我是一只IT小小鸟》</title><link>http://www.cppblog.com/debugk/archive/2009/10/29/99770.html</link><dc:creator>debugk</dc:creator><author>debugk</author><pubDate>Thu, 29 Oct 2009 13:52:00 GMT</pubDate><guid>http://www.cppblog.com/debugk/archive/2009/10/29/99770.html</guid><wfw:comment>http://www.cppblog.com/debugk/comments/99770.html</wfw:comment><comments>http://www.cppblog.com/debugk/archive/2009/10/29/99770.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/debugk/comments/commentRss/99770.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/debugk/services/trackbacks/99770.html</trackback:ping><description><![CDATA[<p><strong>设计你自己的进度条</strong><strong></strong></p>
<p>进度条的设计是一个很多人都知道的故事：同样的耗时，如果不给任何进度提示，只是在完成之后才弹出一个完成消息，中间没有任何动态变化，那么整个过程就会让人等得非常焦急，导致一些人干脆把程序关了了事。如果有进度不断更新，那么对整个过程耗时的心理感受就会远低于实际值，用户也不会郁闷到把程序关了。（你有多少次在银行处理手续的时候，看着工作人员把一堆材料不停地倒腾来去，心里多希望他们可以在柜台小窗口上投影一个进度条？）</p>
<p>这里的原因在于，没有进度提示的话，我们无法判断这个等待什么时候才是个尽头。如果有不断增长的进度条，那么我们对于什么时候会达到100%就会有一个粗略的估计，这个估计是一剂定心丸，让我们知道这事情总会并且会在不久的将来完成。</p>
<p>做事情也是同样的道理，善于规划的人，会将目标分割成一个个的里程碑，再将里程碑分割成TODO列表。前阵子流行的GTD方法学，核心的理念就在于，如果你把任务分割了，你就有了进度条，你就知道，事情在不断的进展，你总会完成任务或到达你的目标，你会有一个时间估计。反之如果没有这个分割，整个的任务或目标对你来说就只有两种状态——&#8220;完成&#8221;和&#8220;未完成&#8221;，如果不幸是一个比较漫长的目标，那么你会发现你的进度条总是&#8220;未完成&#8221;，一次又一次的等待未果会耗尽你的耐心，让你下意识的产生&#8220;这事什么时候才能完呢？&#8221;的疑惑，没有分而治之，你就不知道未来还需要付出多少努力才能达到目的，这就会让你心生怯意，不敢进一步投入时间，免得血本无归。在这样的心理下，不少人就会选择保守策略——退出，以免到头来花了时间还一事无成。</p>
<p>而所谓的规划其实就是针对这种心理弱点的做事方法。如果你对整个目标的几个重大步骤有清晰的界定，能够对每个步骤的耗时作出靠谱的上界估计，你就不会被不确定的未来，不确定的时间投入感到恐惧，就不会被这种不确定感压迫到过早退出。</p>
<p><strong>不要过早退出循环</strong><strong></strong></p>
<p>我们在尝试新的事物的时候，总是会遇到各种各样的困难，不同的人会在碰壁不同的次数之后退出。用程序员喜欢的话来说就是，我们都在for循环，区别在于你是什么情况下break;的。有的人退出阈值高，这是能坚持的一类人，有的人退出阈值低，这类人很可能遇到一些障碍就退出了。</p>
<p>过早退出的原因往往在于对于未来的不确定性，对于投资时间最终无法收到回报的恐惧，感受到的困难越大，这种恐惧越大，因为越大的困难往往暗示着这个任务需要投资的时间越大。所以其实我们都是直觉经济学家，当我们说&#8220;畏难&#8221;的时候，其实我们畏惧的不是困难本身，而是困难所暗示的时间经济学意义。</p>
<p>然而，我们的情绪大脑毕竟比较原始，仅根据碰壁的次数或硬度来判断事情的难易并不一定靠谱，如果你遇到困难，不妨用一用互联网，用一用群体的智慧，看看别人当时是怎么想怎么办的，绝大多数情况下你并不孤单，你遇到的问题早就有人遇到过，你踩过的坑里面尽是前人的脚印，不要仅仅因为一时摸不着头绪，找不着出路就退出，这不是informed decision，问一问自己作出退出的决策是否基于足够的信息，我是否进行了足够的调查，至少，是否去简单用了用搜索引擎。</p>
<p>模仿高德纳先生的名言：<strong>过早退出是一切失败的根源</strong>。</p>
<p><strong></strong></p>
<p><strong>兴趣遍地都是，专注和持之以恒才是真正稀缺的。</strong><strong></strong></p>
<p>很多人看了书中的故事之后得出这样的结论：兴趣最重要。然而，我觉得区别他们和其他人的，并不是他们拥有超过常人的兴趣，而是他们拥有超过常人的毅力。</p>
<p>其实人天生就对新事物怀有好奇心，难以找出谁没有对任何事物或领域产生过兴趣，然而不同的是，有些人的兴趣只能持续几天，当遇到第一个困难，第一道坎的时候，他们就熄灭了，然而另一些人的兴趣火花会变成火苗，火苗会变成火种，一直稳定的燃烧很多年。<strong>区别他们的并不是兴趣的有无，而是他们的性格里面有没有维持兴趣的火种一直燃烧下去的燃料</strong>。</p>
<p>一个人有专注和持之以恒的性格，即便在一个没有多大兴趣的领域也能成为专家（更何况，兴趣的很大一类来源就是&#8220;我擅长做这件事情&#8221;）；反之就算有兴趣也很快会被一些冷水泼灭。</p>
<p><strong>生活中的选择远比我们想象得要多，细微的选择差异造就了不同的人生</strong><strong></strong></p>
<p>唐雅薇同学的故事中，有这么一个细节吸引了我的注意：当时她正在找工作阶段，对女生在IT行业的发展很迷茫，恰逢微软的郭蓓菁女士到他们学校演讲，演讲完了之后她立即就奔上讲台拦住郭女士询问女生与IT的问题。</p>
<p>这是一个细节，但我相信不是所有人都有勇气上去拦住名人问普通问题的，我们会给自己找很多很多的理由和接口，我想最常见的应该是两个原因：1. 如果被批评了自尊心会受到打击。2.认为问了也问不出特别的信息。然而事实却是相反：1. 自尊心受到打击算不上实质性的损失。2. 你想不出能问出什么特别的信息并不代表就真的问不到重要的信息。<strong>别把不知道当成没有</strong>。</p>
<p>一个小小的思维差异，可能导致很多人在遇到困惑的时候原地打转，冲突不出，而另一些人则取经得到宝贵的经验，站在别人的肩膀上越过了障碍。唐雅薇从郭女士那儿得到了最宝贵的信息：女生在IT行业也能有很好的发展。信心，是这样一种奇怪的东西，就算你没有确切的证明未来会更好，你也会坚持下去，你不会过早退出循环；而来源于过来人的信息则是信心最靠谱的保障。</p>
<p>你是不是意识到，在平常的生活中，你所作出的选择比你想象的要多得多呢？有没有想过有一些看似细小的选择可能会产生巨大的影响？</p>
<p>想想看，试一下，是不是真的没什么损失，还有可能得到巨大的回报呢？</p>
<p><strong>靠专业技能的成功是最具可复制性的</strong><strong></strong></p>
<p>它需要的只是你在一个领域坚持不懈地专注下去，只需要选择一个不算太不靠谱的方向，然后专心致志的专下去，最后必然能成为高手或者绝顶高手。世上有很多成功带有偶然因素和运气成分或出身环境，但至少这一样，被无数人复制了无数遍，否则就不会存在学校和教育了。</p>
<p><strong>反思是让人得以改进自己的最重要的思维品质</strong><strong></strong></p>
<p>很多人在成年之后甚至未及成年，性格就难以再发生大的变化。性格是这样一种自我实现和强化的陷阱：如果你是不容易专注的人，你会发现生活中处处都是分散你注意力的东西，你的思维难以在一个事情上停留半小时，于是你的时间变得琐碎，你很难在一个领域有长久的积累和深入的思考，这样的现实可能会让你感到沮丧，后者让你更加无法专心，这样的现实可能会让你感到焦虑，为了避开焦虑你又会去寻求其他的刺激，结果是恶性循环。</p>
<p>反思是改变自己的第一步，我们常常容易发现别人的问题，别人的错误，却难以发现自己思维中的问题，因为我们很少会把自己的思维当成目标去思考。</p>
<p>作为程序员，相信没有人不知道能修改自身的程序，而能修改自身的程序的前提就是，首先这个程序必须有法子能够指向自身。</p>
<p><strong>饿死在干草堆之间的驴子</strong><strong></strong></p>
<p>有很多在迷茫期的同学，迷茫都是相似的：面前有两条路，到底选哪一条？&#8220;转行还是不转行？&#8221;&#8220;学C++还是学Java。？&#8220;做管理还是做程序员？&#8221;有些问题其实不是问题：比如&#8220;学C++还是学Java。&#8221;答案是都学而且还不仅学两个。有些问题不是一个泛泛的答案能够适合的，比如转行还是不转行，需要考虑很多自身因素。</p>
<p>但更重要的是，有人会因为无法作出决定就推迟决定，然而实际上推迟决定是最差的决定，在推迟决定期间，时间悄悄流逝，你却没有任何一条路上的积累，白白浪费了时间。</p>
<p>如果你有一些钱不知道花在A还是B上，你先不作决定，没问题，因为钱还是你的，但如果你有一些时间，不知道花在A上还是B上，不行，因为过了这段时间，这段时间就不是你的了。</p>
<p>所以，不管有多纠结，也不要从纠结中逃离，试图推延决定，既然终究是个痛苦的决定，就痛一回，好好思考和调查之后作出一个决定并坚持下去，只要不是太不靠谱的行业（相信也没谁会在纠结了之后却选了一个不靠谱的行业的），经过你的积累总会成为高手。</p>
<p><strong>一生的知识积累，自学的起码占</strong><strong>90%</strong></p>
<p>你会在这本书当中看到的一个重复出现的现象就是自学，大规模的自学，逃课自学，上网找书自学，程序员行业是最适合自学的行业，网络是程序员的天堂，需要的资源、工具，比课堂上的多出何止百倍，如果说还有一个学科，并不需要传统的教育就可以成才，估计非程序员莫属了。作为程序员如果没有查过wikipedia，没有看过几本原版电子书，没有在国内外主要邮件列表里面提过问题吵过架，没有用技术博客记录学习的独特体会，没有订阅技术牛人们的博客，怎么好意思说身在这个行业呢？</p>
<p>最后，看完了书还是说&#8220;说起来容易做起来难&#8221;的，<strong>怪自己，不怪书</strong>。</p>
<img src ="http://www.cppblog.com/debugk/aggbug/99770.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/debugk/" target="_blank">debugk</a> 2009-10-29 21:52 <a href="http://www.cppblog.com/debugk/archive/2009/10/29/99770.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>