一个简单的学生成绩管理系统都能让你溜出来,你丢脸不?动手能力这么差?没人推你,自己就不能走吗? 脚踏实地,去行动。
Posts By: Spark
第四十八天 困境
回家,真的好辛苦。天涯海角的火车票,真难买啊!飞机又贵的离谱。 还好,这是最后一次了。 选择不去羽毛球,对吗?可我确实完成了很多事情,回家的,拖拉的……如果去了,就又拖到明天了。 那就不要后悔。也许是毁诺,可我已准备白交场地费,不管别人怎么说,对得起自己内心就好。 期末考一天天临近,不能再拖了。复习,现在开始。就像她说的,你怎么这么菜,都划重点了,都考不了高分? 我的blog最重要的读者,就是我自己。如果碰巧帮助了别人,那是额外的收获。即使没有人读,我觉得我也会继续,因为它帮助自己思考。 微软的杀手锏,不是为了技术而技术,而是为了"生产力",为了用户的商业成功而追求技术。喜欢微软的人,除了办公室里需要加班赶出明天的演讲稿、或者财务报表的白领,还有希望赚更多钱的小业主和面临巨大上线时间压力的CTO。微软的技术像快餐一样,虽不美味,不够精致,但是对于填饱一个个刚刚开始尝到IT 甜头的中小企业的肚子,还是实惠的。我们在挑剔它的同时,不能忽视它让全球多少的企业开始使用电脑提高生产力所做的贡献。 一个简直就是我的心声,另一个则让我正视微软。
转载:七个建议 to 软件专业学生
我的七个建议 原文地址:http://www.programmer.com.cn/1798/ 作者: chenqiuge 原书作者:Joel Spolsky [编者按]由于Joel Spolsky的双重身份(昔日耶鲁大学计算机系学长,今日Fog Creek软件公司的CEO),所以听听他的建议,对于当今无数困扰于就业压力的中国高校计算机专业学子来说,是大有裨益的。你们会发现,大多数建议,都在强调“软实力”的价值。本文转载自《软件随想录》(作者:Joel Spolsky ,译者: 阮一峰,2009年12月出版),感谢北京图灵文化发展有限公司的支持。 如果你喜欢编程,那么你真是受到了上天的眷顾。你是非常幸运的少数人之一,能够以自己喜欢的事谋生。大多数人没有这么幸运。你认为理所当然的观念“热爱你的工作”,其实是一个很现代的概念。通常的看法是,工作是一种让人很不开心的事,你为了拿工资才不得不去上班。你工作的目的是为了攒下钱去干那些自己真正喜欢干的事,但是前提是你得等到65岁退休之后才行,而且还有不少条件。条件一,你的积蓄必须足够多;条件二,你没有老到走不动,你还有体力去干那些事情;条件三,你喜欢的事情不需要用到脆弱的膝盖、昏花的视力,也不要求你走上一里地不喘气,等等。 我刚才说到哪里了?对了,我要提建议。 毕业前练好写作 如果不是Linus Torvalds不断地散布福音,请问Linux操作系统会成功吗?虽然他是一个非常聪明的计算机天才,但是Linux吸引来全世界一大批志愿者的真正原因却是Linus Torvalds的表达能力。他通过电子邮件和邮件列表用书面形式传播自己的想法,最终引起了所有人的注意。 你听说过现在风靡一时的“极限编程[ ] ”(Extreme Programming)吗?我在这个地方不谈我对极限编程的看法,我只说如果你听过这个词,那么原因就是它的倡导者都是一些非常有才华的作家和演说家。 即使我们缩小范围,将目光局限在任何一个软件开发团体中,你也会发现该团体中最有权势和影响力的程序员正是那些表达能力强的程序员,他们无论是做书面表达还是做口头表达,都能够清晰、自如、具有说服力地传达观点。此外,长得高也有助于提升影响力,不过这个不取决于你。 一个普通程序员与一个优秀程序员的区别,不在于他们懂得的编程语言谁多谁少,也不在于他们喜欢用Python语言还是喜欢用Java语言,而在于他们能否与他人交流思想。如果你能说服其他人,你的力量就可以得到放大。如 果你能写出清晰的注释和技术规格说明书,其他程序员就能够理解你的代码,因此他们就能在自己的代码中使用,而不必重写。如果你做不到这一点,你的代码对其 他人就没有价值。如果你能为最终用户写出清晰的使用手册,其他人就能明白你的代码是用来干什么的,这是唯一让别人明白你的代码有何价值的方法。SourceForge[ ]上有许多优美的、有用的代码,但是它们都像被埋葬了一样,根本没人来用,原因就是它们的作者没有写好使用说明(或者压根就没写)。这样一来就没有人知道他们的成果,他们杰出的代码就衰亡了。 如果一个程序员不会用英语写作、没有良好的写作能力,我就不会雇他。如果你能写,不管你去哪家公司工作,你很快就会发现写作技术文档的任务会落到你头上,这意味着你已经开始在放大自己的影响力了,管理层正在注意到你。 大学里有些课程被公认为“写作密集型”(writing intensive)课程,这就是说为了拿到学分,你必须写作多得可怕的文字。一定要去上这样的课程!不要管学科,只要这门课每周甚至每天都要你写东西,你就去上。 你还可以动手写日记或者网志。你写得越多,写作就会变得越容易。写起来越容易,你就会写得越多。这是一个良性循环。 毕业前学好C语言 第二点我要讲的是C语言。请注意,我说的是C语言,而不是C++。虽然在实际使用中C语言已经越来越罕见,但是它仍然是当前程序员的共同语言。C语言让程序员互相沟通,更重要的是,它比你在大学中学到的“现代语言”(比如ML语言、Java语言、Python语 言或者其它正在教授的流行垃圾语言)都更接近机器。你至少需要花一个学期来了解机器原理,否则你永远不可能在高级语言的层次写出高效的代码。你也永远无法 开发编译器和操作系统,而它们恰恰属于目前程序员能够得到的最佳工作之列。别人也永远不会放心将大型项目的架构设计交给你。我不管你懂多少延续(continuation)、闭包(closure)、异常处理(exception handling),只要你不能解释为什么while (*s++ = *t++);这句代码的作用是复制字符串,或者不觉得这是世界上对你来说再自然不过的事情,那么你就是在盲目无知的情况下编程。在我看来,这就好像一个医生不懂得最基本的解剖学就在开处方,他看病的根据完全是因为那些娃娃脸的医药厂商销售代表说这种药有用。 毕业前学好微观经济学 如果你没有上过任何经济学课程,那么我首先来做一个超短的评论:经济学是这样的学科之一,刚开始学的时候轰轰烈烈,有许多有用的、言之有理的理论和可以在真实世界中得到证明的事实,等等;但是,再学下去就每况愈下,有用的东西就不多了。经济学一开始那个有用的部分正是微观经济学,它是商业领域所有重要理论的基础。跟 在微观经济学后面的东西就不行了。你接下来学的是宏观经济学,如果你愿意,尽管跳过去,也不会有什么损失。宏观经济学开头的部分是利息理论,内容比方说是 利率与失业之间的关系,但是怎么说呢,看上去这部分里面还没有被证实的东西多于已经被证实的东西。学完这部分,后面的内容越来越糟糕,许多经济学专业的学 生实际上都变成在搞物理学,因为这样才能在华尔街上找到更好的工作。但是不管怎样,你一定要去学微观经济学,因为你必须搞懂供给和需求,你必须明白竞争优 势,你必须理解什么是净现值(NPV),什么是贴现,什么是边际效用。只有这样,你才会懂得为什么生意是现在这种做法。 为什么计算机系的学生也应该学经济学?因为,从经营一家公司的角度来看,比起那些不懂的程序员,一个理解基本商业规则的程序员将会更有价值。就是这么简单。我无法告诉你有多少次我是那样地充满挫折感,因为我看到了太多的提出一些疯狂的想法的程序员,这些想法在代码上也许可行,但在资本主义世界中毫无意义。如果你懂得商业规则,你就是一个更有价值的程序员,你会因此得到回报的,但是前提是你要去学习微观经济学。 不要因为枯燥就不选修非计算机专业的课程。 想提高GPA绩点的一个好方法就是多选修非计算机系的课程。请千万不要低估你的GPA的重大意义。千千万万的人事经理和招聘人员在拿到一份简历的时候,第一眼就会去看GPA,包括我也是这样。我们不会为这种做法道歉。为什么?因为GPA不反映单个的成绩,而是代表了许多个教授在一段很长的时间中,在不同的情况下,对你的表现的一个总的评估。SAT成绩难道不够吗?哈,那只不过是一场几个小时的测试罢了。GPA中包括了四年大学期间你的小论文、期中考试和课堂表现,总数有几百次之多。当然,GPA也有自己的问题,不是百分之百准确。比如,这些年来,老师对学生的打分越来越宽松,学习成绩有通货膨胀的趋势。再比如,GPA无法反映课程的难度,没人能够看出你的GPA是来自无名社区大学家政系的轻松课程还是来自加州理工学院针对研究生的量子力学课程。渐渐地,我形成了一套自己的做法,首先我会过滤掉所有来自社区大学、GPA低于2.5的简历,然后我会要求剩下的人给我寄成绩单和推荐信。我再从中发现那些成绩一贯优秀的人,而不是那些仅仅在计算机系课程中得到高分的人。 为什么我要关心某人的“欧洲历史”课程成绩呢,毕竟作为雇主我要找的应该是程序员啊?何况,历史是那么枯燥,不得高分很正常。哦,这么说来,你的意思是我应该雇用你,而不用考虑一旦工作变得枯燥你会不会努力工作?别忘了,在编程工作中也有很枯燥的东西。每一项工作都有枯燥难耐的时刻。我不想雇用那些只想干有趣事情的人。 … Read more »
迟到的第四十七天 井底之蛙
A frog in a well has a very limited view; the flickering of a glowworm does not shine far. 原来我的视野,我所自以为的见识,还不够远,还不够广。越往前,越发现自己的空虚与差距。 原文:无解也是一种解 作者 :Amy 似乎从小到大,我们都习惯了任何问题都有答案,甚至于习惯性地认为只有一个答案。 做选择题假如发现没有选项是正确的,解方程假如总是求不出一个解,常常都会怀疑自己…… 参考答案被当成了正确答案和标准答案…… 成长路上,我们常常也是带着这样的思维上路。 当我们不确定,不知道的时候,就容易慌张,然而我们却忘记了,这个世界上是存在无解方程的。 这些日子以来,我已经很少去写有关职业发展的文章了,因为我在探寻的路上发现,目标和规划固然重要,尽早找到长期专注的领域固然重要,但是人是在不断成长的,成长是一种变化,最初再详尽深入的自我认知,也可能对应不上会随着年龄、阅历、经验等的增长而改变的自己,原先对外界的认知无法与时俱进……那么由对外界的认知和自我认知的匹配得出的发展结论自然就很可能不适用了。 曾有朋友跟我说:我看你大学的时候那么那么喜欢MKT,我以为你只想在MKT和快消行业发展…… 我现在依然不会否定我在大学写的最初内心想要什么,那些喜欢与人交往、希望帮助他人成长的本质依然没有改变,但是我的视野早已与过去不同,所以我不会那么肯定地认为:快消行业是最适合我的,也不会再认为宝洁才是最适合我发展的平台。 人生路上有太多的未知,谁也无法肯定哪天会发生什么事情会彻底地改变你。 当然,越深入地认识自己的本质,以终为始地去思考,能够比较好地防止这种认识差距。但是,阅历、经验、知识结构等在很大程度上影响了理解到本质的能力。所以,没有必要那么心急地要一个确定的答案。 越成长,对一些东西会越清晰确定,但对另一些东西也会越不确定。但是我逐渐懂得了安心接受这种对未来的不确定。 我现在这样说,并不是说职业规划不重要,尽早确定目标专注发展不重要,而是想强调:不要逼迫自己得出一个答案,不要因为不同时期产生的对未来的不明确而焦虑。 我现在会说我的职业目标和梦想是:帮助组织和他人成长。而不是希望做一个帮助他人成长的培训师、咨询师或者职业经理人等。 因为,帮助组织和他人成长是目标和梦想的本质,而是做培训师、咨询师、职业经理人还是创业都是可以通往那个本质的路径,是表面的目标,定下来那个选择并不重要,完全没有必要很快地限制自己。 过度地为职业生涯规划而烦恼,反而会影响了对当下的关注,而实际上,也许继续专注于做好可以做好的事情,专注于可以把握的事情,反而能够更快成长,而不断实践的过程,能够慢慢加深对自己的了解,激发出自己对未来方向的灵感。 还是那句话:今日积累明日必有用,不要急功近利。 原文:别指望一个决定能管一辈子 作者 :左岸 经常有人问我关于如何选择的问题。例如恋爱不如意应该不应该分手;丈夫出轨是不是要离婚;面临前途和感情的矛盾的时候,到底应该舍弃哪一个,等等。 当 我第若干次大同小异的回答这些问题之后,我终于也顿悟了一些。很多朋友们要问的,并不只是一个答案,其实很多时候答案很简单,不是左就是右,非此即彼。她 们想要知道的,是自己要做出的决定能不能经得起时间的考验,能不能经济适用价钱便宜量又足,管用一辈子都有效,以免未来会后悔。她们需要有人来肯定的告 诉自己,帮助自己来做一个一劳永逸的决定。… Read more »
迟到的第四十六天 回来的路
2011年1月1日,网上一片2010年终总结……什么都是浮云。我没有什么总结,对我来说:2011年1月1日,不是结束,不是开始,只是回来的路。 2011年1月1日,继续前行!