某Architect给他的Engineering团队的写了一封信《From an architect to a programmer》,在信中,结合他20多年在软件圈的经验,他为程序员提出了9条建议,去做一个快乐、受人尊敬的程序员。酷壳网站版主陈皓将这封信进行了翻译,相信所有程序员可以从中学到很多有用的东西。全文如下:
每次当我开始做新的东西是我就会很兴奋。就算在软件圈里做了20年以后,每当开始新的旅程里,我都觉得我心中有一些东西不吐不快。这是我们大家一起的旅程。我强烈地相信我们详细规划的过程是很有乐趣的,富有挑战的和丰富多彩的。我想让这个旅程让你们难忘,并且能增添你们所有人的阅历。
这看起来有些唯心主义,不过,我想制订我的工作日程,我们的技术策略,以及你们密切合作的进度。这样一来,当你们做了什么相当不错的事,我们所有人都可以受益。我相当的尊重第一个工程师和他们的代码。
1. 代码是王。文档仅随其后 。所以,代码一定要和文档一致,并可以正确执行。
2. 测试,测试,测试。
3. 单元测试非常关键 。每一个在单元测试之后发现的bug需要开发人员双倍的开销。记住,我宁可增加你的薪水,也不愿意把这些钱发给另一个QA团队然后你再修正bug。因此,如果你的代码满是bug的话,我不得不把钱付给更多的人,而你也只能分得很小的一块饼。
4. 写下有效率的代码,不但是让人读得有效率,而且也是让CPU执行地有效率。对于坏代码永远不会善罢甘休。
5. 多了解今天工作需要之外的事情。你不仅仅要知道今天干什么,还要知道明天需要什么。
6. 回家时不时做点菜,是的,真正的做菜。这会教会你菜谱和做饭的不同。菜谱告诉你这道菜需要什么样的食材,而你实际去做需要考虑的是你现在手上有什么……这就是其中的不同。(对于一个刚起步的公司,这是一个最大的教训)
7. 创新和好点子(技术或是产品),请与大家共享。
8. 我知道你不喜欢商人。我也知道为什么。他们销售那些你做不到的,他们承诺那些你完不成的。他们要求的比他们付出的更多。但是,没有他们,我们可能没有办法把商业转换成产品。这是一件很难的技能。把你的想法告诉我,我愿意成为你和他们间的缓冲。要建造一个好的团队,我们需要的所有的东西。
9. 作为一个工程师,热爱你的专业。你能拥有一个可以挣钱、受人尊重、并拥有乐趣的程序员人生。
原文链接:From an architect to a programmer
译文链接:http://coolshell.cn/articles/3281.html
分享到:
相关推荐
在IT行业中,从一名程序员成功转型为架构师是许多技术人员的职业发展目标。系统架构设计程序员向架构师转型之路是一项艰巨但充满挑战的任务,涉及到技术深度、广度、沟通能力以及业务理解等多个方面。以下是对这一...
黑马程序员-SpringCloud-学习笔记01-认识微服务
《软件架构设计:程序员向架构师转型必备》是一本旨在帮助程序员提升技能,迈向更高层次——架构师的著作。在IT行业中,架构师的角色至关重要,他们不仅需要掌握编程技术,还需要具备系统设计、项目管理以及业务理解...
《程序员编程艺术1-37章集锦》是编程领域的一部重要著作,它涵盖了从基础到高级的众多编程概念和技术。这本书旨在提升程序员的艺术修养,帮助他们掌握更高效的编程技巧,提高代码质量和可维护性。以下是根据描述和...
本视频教程仅面向有兴趣转型向Java系统架构师,大数据系统架构师的学员,主要包括四部分内容:一、程序员VS架构师 ;二、架构设计与架构师 ;三、架构风格与架构模式 ;四、架构师转型模型 ;五、面向对象设计原则
《系统架构方法与实例》是一本面向系统架构师和程序员的专业书籍,旨在揭开系统架构的神秘面纱,通过丰富的实例帮助读者深入理解架构设计的核心理念。本书内容涵盖基础篇、进阶篇等多个方面,旨在提升读者在系统架构...
java程序员简历-14套(含高级工程师,项目经理,架构师等相关经验)java程序员简历-14套(含高级工程师,项目经理,架构师等相关经验)java程序员简历-14套(含高级工程师,项目经理,架构师等相关经验)java程序员...
综上所述,《MIPS程序员指南 卷II-A 指令集详解》是一份权威的、技术性很强的文档,它不仅为程序员提供了MIPS架构的详细技术资料,同时强调了遵守知识产权法律和保密协议的重要性。对于希望深入了解MIPS32架构并利用...
”这份资料是针对程序员面试的一个综合性指南。从标题和描述中可以推断出这份宝典包含了在面试过程中常见的问题、技巧以及应对策略等内容。虽然提供的具体内容部分无法解读,但我们可以基于标题和描述中的信息,围绕...
从程序员到项目经理的转型是一条在职业发展过程中常见的晋升路径。程序员通常具有一定的技术背景和编程经验,而项目经理则要求具备更多的管理和协调能力。这一转变涉及到多个方面的技能提升,从技术知识到团队合作,...
【奇牛编程高级程序员-阶段考核-V2.0】是一个针对C/C++高级程序员的技能评估体系,旨在确保学习者具备直接投入C/C++高级开发工作的能力。考核分为五个核心技术模块,涵盖C/C++语言基础、数据结构与算法、数据库开发...
标题中的“6个Java程序员的年度总结-精”意味着这是一份包含六个Java程序员在过去一年中关于编程工作、学习和成长的总结性文档。这些程序员可能是来自不同背景、经验水平和项目领域的专家,他们分享了他们的知识、...
- Anders Hejlsberg是C#编程语言的首席架构师,也是Turbo Pascal和Delphi的创造者之一。在这篇访谈中,他与Bruce Eckel和Bill Venners讨论了C#的设计哲学和技术细节。 - 本文可能涵盖的知识点包括:C#的设计理念、...
历届系统架构师考试真题(2008-2020年)题目-考题答案-解题思路详细解析
根据提供的信息,《程序员》杂志2004年第5期(总第86期)涵盖了多个IT领域的主题,包括但不限于软件架构、操作系统趋势、职业发展规划、软件工程实践等。以下是对本期杂志部分关键知识点的总结: ### 名人堂 - BEA...
【职业规划】对于刚毕业的Java程序员来说,是关乎未来发展的关键步骤。在这个阶段,你需要明确自己的职业目标,设定短期和长期的职业规划。首先,你需要评估自己的技能水平,确定是否需要进一步提升,例如深入学习...
系统架构师设计教程---有助于软考系统架构师设计教程---有助于软考系统架构师设计教程---有助于软考
【高级程序员试题(1999-2009)】是一份集合了近十年间高级程序员面试核心问题的珍贵资料。这份试题集是作者经过一个月辛勤努力收集和整理而成,旨在为准备参加程序员面试的人员提供全面而深入的参考。 在高级...