[继续摘抄]架构师给程序员的一封信

来源:互联网 发布:最新网络流行歌曲2017 编辑:程序博客网 时间:2024/05/17 04:26

 

架构师给程序员的一封信

 

某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

 

 

也把原文搬来。

 

From an architect to a programmer...

My team and I received this in our inbox from our architect six months ago when we started a new project:

 

I am very excited every time I start something new. Even after about 20 years of doing software, I feel those butterflies in my stomach when start on a new path. This is our journey together. I strongly believe that we are charting a course which is fun, challenging and enriching. I want to make this memorable to you and want to create experience fulfilling to you all.

 

It is little idealistic but I want to make my business agenda, our technology strategy and your progress aligned to each other. That way, when you do something great, we all benefit. I have deep respect for engineers and the code.

 

1. Code is the KING. Documentation is just close behind it. So, write code such that it IS the documentation and it works.

 2. TEST TEST TEST.

 3. Unit tests ARE CRITICAL. Every bug found past unit tests have two fold cost beyond developer. Remember, I would prefer to pay you more salary than spend it on another QA organization and then fix bugs. But if you write buggy code, I will pay everyone and then you get smaller slice of the pie.

 4. Write efficient code for human reading and for CPU. It is never OK to write bad code.

 5. Read more than your job needs today. You dont progress only knowing what you need today but what you need tomorrow.

 6. Go home and once in a while cook food. YES, real food. It will teach you the difference bet following a recipe and creating a meal. First is oriented towards knowing what you need to create the dish and second to create a meal with what you have......just a little difference.

This was my biggest lesson as a startup company and it did not come easily.

 7. Innovation and good ideas (technology or product) originate everywhere. Please share with us.

 8. I know you hate business folks. I do see why. They sell what you cant produce; they promise when it cant be done; they ask more when they dont pay. But business will not run without their ability to  position the product. That is a hard skill. But share your thoughts with me and I will act as a buffer. All disciplines are needed to make a good organization.

 9. Love your profession as an engineer. YOU CAN have engineering/developer role for lifetime AND MAKE A LOT OF MONEY AND HAVE RESPECT AND FUN.

 

 

We're learning.

 

 

 

原创粉丝点击