永远不要以为自己牛B - 程序员修炼之道

本文摘抄自 http://www.runoob.com/w3cnote/coding-routine.html

1. 写一份自己的简历。把自己所有的相关技能都罗列出来,然后把那些在100年后还用得到的标出来。给每个技能打分,满分为10分。

2. 罗列出你所景仰的程序员。尽量包括那些与你一起工作的人,因为你会在工作中从他们身上获取一些技能。记录下他们身上的1 ~ 2个闪光点,也就是你希望自己有所提高的方面。

3. 查看维基百科上的"计算机科学"栏目,找到"计算机领域先驱者"这个分类,从这个列表中挑选一个人,阅读他的事迹,并且在阅读时打开任何你感兴趣的链接。

4. 花20分钟通读别人的代码。读出色的代码和读糟糕的代码都是有益的,两者都要读,轮流切换。如果你无法感觉出它们之间的区别,可以求助于一位你尊敬的程序员,让他给你展示一下什么是出色的代码、什么是糟糕的代码。把你读过的代码给别人也看看,问问他们的看法。

5. 罗列出你最喜欢的10个编程工具——那些你觉得你用得最多、非有不行的工具。随机挑选其中的一个工具,花一个小时去阅读它的文档。在这一个小时里,努力去学习这个工具的某个你不曾意识到的新功能,或者发现某种新的使用方法。

6. 想一想,除了编程之外你最擅长什么事情?再想一想,你是通过怎样的锻炼才变得如此熟练和专业的?这对于你的编程工作又有什么启发呢?(怎么把这些经验应用到编程方面?)

7. 拿出一叠简历,并和一组面试官在同一个房间里待上一个小时。确保每份简历都至少被3个面试官看过,并且要给出1 ~ 3分的评分。针对那些不同面试官评判大相径庭的简历展开讨论。

8. 参与一个电话面试。事后写下你的反馈,抛出你的观点,然后与主持电话面试的人聊一聊,看看你们是否达成了一致的结论。

9. 进行一次技术面试,并且被面试的人应该是某个你不太了解的领域里的专家。让他假定听众在该领域里一无所知,因此请他从最基础的讲起。努力去理解他所说的,必要时问一些问题。

10. 有机会参与别人的技术面试。期间,你只是认真地听、认真地学。在应聘者努力解决技术问题的同时,你也要在自己脑子里尝试解决这些问题。

11. 找到一个能和你交换实际问题的人,每隔一周,相互交流编程问题。花10 ~ 15分钟来尝试解决这些问题,再用10 ~ 15分钟进行讨论(无论能否解决)。

12. 当你听到任何你一时之间也无法解决的面试问题时,赶紧回到你的座位上,把这个问题用电子邮件发给自己,以留作日后的提醒。在那一周里找出点时间,用自己最喜欢的编程语言来解决它。

我之所以喜欢Steve开出的这个清单,是因为它看上去很全面。有些程序员一想到"锻炼",总认为就是一些编码上的难题。但在我看来,编程更在于人,而不是代码。因此,通过解决世上所有的、并且晦涩的编程面试题目,在提高你的个人能力方面,这种方法是有局限的。

读了该文,我最喜欢也是最有感触的一句话:优秀的程序员不在代码,而在于人。这也应了"y思想是灵魂,语言是载体"那句话。

时间: 2024-10-06 00:01:33

永远不要以为自己牛B - 程序员修炼之道的相关文章

Java程序员修炼之道之预告片

从去年(2013)大概9月份开始,到上个月结束,我在深圳招聘一个Java程序员,要求会写Java的,英文能沟通的.我的要求很简单: 一个只实现了功能的函数,重构一下,让其可支持后期扩展,用多态的方式和注册表法(<代码大全2>里面提到了)重构就可以了 对该函数写单元测试,知道怎么写,知道使用Mock工具(Mockito. Jmock. EasyMock随便哪种都行),能正确的对测试方法进行组织 就是这么简单的要求,公司的HR MM陆陆续续给我找了几十个候选人,在北京的.在上海的.在印度的.在珠三

专访《Java程序员修炼之道》作者Ben Evans

转帖这篇文章,很大成分就是认同"保守的设计思想是Java的最大优势"这句话 ------------------------------------------------------------------ [编者按]Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,它几乎是每个程序员的入门语言,而<Java程序员修炼之道>更是深受程序员欢迎的学习书籍.该书作者之一Ben Evans最近参加了上海QCon大会,图灵社区采访了这位大牛级人物. Ben Evans

《程序员修炼之道》读书笔记①

