http://www.cnbeta.com/articles/145402.htm
0. “面向对象”比你想象的要难得多
也许只有我有这种想法,不过我曾经以为计算机科学课上学过的“面向对象”是很简单的东西。我的意思是,创建一些类来模拟现实世界能有多难啊?其实,那还真是挺难的。
十年之后,我仍然在学习如何合理地建模。我后悔以前我没有花更多的时间来学习面向对象和设计模式。优秀的建模技术对于每一个开发团队都是非常有价值的。
1. 软件开发的难点在于沟通
这里的沟通是指与人的沟通,而不是socket编程。有时你的确会遇上棘手的技术问题,但是这种情况根本不常见。常见的问题在于那些你和项目经理之间的、你和客户之间的、还有你和其他开发者之间的误解。培养你的软技能吧。
2
. 学会拒绝
当我刚开始工作的时候,我非常急切的想要去讨好别人。这也就是说,我几乎不能去回绝别人对我的要求。我加了很多班,但是还是不能完成他们交代给我的所有事情。结果他们表示不满意,而我也表示要崩溃了。
如果你从不回绝别人,你的答应就显得毫无意义。承担能力所及的事情,如果别人不停地指派给你更多的事情,你需要明确的表示那意味着将会耽误其他的工作。
为了应付这种事情,我会随身携带一张列有待办事项的纸(To-do list)。当人们叫我去做什么事情的时候,我就给他们看这张纸,并且问他们我应该为他们挤掉哪个事情。这是我用来拒绝别人的一种好办法。
3. 如果每件事都重要,那就什么事都不重要
我们这一行,总是强调每种特性都是同等重要的,其实并不是这样。敦促你的同事,让他们承担起工作。
如果你不强迫他们选择该做和不该做的事情,你会轻松很多。相反,让他们来为你选择你这周的任务。这会让你生产出来的东西变得最有价值。如果其他的部分都还是乱糟糟的,至少你已经完成了最重要的。
4. 不要过度考虑问题
我可以站在白板前面一整天策划事情,但是这并不意味着事情会向更好的方向发展,这仅意味着事情将变得更复杂。
我的意思并不是“你不应该去做任何策划”,只是如果我会在实现程序的时候会很快遇到我没考虑过的问题的话,那为什么我不去尝试把它做好呢?像戴夫·法洛所说的,“魔鬼居住于细节中,而驱走魔鬼的方法是实践,而不是理论”。
5. 去钻研一些东西,但不要钻牛角尖
克里斯和我花费了大量的时间钻研SQL服务器的深层部分。那真的很有趣,我也学到了很多知识,但是过了一段时间我意识到,知道了那么多的知识并不能帮助我解决业务上的问题。
举个例子:我知道在数据表层次,SQL服务器不会接受IU锁——它只会接受IX锁。这是一个性能调整,因为在大多数情况下,IU锁都会升级成IX锁。为了了解这些,我花掉了无数天做实验,我读了很多的书,还在会议上向微软的员工了解情况。然而我用过这个知识吗?没有。
6. 了解软件开发系统的其他方面
这对成为一个优秀的开发者是很重要的,但是若要在一个开发软件的系统中成为优秀的一员,你还需要去了解开发系统中剩下的部分在干什么。QA是如何工作的?项目经理在干什么?业务分析员在忙些什么?这些知识会让你与其他员工产生联系,并使你和他们之间的互动顺畅。
向你周围的人寻求帮助,以便学到更多的知识。有什么好书呢?大多数人都会为你的关注而高兴,并且很乐意帮助你。在这上花一点小时间会对你有很大的帮助。
7. 同事是你最好的老师
在我找到第一份工作的一年后,我们和另一所公司合并了。突然之间身边就多出很多聪明又经验丰富的人。我深刻的记得这是我感到多么自卑和愚蠢。我努力地学习,读了一本又一本的书,还是还是赶不上他们。我发现他们和我比起来有非常突出的优势。
现在,我不会因为和优秀的人一起工作而感到难受。我认为我有一生的时间去学习。我提出问题,并且非常努力地去了解我的同事们是怎么做出结论的。这也是为什么我加入了ThoughtWorks。把你的同事们看成财富,而不是竞争对手。
关于学习,不论是哪个行业,都是永恒的话题,正如 Jonathan Danylko在总结自己20年的编程经验
时所说到,“诚然,总有很多你不知道的技术,你可以从中学习以保持不落后。如果你有一种灵巧的方式来获取你需要的新技术,那你每天都应该坚持学习。”(编注:ThoughtWorks是一家全球知名的IT咨询公司。)
8. 做出可用的软件是最终目标
不管你的算法有多酷,不管你的数据库模式有多棒,不管你的什么什么有多么多么好,如果它不能搔到客户的痒处,它就不值一文。专注于做出有用的软件,同时准备继续做出后续软件,这才是正轨。
9. 有些人真的不可理喻
在你身边的大多数人总是很优秀的,你向他们学习,他们也向你学习。共同完成一件事情的感觉总是很好。然而不幸的是,你也有可能遇到例外。因为某些原
因,人可能会变得冷漠刻薄。萎靡不振的老板啊,满口谎言的同事啊,无知愚昧的顾客什么的。不要把他们看的太重。尽量避开他们,尽量把他们所带来的痛苦和影
响降到最小,但不要自责。只要你保持诚实并且尽力去工作,你就完成了你该做的事情。
译文出处:伯乐
在线 - 职场
博客
- 程序员
译文链接:http://www.jobbole.com/entry.php/906
原文:Andres Taylor
翻译:敏捷翻译
- 蒋少雄
分享到:
相关推荐
网络工程师笔试复习题。涵盖网络工程师笔试的知识点,有个别题目有点问题,请不要钻牛角尖。
网络工程师笔试复习题。涵盖网络工程师笔试的知识点,有个别题目有点问题,请不要钻牛角尖。
学习技巧:此系列课react和vue可以单独学习,无需学会react再学习vue,学习当中不要只看,一定要多敲代码,如果碰到某一个知识点不是很明白,不要钻牛角尖,千万不要因为一个点,放弃整个森林,接着往下学,硬着头皮...
此外,文摘资料还建议我们不要钻牛角尖,不要过于看重面子和名利。避免因小事动怒,减少敏感多疑,不过分解读他人的言行,这些都是“不在意”哲学的具体体现。这不仅有助于我们建立更健康的心态,也使我们能够更好地...
专心听讲、积极思考;... 初学者 应该抓住重点,不要钻牛角尖遇到问题了,优先自己尝试解决,其次谷歌百度,最后再问老师; 如果时间允许,可以多去网上找对应阶段的学习资料面试题,注意作息,积极锻炼。
如果碰到某一个知识点不是很明白,不要钻牛角尖,千万不要因为一个点,放弃整个森林,接着往下学,硬着头皮开发项目只要能亲自开发一个完整的项目,你会发现不明白的地方自然而然就明白了,项目做出来就真正的学会了...
如果碰到某一个知识点不是很明白,不要钻牛角尖,千万不要因为一个点,放弃整个森林,接着往下学,硬着头皮开发项目只要能亲自开发一个完整的项目,你会发现不明白的地方自然而然就明白了,项目做出来就真正的学会了...
生活不需要钻牛角尖,我们不能让任何事物,哪怕是失败,夺走我们的心情。学会静心,学会忍受孤独,学会在孤独中思考和成熟。这些经历会让我们在挑战中变得更强,让我们的人生更丰富。 自我完善的重要性不言而喻。...
2、初学者尽量不要钻牛角尖:跳过暂时不能解决的问题 入门期遇到难题,耗了半天时间还是没弄懂,可以暂时跳过,知识积累到一定程度,回头再进行解决您会发现简单多了。不要钻牛角尖,避免浪费时间和精力。 3、站在...
网络工程师笔试复习题。涵盖网络工程师考试的知识点,不过有个别题目有点问题,请不要过于钻牛角尖。
在学习C语言的时候不要钻牛角尖,不要在一个问题上卡死,当你遇到问题时,要多想想多条途径去解决一个问题。 学习C语言时,要多想,多写,多练,多动!当一个题目出现的时候,你不能只想到用一种方法去解决它,要多...
郁闷啊,有时候不得不承认,无论是什么事,曾经是好的...这么纠结就是因为之前有汉字,各种操作,各种 发布流程 都是 成功的,怎么也不愿意相信是因为路径的问题,百度查到原因说是路径有中文,就是钻牛角尖(以前都行,
避免钻牛角尖,保持开放的心态,这样可以帮助我们更好地处理人际冲突,增进彼此的理解。 总的来说,情绪管理是一种生活技能,它涵盖了自我意识、自我调节和社交技巧等多个方面。通过学习和实践,我们可以更好地掌控...
学习英语,要学会听说读写。只记住单词、词组是行不通的,一定要学好语法,语法是用来帮助我们理解和运用语言的。很多中学生认为英语语法难学,其实不然,大多只是学习不得法而已。那么怎样才能学好英语语法呢?我们...
- **钻牛角尖**:遇到难题时,不要执着于单个问题,而应学会变通,理解Oracle知识体系的全局性。 3. **学习策略** - **理解知识网络**:Oracle知识结构复杂,需理解各部分间的关联,通过系统学习逐步深入。 - **...
学会适时调整心态,避免钻牛角尖,以平和之心面对生活中的困扰。 3. 适应与释放:人需要学会适应社会和环境,找到适合自己的生活方式。同时,释放内心的压抑,释放情绪,保持乐观积极的态度。 4. 自我欣赏与价值:...
里面有两种session的使用方法:1是php的原始的session使用方法,这个很简单,$_SESSION[‘name’]=”name”,然后在需要的地方...一般是英文啊,不要钻牛角尖。接着在\ci\application\config下面的auto.php文件中找到
考生在练习时应注意避免钻牛角尖,而是要学会从题目中抓取关键信息,同时保持心态平和,注重题目间的关联性,实现举一反三。 “解剖实验”方法强调对错误题目或耗时较多的题目进行深入分析。考生需要记录下解题过程...
在人际交往中,保持友善,学会适当拒绝,给自我留出空间,不过分追求完美,这些都是减轻生活压力的实用技巧。 心理健康管理对于维持个人整体健康和生活质量至关重要。通过自我觉察、积极应对和建立合理的生活习惯,...