<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>葡萄树 On The Road --- 我只是一个会操作计算机的民工 &#187; 建议</title>
	<atom:link href="http://www.am82.com/houzan/archives/tag/%e5%bb%ba%e8%ae%ae/feed" rel="self" type="application/rss+xml" />
	<link>http://www.am82.com/houzan</link>
	<description>我的时光，停在了你的角落...~</description>
	<lastBuildDate>Wed, 08 Sep 2010 16:13:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>程序员进阶的建议：多看、多写、多交流</title>
		<link>http://www.am82.com/houzan/archives/3885</link>
		<comments>http://www.am82.com/houzan/archives/3885#comments</comments>
		<pubDate>Sat, 06 Mar 2010 16:37:36 +0000</pubDate>
		<dc:creator>假装纯情</dc:creator>
				<category><![CDATA[挨踢消息]]></category>
		<category><![CDATA[建议]]></category>
		<category><![CDATA[程序员]]></category>

		<guid isPermaLink="false">http://www.am82.com/houzan/?p=3885</guid>
		<description><![CDATA[很多初学者都说入门之后不知道该如何提高，我都是告诉他们多实践。最近在我们的团队中建立了一个学生的实习小组，我在和他们讲授程序设计分析的时候，我也给他们了个小建议写代码就是多看、多写，后来又补上一点：多交流。
我认为不管是做什么行业或工作，只要专注都可以有自己不同的成就。因此我觉得做任何事必需要有热情，而且是持续的热情，有一句话说“好的开始是成功的一半，持之以恒是成功的另一半”我很认同，所以自己的认定的事情就应该坚持的去做。我提出了三多：多看、多写、多交流，来将热情付出行动。
这里谈到的是当你入门后怎么使........]]></description>
			<content:encoded><![CDATA[<p>很多初学者都说入门之后不知道该如何提高，我都是告诉他们多实践。最近在我们的团队中建立了一个学生的实习小组，我在和他们讲授程序设计分析的时候，我也给他们了个小建议写代码就是多看、多写，后来又补上一点：多交流。<br />
我认为不管是做什么行业或工作，只要专注都可以有自己不同的成就。因此我觉得做任何事必需要有热情，而且是持续的热情，有一句话说“好的开始是成功的一半，持之以恒是成功的另一半”我很认同，所以自己的认定的事情就应该坚持的去做。我提出了三多：多看、多写、多交流，来将热情付出行动。<br />
这里谈到的是当你入门后怎么使自己不段的提高的一些方法，可能只是一些片面之词，但我相信只要你去做了都会有一些收获。<br />
在 我们开始学习程序，都必须对一些基础知识进行学习，例如语法、常用的内置函数，就PHP来说内置函数有成百上千个（没有统计过），就常用的也有上百个。怎 么才可以对这些逐个掌握？死记硬背？这是一个常人都无法做到的，即使是记住了，通常能否灵活的应用还要打个问号。那该怎么做呢？<br />
首先是多看，看技术文章，看开源代码。<br />
技 术文章应该不必多说，这是学习新技术和积累技术的必备渠道。这里我谈谈该怎么看，很多人包括我自已有时候，只是看一遍就算了，这样的结果一般都是知其然不 知所以然。我认为要把别人的东西变成自己的必须实践。把文章所说的技术通过自己理解的写出来并改进，并在合适的时候尽快应用的你的实际工作中。<br />
再 说看代码，一是一些网友的代码，这里就要有一个观念，就是不能迷信别人的代码，应该客观的去看，学习别人的方法的时候，应该去考虑它是否有问题，应该是辩 证的态度对对待，如果有问题自己试着去解决，并和他们交流。二是看开源项目中的代码，这类就不仅仅是看代码了还有框架、设计思想等。我建议每个人至少看到 1到2套开源代码，因为我认为开源代码对自己的提高比一般的技术文章要快的很多。首先它们都是一些较为成功的项目，在成功项目中其实包含了原作者的经验和 其项目不断改进中产生的非富经验。对于开源项目，我的方法是先从它的入口文件看起一般是index.php看它的整体文件结构，再看它的公共文件里的内 容，具体的一些常用的工具类，这样会对整个项目的结构有一个了解，然后就是你所兴趣的功能的具体实现代码，并详细搞懂他的实现方式和原理。在看的过程中你 肯定可以学到很多有价值的东西。我个人的经验是：看的最多的是DZ的代码，其它项目也很多，但比较全面的还是dz的代码。个人认为看代码还是比较速成的一 种方式，因为别人的走过的路你就不需要再走了，站在巨人的肩膀上总是可以走的更快更远。<br />
关于多写其实 上面也提到了，学习后的东西应该要马上实践，并尽快在合适的时候应用到自己的工作中，这样才能收获的更多更快。另一方面是自己尝试着去写一些小项目，只有 去做一完整性的项目才是最有价值的实践，但在做这些实践中我认为应该严格的要求自己，既然是为了学习，就不是应该敷衍了事，尽可能把所有细节都处理的最 好。还有就是时间一定要要求自己，不能拖，一方面是要给自己压力，二是如果时间拖的太久思路和激情没法持续的话，那你的计划很可能最终会失败并不了了之。<br />
开 篇我提到很多初学者都说入门之后不知道该如何提高，我都告诉他们要多写，为什么会无法提高，我认为是没有目标，只要你给自己定一个目标，然后去实现，完成 后其实也达到自己提高的目的了。例如你去写一个简单的博客程序，在实现的过程中会遇到很多问题，再逐一去解决，这样你就有了学习的方向了，解决问题就是积 累经验和学习的过程。总的来说要给自己设置一个需要完成的目标，这个目标是什么有什么内容，什么时候完成都很清楚。<br />
其实说到这里就可以回答上面该如何去掌握那么多的函数呢，当你看过和写过很多代码后你会发现你所掌握的函数和方法已经很多了，这就是在实践的过程中无形产生的结果。所以什么语法之类的基础的东西是不需要去死亡硬背的，在运用的时候自然就可以对它驾轻就熟。<br />
最 后我认为做技术的交流很重要，因为做技术是个永无止境的学习过程，而交流是一种更有效的学习方式。因为每个人的知识系统都是不同的，每个人掌握的东西不 同，思维方式各异。所以交流就是一个互相学习和促进的过程，当你把自己的想法与别人交流你就会收获更多新的想法。交流是一咱倍速增长的过程，前一段我写了 一篇《当你开启一扇门的时候，很多扇门将为你开启》给我们的团队就是想表达这个想法。<br />
交流有很多的， 有线上的有线下的，大家都有上论坛的习惯，这是一种交流方式，但我认为线下交流更有效，语言的交流比文字的交流方式更直接和全面。因为我是PEA福州的常 委之一，很多线下活动是由我组织的，从参加人数来看并不是很理想，所以我认为做技术的应该更开放一些，多参加类似PEA的这种交流。<br />
交流一定要是开放的，所以在交流中应该是一种包容的心态去面对。也就是说我们是持有自己想法的时候也应该耐心倾听他人的意见，不能认死理。只有站在客观的角度去看问题才能把问题看的更透彻，只有不抵触才能让自己学到更多的东西。<br />
在我们的技术团队中有定期的技术分享会，目的就是为了建立交流的平台，让大家都尝试表达自己的意见，锻炼自己的能力，并可以和更多的人去交流。<br />
最后总结一下，多看，吸收别人的经验转化为自己所用，多写，全面性的锻炼自己的能力，多交流，利用众人的智慧。三多更多的就是去做。<br />
本文投稿在《PHPer》http://www.phpchina.com/phper/25/06.html</p>
]]></content:encoded>
			<wfw:commentRss>http://www.am82.com/houzan/archives/3885/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>我的七个建议</title>
		<link>http://www.am82.com/houzan/archives/3682</link>
		<comments>http://www.am82.com/houzan/archives/3682#comments</comments>
		<pubDate>Sat, 30 Jan 2010 07:11:24 +0000</pubDate>
		<dc:creator>假装纯情</dc:creator>
				<category><![CDATA[挨踢消息]]></category>
		<category><![CDATA[建议]]></category>
		<category><![CDATA[推荐]]></category>

		<guid isPermaLink="false">http://www.am82.com/houzan/?p=3682</guid>
		<description><![CDATA[如果你喜欢编程，那么你真是受到了上天的眷顾。你是非常幸运的少数人之一，能够以自己喜欢的事谋生。大多数人没有这么幸运。你认为理所当然的观念“热爱你的工作”，其实是一个很现代的概念。通常的看法是，工作是一种让人很不开心的事，你为了拿工资才不得不去上班。你工作的目的是为了攒下钱去干那些自己真正喜欢干的事，但是前提是你得等到65岁退休之后才行，而且还有不少条件。条件一，你的积蓄必须足够多；条件二，你没有老到走不动，你还有体力去干那些事情；条件三，你喜欢的事情不需要用到脆弱的膝盖、昏花的视力，也不要求你走上一里地不喘气，等等。

我刚才说到哪里了？对了，我要提........]]></description>
			<content:encoded><![CDATA[<p>作者：Joel Spolsky</p>
<p>[编者按]由于Joel Spolsky的双重身份（昔日耶鲁大学计算机系学长，今日Fog Creek软件公司的CEO），所以听听他的建议，对于当今无数困扰于就业压力的中国高校计算机专业学子来说，是大有裨益的。你们会发现，大多数建议，都在强调“软实力”的价值。本文转载自《软件随想录》(作者：Joel Spolsky ，译者: 阮一峰，2009年12月出版)，感谢北京图灵文化发展有限公司的支持。</p>
<p>如果你喜欢编程，那么你真是受到了上天的眷顾。你是非常幸运的少数人之一，能够以自己喜欢的事谋生。大多数人没有这么幸运。你认为理所当然的观念“热爱你的工作”，其实是一个很现代的概念。通常的看法是，工作是一种让人很不开心的事，你为了拿工资才不得不去上班。你工作的目的是为了攒下钱去干那些自己真正喜欢干的事，但是前提是你得等到65岁退休之后才行，而且还有不少条件。条件一，你的积蓄必须足够多；条件二，你没有老到走不动，你还有体力去干那些事情；条件三，你喜欢的事情不需要用到脆弱的膝盖、昏花的视力，也不要求你走上一里地不喘气，等等。</p>
<p>我刚才说到哪里了？对了，我要提建议。</p>
<p>毕业前练好写作</p>
<p>如果不是Linus Torvalds不断地散布福音，请问Linux操作系统会成功吗？虽然他是一个非常聪明的计算机天才，但是Linux吸引来全世界一大批志愿者的真正原因却是Linus Torvalds的表达能力。他通过电子邮件和邮件列表用书面形式传播自己的想法，最终引起了所有人的注意。</p>
<p>你听说过现在风靡一时的“极限编程[ ] ”（Extreme Programming）吗？我在这个地方不谈我对极限编程的看法，我只说如果你听过这个词，那么原因就是它的倡导者都是一些非常有才华的作家和演说家。</p>
<p>即使我们缩小范围，将目光局限在任何一个软件开发团体中，你也会发现该团体中最有权势和影响力的程序员正是那些表达能力强的程序员，他们无论是做书面表达还是做口头表达，都能够清晰、自如、具有说服力地传达观点。此外，长得高也有助于提升影响力，不过这个不取决于你。</p>
<p>一个普通程序员与一个优秀程序员的区别，不在于他们懂得的编程语言谁多谁少，也不在于他们喜欢用Python语言还是喜欢用Java语言，而在于他们能否与他人交流思想。如果你能说服其他人，你的力量就可以得到放大。如果你能写出清晰的注释和技术规格说明书，其他程序员就能够理解你的代码，因此他们就能在自己的代码中使用，而不必重写。如果你做不到这一点，你的代码对其他人就没有价值。如果你能为最终用户写出清晰的使用手册，其他人就能明白你的代码是用来干什么的，这是唯一让别人明白你的代码有何价值的方法。SourceForge[ ]上有许多优美的、有用的代码，但是它们都像被埋葬了一样，根本没人来用，原因就是它们的作者没有写好使用说明（或者压根就没写）。这样一来就没有人知道他们的成果，他们杰出的代码就衰亡了。</p>
<p>如果一个程序员不会用英语写作、没有良好的写作能力，我就不会雇他。如果你能写，不管你去哪家公司工作，你很快就会发现写作技术文档的任务会落到你头上，这意味着你已经开始在放大自己的影响力了，管理层正在注意到你。</p>
<p>大学里有些课程被公认为“写作密集型”（writing intensive）课程，这就是说为了拿到学分，你必须写作多得可怕的文字。一定要去上这样的课程！不要管学科，只要这门课每周甚至每天都要你写东西，你就去上。</p>
<p>你还可以动手写日记或者网志。你写得越多，写作就会变得越容易。写起来越容易，你就会写得越多。这是一个良性循环。</p>
<p>毕业前学好C语言</p>
<p>第二点我要讲的是C语言。请注意，我说的是C语言，而不是C++。虽然在实际使用中C语言已经越来越罕见，但是它仍然是当前程序员的共同语言。C语言让程序员互相沟通，更重要的是，它比你在大学中学到的“现代语言”（比如ML语言、Java语言、Python语言或者其它正在教授的流行垃圾语言）都更接近机器。你至少需要花一个学期来了解机器原理，否则你永远不可能在高级语言的层次写出高效的代码。你也永远无法开发编译器和操作系统，而它们恰恰属于目前程序员能够得到的最佳工作之列。别人也永远不会放心将大型项目的架构设计交给你。我不管你懂多少延续（continuation）、闭包（closure）、异常处理（exception handling），只要你不能解释为什么while (*s++ = *t++)；这句代码的作用是复制字符串，或者不觉得这是世界上对你来说再自然不过的事情，那么你就是在盲目无知的情况下编程。在我看来，这就好像一个医生不懂得最基本的解剖学就在开处方，他看病的根据完全是因为那些娃娃脸的医药厂商销售代表说这种药有用。</p>
<p>毕业前学好微观经济学</p>
<p>如果你没有上过任何经济学课程，那么我首先来做一个超短的评论：经济学是这样的学科之一，刚开始学的时候轰轰烈烈，有许多有用的、言之有理的理论和可以在真实世界中得到证明的事实，等等；但是，再学下去就每况愈下，有用的东西就不多了。经济学一开始那个有用的部分正是微观经济学，它是商业领域所有重要理论的基础。跟在微观经济学后面的东西就不行了。你接下来学的是宏观经济学，如果你愿意，尽管跳过去，也不会有什么损失。宏观经济学开头的部分是利息理论，内容比方说是利率与失业之间的关系，但是怎么说呢，看上去这部分里面还没有被证实的东西多于已经被证实的东西。学完这部分，后面的内容越来越糟糕，许多经济学专业的学生实际上都变成在搞物理学，因为这样才能在华尔街上找到更好的工作。但是不管怎样，你一定要去学微观经济学，因为你必须搞懂供给和需求，你必须明白竞争优势，你必须理解什么是净现值（NPV），什么是贴现，什么是边际效用。只有这样，你才会懂得为什么生意是现在这种做法。</p>
<p>为什么计算机系的学生也应该学经济学？因为，从经营一家公司的角度来看，比起那些不懂的程序员，一个理解基本商业规则的程序员将会更有价值。就是这么简单。我无法告诉你有多少次我是那样地充满挫折感，因为我看到了太多的提出一些疯狂的想法的程序员，这些想法在代码上也许可行，但在资本主义世界中毫无意义。如果你懂得商业规则，你就是一个更有价值的程序员，你会因此得到回报的，但是前提是你要去学习微观经济学。</p>
<p>不要因为枯燥就不选修非计算机专业的课程。</p>
<p>想提高GPA绩点的一个好方法就是多选修非计算机系的课程。请千万不要低估你的GPA的重大意义。千千万万的人事经理和招聘人员在拿到一份简历的时候，第一眼就会去看GPA，包括我也是这样。我们不会为这种做法道歉。为什么？因为GPA不反映单个的成绩，而是代表了许多个教授在一段很长的时间中，在不同的情况下，对你的表现的一个总的评估。SAT成绩难道不够吗？哈，那只不过是一场几个小时的测试罢了。GPA中包括了四年大学期间你的小论文、期中考试和课堂表现，总数有几百次之多。当然，GPA也有自己的问题，不是百分之百准确。比如，这些年来，老师对学生的打分越来越宽松，学习成绩有通货膨胀的趋势。再比如，GPA无法反映课程的难度，没人能够看出你的GPA是来自无名社区大学家政系的轻松课程还是来自加州理工学院针对研究生的量子力学课程。渐渐地，我形成了一套自己的做法，首先我会过滤掉所有来自社区大学、GPA低于2.5的简历，然后我会要求剩下的人给我寄成绩单和推荐信。我再从中发现那些成绩一贯优秀的人，而不是那些仅仅在计算机系课程中得到高分的人。</p>
<p>为什么我要关心某人的“欧洲历史”课程成绩呢，毕竟作为雇主我要找的应该是程序员啊？何况，历史是那么枯燥，不得高分很正常。哦，这么说来，你的意思是我应该雇用你，而不用考虑一旦工作变得枯燥你会不会努力工作？别忘了，在编程工作中也有很枯燥的东西。每一项工作都有枯燥难耐的时刻。我不想雇用那些只想干有趣事情的人。</p>
<p>选修有大量编程实践的课程</p>
<p>我依然清楚记得我发誓绝不读研究生的那一刻。那是在一门叫做“动态逻辑”的课程上，教师是活力十足的耶鲁大学教授Lenore Zuck，她是计算机系那些聪明的老师中最聪明的人之一。</p>
<p>如今， 由于记忆力糟糕， 我已经差不多把这门课的内容忘光了，但是不管怎么说，在这里我还是想要对付着说一下。大致上，形式逻辑的意思是说，如果条件成立，你就能证明结论也成立。比如，根据形式逻辑，已知“只要成绩好，就能被雇用”，然后假定“Johnny的成绩好”，你就可以得到一个崭新的结论“Johnny会被雇用”。这完全是经典方法。但是，一个解构主义者（deconstructionist）只需要10秒钟就能破坏形式逻辑中所有有用的东西。这样一来，留给你的只是一些趣味性，而不是实用性。</p>
<p>现在再来说动态逻辑。它与形式逻辑其实是一回事，但是必须再多考虑时间因素。比如，“你打开灯之后，就能看见自己的鞋子”，已知“灯以前是亮的”，那么这就意味着“你看见了自己的鞋子”。</p>
<p>对于像Zuck教授那样聪明的理论家，动态逻辑充满了吸引力，因为它看上去很有希望让你在形式上证明一些计算机程序的相关理论问题。这样做说不定很有用。比如，你可以用它在形式上证明，火星漫游车的闪存卡不会发生溢出（overflow）问题，不会因而整天一遍又一遍地重启，耽误了它在那颗赤红色的星球上漫游寻找火星人马文（Marvin the Martian）。</p>
<p>在第一堂课上，Zuck博士写满了整整两面黑板，甚至黑板旁边的墙上都写上了很多证明步骤。需要证明的问题是，有一个控制灯泡的开关，现在灯泡没有亮，这时你打开了开关，请证明灯泡将会点亮。</p>
<p>整个证明过程复杂得不可思议，处处都是陷阱，必须十分小心。保证这个证明不出错太困难了，还不如直接相信打开开关灯就会亮。真的，虽然证明过程写满了许多块黑板，但是还是有许多中间步骤被省略了，因为如果要从形式逻辑上完整证明所有步骤，那就琐碎得无法形容了。许多步骤是用各种经典的逻辑证明方法推导得到的，包括归纳法、反证法等，甚至有些部分还是由旁听的研究生证明的。</p>
<p>留给我们的课后作业是证明逆命题：如果灯原来是关着的，现在却亮了，那么请证明开关的状态一定同原来相反。</p>
<p>我动手开始证明，我真的去证明了。</p>
<p>我在图书馆里待了很长时间。</p>
<p>我对照着Zuck博士的原始证明想依样画葫芦。研究了几个小时之后，我在其中发现了一个错误。可能我抄写的时候抄错了，但是这使得我想通了一件事。如果花费3个小时，写满了一块又一块的黑板，每一秒钟都可能出错，最后能够证明的却只是一个很琐碎的结论，那么这种方式有多大的实用性呢？在活生生、充满趣味的现实世界中，你永远都不会有机会使用它。</p>
<p>但是，动态逻辑的理论家们对这一点不感兴趣。他们看上它不是因为它有用，而是因为它可以为他们带来终身教职。</p>
<p>我放弃了这门课，并且发誓绝不会去读计算机科学的研究生。</p>
<p>这个故事告诉我们，计算机科学与软件开发不是一回事。如果你真的非常幸运，你的学校可能会开设很像样的软件开发课程。但是另一种可能是，你的学校根本不教你在现实中如何编程，因为精英学校都觉得，教授工作技能最好留给职业技术学校、犯人重返社会的培训项目去做。你到处都能学怎么写代码。别忘了，我们是耶鲁大学，我们的使命是培养未来的世界领袖。你交了16万美元的学费，却在学循环语句的写法，这怎么可以？你以为这是什么地方，难道是机场沿途的酒店里临时拼凑起来不靠谱的Java语言培训班？哼哼。</p>
<p>麻烦在于我们没有一种真正教授软件开发的专门学校。你如果想成为一个程序员，你可能只能选择计算机科学专业。这是一个不错的专业，但是它同软件开发不是一回事。在那些400等级的课程代号中，去寻找名称中带有“Practicum”这个词的课程吧（编者注：指供人实习的课程）。不要被这个拉丁语单词吓倒，这些都是有用的课程，之所以起这种名字，只是为了让那些文绉绉、装腔作势、满嘴胡说八道的公司经理们觉得高深莫测。</p>
<p>别担心所有工作都被印度人抢走</p>
<p>我首先要说的是，如果你本身就已经在印度了，或者你就是印度人，那么你真的毫无必要去想这件事，根本不用琢磨所有的工作机会是不是都跑到了印度。那些都是非常好的工作，好好地享受吧，祝你身体健康。</p>
<p>但是，我不断听说计算机系的入学人数下降得很厉害，已经到了危险的程度。根据我听到的说法，其中的一个原因是“学生们不愿去学一个工作机会都流向印度的专业”。这种担心大错特错，有很多理由可以反驳。首先，根据一时性的商业潮流决定个人的职业选择，这是愚蠢的。其次，即使编程工作无一幸存地都流向了印度和中国，但是学习编程本身依然是一种第一流的素质训练，可以为各种超级有趣的工作打下基础，比如业务流程工程（business process engineering）。再次，不管是在美国还是在印度，真正优秀的程序员依然是非常非常短缺的，这一点请相信我。不错，确实有相当一批失业的IT从业者在那里鼓噪，抱怨他们长时间找不到工作，但是你知道吗？即使冒着触怒这些人的风险，我还是要说，真正优秀的程序员根本不会失业。最后，你还能找到更好的专业吗？你觉得什么专业好？主修历史学？如果那样，你毕业的时候就会发现，根本没有其他选择，只能去法学院。不过我倒是知道一件事：99%的律师都痛恨他们的工作，痛恨他们当律师的每一分钟。可是，律师每周的工作时间偏偏长达90小时。就像我前面说过的：如果你喜欢编程，那么你真是受到了上天的眷顾。你是非常幸运的少数人之一，能够以自己喜欢的事谋生。</p>
<p>不过说实话，我不觉得学生们真的有上面的想法。近年来，计算机系入学人数的下降只是回到了历史上的正常水平，因为前些年的互联网狂热使得入学人数出现了大泡沫，抬高了基数。由于这种泡沫，许多并不真的喜欢编程的人也来读计算机系。他们心里想的是，只要进了计算机系，将来就能找到诱人的高薪工作，就能获得24岁当上CEO、进行IPO的机会。谢天谢地，这些人现在都离计算机系远远的了。</p>
<p>找一份好的暑期实习工作</p>
<p>精明的招聘负责人都知道，喜欢编程的人高中时就将牙医的信息输入了数据库，进入大学前就去过三次电脑夏令营，为校报做过内容管理系统，有过软件公司的夏季实习经历。招聘负责人就是要在你的简历上找这些东西。</p>
<p>如果你喜欢编程， 就不要随便什么工作都答应，否则你会犯下最大的错误。不管是暑期工作，还是兼职或者其他性质的工作，只要与编程无关，就不要轻易接受。我知道，其他19岁的孩子都想去购物中心里打工，在那里折叠衬衫。但是你与他们不同，你19岁时就已经掌握了一门非常有价值的技能。将时间浪费在折叠衬衫上是很愚蠢的，等到毕业的时候，你的简历上本应该写满了一大堆与编程相关的经历。就让那些财经类的毕业生去租车公司“帮助人们满足他们租车的需要”吧，你要干的是别的事（在电视中扮演超人的Tom Welling注1除外）。</p>
<p>为了让你的生活变得更容易一些，也为了强调这整篇文章完全是为了满足我的个人目的，我要告诉你，我的公司——Fog Creek软件公司——提供软件开发方面的暑期实习机会。我们非常看重简历。“比起其他公司的实习工作，你在Fog Creek最有可能学到更多的编写代码、软件开发、商业运作方面的知识。”这是去年夏天我们的一个实习生Ben说的。他会这样说，并不完全是因为我派了人到他的宿舍让他这样说。我们接受实习申请的截止日期是2月1日。一起来吧。</p>
<p>如果你听从了我的建议，你还是有可能落得一个悲惨的下场，比如很早就卖掉了微软公司的股票，再比如拒绝了谷歌公司的工作机会，原因是你想要一间自己的可以关上门的独立办公室，或者做出了其他生命中愚蠢的决定。但是，这些可不是我的错。我一开始就告诉过你，不要听我的话。</p>
<p>(注1 ： T o m W e l l i n g是一个美国演员， 在电视剧《超人前传》（Smallville）中扮演超人。该电视剧讲述还没有成长为后来超人的克拉克·肯特少年时代的故事。)</p>
<p>作者简介：</p>
<p>Joel Spolsky，世界最具影响的程序员网志Joel on Software的主人，软件业一位旗帜鲜明的思想者，一位传统软件管理理念的挑战者。他创办的这个网站被程序员誉为“反呆伯特宣言书”，并被翻译为三十多种语言。Joel毕业于耶鲁大学，随后即进入微软公司工作，曾任微软公司E x c e l 开发小组项目经理。现在他在自己创办的Fog Creek软件公司任CEO。此外，他与人合办的Stack Overflow已经成为如今最热门的技术网站。</p>
<p>（本文来自《程序员》杂志2010年1月刊）</p>
]]></content:encoded>
			<wfw:commentRss>http://www.am82.com/houzan/archives/3682/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