概述 花了几天时间看完了程序员修炼之道,有很多感悟,记录于此,供自己开发时参考,相信对其他人也有用. 值得一提的是,这本书写的非常好,很多大牛在走了很多弯路之后再读这本书都很感慨没有早些读. 注重实效的哲学 我的源码让猫给吃了 1.为你的行为负责是注重实效的哲学的一块基石. 2.除了尽你所能之外,你必须分析风险是否超出了你的控制.对于不可能做到的事情或是风险太大的事情,你有权不去为之负责. 3.要提供各种选择,而不是找借口:不要说事情做不到,要说明能够做什么来挽回局面. 软件的熵 1.熵指的是某

《程序员修炼之道:从小工到专家》读书笔记

<程序员修炼之道>读书笔记 之所以选择这本书作为第一本书,是因为这本书描述了一些程序员编写大型项目时所应该遵循的最基本的原则和可以使用的最基本的工具.它没有描述某一种特定的语言.特定的算法,也没有推荐一种编程方法作为万灵药,而是介绍了实用主义的思想,并介绍了一整套方法论帮助程序员与团体避免错误.避免浪费无谓的时间,更有效地开发程序. 在此前的学习中,我所学习的知识往往是一个个点状的知识.学校安排了c语言.数据结构等课程,我自学过一点点cpp.python,甚至了解过一些web架构,但从来没有一

《程序员修炼之道》读后感(一)【序言与第一章】

关于本书 在真正打开本书之前我只听说过<程序员修炼之道>是一本好书,我以为它和老师之前介绍过的<大道至简>一样是一本讲精义.讲道理的书(并不是说这样的书不好,只是它们对于开发经验欠缺的学生来说实在有些遥远与晦涩),而本书开篇寥寥几句便打破了我的认识.虽然我只读了本书的前半部分,但从这冰山一角中我可以窥见本书的真诚与实用,我佩服作者对于简单句的运用,第一次打开本书序言的第一句话“本书将帮助你成为更好的程序员”使本来昏昏欲睡的我打了个激灵,我看过别的技术书籍往往开篇会说本书会讲什么.你

读书笔记-程序员修炼之道-序

前言 我们应该成为什么样的程序员 注重实效的程序员具备的特征 注重实效的个体大型的团队 它是一个持续的过程 前言 程序员修炼之道这本书已经通读了一遍,获益良多,但还是不甚理解,所以在重读一遍,顺便做一下笔记.由于自己水平有限,只能摘抄一下重要的词句了. 我们应该成为什么样的程序员 我们的知识背景源自于对计算机科学基本原理的理解,而我们的经验来自广泛的实践项目.理论与实践相结合使我们强大起来. 我们不应该局限于任何特定的方案,而是应该拥有足够广博知识背景和经验基础,这能够让我们在特定的情况下选择更

《程序员修炼之道》笔记(一)

这几天开始看<程序员修炼之道>,也许不少人看了书的标题,第一时间会觉得这是鸡汤一类的书.但至少以我自己的感受来看,这是很棒的书,现代人文主义不是提倡自我意识嘛,自己感觉好的就是好的.况且人家也是经过了时间和口碑的双重考验的,真心值得好好阅读. 作者在再版的序中写道: 写完<程序员修炼之道>至今已有十年.在这十年中,软件产业发生了翻天覆地的变化.--从表面上看,软件世界似乎陷入了疯狂的状态.但如果你深入繁杂表象的背后,会发现变化其实并不大.1999年的那些通用开发原则,在2009年同

《程序员修炼之道--从小工到专家》阅读笔记02

<程序员修炼之道--从小工到专家>在第三章中为我们提到纯文本的好好处,书中给我们提醒到,通过纯文本(XML.SGML以及HTML都是纯文本的好例子)我们可以让事情变得更容易.文本对于我们来说有三大好处:保证不过是.杠杆作用.更易于测试.对于程序员,不仅要善于使用纯文本,还必须掌握shell命令行,即使在Windows下我们也要精准掌握.Shell对于我们来说就是我们的工作台,在shell命令下我们可以操作调用我们想要的东西.可以说shell功能是非常强大的,所以对于我们程序员来说掌握它是对我们

读书笔记2014第4本:程序员修炼之道-从小工到专家(第七、八章)

第七章 在项目开始之前 36 需求之坑不为收集需求,挖掘它们.有一种能深入了解用户需求,却未得到足够利用的技术:成为用户.与用户一同工作,以像用户一样思考.描述需求文档时,要使用项目术语表.用WEB来收集和管理需求. 37 解开不可能解开的谜题遇到不可能解决的问题时,退一步问问自己如下问题:1)有更容易的方法吗?2)你是在设法解决真正的问题,还是被外围的技术问题转移了注意力?3)这件事情为什么是一个问题?4)是什么使它如此难以解决?5)它必须以这种方式完成吗?6)它真的必须完成吗? 38 等你准